summarylogtreecommitdiffstats
diff options
context:
space:
mode:
authorAdministrator2016-11-15 10:37:20 +0100
committerAdministrator2016-11-15 10:37:20 +0100
commit4e9fa69ecce5f37834d496eb7e76f727daafc013 (patch)
treedf79f91129f0042e60938df186a3dab581db46b9
parent7727044ea1713d3cc682485e2cad7006ed337101 (diff)
downloadaur-4e9fa69ecce5f37834d496eb7e76f727daafc013.tar.gz
first commit
-rw-r--r--.SRCINFO43
-rw-r--r--PKGBUILD99
-rw-r--r--app.ini436
-rw-r--r--gitea.install38
-rw-r--r--gitea.service.patch20
5 files changed, 556 insertions, 80 deletions
diff --git a/.SRCINFO b/.SRCINFO
index dc08bc984310..af098953c84e 100644
--- a/.SRCINFO
+++ b/.SRCINFO
@@ -1,37 +1,30 @@
pkgbase = gitea-git
- pkgdesc = Git with a cup of tea, forked from Gogs. Is a Self Hosted Git Service in the Go Programming Language. This is the current git version from branch master.
- pkgver = 20150317
+ pkgdesc = A painless self-hosted Git service.
+ pkgver = 4392.07a0753
pkgrel = 1
- epoch = 1
- url = http://gitea.io
- install = gogs.install
- arch = i686
+ url = https://gitea.io/
+ install = gitea.install
arch = x86_64
- arch = armv6h
- arch = armv7h
+ arch = i686
license = MIT
- makedepends = go>=1.2
+ makedepends = go
makedepends = git
- makedepends = mercurial
makedepends = patch
+ depends = go
depends = git
- optdepends = sqlite: SQLite support
- optdepends = mariadb: MariaDB support
- optdepends = postgresql: PostgreSQL support
- optdepends = redis: Redis support
- optdepends = memcached: MemCached support
- optdepends = openssh: GIT over SSH support
+ optdepends = mariadb
+ optdepends = postgresql
+ optdepends = openssh
+ provides = gitea
conflicts = gitea
- conflicts = gitea-git-dev
options = !strip
- options = !emptydirs
- backup = srv/gogs/conf/app.ini
- source = gogs.service
- source = app.ini.patch
- source = gitea::git+https://github.com/gogits/gitea.git
- sha512sums = 2b4303f850e3b13b2fc3c9f0bc5820dae431d228002b35f01be0d4bfbcf05de8dcec2a559a85e318b609e4a4d492d44306eadf5f6508fd72333b198661bb0bb7
- sha512sums = 9c3d8425cf0e5291e9a7870b9b0ceec4d3d0de3818e0bd93b6a9e9c954cf16e8f2ae230242d6cc0d71147ad10c4224322b1f4f2f8eb3ca5e96c219e9fc35d29b
- sha512sums = SKIP
+ options = emptydirs
+ source = git://github.com/go-gitea/gitea.git#branch=master
+ source = gitea.service.patch
+ source = app.ini
+ sha256sums = SKIP
+ sha256sums = f7b570315bd98a4e2d1c82ebdc2e78d76f6df49286ca4ac59cfb2b3f9985d1f9
+ sha256sums = 3697c023a58737474d0a3dd815988516acca08324147edfb7035c46ba237219b
pkgname = gitea-git
diff --git a/PKGBUILD b/PKGBUILD
index 5ada6a56e259..23476e1192bf 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -1,71 +1,60 @@
+# Maintainer: Francois Menning <f.menning@protonmail.com>
+# Contributor: Thomas Fanninger <thomas@fanninger.at>
+# Contributor: Alexander F Rødseth <xyproto@archlinux.org>
# Contributor: Thomas Laroche <tho.laroche@gmail.com>
-# Contributor: Kristian Klausen <klausenbusk@hotmail.com>
-# Maintainer: Thomas Fanninger <thomas@fanninger.at>
-pkgname=gitea-git
_pkgname=gitea
-pkgver=20150317
+_gourl="code.gitea.io"
+pkgname=gitea-git
+pkgver=4392.07a0753
pkgrel=1
-epoch=1
-pkgdesc="Git with a cup of tea, forked from Gogs. Is a Self Hosted Git Service in the Go Programming Language. This is the current git version from branch master."
-arch=('i686' 'x86_64' 'armv6h' 'armv7h')
-url="http://gitea.io"
+pkgdesc='A painless self-hosted Git service.'
+url='https://gitea.io/'
license=('MIT')
-depends=('git')
-optdepends=('sqlite: SQLite support'
- 'mariadb: MariaDB support'
- 'postgresql: PostgreSQL support'
- 'redis: Redis support'
- 'memcached: MemCached support'
- 'openssh: GIT over SSH support')
-makedepends=('go>=1.2' 'git' 'mercurial' 'patch')
-conflicts=('gitea' 'gitea-git-dev')
-options=('!strip' '!emptydirs')
-backup=('srv/gogs/conf/app.ini')
-
-install=gogs.install
-
-_gourl=github.com/gogits
-source=('gogs.service'
- 'app.ini.patch'
- "${_pkgname}::git+https://${_gourl}/${_pkgname}.git")
-
-sha512sums=('2b4303f850e3b13b2fc3c9f0bc5820dae431d228002b35f01be0d4bfbcf05de8dcec2a559a85e318b609e4a4d492d44306eadf5f6508fd72333b198661bb0bb7'
- '9c3d8425cf0e5291e9a7870b9b0ceec4d3d0de3818e0bd93b6a9e9c954cf16e8f2ae230242d6cc0d71147ad10c4224322b1f4f2f8eb3ca5e96c219e9fc35d29b'
- 'SKIP')
-
-pkgver(){
- cd "$srcdir/${_pkgname}"
+source=('git://github.com/go-gitea/gitea.git#branch=master' 'gitea.service.patch' 'app.ini')
+sha256sums=('SKIP'
+ 'f7b570315bd98a4e2d1c82ebdc2e78d76f6df49286ca4ac59cfb2b3f9985d1f9'
+ '3697c023a58737474d0a3dd815988516acca08324147edfb7035c46ba237219b')
+arch=('x86_64' 'i686')
+depends=('go' 'git')
+makedepends=('go' 'git' 'patch')
+optdepends=('mariadb' 'postgresql' 'openssh')
+install=gitea.install
+conflicts=('gitea')
+options=('!strip' 'emptydirs')
+provides=('gitea')
+
+pkgver() {
+ cd "$srcdir/build/src/$_gourl/$_pkgname"
echo $(git rev-list --count HEAD).$(git rev-parse --short HEAD)
}
prepare() {
- mkdir -p "${srcdir}/src/${_gourl}"
- mv "${_pkgname}" "${srcdir}/src/${_gourl}/${_pkgname}"
- msg2 "go get"
- GOPATH="${srcdir}" go get -tags "sqlite redis memcache" "${_gourl}/${_pkgname}"
-
- msg2 "Patch: GOGS app.ini"
- patch -Np1 -i "${srcdir}/app.ini.patch" "${srcdir}/src/${_gourl}/${_pkgname}/conf/app.ini"
+ mkdir -p build/go; cd build/go
+ for f in "/usr/lib/go/"*; do ln -s "$f"; done
+ rm pkg; mkdir pkg; cd pkg
+ for f in "/usr/lib/go/pkg/"*; do ln -s "$f"; done
+ export GOROOT="$srcdir/build/go"
+ export GOPATH="$srcdir/build"
+ mkdir -p "$GOPATH/src/$_gourl"
+ mv "$srcdir/$_pkgname/" "$GOPATH/src/$_gourl/"
+
+ # patch
+ patch -Np1 -i "$srcdir/gitea.service.patch" "$srcdir/build/src/$_gourl/$_pkgname/scripts/systemd/gitea.service"
}
build() {
- msg2 "Build program"
- cd ${srcdir}/src/${_gourl}/${_pkgname}
- GOPATH="${srcdir}" go fix
- GOPATH="${srcdir}" go build -tags "sqlite redis memcache"
+ cd "$GOPATH/src/$_gourl/$_pkgname"
+ go fix && go build
}
package() {
- install -D -m 0755 "${srcdir}/src/${_gourl}/${_pkgname}/${_pkgname}" "${pkgdir}/usr/share/${_pkgname}/${_pkgname}"
-
- cp -r "${srcdir}/src/${_gourl}/${_pkgname}/conf" "${pkgdir}/usr/share/${_pkgname}"
- install -d "${pkgdir}/usr/share/themes/gogs/default/"
- cp -r "${srcdir}/src/${_gourl}/${_pkgname}/public" "${pkgdir}/usr/share/themes/gogs/default"
- cp -r "${srcdir}/src/${_gourl}/${_pkgname}/templates" "${pkgdir}/usr/share/themes/gogs/default"
-
- install -D -m 0600 "${pkgdir}/usr/share/${_pkgname}/conf/app.ini" "$pkgdir/srv/${_pkgname}/conf/app.ini"
- install -D -m 0644 "${srcdir}/gogs.service" "$pkgdir/usr/lib/systemd/system/gogs.service"
- install -d "${pkgdir}/var/log/gogs"
- install -D -m 0644 "${srcdir}/src/${_gourl}/${_pkgname}/LICENSE" "${pkgdir}/usr/share/licenses/$_pkgname"
+ install -dm755 $pkgdir/var/lib/$_pkgname/{custom/conf,conf,data/{attachments,avatars,sessions,tmp},repo}
+ install -Dm755 "$srcdir/build/src/$_gourl/$_pkgname/$_pkgname" "$pkgdir/usr/bin/$_pkgname"
+ install -Dm644 "$srcdir/build/src/$_gourl/$_pkgname/LICENSE" "$pkgdir/usr/share/licenses/$_pkgname/LICENSE"
+ install -Dm644 "$srcdir/build/src/$_gourl/$_pkgname/scripts/systemd/gitea.service" "$pkgdir/usr/lib/systemd/system/gitea.service"
+ install -Dm644 "$srcdir/app.ini" "$pkgdir/var/lib/$_pkgname/custom/conf/app.ini"
+ cp -r $srcdir/build/src/$_gourl/$_pkgname/{conf,templates,public} $pkgdir/var/lib/$_pkgname
}
+
+# vim: ft=sh ts=2 sw=2 et
diff --git a/app.ini b/app.ini
new file mode 100644
index 000000000000..b45e26251386
--- /dev/null
+++ b/app.ini
@@ -0,0 +1,436 @@
+# NEVER EVER MODIFY THIS FILE
+# PLEASE MAKE CHANGES ON CORRESPONDING CUSTOM CONFIG FILE
+
+; App name that shows on every page title
+APP_NAME = Gitea: Git with a cup of tea
+; Change it if you run locally
+RUN_USER = gitea
+; Either "dev", "prod" or "test", default is "dev"
+RUN_MODE = dev
+
+[repository]
+ROOT = /var/lib/gitea/repo
+SCRIPT_TYPE = bash
+; Default ANSI charset
+ANSI_CHARSET =
+; Force every new repository to be private
+FORCE_PRIVATE = false
+; Global maximum creation limit of repository per user, -1 means no limit
+MAX_CREATION_LIMIT = -1
+; Mirror sync queue length, increase if mirror syncing starts hanging
+MIRROR_QUEUE_LENGTH = 1000
+; Patch test queue length, increase if pull request patch testing starts hanging
+PULL_REQUEST_QUEUE_LENGTH = 1000
+; Preferred Licenses to place at the top of the List
+; Name must match file name in conf/license or custom/conf/license
+PREFERRED_LICENSES = Apache License 2.0,MIT License
+; Disable ability to interact with repositories by HTTP protocol
+DISABLE_HTTP_GIT = false
+
+[repository.editor]
+; List of file extensions that should have line wraps in the CodeMirror editor
+; Separate extensions with a comma. To line wrap files w/o extension, just put a comma
+LINE_WRAP_EXTENSIONS = .txt,.md,.markdown,.mdown,.mkd,
+; Valid file modes that have a preview API associated with them, such as api/v1/markdown
+; Separate values by commas. Preview tab in edit mode won't show if the file extension doesn't match
+PREVIEWABLE_FILE_MODES = markdown
+
+[repository.upload]
+; Whether repository file uploads are enabled. Defaults to `true`
+ENABLED = true
+; Path for uploads. Defaults to `data/tmp/uploads` (tmp gets deleted on gitea restart)
+TEMP_PATH = /var/lib/gitea/data/tmp/uploads
+; One or more allowed types, e.g. image/jpeg|image/png. Nothing means any file type
+ALLOWED_TYPES =
+; Max size of each file in MB. Defaults to 3MB
+FILE_MAX_SIZE = 3
+; Max number of files per upload. Defaults to 5
+MAX_FILES = 5
+
+[ui]
+; Number of repositories that are showed in one explore page
+EXPLORE_PAGING_NUM = 20
+; Number of issues that are showed in one page
+ISSUE_PAGING_NUM = 10
+; Number of maximum commits showed in one activity feed
+FEED_MAX_COMMIT_NUM = 5
+; Value of `theme-color` meta tag, used by Android >= 5.0
+; An invalid color like "none" or "disable" will have the default style
+; More info: https://developers.google.com/web/updates/2014/11/Support-for-theme-color-in-Chrome-39-for-Android
+THEME_COLOR_META_TAG = `#ff5343`
+; Max size of files to be displayed (defaults is 8MiB)
+MAX_DISPLAY_FILE_SIZE = 8388608
+
+[ui.admin]
+; Number of users that are showed in one page
+USER_PAGING_NUM = 50
+; Number of repos that are showed in one page
+REPO_PAGING_NUM = 50
+; Number of notices that are showed in one page
+NOTICE_PAGING_NUM = 25
+; Number of organization that are showed in one page
+ORG_PAGING_NUM = 50
+
+[ui.user]
+; Number of repos that are showed in one page
+REPO_PAGING_NUM = 15
+
+[markdown]
+; Enable hard line break extension
+ENABLE_HARD_LINE_BREAK = false
+; List of custom URL-Schemes that are allowed as links when rendering Markdown
+; for example git,magnet
+CUSTOM_URL_SCHEMES =
+; List of file extensions that should be rendered/edited as Markdown
+; Separate extensions with a comma. To render files w/o extension as markdown, just put a comma
+FILE_EXTENSIONS = .md,.markdown,.mdown,.mkd
+
+[server]
+PROTOCOL = http
+DOMAIN = localhost
+ROOT_URL = %(PROTOCOL)s://%(DOMAIN)s:%(HTTP_PORT)s/
+HTTP_ADDR = 0.0.0.0
+HTTP_PORT = 3000
+; Permission for unix socket
+UNIX_SOCKET_PERMISSION = 666
+; Local (DMZ) URL for Gitea workers (such as SSH update) accessing web service.
+; In most cases you do not need to change the default value.
+; Alter it only if your SSH server node is not the same as HTTP node.
+LOCAL_ROOT_URL = %(PROTOCOL)s://%(HTTP_ADDR)s:%(HTTP_PORT)s/
+; Disable SSH feature when not available
+DISABLE_SSH = false
+; Whether use builtin SSH server or not.
+START_SSH_SERVER = false
+; Domain name to be exposed in clone URL
+SSH_DOMAIN = %(DOMAIN)s
+; Port number to be exposed in clone URL
+SSH_PORT = 22
+; Port number builtin SSH server listens on
+SSH_LISTEN_PORT = %(SSH_PORT)s
+; Root path of SSH directory, default is '~/.ssh', but you have to use '/home/git/.ssh'.
+SSH_ROOT_PATH =
+; Directory to create temporary files when test publick key using ssh-keygen,
+; default is system temporary directory.
+SSH_KEY_TEST_PATH =
+; Path to ssh-keygen, default is 'ssh-keygen' and let shell find out which one to call.
+SSH_KEYGEN_PATH = ssh-keygen
+; Indicate whether to check minimum key size with corresponding type
+MINIMUM_KEY_SIZE_CHECK = false
+; Disable CDN even in "prod" mode
+OFFLINE_MODE = false
+DISABLE_ROUTER_LOG = false
+; Generate steps:
+; $ ./gitea cert -ca=true -duration=8760h0m0s -host=myhost.example.com
+;
+; Or from a .pfx file exported from the Windows certificate store (do
+; not forget to export the private key):
+; $ openssl pkcs12 -in cert.pfx -out cert.pem -nokeys
+; $ openssl pkcs12 -in cert.pfx -out key.pem -nocerts -nodes
+CERT_FILE = /var/lib/gitea/custom/https/cert.pem
+KEY_FILE = /var/lib/gitea/custom/https/key.pem
+; Upper level of template and static file path
+; default is the path where Gitea is executed
+STATIC_ROOT_PATH = /var/lib/gitea
+; Default path for App data
+APP_DATA_PATH = /var/lib/gitea/data
+; Application level GZIP support
+ENABLE_GZIP = false
+; Landing page for non-logged users, can be "home" or "explore"
+LANDING_PAGE = home
+
+; Define allowed algorithms and their minimum key length (use -1 to disable a type)
+[ssh.minimum_key_sizes]
+ED25519 = 256
+ECDSA = 256
+RSA = 2048
+DSA = 1024
+
+[database]
+; Either "mysql", "postgres" or "sqlite3", it's your choice
+DB_TYPE = mysql
+HOST = 127.0.0.1:3306
+NAME = gitea
+USER = gitea
+PASSWD =
+; For "postgres" only, either "disable", "require" or "verify-full"
+SSL_MODE = disable
+; For "sqlite3" and "tidb", use absolute path when you start as service
+PATH = /var/lib/gitea/data/gogs.db
+
+[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 = gitea_awesome
+COOKIE_REMEMBER_NAME = gitea_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
+; Mail notification
+ENABLE_NOTIFY_MAIL = false
+; More detail: https://github.com/go-gitea/gitea/issues/165
+ENABLE_REVERSE_PROXY_AUTHENTICATION = false
+ENABLE_REVERSE_PROXY_AUTO_REGISTRATION = false
+; Enable captcha validation for registration
+ENABLE_CAPTCHA = true
+
+[webhook]
+; Hook task queue length, increase if webhook shooting starts hanging
+QUEUE_LENGTH = 1000
+; Deliver timeout in seconds
+DELIVER_TIMEOUT = 5
+; Allow insecure certification
+SKIP_TLS_VERIFY = false
+; Number of history information in each page
+PAGING_NUM = 10
+
+[mailer]
+ENABLED = false
+; Buffer length of channel, keep it as it is if you don't know what it is.
+SEND_BUFFER_LEN = 100
+; Name displayed in mail title
+SUBJECT = %(APP_NAME)s
+; Mail server
+; Gmail: smtp.gmail.com:587
+; QQ: smtp.qq.com:465
+; 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 = /var/lib/gitea/custom/mailer/cert.pem
+KEY_FILE = /var/lib/gitea/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 =
+; Use text/html as alternative format of content
+ENABLE_HTML_ALTERNATIVE = false
+
+[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", or "redis", 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 = /var/lib/gitea/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]
+AVATAR_UPLOAD_PATH = /var/lib/gitea/data/avatars
+; Chinese users can choose "duoshuo"
+; or a custom avatar source, like: http://cn.gravatar.com/avatar/
+GRAVATAR_SOURCE = gravatar
+; This value will be forced to be true in offline mode.
+DISABLE_GRAVATAR = false
+; Federated avatar lookup uses DNS to discover avatar associated
+; with emails, see https://www.libravatar.org
+; This value will be forced to be false in offline mode or Gravatar is disbaled.
+ENABLE_FEDERATED_AVATAR = false
+
+[attachment]
+; Whether attachments are enabled. Defaults to `true`
+ENABLE = true
+; Path for attachments. Defaults to `data/attachments`
+PATH = /var/lib/gitea/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 = 4
+; Max number of files per upload. Defaults to 10
+MAX_FILES = 5
+
+[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 = console
+; 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 server"
+SUBJECT = Diagnostic message from server
+; 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/gitea?charset=utf8
+CONN =
+
+[cron]
+; Enable running cron tasks periodically.
+ENABLED = true
+; Run cron tasks when Gitea starts.
+RUN_AT_START = false
+
+; Update mirrors
+[cron.update_mirrors]
+SCHEDULE = @every 10m
+
+; Repository health check
+[cron.repo_health_check]
+SCHEDULE = @every 24h
+TIMEOUT = 60s
+; Arguments for command 'git fsck', e.g. "--unreachable --tags"
+; see more on http://git-scm.com/docs/git-fsck/1.7.5
+ARGS =
+
+; Check repository statistics
+[cron.check_repo_stats]
+RUN_AT_START = true
+SCHEDULE = @every 24h
+
+[git]
+; Disables highlight of added and removed changes
+DISABLE_DIFF_HIGHLIGHT = false
+; Max number of lines allowed of a single file in diff view
+MAX_GIT_DIFF_LINES = 1000
+; Max number of characters of a line allowed in diff view
+MAX_GIT_DIFF_LINE_CHARACTERS = 500
+; Max number of files shown in diff view
+MAX_GIT_DIFF_FILES = 100
+; Arguments for command 'git gc', e.g. "--aggressive --auto"
+; see more on http://git-scm.com/docs/git-gc/1.7.5
+GC_ARGS =
+
+; Operation timeout in seconds
+[git.timeout]
+MIGRATE = 600
+MIRROR = 300
+CLONE = 300
+PULL = 300
+GC = 60
+
+[mirror]
+; Default interval in hours between each check
+DEFAULT_INTERVAL = 8
+
+[api]
+; Max number of items will response in a page
+MAX_RESPONSE_ITEMS = 50
+
+[i18n]
+LANGS = en-US,zh-CN,zh-HK,zh-TW,de-DE,fr-FR,nl-NL,lv-LV,ru-RU,ja-JP,es-ES,pt-BR,pl-PL,bg-BG,it-IT,fi-FI,tr-TR,cs-CZ,sr-SP
+NAMES = English,简体中文,繁體中文(香港),繁體中文(台湾),Deutsch,Français,Nederlands,Latviešu,Русский,日本語,Español,Português do Brasil,Polski,български,Italiano,Suomalainen,Türkçe,čeština,Српски
+
+; Used for datetimepicker
+[i18n.datelang]
+en-US = en
+zh-CN = zh
+zh-HK = zh-TW
+zh-TW = zh-TW
+de-DE = de
+fr-FR = fr
+nl-NL = nl
+lv-LV = lv
+ru-RU = ru
+ja-JP = ja
+es-ES = es
+pt-BR = pt-BR
+pl-PL = pl
+bg-BG = bg
+it-IT = it
+fi-FI = fi
+tr-TR = tr
+cs-CZ = cs-CZ
+
+; Extension mapping to highlight class
+; e.g. .toml=ini
+[highlight.mapping]
+
+[other]
+SHOW_FOOTER_BRANDING = false
+; Show version information about Gitea and Go in the footer
+SHOW_FOOTER_VERSION = true
+; Show time of template execution in the footer
+SHOW_FOOTER_TEMPLATE_LOAD_TIME = true
diff --git a/gitea.install b/gitea.install
new file mode 100644
index 000000000000..f4b47fee58f6
--- /dev/null
+++ b/gitea.install
@@ -0,0 +1,38 @@
+pre_install() {
+ if ! getent group gitea >/dev/null; then
+ groupadd --system gitea
+ fi
+ if ! getent passwd gitea >/dev/null; then
+ useradd -m --system -c 'gitea daemon user' -g gitea -s /bin/false gitea
+ fi
+ chsh gitea -s /bin/bash
+}
+
+post_install(){
+ mkdir -p /var/log/gitea
+ chown -R gitea:gitea /var/log/gitea
+ chown -R gitea:gitea /var/lib/gitea
+ systemctl daemon-reload
+}
+
+pre_upgrade(){
+ pre_install $1
+}
+
+post_upgrade() {
+ post_install $1
+}
+
+pre_remove() {
+ systemctl stop gitea.service
+ systemctl disable gitea.service
+}
+
+post_remove() {
+ if getent passwd gitea >/dev/null; then
+ userdel gitea
+ fi
+ if getent group gitea >/dev/null; then
+ groupdel gitea
+ fi
+}
diff --git a/gitea.service.patch b/gitea.service.patch
new file mode 100644
index 000000000000..878fceb75da6
--- /dev/null
+++ b/gitea.service.patch
@@ -0,0 +1,20 @@
+--- gitea.service 2016-11-14 23:06:31.487951000 +0100
++++ gitea.service 2016-11-14 23:10:28.549514228 +0100
+@@ -15,12 +15,12 @@
+ #LimitMEMLOCK=infinity
+ #LimitNOFILE=65535
+ Type=simple
+-User=git
+-Group=git
+-WorkingDirectory=/home/git/gitea
+-ExecStart=/home/git/gitea/gitea web
++User=gitea
++Group=gitea
++WorkingDirectory=/var/lib/gitea
++ExecStart=/usr/bin/gitea web --config /var/lib/gitea/custom/conf/app.ini
+ Restart=always
+-Environment=USER=git HOME=/home/git
++Environment=USER=gitea HOME=/var/lib/gitea GITEA_CUSTOM=/var/lib/gitea/custom
+
+ [Install]
+ WantedBy=multi-user.target