Edvinas Valatka vor 9 Jahren
Ursprung
Commit
7436e17b94
13 geänderte Dateien mit 71 neuen und 1035 gelöschten Zeilen
  1. 0 40
      .SRCINFO
  2. 1 9
      .gitignore
  3. 33 77
      PKGBUILD
  4. 0 35
      README.md
  5. 0 32
      app.ini.patch
  6. 0 336
      app_new.ini
  7. 0 338
      app_old.ini
  8. 22 24
      gogs.install
  9. 15 0
      gogs.service
  10. 0 14
      gogs.service.patch
  11. 0 20
      gogs_new.service
  12. 0 20
      gogs_old.service
  13. 0 90
      helper.sh

+ 0 - 40
.SRCINFO

@@ -1,40 +0,0 @@
-pkgbase = gogs-git-dev
-	pkgdesc = Gogs(Go Git Service) is a Self Hosted Git Service in the Go Programming Language. This is the current git version from branch develop.
-	pkgver = 3166.9950f5a
-	pkgrel = 1
-	epoch = 1
-	url = http://gogs.io/
-	install = gogs.install
-	arch = i686
-	arch = x86_64
-	arch = armv6h
-	arch = armv7h
-	license = MIT
-	makedepends = go>=1.3
-	makedepends = git>=1.7.1
-	makedepends = patch
-	depends = git>=1.7.1
-	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 = tidb-git: TiDB support
-	conflicts = gogs-bin
-	conflicts = gogs
-	conflicts = gogs-git
-	options = !strip
-	options = !emptydirs
-	backup = srv/gogs/conf/app.ini
-	source = gogs.service.patch
-	source = app.ini.patch
-	source = helper.sh
-	source = gogs::git+https://github.com/gogits/gogs.git#branch=develop
-	sha512sums = 834e95fe9bcfa291a573ad1fa43f41bbed844658a918ff4fcf53ab8a44a296206ee4003eab1d9a2785c9126be077022f4907846d2eb6c5d64050b5e81ce47f44
-	sha512sums = d4f6518c644b76e4d1688cd5756c9eea7a89d0abad68a14638ccc6f0d1006c164c1ae3b3f89efd903def7398a3dabce7299100303808ad7a1937407a9eb13a39
-	sha512sums = e45775adafeecad5deaf24a98cd85b25a8383cb0e89905b2927c13fe7f0ec9918a42071ce43eabc429d8a826db93bb75ffb1927dce9c431ed88b0b5c619fd60d
-	sha512sums = SKIP
-
-pkgname = gogs-git-dev
-

+ 1 - 9
.gitignore

@@ -1,13 +1,5 @@
 *
 !.gitignore
-!app_ini.patch
-!app_old.ini
-!gogs.changelog
 !gogs.install
-!gogs.service.patch
-!gogs_new.service
-!gogs_old.service
-!helper.sh
+!gogs.service
 !PKGBUILD
-!README.md
-!.SRCINFO

+ 33 - 77
PKGBUILD

@@ -1,17 +1,17 @@
 # Contributor: Thomas Laroche <tho.laroche@gmail.com>
 # Maintainer: Thomas Fanninger <thomas@fanninger.at>
 
-pkgname=gogs-git-dev
 _pkgname=gogs
 _branch=develop
-pkgver=3166.9950f5a
+_gourl=github.com/gogits/$_pkgname
+pkgname=gogs-git-dev
+pkgver=r3874.3df8eb6
 pkgrel=1
-epoch=1
 pkgdesc="Gogs(Go Git Service) is a Self Hosted Git Service in the Go Programming Language. This is the current git version from branch ${_branch}."
 arch=('i686' 'x86_64' 'armv6h' 'armv7h')
 url="http://gogs.io/"
 license=('MIT')
