[arch-commits] Commit in git/trunk (PKGBUILD git-sysusers.conf git.install)
Christian Hesse
eworm at archlinux.org
Wed Dec 13 09:55:59 UTC 2017
Date: Wednesday, December 13, 2017 @ 09:55:59
Author: eworm
Revision: 312218
upgpkg: git 2.15.1-2
Switch to systemd-sysusers for user creation, we still need to change the shell, though.
Added:
git/trunk/git-sysusers.conf
Modified:
git/trunk/PKGBUILD
git/trunk/git.install
-------------------+
PKGBUILD | 25 +++++++++++++++----------
git-sysusers.conf | 1 +
git.install | 18 +++++++++---------
3 files changed, 25 insertions(+), 19 deletions(-)
Modified: PKGBUILD
===================================================================
--- PKGBUILD 2017-12-13 09:39:02 UTC (rev 312217)
+++ PKGBUILD 2017-12-13 09:55:59 UTC (rev 312218)
@@ -4,7 +4,7 @@
pkgname=git
pkgver=2.15.1
-pkgrel=1
+pkgrel=2
pkgdesc="the fast distributed version control system"
arch=(x86_64)
url="http://git-scm.com/"
@@ -30,12 +30,14 @@
install=git.install
validpgpkeys=('96E07AF25771955980DAD10020D04E5A713660A7') # Junio C Hamano
source=("https://www.kernel.org/pub/software/scm/git/git-$pkgver.tar."{xz,sign}
- git-daemon at .service
- git-daemon.socket)
+ 'git-daemon at .service'
+ 'git-daemon.socket'
+ 'git-sysusers.conf')
sha256sums=('999c90fd7d45066992cdb87dda35bdff6dfc1d01496118ea718dfb866da4045c'
'SKIP'
'14c0b67cfe116b430645c19d8c4759419657e6809dfa28f438c33a005245ad91'
- 'ac4c90d62c44926e6d30d18d97767efc901076d4e0283ed812a349aece72f203')
+ 'ac4c90d62c44926e6d30d18d97767efc901076d4e0283ed812a349aece72f203'
+ '595794856bfa6087c33826640ae7b5447832233844f36dfedc18646d47154730')
build() {
export PYTHON_PATH='/usr/bin/python2'
@@ -89,18 +91,18 @@
# bash completion
mkdir -p "$pkgdir"/usr/share/bash-completion/completions/
- install -m644 ./contrib/completion/git-completion.bash "$pkgdir"/usr/share/bash-completion/completions/git
+ install -m 0644 ./contrib/completion/git-completion.bash "$pkgdir"/usr/share/bash-completion/completions/git
# fancy git prompt
mkdir -p "$pkgdir"/usr/share/git/
- install -m644 ./contrib/completion/git-prompt.sh "$pkgdir"/usr/share/git/git-prompt.sh
+ install -m 0644 ./contrib/completion/git-prompt.sh "$pkgdir"/usr/share/git/git-prompt.sh
# emacs
make -C contrib/emacs prefix=/usr DESTDIR="$pkgdir" install
# gnome credentials helper
- install -m755 contrib/credential/gnome-keyring/git-credential-gnome-keyring \
+ install -m 0755 contrib/credential/gnome-keyring/git-credential-gnome-keyring \
"$pkgdir"/usr/lib/git-core/git-credential-gnome-keyring
make -C contrib/credential/gnome-keyring clean
# libsecret credentials helper
- install -m755 contrib/credential/libsecret/git-credential-libsecret \
+ install -m 0755 contrib/credential/libsecret/git-credential-libsecret \
"$pkgdir"/usr/lib/git-core/git-credential-libsecret
make -C contrib/credential/libsecret clean
# subtree installation
@@ -126,6 +128,9 @@
rm -rf "$pkgdir"/usr/lib/perl5
# git-daemon via systemd socket activation
- install -D -m 644 "$srcdir"/git-daemon at .service "$pkgdir"/usr/lib/systemd/system/git-daemon at .service
- install -D -m 644 "$srcdir"/git-daemon.socket "$pkgdir"/usr/lib/systemd/system/git-daemon.socket
+ install -D -m 0644 "$srcdir"/git-daemon at .service "$pkgdir"/usr/lib/systemd/system/git-daemon at .service
+ install -D -m 0644 "$srcdir"/git-daemon.socket "$pkgdir"/usr/lib/systemd/system/git-daemon.socket
+
+ # sysusers file
+ install -D -m 0644 "$srcdir"/git-sysusers.conf "$pkgdir"/usr/lib/sysusers.d/git.conf
}
Added: git-sysusers.conf
===================================================================
--- git-sysusers.conf (rev 0)
+++ git-sysusers.conf 2017-12-13 09:55:59 UTC (rev 312218)
@@ -0,0 +1 @@
+u git - "git daemon user" /
Modified: git.install
===================================================================
--- git.install 2017-12-13 09:39:02 UTC (rev 312217)
+++ git.install 2017-12-13 09:55:59 UTC (rev 312218)
@@ -1,21 +1,21 @@
#!/bin/sh
post_install() {
- if ! getent group git >/dev/null; then
- groupadd --system git
- fi
- if ! getent passwd git >/dev/null; then
- useradd --system -c 'git daemon user' -g git -d / -s /usr/bin/git-shell git
- fi
+ # make git-shell a valid shell
if ! grep -qe '^/usr/bin/git-shell$' etc/shells; then
echo '/usr/bin/git-shell' >> etc/shells
fi
-}
-post_upgrade() {
- post_install $1
+ # make sure the user exists...
+ systemd-sysusers git.conf
+
+ # ... and change the shell. This is done only once in post-install
+ # function, so an administrative change is persistent.
+ chsh --shell /usr/bin/git-shell git > /dev/null
}
+# do not modify user settings (shell) in post-upgrade function!
+
post_remove() {
sed -i -r '/^\/usr\/bin\/git-shell$/d' etc/shells
}
More information about the arch-commits
mailing list