[arch-commits] Commit in gitolite/trunk (3 files)

Christian Hesse eworm at archlinux.org
Wed Dec 13 09:58:43 UTC 2017


    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.



More information about the arch-commits mailing list