aboutsummarylogtreecommitdiffstats
diff options
context:
space:
mode:
authorMartchus2018-03-19 22:58:02 +0100
committerMartchus2018-03-19 22:58:02 +0100
commitf75bd7565a69b99fb6e7276f87caaad4e2181298 (patch)
tree9f45e41e10962e3d2ce5e4619c75286c61795033
parentbc4ccf089e057b12802ee0741ef7b48c01d68298 (diff)
downloadaur-f75bd7565a69b99fb6e7276f87caaad4e2181298.tar.gz
Use systemd-sysusers
https://www.archlinux.org/todo/switch-to-systemd-sysusers
-rw-r--r--.SRCINFO5
-rw-r--r--PKGBUILD25
-rw-r--r--gogs.install44
3 files changed, 20 insertions, 54 deletions
diff --git a/.SRCINFO b/.SRCINFO
index fe78de766a86..dc0f92755e8e 100644
--- a/.SRCINFO
+++ b/.SRCINFO
@@ -1,12 +1,9 @@
-# Generated by mksrcinfo v8
-# Fri Nov 24 10:25:38 UTC 2017
pkgbase = gogs
pkgdesc = Self Hosted Git Service written in Go
pkgver = 0.11.34
- pkgrel = 1
+ pkgrel = 2
epoch = 1
url = https://gogs.io
- install = gogs.install
arch = i686
arch = x86_64
arch = armv6h
diff --git a/PKGBUILD b/PKGBUILD
index 2c8581a5e9bf..8e63d26890ac 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -5,10 +5,11 @@
_pkgname=gogs
_orga=gogits
_gourl=github.com/gogits/$_pkgname
+_userid=511
pkgname=$_pkgname
pkgver=0.11.34
-pkgrel=1
+pkgrel=2
epoch=1
pkgdesc='Self Hosted Git Service written in Go'
arch=('i686' 'x86_64' 'armv6h' 'armv7h')
@@ -25,7 +26,6 @@ makedepends=('go>=1.3')
conflicts=("$_pkgname-bin" "$_pkgname-git" "$_pkgname-dev-git")
options=('!strip')
backup=("etc/$_pkgname/app.ini")
-install=$_pkgname.install
source=("$_pkgname-$pkgver::https://github.com/$_orga/$_pkgname/archive/v${pkgver}.tar.gz"
'0001-Adjust-config-for-Arch-Linux-package.patch'
'0002-Adjust-service-file-for-Arch-Linux-package.patch')
@@ -71,20 +71,33 @@ build() {
go fix
go build -x -ldflags="-s -w" -tags='sqlite pam cert'
+
+ echo "u $_pkgname $_userid \"$_pkgname user\" /var/lib/$_pkgname" > "$srcdir/$_pkgname.sysusers"
+ echo "#!/usr/bin/bash
+if [[ \$USER != $_pkgname ]]; then
+ echo \"Must run as user $_pkgname!\"
+ exit -1
+fi
+export GOGS_CUSTOM=/var/lib/$_pkgname/custom
+/usr/bin/$_pkgname backup --config /etc/$_pkgname/app.ini \$@" > "$srcdir/$_pkgname-backup.sh"
}
package() {
install -Dm0755 "$srcdir/build/src/${_gourl}/$_pkgname" "$pkgdir/usr/bin/$_pkgname"
+ install -Dm0755 "$srcdir/$_pkgname-backup.sh" "$pkgdir/usr/bin/$_pkgname-backup"
mkdir -p "$pkgdir/usr/share/${_pkgname}"
cp -r "$srcdir/build/src/${_gourl}/conf" "$pkgdir/usr/share/${_pkgname}"
cp -r "$srcdir/build/src/${_gourl}/public" "$pkgdir/usr/share/${_pkgname}"
cp -r "$srcdir/build/src/${_gourl}/templates" "$pkgdir/usr/share/${_pkgname}"
- install -Dm0644 "$pkgdir/usr/share/$_pkgname/conf/app.ini" "$pkgdir/etc/$_pkgname/app.ini"
+ install -Dm0664 -g "$_userid" "$pkgdir/usr/share/$_pkgname/conf/app.ini" "$pkgdir/etc/$_pkgname/app.ini"
install -Dm0644 "$srcdir/build/src/${_gourl}/scripts/systemd/$_pkgname.service" "$pkgdir/usr/lib/systemd/system/$_pkgname.service"
install -Dm0644 "$srcdir/build/src/${_gourl}/LICENSE" "$pkgdir/usr/share/licenses/$_pkgname"
-
- install -dm0700 "$pkgdir/var/log/$_pkgname"
- install -dm0700 "$pkgdir/var/lib/$_pkgname"
+ install -Dm0644 "${srcdir}/$_pkgname.sysusers" "${pkgdir}/usr/lib/sysusers.d/$_pkgname.conf"
+ install -dm0700 -o "$_userid" -g "$_userid" "$pkgdir/var/lib/$_pkgname"
+ install -dm0700 -o "$_userid" -g "$_userid" "$pkgdir/var/log/$_pkgname"
+ for subdir in avatars repos certs data/sessions data/tmp; do
+ install -dm0700 -o "$_userid" -g "$_userid" "$pkgdir/var/lib/$_pkgname/$subdir"
+ done
}
diff --git a/gogs.install b/gogs.install
deleted file mode 100644
index dbbf1b095da9..000000000000
--- a/gogs.install
+++ /dev/null
@@ -1,44 +0,0 @@
-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 -d /var/lib/gogs
- fi
- chsh gogs -s /bin/bash
-}
-
-post_install(){
- # ensure subdirs in data dir are present
- for subdir in avatars repos certs data/sessions data/tmp; do
- mkdir -p /var/lib/gogs/$subdir
- done
-
- # ensure ownership is correct
- chown -R gogs:gogs /var/log/gogs
- chown -R gogs:gogs /var/lib/gogs
-
- systemctl daemon-reload
-}
-
-pre_upgrade(){
- pre_install $1
-}
-
-post_upgrade() {
- post_install $1
-}
-
-pre_remove() {
- systemctl stop 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
-}