summaryrefslogtreecommitdiff
path: root/extra/git
diff options
context:
space:
mode:
authorroot <root@rshg054.dnsready.net>2012-08-23 00:03:08 +0000
committerroot <root@rshg054.dnsready.net>2012-08-23 00:03:08 +0000
commitc40883520f917311c212dc4a22e86be30cef658f (patch)
treeef8badd68c32564574e9b9317db1884fdaf98d2f /extra/git
parent297a042ac9a7bbd2b18a9551f5fa4fe43faf53b2 (diff)
Thu Aug 23 00:03:08 UTC 2012
Diffstat (limited to 'extra/git')
-rw-r--r--extra/git/PKGBUILD41
-rw-r--r--extra/git/git-daemon.socket9
-rw-r--r--extra/git/git-daemon@.service10
-rw-r--r--extra/git/git.install21
4 files changed, 66 insertions, 15 deletions
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 <dan@archlinux.org>
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
+}