-depends=('git>=1.7.1')
+depends=('git>=1.7.1' 'bash')
 optdepends=('sqlite: SQLite support'
             'mariadb: MariaDB support'
             'postgresql: PostgreSQL support'
@@ -19,93 +19,49 @@ optdepends=('sqlite: SQLite support'
             'memcached: MemCached support'
             'openssh: GIT over SSH support'
             'tidb-git: TiDB support')
-makedepends=('go>=1.3' 'git>=1.7.1' 'patch')
-conflicts=('gogs-bin' 'gogs' 'gogs-git')
+makedepends=('go>=1.4' 'git')
+conflicts=('gogs')
+provides=('gogs')
 options=('!strip' '!emptydirs')
-backup=('srv/gogs/conf/app.ini')
-
+backup=('etc/gogs/app.ini')
 install=gogs.install
 
-_gourl=github.com/gogits/$_pkgname
-source=('gogs.service.patch'
-        'app.ini.patch'
-        'helper.sh'
+source=('gogs.service'
         "$_pkgname::git+https://${_gourl}.git#branch=${_branch}")
 
-sha512sums=(834e95fe9bcfa291a573ad1fa43f41bbed844658a918ff4fcf53ab8a44a296206ee4003eab1d9a2785c9126be077022f4907846d2eb6c5d64050b5e81ce47f44
-            d4f6518c644b76e4d1688cd5756c9eea7a89d0abad68a14638ccc6f0d1006c164c1ae3b3f89efd903def7398a3dabce7299100303808ad7a1937407a9eb13a39
-            e45775adafeecad5deaf24a98cd85b25a8383cb0e89905b2927c13fe7f0ec9918a42071ce43eabc429d8a826db93bb75ffb1927dce9c431ed88b0b5c619fd60d
-            'SKIP')
-
-_goroot="/usr/lib/go"
-
 pkgver(){
-  cd "$srcdir/$_pkgname"
-  echo $(git rev-list --count HEAD).$(git rev-parse --short HEAD)
+    GOPATH="$srcdir/build"
+    cd $GOPATH/src/${_gourl}
+    printf "r%s.%s" "$(git rev-list --count HEAD)" "$(git rev-parse --short HEAD)"
 }
 
-prepare() {
-  source $srcdir/helper.sh
-
-  export GOROOT=/usr/lib/go
-  
-  msg2 "Prepare GO build enviroment"
-  rm -rf build
-  mkdir -p build/go
-  cd build/go
-
-  for f in "$GOROOT/"*; do
-    ln -s "$f"
-  done
-
-  rm pkg
-  mkdir pkg
-  cd pkg
 
-  for f in "$GOROOT/pkg/"*; do
-    ln -s "$f"
-  done
-
-  export GOROOT="$srcdir/build/go"
-  export GOPATH="$srcdir/build"
-  
-  mkdir -p "$GOPATH/src/github.com/gogits"
-
-  mv "$srcdir/$_pkgname" $GOPATH/src/${_gourl}
-
-  msg2 "Check and download dependencies from .gopmfile"
-  get_gopm "$GOPATH/src/${_gourl}/.gopmfile" "$GOPATH/src"
-
-  msg2 "Download missing dependencies"
-#  go_get github.com/macaron-contrib/oauth2 "$GOPATH/src/github.com/macaron-contrib/oauth2"
-
-  msg2 "Workaround dependencies"
-  cd "$GOPATH/src/github.com/gogits/go-gogs-client/"
-  git checkout -q master
-
-  # Execute patch
-  msg2 "Execute patches"
-  patch -Np1 -i "$srcdir/app.ini.patch" "$GOPATH/src/${_gourl}/conf/app.ini"
-  patch -Np1 -i "$srcdir/gogs.service.patch" "$GOPATH/src/${_gourl}/scripts/systemd/gogs.service"
+prepare() {
+    GOPATH="$srcdir/build"
+    rm -rf "$GOPATH/src/github.com/gogits"
+    mkdir -p "$GOPATH/src/github.com/gogits"
+    mv  $_pkgname "$GOPATH/src/$_gourl"
 }
 
 build() {
-  cd $GOPATH/src/${_gourl}
-
-  msg2 "Build program"
-  go fix
-  go build -x -tags='sqlite'
+    GOPATH="$srcdir/build"
+    cd $GOPATH/src/${_gourl}
+    go get -x -tags='sqlite pam cert'
+    go fix
+    go build -x -tags='sqlite pam cert'
 }
 
 package() {
-  install -Dm0755 "$srcdir/build/src/${_gourl}/$_pkgname" "$pkgdir/usr/share/$_pkgname/$_pkgname"
+    GOPATH="$srcdir/build"
+    install -Dm0755 "$GOPATH/src/${_gourl}/$_pkgname" "$pkgdir/usr/share/$_pkgname/$_pkgname"
+    cp -r "$GOPATH/src/${_gourl}/conf" "$pkgdir/usr/share/$_pkgname"
+    install -dm755 "$pkgdir/usr/share/themes/gogs/default"
+    cp -r "$GOPATH/src/${_gourl}/public" "$pkgdir/usr/share/themes/gogs/default"
+    cp -r "$GOPATH/src/${_gourl}/templates" "$pkgdir/usr/share/themes/gogs/default"
+    install -Dm0644 "$GOPATH/src/${_gourl}/conf/app.ini" "$pkgdir/etc/$_pkgname/app.ini"
+    install -Dm0644 "$srcdir/gogs.service" "$pkgdir/usr/lib/systemd/system/gogs.service"
+}
 
-  cp -r "$srcdir/build/src/${_gourl}/conf" "$pkgdir/usr/share/$_pkgname"
-  mkdir -p "$pkgdir/usr/share/themes/gogs/default/"
-  cp -r "$srcdir/build/src/${_gourl}/public" "$pkgdir/usr/share/themes/gogs/default"
-  cp -r "$srcdir/build/src/${_gourl}/templates" "$pkgdir/usr/share/themes/gogs/default"
+sha512sums=('2b468bf8208b53a61d7f3f0676b83de36467809ad703c168dcc275b0a0f0490308d9b451ca3fc35824db050f5323a394b239bafebf99c4bc8bcf61db12fab6e1'
+            'SKIP')
 
-  install -Dm0644 "$pkgdir/usr/share/$_pkgname/conf/app.ini" "$pkgdir/srv/$_pkgname/conf/app.ini"
-  install -Dm0644 "$srcdir/build/src/${_gourl}/scripts/systemd/gogs.service" "$pkgdir/usr/lib/systemd/system/gogs.service"
-  install -Dm0644 "$srcdir/build/src/${_gourl}/LICENSE" "$pkgdir/usr/share/licenses/$_pkgname"
-}

+ 0 - 35
README.md

@@ -1,35 +0,0 @@
-# Gogs
-PKGBUILD files for different versions of Gogs (Go Git Service).
-
-## Open points
-* ~~Systemd service support~~
-* ~~better file structure~~
-* ~~Publishing on https://aur.archlinux.org~~
-* Test
-  * MariaDB support
-  * PostgreSQL support
-* ~~Test on armv6h (Raspberry Pi), armv7h (Cubieboard 2) and on x86_64~~
-* Documentation for usage and configuration - Started with Archlinux Wiki page https://wiki.archlinux.org/index.php/Gogs
-* ~~Read dependencies out of ".gopmfile"~~
-
-## Install
-```
-$ wget https://aur.archlinux.org/packages/go/gogs-*/gogs-*.tar.gz
-$ tar -xvzf /<path to Tarball>/gogs-*.tar.gz
-$ cd <package-name>
-$ makepkg
-$ pacman -U gogs-*.tgz
-```
-
-## Configuration
-Enable and start systemd servicd
-```
-$ systemctl enable gogs.service
-$ systemctl start gogs.service
-```
-
-## Logging
-After start of the service every log entry is over journalctl displayable.
-```
-$ journalctl -f -u gogs.service
-```

+ 0 - 32
app.ini.patch

@@ -1,32 +0,0 @@
-7c7
-< RUN_USER = git
----
-> RUN_USER = gogs
-12c12
-< ROOT =
----
-> ROOT = /srv/gogs/repo
-69c69
-< STATIC_ROOT_PATH =
----
-> STATIC_ROOT_PATH = /usr/share/themes/gogs/default
-85c85
-< PATH = data/gogs.db
----
-> PATH = /srv/gogs/sqlite/gogs.db
-186c186
-< PROVIDER_CONFIG = data/sessions
----
-> PROVIDER_CONFIG = /srv/gogs/sessions
-201c201
-< AVATAR_UPLOAD_PATH = data/avatars
----
-> AVATAR_UPLOAD_PATH = /srv/gogs/data/avatars
-211c211
-< PATH = data/attachments
----
-> PATH = /srv/gogs/data/attachments
-226c226
-< ROOT_PATH =
----
-> ROOT_PATH = /var/log/gogs

+ 0 - 336
app_new.ini

@@ -1,336 +0,0 @@
-# NEVER EVER MODIFY THIS FILE
-# PLEASE MAKE CHANGES ON CORRESPONDING CUSTOM CONFIG FILE
-
-; 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 = dev
-
-[repository]
-ROOT = /srv/gogs/repo
-SCRIPT_TYPE = bash
-; Default ANSI charset
-ANSI_CHARSET = 
-; Force every new repository to be private
-FORCE_PRIVATE = false
-; Patch test queue length, make it as large as possible
-PULL_REQUEST_QUEUE_LENGTH = 10000
-
-[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
-
-[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 = 50
-; Number of organization that are showed in one page
-ORG_PAGING_NUM = 50
-
-[markdown]
-; Enable hard line break extension
-ENABLE_HARD_LINE_BREAK = false
-
-[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
-; Whether use builtin SSH server or not.
-START_SSH_SERVER = false
-SSH_PORT = 22
-; Disable CDN even in "prod" mode
-OFFLINE_MODE = false
-DISABLE_ROUTER_LOG = false
-; Generate steps:
-; $ cd path/to/gogs/custom/https
-; $ ./gogs 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 = custom/https/cert.pem
-KEY_FILE = custom/https/key.pem
-; Upper level of template and static file path
-; default is the path where Gogs is executed
-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 = mysql
-HOST = 127.0.0.1:3306
-NAME = gogs
-USER = root
-PASSWD =
-; For "postgres" only, either "disable", "require" or "verify-full"
-SSL_MODE = disable
-; For "sqlite3" and "tidb"
-PATH = /srv/gogs/sqlite/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 = 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
-; Enable captcha validation for registration
-ENABLE_CAPTCHA = true
-
-; used to filter keys which are too short
-[service.minimum_key_sizes]
-ED25519 = 256
-ECDSA   = 256
-NTRU    = 1087
-MCE     = 1702
-McE     = 1702
-RSA     = 1024
-DSA     = 1024
-
-[webhook]
-; Hook task queue length
-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: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 =
-
-[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 = /srv/gogs/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"
-; or a custom avatar source, like: http://cn.gravatar.com/avatar/
-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 = 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 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 =
-
-[cron]
-; Enable running cron tasks periodically.
-ENABLED = true
-; Run cron tasks when Gogs starts.
-RUN_AT_START = false
-
-; Update mirrors
-[cron.update_mirrors]
-SCHEDULE = @every 1h
-
-; Repository health check
-[cron.repo_health_check]
-SCHEDULE = @every 24h
-; 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]
-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 = 
-
-[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 do Brasil,Polski,български,Italiano
-
-; Used for datetimepicker
-[i18n.datelang]
-en-US = en
-zh-CN = zh
-zh-HK = 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
-
-[other]
-SHOW_FOOTER_BRANDING = false

+ 0 - 338
app_old.ini

@@ -1,338 +0,0 @@
-# NEVER EVER MODIFY THIS FILE
-# PLEASE MAKE CHANGES ON CORRESPONDING CUSTOM CONFIG FILE
-
-; App name that shows on every page title
-APP_NAME = Gogs: Go Git Service
-; Change it if you run locally
-RUN_USER = git
-; Either "dev", "prod" or "test", default is "dev"
-RUN_MODE = dev
-
-[repository]
-ROOT =
-SCRIPT_TYPE = bash
-; Default ANSI charset
-ANSI_CHARSET = 
-; Force every new repository to be private
-FORCE_PRIVATE = false
-; Patch test queue length, make it as large as possible
-PULL_REQUEST_QUEUE_LENGTH = 10000
-
-[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
-
-[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 = 50
-; Number of organization that are showed in one page
-ORG_PAGING_NUM = 50
-
-[markdown]
-; Enable hard line break extension
-ENABLE_HARD_LINE_BREAK = false
-
-[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
-; Whether use builtin SSH server or not.
-START_SSH_SERVER = false
-SSH_PORT = 22
-; Disable CDN even in "prod" mode
-OFFLINE_MODE = false
-DISABLE_ROUTER_LOG = false
-; Generate steps:
-; $ cd path/to/gogs/custom/https
-; $ ./gogs 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 = custom/https/cert.pem
-KEY_FILE = custom/https/key.pem
-; Upper level of template and static file path
-; default is the path where Gogs is executed
-STATIC_ROOT_PATH =
-; 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 = mysql
-HOST = 127.0.0.1:3306
-NAME = gogs
-USER = root
-PASSWD =
-; For "postgres" only, either "disable", "require" or "verify-full"
-SSL_MODE = disable
-; For "sqlite3" and "tidb"
-PATH = 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 = 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
-; Enable captcha validation for registration
-ENABLE_CAPTCHA = true
-
-; used to filter keys which are too short
-[service.minimum_key_sizes]
-ED25519 = 256
-ECDSA   = 256
-NTRU    = 1087
-MCE     = 1702
-McE     = 1702
-RSA     = 1024
-DSA     = 1024
-
-[webhook]
-; Hook task queue length
-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: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 =
-
-[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 = data/avatars
-; Chinese users can choose "duoshuo"
-; or a custom avatar source, like: http://cn.gravatar.com/avatar/
-GRAVATAR_SOURCE = gravatar
-DISABLE_GRAVATAR = false
-
-[attachment]
-; Whether attachments are enabled. Defaults to `true`
-ENABLE = true
-; Path for attachments. Defaults to `data/attachments`
-PATH = 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 =
-; 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 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 =
-
-[cron]
-; Enable running cron tasks periodically.
-ENABLED = true
-; Run cron tasks when Gogs starts.
-RUN_AT_START = false
-
-; Update mirrors
-[cron.update_mirrors]
-SCHEDULE = @every 1h
-
-; Repository health check
-[cron.repo_health_check]
-SCHEDULE = @every 24h
-; 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]
-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 = 
-
-[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 do Brasil,Polski,български,Italiano
-
-; Used for datetimepicker
-[i18n.datelang]
-en-US = en
-zh-CN = zh
-zh-HK = 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
-
-[other]
-SHOW_FOOTER_BRANDING = false
-; Show version information about gogs and go in the footer
-SHOW_FOOTER_VERSION = true

+ 22 - 24
gogs.install

@@ -1,42 +1,40 @@
 pre_install() {
-  if ! getent group gogs >/dev/null; then
-    groupadd --system gogs
-  fi
-  if ! getent passwd gogs >/dev/null; then
-    useradd -m --system -c 'gogs daemon users' -g gogs -s /bin/false gogs
-  fi
-  chsh gogs -s /bin/bash
+    if ! getent group gogs >/dev/null; then
+        groupadd --system gogs
+    fi
+    if ! getent passwd gogs >/dev/null; then
+        useradd -m --system -c 'gogs daemon users' -g gogs -s /bin/bash gogs
+    fi
 }
 
 post_install(){
-	mkdir -p /var/log/gogs
-	chown -R gogs:gogs /var/log/gogs
-	chown -R gogs:gogs /srv/gogs
+    mkdir -p /var/log/gogs
+    chown -R gogs:gogs /var/log/gogs
+    chown -R gogs:gogs /srv/gogs
 
-	systemctl daemon-reload
+    systemctl daemon-reload
 }
 
 pre_upgrade(){
-	systemctl stop gogs.service
-	
-	pre_install $1
+    systemctl -q is-active gogs.service && systemctl stop gogs.service
 }
 
 post_upgrade() {
-	post_install $1
-	systemctl start gogs.service
+    systemctl daemon-reload
+    systemctl -q is-enabled gogs.service && systemctl start gogs.service
 }
 
 pre_remove() {
-	systemctl stop gogs.service
-	systemctl disable gogs.service
+    systemctl -q is-active gogs.service && systemctl stop gogs.service
+    systemctl -q is-enabled gogs.service && systemctl disable gogs.service
 }
 
 post_remove() {
-  if getent passwd gogs >/dev/null; then
-    userdel -r gogs
-  fi
-  if getent group gogs >/dev/null; then
-    groupdel gogs
-  fi
+    if getent passwd gogs >/dev/null; then
+        userdel gogs
+    fi
+    if getent group gogs >/dev/null; then
+        groupdel gogs
+    fi
+    systemctl daemon-reload
 }

+ 15 - 0
gogs.service

@@ -0,0 +1,15 @@
+[Unit]
+Description=Gogs (Go Git Service) server
+After=syslog.target
+After=network.target
+
+[Service]
+Type=simple
+User=gogs
+Group=gogs
+ExecStart=/usr/share/gogs/gogs web --config /etc/gogs/app.ini
+WorkingDirectory=/srv/gogs
+Environment=USER=gogs HOME=/home/gogs
+
+[Install]
+WantedBy=multi-user.target

+ 0 - 14
gogs.service.patch

@@ -1,14 +0,0 @@
-12,15c12,15
-< User=git
-< Group=git
-< WorkingDirectory=/home/git/gogs
-< ExecStart=/home/git/gogs/gogs web
----
-> User=gogs
-> Group=gogs
-> WorkingDirectory=/srv/gogs/
-> ExecStart=/usr/share/gogs/gogs web --config /srv/gogs/conf/app.ini
-17c17
-< Environment=USER=git HOME=/home/git
----
-> Environment=USER=gogs HOME=/home/gogs

+ 0 - 20
gogs_new.service

@@ -1,20 +0,0 @@
-[Unit]
-Description=Gogs (Go Git Service)
-After=syslog.target
-After=network.target
-#After=mysqld.service
-#After=postgresql.service
-#After=memcached.service
-#After=redis.service
-
-[Service]
-Type=simple
-User=gogs
-Group=gogs
-WorkingDirectory=/srv/gogs/
-ExecStart=/usr/share/gogs/gogs web --config /srv/gogs/conf/app.ini
-Restart=always
-Environment=USER=gogs HOME=/home/gogs
-
-[Install]
-WantedBy=multi-user.target

+ 0 - 20
gogs_old.service

@@ -1,20 +0,0 @@
-[Unit]
-Description=Gogs (Go Git Service)
-After=syslog.target
-After=network.target
-#After=mysqld.service
-#After=postgresql.service
-#After=memcached.service
-#After=redis.service
-
-[Service]
-Type=simple
-User=git
-Group=git
-WorkingDirectory=/home/git/gogs
-ExecStart=/home/git/gogs/gogs web
-Restart=always
-Environment=USER=git HOME=/home/git
-
-[Install]
-WantedBy=multi-user.target

+ 0 - 90
helper.sh

@@ -1,90 +0,0 @@
-#!/bin/bash 
-
-# $1 = package name
-# $2 = target directory path
-# $3 = branch/commit/revision string, if empty then maste ist used
-function go_get {
-  if [[ $1 == github.com* ]]
-  then 
-    get_git $1 $2 $3
-  elif [[ $1 == code.google.com* ]]
-  then 
-    get_hg $1 $2 $3
-  elif [[ $1 == golang.org* ]]
-  then 
-    get_golang $1 $2 $3
-  else
-    go get $1
-  fi
-}
-
-# $1 = git package
-# $2 = target directory path
-# $3 = branch/commit/revision string, if empty then maste ist used
-function get_git {
-  git clone https://$1 $2
-  if [[ $3 != "master" ]] && [[ ${3:0} == commit* ]]
-  then
-    cd $2
-    git checkout -q ${3:7}
-  elif [[ $3 != "master" ]] && [[ ${3:0} == tag* ]]
-  then
-    cd $2
-    git checkout -q tags/${3:4}
-  else
-    cd $2
-    git checkout -q ${3:7}
-  fi
-}
-
-# $1 = mercury package name
-# $2 = target directory path
-# $3 = branch/commit/revision string, if empty then maste ist used
-function get_hg {
-  if [[ $3 == "master" ]] || [[ $3 == "" ]]
-  then
-    hg clone https://$1 $2
-  else
-    hg clone https://$1 -r $3 $2
-  fi
-}
-
-function get_golang {
-  local package=$1
-  local match="golang.org/x"
-  local replace="github.com/golang"
-  local result=""
-
-  result=${package/$match/$replace}
-
-  get_git $result $2 $3
-}
-
-# Read the .gopmfile file and clone the branch/commits of the depends
-# $1 = .gopmfile file path
-# $2 = target directory path
-function get_gopm {
-  local startStr=""
-  local revStr=""
-
-  while read line
-  do
-    if [[ $startStr == 'X' ]] && [[ $line == '' ]]
-    then
-      break
-    elif [[ $startStr == 'X' ]]
-    then
-      IFS="=" read -a array <<< "$line"
-      if [[ ${array[1]} != "" ]]
-      then
-        local revStr=${array[1]//\`}
-        go_get ${array[0]} "$2/${array[0]}" $revStr
-      else
-        go_get ${array[0]} "$2/${array[0]}" master
-      fi
-    elif [[ $line == '[deps]' ]]
-    then
-      local startStr="X"
-    fi
-  done <$1
-}