From c40883520f917311c212dc4a22e86be30cef658f Mon Sep 17 00:00:00 2001 From: root Date: Thu, 23 Aug 2012 00:03:08 +0000 Subject: Thu Aug 23 00:03:08 UTC 2012 --- extra/git/PKGBUILD | 41 ++++++++++++++++++++++++++--------------- extra/git/git-daemon.socket | 9 +++++++++ extra/git/git-daemon@.service | 10 ++++++++++ extra/git/git.install | 21 +++++++++++++++++++++ 4 files changed, 66 insertions(+), 15 deletions(-) create mode 100644 extra/git/git-daemon.socket create mode 100644 extra/git/git-daemon@.service create mode 100644 extra/git/git.install (limited to 'extra/git') diff --git a/extra/git/PKGBUILD b/extra/git/PKGBUILD index b12951682..738fdd14b 100644 --- a/extra/git/PKGBUILD +++ b/extra/git/PKGBUILD @@ -1,8 +1,8 @@ -# $Id: PKGBUILD 165345 2012-08-16 02:47:11Z dan $ +# $Id: PKGBUILD 165509 2012-08-21 14:11:50Z dan $ # Maintainer: Dan McGee pkgname=git -pkgver=1.7.11.5 +pkgver=1.7.12 pkgrel=1 pkgdesc="the fast distributed version control system" arch=(i686 x86_64) @@ -22,11 +22,13 @@ optdepends=('tk: gitk and git gui' replaces=('git-core') provides=('git-core') backup=('etc/conf.d/git-daemon.conf') +install=git.install source=("http://git-core.googlecode.com/files/git-$pkgver.tar.gz" "http://git-core.googlecode.com/files/git-manpages-$pkgver.tar.gz" git-daemon - git-daemon.conf) -changelog=ChangeLog + git-daemon.conf + git-daemon@.service + git-daemon.socket) build() { export PYTHON_PATH='/usr/bin/python2' @@ -46,6 +48,10 @@ check() { cd "$srcdir/$pkgname-$pkgver" local jobs jobs=$(expr "$MAKEFLAGS" : '.*\(-j[0-9]*\).*') + mkdir -p /dev/shm/git-test + # We used to use this, but silly git regressions: + #GIT_TEST_OPTS="--root=/dev/shm/" \ + # http://comments.gmane.org/gmane.comp.version-control.git/202020 make prefix=/usr gitexecdir=/usr/lib/git-core \ CFLAGS="$CFLAGS" LDFLAGS="$LDFLAGS" \ USE_LIBPCRE=1 \ @@ -53,7 +59,7 @@ check() { NO_SVN_TESTS=y \ DEFAULT_TEST_TARGET=prove \ GIT_PROVE_OPTS="$jobs -Q" \ - GIT_TEST_OPTS="--root=/dev/shm/" \ + GIT_TEST_OPTS="--root=/dev/shm/git-test" \ test } @@ -67,14 +73,13 @@ package() { INSTALLDIRS=vendor DESTDIR="$pkgdir" install # bash completion - # until this is fixed, no point in loading it dynamically: - # http://git.661346.n2.nabble.com/bash-completion-now-loads-completions-dynamically-so-git-ps1-is-not-defined-when-you-open-a-shell-td7415323.html - #mkdir -p "$pkgdir"/usr/share/bash-completion/completions/ - #install -m644 ./contrib/completion/git-completion.bash "$pkgdir"/usr/share/bash-completion/completions/git - mkdir -p "$pkgdir"/etc/bash_completion.d/ - install -m644 ./contrib/completion/git-completion.bash "$pkgdir"/etc/bash_completion.d/git + mkdir -p "$pkgdir"/usr/share/bash-completion/completions/ + install -m644 ./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 # more contrib stuff - cp -a ./contrib $pkgdir/usr/share/git/ + cp -a ./contrib/* $pkgdir/usr/share/git/ # scripts are for python 2.x sed -i 's|#![ ]*/usr/bin/env python|#!/usr/bin/env python2|' \ $(find "$pkgdir" -name '*.py') \ @@ -98,9 +103,15 @@ package() { # git daemon script install -D -m755 "$srcdir"/git-daemon "$pkgdir"/etc/rc.d/git-daemon install -D -m644 "$srcdir"/git-daemon.conf "$pkgdir"/etc/conf.d/git-daemon.conf + + # systemd stuff + install -D -m 644 "$srcdir"/git-daemon@.service "$pkgdir"/usr/lib/systemd/system/git-daemon@.service + install -D -m 644 "$srcdir"/git-daemon.socket "$pkgdir"/usr/lib/systemd/system/git-daemon.socket } -md5sums=('9985d35c11531d546426ebefb327c847' - 'f08a5a60e57f00399bbd384cfd7791f3' +md5sums=('ceb1a6b17a3e33bbc70eadf8fce5876c' + '0070ad185cfc29da545abe35ba8862e7' '8e2648910fd5dd4f1c41d3c7fa9e9156' - '2e42bf97779a1c6411d89043334c9e78') + '2e42bf97779a1c6411d89043334c9e78' + '042524f942785772d7bd52a1f02fe5ae' + 'f67869315c2cc112e076f0c73f248002') diff --git a/extra/git/git-daemon.socket b/extra/git/git-daemon.socket new file mode 100644 index 000000000..58ed2f154 --- /dev/null +++ b/extra/git/git-daemon.socket @@ -0,0 +1,9 @@ +[Unit] +Description=Git Daemon Socket + +[Socket] +ListenStream=9418 +Accept=true + +[Install] +WantedBy=sockets.target diff --git a/extra/git/git-daemon@.service b/extra/git/git-daemon@.service new file mode 100644 index 000000000..55ca7141b --- /dev/null +++ b/extra/git/git-daemon@.service @@ -0,0 +1,10 @@ +[Unit] +Description=Git Daemon Instance + +[Service] +User=git +# The '-' is to ignore non-zero exit statuses +ExecStart=-/usr/lib/git-core/git-daemon --inetd --export-all --base-path=/srv/git +StandardInput=socket +StandardOutput=inherit +StandardError=journal diff --git a/extra/git/git.install b/extra/git/git.install new file mode 100644 index 000000000..c0578dc1d --- /dev/null +++ b/extra/git/git.install @@ -0,0 +1,21 @@ +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 /bin/bash git + fi +} + +post_upgrade() { + post_install $1 +} + +post_remove() { + if getent passwd git >/dev/null; then + userdel git + fi + if getent group git >/dev/null; then + groupdel git + fi +} -- cgit v1.2.3-54-g00ecf