Date: Wednesday, December 13, 2017 @ 09:58:42 Author: eworm Revision: 274194
upgpkg: gitolite 3.6.7-2 Switch to systemd-sysusers for user creation. Added: gitolite/trunk/gitolite-sysusers.conf Modified: gitolite/trunk/PKGBUILD gitolite/trunk/gitolite.install ------------------------+ PKGBUILD | 14 +++++++++++--- gitolite-sysusers.conf | 1 + gitolite.install | 24 +++++++----------------- 3 files changed, 19 insertions(+), 20 deletions(-) Modified: PKGBUILD =================================================================== --- PKGBUILD 2017-12-13 09:46:29 UTC (rev 274193) +++ PKGBUILD 2017-12-13 09:58:42 UTC (rev 274194) @@ -5,7 +5,7 @@ pkgname=gitolite pkgver=3.6.7 -pkgrel=1 +pkgrel=2 pkgdesc='An access control layer on top of git' url='https://github.com/sitaramc/gitolite' arch=('any') @@ -12,8 +12,10 @@ license=('GPL2') depends=('git' 'perl' 'openssh') install=gitolite.install -source=($pkgname-$pkgver.tar.gz::$url/archive/v${pkgver}.tar.gz) -sha256sums=('f75d15bb438986b77bd8aeda7839dcd3624ae9d09dbfce245c00b906de8dbdc5') +source=("$pkgname-$pkgver.tar.gz::$url/archive/v${pkgver}.tar.gz" + 'gitolite-sysusers.conf') +sha256sums=('f75d15bb438986b77bd8aeda7839dcd3624ae9d09dbfce245c00b906de8dbdc5' + '4113e21968b8954cb467ef89fac8485727acf31219bdb971494ca1d98efdd6af') prepare() { cd $pkgname-$pkgver/src @@ -21,7 +23,13 @@ } package() { + # create directories install -d "$pkgdir"/usr/{bin,lib/gitolite} + + # install files and create symlink cp -a $pkgname-$pkgver/src/* "$pkgdir"/usr/lib/gitolite ln -s /usr/lib/gitolite/gitolite "$pkgdir"/usr/bin/ + + # sysusers file + install -D -m 0644 "${srcdir}"/gitolite-sysusers.conf "${pkgdir}"/usr/lib/sysusers.d/gitolite.conf } Added: gitolite-sysusers.conf =================================================================== --- gitolite-sysusers.conf (rev 0) +++ gitolite-sysusers.conf 2017-12-13 09:58:42 UTC (rev 274194) @@ -0,0 +1 @@ +u gitolite - "gitolite user" /var/lib/gitolite Modified: gitolite.install =================================================================== --- gitolite.install 2017-12-13 09:46:29 UTC (rev 274193) +++ gitolite.install 2017-12-13 09:58:42 UTC (rev 274194) @@ -1,20 +1,10 @@ +#!/bin/sh + post_install() { - # We need ssh login and thus a valid shell. No way to create - # the user with sysusers.d(5)? + # make sure the user exists... + systemd-sysusers gitolite.conf - if ! getent group gitolite &>/dev/null; then - groupadd -r -g 196 gitolite >/dev/null - fi - - if ! getent passwd gitolite &>/dev/null; then - useradd -m -r -u 196 -g gitolite -d /var/lib/gitolite \ - -s /bin/bash gitolite >/dev/null - fi + # ... and change the shell. This is done only once in post-install + # function, so an administrative change is persistent. + chsh --shell /bin/bash gitolite > /dev/null } - -post_upgrade() { - post_install -} - -# Do NOT delete the user in post_remove(). It poses a security risk if -# any files are left behind with this ownership.