New package: gogs
This commit is contained in:
parent
c043aaca71
commit
82693f5371
5 changed files with 365 additions and 0 deletions
9
srcpkgs/gogs/INSTALL
Normal file
9
srcpkgs/gogs/INSTALL
Normal file
|
@ -0,0 +1,9 @@
|
||||||
|
# INSTALL
|
||||||
|
|
||||||
|
case "$ACTION" in
|
||||||
|
post)
|
||||||
|
if [ "$UPDATE" = "no" ]; then
|
||||||
|
chown gogs:gogs /etc/gogs.ini
|
||||||
|
fi
|
||||||
|
;;
|
||||||
|
esac
|
291
srcpkgs/gogs/files/gogs.ini
Normal file
291
srcpkgs/gogs/files/gogs.ini
Normal file
|
@ -0,0 +1,291 @@
|
||||||
|
; App name that shows on every page title
|
||||||
|
APP_NAME = Gogs: Go Git Service
|
||||||
|
; Change it if you run locally
|
||||||
|
RUN_USER = gogs
|
||||||
|
; Either "dev", "prod" or "test", default is "dev"
|
||||||
|
RUN_MODE = prod
|
||||||
|
|
||||||
|
[repository]
|
||||||
|
ROOT = /srv/gogs/repo
|
||||||
|
SCRIPT_TYPE = bash
|
||||||
|
|
||||||
|
[ui]
|
||||||
|
; Number of issues that are showed in one page
|
||||||
|
ISSUE_PAGING_NUM = 10
|
||||||
|
|
||||||
|
[server]
|
||||||
|
PROTOCOL = http
|
||||||
|
DOMAIN = localhost
|
||||||
|
ROOT_URL = %(PROTOCOL)s://%(DOMAIN)s:%(HTTP_PORT)s/
|
||||||
|
HTTP_ADDR =
|
||||||
|
HTTP_PORT = 3000
|
||||||
|
; Disable SSH feature when not available
|
||||||
|
DISABLE_SSH = false
|
||||||
|
SSH_PORT = 22
|
||||||
|
; Disable CDN even in "prod" mode
|
||||||
|
OFFLINE_MODE = true
|
||||||
|
DISABLE_ROUTER_LOG = false
|
||||||
|
|
||||||
|
;CERT_FILE = custom/https/cert.pem
|
||||||
|
;KEY_FILE = custom/https/key.pem
|
||||||
|
|
||||||
|
STATIC_ROOT_PATH = /usr/share/themes/gogs/default
|
||||||
|
; Application level GZIP support
|
||||||
|
ENABLE_GZIP = false
|
||||||
|
; Landing page for non-logged users, can be "home" or "explore"
|
||||||
|
LANDING_PAGE = home
|
||||||
|
|
||||||
|
[database]
|
||||||
|
; Either "mysql", "postgres" or "sqlite3", it's your choice
|
||||||
|
DB_TYPE = sqlite3
|
||||||
|
HOST = 127.0.0.1:3306
|
||||||
|
NAME = gogs
|
||||||
|
USER = gogs
|
||||||
|
PASSWD =
|
||||||
|
; For "postgres" only, either "disable", "require" or "verify-full"
|
||||||
|
SSL_MODE = disable
|
||||||
|
PATH = /srv/gogs/data/db.sqlite
|
||||||
|
|
||||||
|
[admin]
|
||||||
|
|
||||||
|
[security]
|
||||||
|
INSTALL_LOCK = false
|
||||||
|
; !!CHANGE THIS TO KEEP YOUR USER DATA SAFE!!
|
||||||
|
SECRET_KEY = !#@FDEWREWR&*(
|
||||||
|
; Auto-login remember days
|
||||||
|
LOGIN_REMEMBER_DAYS = 7
|
||||||
|
COOKIE_USERNAME = gogs_awesome
|
||||||
|
COOKIE_REMEMBER_NAME = gogs_incredible
|
||||||
|
; Reverse proxy authentication header name of user name
|
||||||
|
REVERSE_PROXY_AUTHENTICATION_USER = X-WEBAUTH-USER
|
||||||
|
|
||||||
|
[service]
|
||||||
|
ACTIVE_CODE_LIVE_MINUTES = 180
|
||||||
|
RESET_PASSWD_CODE_LIVE_MINUTES = 180
|
||||||
|
; User need to confirm e-mail for registration
|
||||||
|
REGISTER_EMAIL_CONFIRM = false
|
||||||
|
; Does not allow register and admin create account only
|
||||||
|
DISABLE_REGISTRATION = false
|
||||||
|
; User must sign in to view anything.
|
||||||
|
REQUIRE_SIGNIN_VIEW = false
|
||||||
|
; Cache avatar as picture
|
||||||
|
ENABLE_CACHE_AVATAR = false
|
||||||
|
; Mail notification
|
||||||
|
ENABLE_NOTIFY_MAIL = false
|
||||||
|
; More detail: https://github.com/gogits/gogs/issues/165
|
||||||
|
ENABLE_REVERSE_PROXY_AUTHENTICATION = false
|
||||||
|
ENABLE_REVERSE_PROXY_AUTO_REGISTRATION = false
|
||||||
|
; Do not check minimum key size with corresponding type
|
||||||
|
DISABLE_MINIMUM_KEY_SIZE_CHECK = false
|
||||||
|
|
||||||
|
[webhook]
|
||||||
|
; Hook task queue length
|
||||||
|
QUEUE_LENGTH = 1000
|
||||||
|
; Deliver timeout in seconds
|
||||||
|
DELIVER_TIMEOUT = 5
|
||||||
|
; Allow insecure certification
|
||||||
|
SKIP_TLS_VERIFY = false
|
||||||
|
|
||||||
|
[mailer]
|
||||||
|
ENABLED = false
|
||||||
|
; Buffer length of channel, keep it as it is if you don't know what it is.
|
||||||
|
SEND_BUFFER_LEN = 10
|
||||||
|
; Name displayed in mail title
|
||||||
|
SUBJECT = %(APP_NAME)s
|
||||||
|
; Mail server
|
||||||
|
; Gmail: smtp.gmail.com:587
|
||||||
|
; QQ: smtp.qq.com:25
|
||||||
|
; Note, if the port ends with "465", SMTPS will be used. Using STARTTLS on port 587 is recommended per RFC 6409. If the server supports STARTTLS it will always be used.
|
||||||
|
HOST =
|
||||||
|
; Disable HELO operation when hostname are different.
|
||||||
|
DISABLE_HELO =
|
||||||
|
; Custom hostname for HELO operation, default is from system.
|
||||||
|
HELO_HOSTNAME =
|
||||||
|
; Do not verify the certificate of the server. Only use this for self-signed certificates
|
||||||
|
SKIP_VERIFY =
|
||||||
|
; Use client certificate
|
||||||
|
USE_CERTIFICATE = false
|
||||||
|
CERT_FILE = custom/mailer/cert.pem
|
||||||
|
KEY_FILE = custom/mailer/key.pem
|
||||||
|
; Mail from address, RFC 5322. This can be just an email address, or the `"Name" <email@example.com>` format
|
||||||
|
FROM =
|
||||||
|
; Mailer user name and password
|
||||||
|
USER =
|
||||||
|
PASSWD =
|
||||||
|
|
||||||
|
[oauth]
|
||||||
|
ENABLED = false
|
||||||
|
|
||||||
|
[oauth.github]
|
||||||
|
ENABLED = false
|
||||||
|
CLIENT_ID =
|
||||||
|
CLIENT_SECRET =
|
||||||
|
SCOPES = https://api.github.com/user
|
||||||
|
AUTH_URL = https://github.com/login/oauth/authorize
|
||||||
|
TOKEN_URL = https://github.com/login/oauth/access_token
|
||||||
|
|
||||||
|
; Get client id and secret from
|
||||||
|
; https://console.developers.google.com/project
|
||||||
|
[oauth.google]
|
||||||
|
ENABLED = false
|
||||||
|
CLIENT_ID =
|
||||||
|
CLIENT_SECRET =
|
||||||
|
SCOPES = https://www.googleapis.com/auth/userinfo.email https://www.googleapis.com/auth/userinfo.profile
|
||||||
|
AUTH_URL = https://accounts.google.com/o/oauth2/auth
|
||||||
|
TOKEN_URL = https://accounts.google.com/o/oauth2/token
|
||||||
|
|
||||||
|
[oauth.qq]
|
||||||
|
ENABLED = false
|
||||||
|
CLIENT_ID =
|
||||||
|
CLIENT_SECRET =
|
||||||
|
SCOPES = get_user_info
|
||||||
|
; QQ 互联
|
||||||
|
AUTH_URL = https://graph.qq.com/oauth2.0/authorize
|
||||||
|
TOKEN_URL = https://graph.qq.com/oauth2.0/token
|
||||||
|
|
||||||
|
[oauth.weibo]
|
||||||
|
ENABLED = false
|
||||||
|
CLIENT_ID =
|
||||||
|
CLIENT_SECRET =
|
||||||
|
SCOPES = all
|
||||||
|
AUTH_URL = https://api.weibo.com/oauth2/authorize
|
||||||
|
TOKEN_URL = https://api.weibo.com/oauth2/access_token
|
||||||
|
|
||||||
|
[cache]
|
||||||
|
; Either "memory", "redis", or "memcache", default is "memory"
|
||||||
|
ADAPTER = memory
|
||||||
|
; For "memory" only, GC interval in seconds, default is 60
|
||||||
|
INTERVAL = 60
|
||||||
|
; For "redis" and "memcache", connection host address
|
||||||
|
; redis: network=tcp,addr=:6379,password=macaron,db=0,pool_size=100,idle_timeout=180
|
||||||
|
; memcache: `127.0.0.1:11211`
|
||||||
|
HOST =
|
||||||
|
|
||||||
|
[session]
|
||||||
|
; Either "memory", "file", "redis" or "mysql", default is "memory"
|
||||||
|
PROVIDER = memory
|
||||||
|
; Provider config options
|
||||||
|
; memory: not have any config yet
|
||||||
|
; file: session file path, e.g. `data/sessions`
|
||||||
|
; redis: network=tcp,addr=:6379,password=macaron,db=0,pool_size=100,idle_timeout=180
|
||||||
|
; mysql: go-sql-driver/mysql dsn config string, e.g. `root:password@/session_table`
|
||||||
|
PROVIDER_CONFIG = data/sessions
|
||||||
|
; Session cookie name
|
||||||
|
COOKIE_NAME = i_like_gogits
|
||||||
|
; If you use session in https only, default is false
|
||||||
|
COOKIE_SECURE = false
|
||||||
|
; Enable set cookie, default is true
|
||||||
|
ENABLE_SET_COOKIE = true
|
||||||
|
; Session GC time interval, default is 86400
|
||||||
|
GC_INTERVAL_TIME = 86400
|
||||||
|
; Session life time, default is 86400
|
||||||
|
SESSION_LIFE_TIME = 86400
|
||||||
|
|
||||||
|
[picture]
|
||||||
|
; The place to picture data, either "server" or "qiniu", default is "server"
|
||||||
|
SERVICE = server
|
||||||
|
AVATAR_UPLOAD_PATH = /srv/gogs/data/avatars
|
||||||
|
; Chinese users can choose "duoshuo"
|
||||||
|
GRAVATAR_SOURCE = gravatar
|
||||||
|
DISABLE_GRAVATAR = false
|
||||||
|
|
||||||
|
[attachment]
|
||||||
|
; Whether attachments are enabled. Defaults to `true`
|
||||||
|
ENABLE = true
|
||||||
|
; Path for attachments. Defaults to `data/attachments`
|
||||||
|
PATH = /srv/gogs/data/attachments
|
||||||
|
; One or more allowed types, e.g. image/jpeg|image/png
|
||||||
|
ALLOWED_TYPES = image/jpeg|image/png
|
||||||
|
; Max size of each file. Defaults to 32MB
|
||||||
|
MAX_SIZE = 32
|
||||||
|
; Max number of files per upload. Defaults to 10
|
||||||
|
MAX_FILES = 10
|
||||||
|
|
||||||
|
[time]
|
||||||
|
; Specifies the format for fully outputed dates. Defaults to RFC1123
|
||||||
|
; Special supported values are ANSIC, UnixDate, RubyDate, RFC822, RFC822Z, RFC850, RFC1123, RFC1123Z, RFC3339, RFC3339Nano, Kitchen, Stamp, StampMilli, StampMicro and StampNano
|
||||||
|
; For more information about the format see http://golang.org/pkg/time/#pkg-constants
|
||||||
|
FORMAT =
|
||||||
|
|
||||||
|
[log]
|
||||||
|
ROOT_PATH = /var/log/gogs
|
||||||
|
; Either "console", "file", "conn", "smtp" or "database", default is "console"
|
||||||
|
; Use comma to separate multiple modes, e.g. "console, file"
|
||||||
|
MODE = file
|
||||||
|
; Buffer length of channel, keep it as it is if you don't know what it is.
|
||||||
|
BUFFER_LEN = 10000
|
||||||
|
; Either "Trace", "Debug", "Info", "Warn", "Error", "Critical", default is "Trace"
|
||||||
|
LEVEL = Trace
|
||||||
|
|
||||||
|
; For "console" mode only
|
||||||
|
[log.console]
|
||||||
|
LEVEL =
|
||||||
|
|
||||||
|
; For "file" mode only
|
||||||
|
[log.file]
|
||||||
|
LEVEL =
|
||||||
|
; This enables automated log rotate(switch of following options), default is true
|
||||||
|
LOG_ROTATE = true
|
||||||
|
; Max line number of single file, default is 1000000
|
||||||
|
MAX_LINES = 1000000
|
||||||
|
; Max size shift of single file, default is 28 means 1 << 28, 256MB
|
||||||
|
MAX_SIZE_SHIFT = 28
|
||||||
|
; Segment log daily, default is true
|
||||||
|
DAILY_ROTATE = true
|
||||||
|
; Expired days of log file(delete after max days), default is 7
|
||||||
|
MAX_DAYS = 7
|
||||||
|
|
||||||
|
; For "conn" mode only
|
||||||
|
[log.conn]
|
||||||
|
LEVEL =
|
||||||
|
; Reconnect host for every single message, default is false
|
||||||
|
RECONNECT_ON_MSG = false
|
||||||
|
; Try to reconnect when connection is lost, default is false
|
||||||
|
RECONNECT = false
|
||||||
|
; Either "tcp", "unix" or "udp", default is "tcp"
|
||||||
|
PROTOCOL = tcp
|
||||||
|
; Host address
|
||||||
|
ADDR =
|
||||||
|
|
||||||
|
; For "smtp" mode only
|
||||||
|
[log.smtp]
|
||||||
|
LEVEL =
|
||||||
|
; Name displayed in mail title, default is "Diagnostic message from serve"
|
||||||
|
SUBJECT = Diagnostic message from serve
|
||||||
|
; Mail server
|
||||||
|
HOST =
|
||||||
|
; Mailer user name and password
|
||||||
|
USER =
|
||||||
|
PASSWD =
|
||||||
|
; Receivers, can be one or more, e.g. ["1@example.com","2@example.com"]
|
||||||
|
RECEIVERS =
|
||||||
|
|
||||||
|
; For "database" mode only
|
||||||
|
[log.database]
|
||||||
|
LEVEL =
|
||||||
|
; Either "mysql" or "postgres"
|
||||||
|
DRIVER =
|
||||||
|
; Based on xorm, e.g.: root:root@localhost/gogs?charset=utf8
|
||||||
|
CONN =
|
||||||
|
|
||||||
|
[git]
|
||||||
|
MAX_GIT_DIFF_LINES = 10000
|
||||||
|
; Arguments for command 'git gc', e.g.: "--aggressive --auto"
|
||||||
|
; see more on http://git-scm.com/docs/git-gc/1.7.5
|
||||||
|
GC_ARGS =
|
||||||
|
|
||||||
|
; Git health check.
|
||||||
|
[git.fsck]
|
||||||
|
ENABLE = true
|
||||||
|
; Execution interval in hours. Default is 24.
|
||||||
|
INTERVAL = 24
|
||||||
|
; Arguments for command 'git fsck', e.g.: "--unreachable --tags"
|
||||||
|
; see more on http://git-scm.com/docs/git-fsck/1.7.5
|
||||||
|
ARGS =
|
||||||
|
|
||||||
|
[i18n]
|
||||||
|
LANGS = en-US,zh-CN,zh-HK,de-DE,fr-FR,nl-NL,lv-LV,ru-RU,ja-JP,es-ES,pt-BR,pl-PL,bg-BG,it-IT
|
||||||
|
NAMES = English,简体中文,繁體中文,Deutsch,Français,Nederlands,Latviešu,Русский,日本语,Español,Português,Polski,български,Italiano
|
||||||
|
|
||||||
|
[other]
|
||||||
|
SHOW_FOOTER_BRANDING = false
|
2
srcpkgs/gogs/files/gogs/conf
Normal file
2
srcpkgs/gogs/files/gogs/conf
Normal file
|
@ -0,0 +1,2 @@
|
||||||
|
HOME=/srv/gogs
|
||||||
|
USER=gogs
|
11
srcpkgs/gogs/files/gogs/run
Executable file
11
srcpkgs/gogs/files/gogs/run
Executable file
|
@ -0,0 +1,11 @@
|
||||||
|
#!/bin/sh
|
||||||
|
[ -r ./conf ] && . ./conf
|
||||||
|
: ${USER:=gogs}
|
||||||
|
: ${GROUP:=gogs}
|
||||||
|
: ${HOME:=/srv/gogs}
|
||||||
|
exec 2>&1
|
||||||
|
cd $HOME
|
||||||
|
export HOME
|
||||||
|
export USER
|
||||||
|
exec chpst -u $USER:$GROUP -P \
|
||||||
|
gogs web --config /etc/gogs.ini
|
52
srcpkgs/gogs/template
Normal file
52
srcpkgs/gogs/template
Normal file
|
@ -0,0 +1,52 @@
|
||||||
|
# Template build file for 'gogs'
|
||||||
|
pkgname=gogs
|
||||||
|
version=0.6.3
|
||||||
|
revision=1
|
||||||
|
build_style=go
|
||||||
|
go_import_path="github.com/gogits/gogs"
|
||||||
|
short_desc="Self-hosted Git Service in Go"
|
||||||
|
maintainer="John Regan <john@jrjrtech.com>"
|
||||||
|
license="MIT"
|
||||||
|
homepage="http://gogs.io"
|
||||||
|
depends="git"
|
||||||
|
distfiles="https://github.com/gogits/gogs/archive/v${version}.tar.gz"
|
||||||
|
checksum=6fbd21805ae86b2d1eb1735a8659952036f1a08047a37a0647baaa57fea342bb
|
||||||
|
hostmakedepends="git"
|
||||||
|
|
||||||
|
system_accounts="gogs"
|
||||||
|
gogs_homedir="/srv/gogs"
|
||||||
|
make_dirs="
|
||||||
|
/srv/gogs 0755 gogs gogs
|
||||||
|
/srv/gogs/repo 0755 gogs gogs
|
||||||
|
/srv/gogs/data 0755 gogs gogs
|
||||||
|
/srv/gogs/data/avatars 0755 gogs gogs
|
||||||
|
/srv/gogs/data/attachments 0755 gogs gogs
|
||||||
|
/var/log/gogs 0755 gogs gogs"
|
||||||
|
|
||||||
|
export CGO_ENABLED=1
|
||||||
|
|
||||||
|
post_extract() {
|
||||||
|
mkdir tmp
|
||||||
|
mkdir -p $GOPATH/src/github.com/gogits
|
||||||
|
ln -s $PWD $GOPATH/src/github.com/gogits/${pkgname}
|
||||||
|
TMPDIR=${PWD}/tmp/ go get -tags "sqlite redis memcache" "github.com/gogits/gogs"
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
do_build() {
|
||||||
|
go fix
|
||||||
|
TMPDIR=${PWD}/tmp/ GOOS=linux go build -tags "sqlite redis memcache"
|
||||||
|
rm -rf tmp
|
||||||
|
}
|
||||||
|
|
||||||
|
do_install() {
|
||||||
|
vbin gogs-${version} gogs
|
||||||
|
install -d "$DESTDIR/usr/share/themes/gogs/default"
|
||||||
|
cp -r public "$DESTDIR/usr/share/themes/gogs/default/"
|
||||||
|
cp -r templates "$DESTDIR/usr/share/themes/gogs/default/"
|
||||||
|
vconf ${FILESDIR}/gogs.ini
|
||||||
|
vsconf ${FILESDIR}/gogs.ini
|
||||||
|
vlicense LICENSE
|
||||||
|
vdoc README.md
|
||||||
|
vsv gogs
|
||||||
|
}
|
Loading…
Add table
Add a link
Reference in a new issue