From 95800bf137e87ca8fafdee53e65c5fed934afa3a Mon Sep 17 00:00:00 2001 From: Martchus Date: Mon, 11 Jun 2018 19:56:36 +0200 Subject: [PATCH] Add tmpfiles configuration for Gogs/Gitea Not tested yet --- gitea/default/PKGBUILD | 7 +++++++ gogs/default/PKGBUILD | 13 +++++++++++-- 2 files changed, 18 insertions(+), 2 deletions(-) diff --git a/gitea/default/PKGBUILD b/gitea/default/PKGBUILD index ad253b5b..84b3db7c 100644 --- a/gitea/default/PKGBUILD +++ b/gitea/default/PKGBUILD @@ -74,8 +74,14 @@ build() { go fix go build -x -ldflags="-s -w" -tags='sqlite pam cert' + # build sysusers file echo "u $_pkgname $_userid \"$_pkgname user\" /var/lib/$_pkgname" > "$srcdir/$_pkgname.sysusers" + # build tmpfiles file + echo "d /var/lib/$_pkgname 0755 $_pkgname $_pkgname +d /var/log/$_pkgname 0755 $_pkgname $_pkgname +d /etc/$_pkgname 0775 root $_pkgname" > "$srcdir/$_pkgname.tmpfiles" + # build wrapper script for Gogs' backup command if [[ $pkgname == 'gogs' ]]; then echo "#!/usr/bin/bash @@ -103,6 +109,7 @@ package() { install -Dm0644 "$srcdir/build/src/${_gourl}/${_scriptsdir}/systemd/$_pkgname.service" "$pkgdir/usr/lib/systemd/system/$_pkgname.service" install -Dm0644 "$srcdir/build/src/${_gourl}/LICENSE" "$pkgdir/usr/share/licenses/$_pkgname" install -Dm0644 "${srcdir}/$_pkgname.sysusers" "${pkgdir}/usr/lib/sysusers.d/$_pkgname.conf" + install -Dm0644 "${srcdir}/$_pkgname.tmpfiles" "${pkgdir}/usr/lib/tmpfiles.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 diff --git a/gogs/default/PKGBUILD b/gogs/default/PKGBUILD index b8fb91e0..36f3d6d5 100644 --- a/gogs/default/PKGBUILD +++ b/gogs/default/PKGBUILD @@ -24,7 +24,7 @@ optdepends=('sqlite: SQLite support' 'redis: Redis support' 'memcached: MemCached support' 'openssh: GIT over SSH support') -makedepends=('go>=1.3' 'patch' 'gcc') +makedepends=('go>=1.3') conflicts=("$_pkgname-bin" "$_pkgname-git" "$_pkgname-dev-git") options=('!strip') backup=("etc/$_pkgname/app.ini") @@ -74,8 +74,14 @@ build() { go fix go build -x -ldflags="-s -w" -tags='sqlite pam cert' + # build sysusers file echo "u $_pkgname $_userid \"$_pkgname user\" /var/lib/$_pkgname" > "$srcdir/$_pkgname.sysusers" + # build tmpfiles file + echo "d /var/lib/$_pkgname 0755 $_pkgname $_pkgname +d /var/log/$_pkgname 0755 $_pkgname $_pkgname +d /etc/$_pkgname 0775 root $_pkgname" > "$srcdir/$_pkgname.tmpfiles" + # build wrapper script for Gogs' backup command if [[ $pkgname == 'gogs' ]]; then echo "#!/usr/bin/bash @@ -90,7 +96,9 @@ export GOGS_CUSTOM=/var/lib/$_pkgname/custom package() { install -Dm0755 "$srcdir/build/src/${_gourl}/$_pkgname" "$pkgdir/usr/bin/$_pkgname" - install -Dm0755 "$srcdir/$_pkgname-backup.sh" "$pkgdir/usr/bin/$_pkgname-backup" + if [[ $pkgname == 'gogs' ]]; then + install -Dm0755 "$srcdir/$_pkgname-backup.sh" "$pkgdir/usr/bin/$_pkgname-backup" + fi mkdir -p "$pkgdir/usr/share/${_pkgname}" cp -r "$srcdir/build/src/${_gourl}/${_confdir}" "$pkgdir/usr/share/${_pkgname}" @@ -101,6 +109,7 @@ package() { install -Dm0644 "$srcdir/build/src/${_gourl}/${_scriptsdir}/systemd/$_pkgname.service" "$pkgdir/usr/lib/systemd/system/$_pkgname.service" install -Dm0644 "$srcdir/build/src/${_gourl}/LICENSE" "$pkgdir/usr/share/licenses/$_pkgname" install -Dm0644 "${srcdir}/$_pkgname.sysusers" "${pkgdir}/usr/lib/sysusers.d/$_pkgname.conf" + install -Dm0644 "${srcdir}/$_pkgname.tmpfiles" "${pkgdir}/usr/lib/tmpfiles.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