update git

This commit is contained in:
Samir 2012-09-09 20:34:56 +00:00
parent cff6e49dc2
commit d94780fda8
4 changed files with 92 additions and 16 deletions

View File

@ -5,14 +5,14 @@
# maintainer (x86_64): Manuel Tortosa <manutortosa[at]chakra-project[dot]org>
pkgname=git
pkgver=1.7.10.3
pkgver=1.7.12
pkgrel=1
pkgdesc="the fast distributed version control system"
arch=(i686 x86_64)
url="http://git-scm.com/"
license=('GPL2')
depends=('curl' 'expat>=2.0' 'perl-error' 'perl')
makedepends=('python2')
makedepends=('python2' 'emacs')
optdepends=('tk: gitk and git gui'
'perl-libwww: git svn'
'perl-term-readkey: git svn'
@ -23,43 +23,77 @@ 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)
git-daemon.conf
git-daemon@.service
git-daemon.socket)
sha1sums=('172c6ad5a55276213c5e40b83a4c270f6f931b3e'
'4ae4f9f0f0dc42ad5cb2de309049c953841bc413'
sha1sums=('42ec1037f1ee5bfeb405710c83b73c0515ad26e6'
'fb572729ca5c60161dc651564a50d4378507e20f'
'f2b41828bd912b72e2cb3e14677739c4f370de66'
'149e2da1ecb48872ddb31c0945afeaad1f9653d7')
'149e2da1ecb48872ddb31c0945afeaad1f9653d7'
'5b37353dc72ba60e1cfac2d2fccf1270f7277b6c'
'df1a5a04c3ab756d36a3409146763d95a1761c95')
build() {
export PYTHON_PATH='/usr/bin/python2'
cd "$srcdir/$pkgname-$pkgver"
make prefix=/usr gitexecdir=/usr/lib/git-core
make prefix=/usr gitexecdir=/usr/lib/git-core \
USE_LIBPCRE=1 \
NO_CROSS_DIRECTORY_HARDLINKS=1 \
all
cd contrib/emacs
make prefix=/usr
}
check() {
export PYTHON_PATH='/usr/bin/python2'
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 \
USE_LIBPCRE=1 \
NO_CROSS_DIRECTORY_HARDLINKS=1 \
NO_SVN_TESTS=y \
DEFAULT_TEST_TARGET=prove \
GIT_PROVE_OPTS="$jobs -Q" \
GIT_TEST_OPTS="--root=/dev/shm/git-test" \
test
}
package() {
export PYTHON_PATH='/usr/bin/python2'
cd "$srcdir/$pkgname-$pkgver"
make prefix=/usr gitexecdir=/usr/lib/git-core \
USE_LIBPCRE=1 \
NO_CROSS_DIRECTORY_HARDLINKS=1 \
INSTALLDIRS=vendor DESTDIR=${pkgdir} install
# bash completion
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') \
"$pkgdir"/usr/share/git/{fast-import/git-p4,gitview/gitview}
"$pkgdir"/usr/lib/git-core/git-p4 \
"$pkgdir"/usr/share/git/gitview/gitview
# emacs interface
mkdir -p $pkgdir/usr/share/emacs/site-lisp
mv $pkgdir/usr/share/git/emacs $pkgdir/usr/share/emacs/site-lisp/git
rm $pkgdir/usr/share/emacs/site-lisp/git/.gitignore
cd contrib/emacs
make prefix=/usr DESTDIR="$pkgdir" install
# how 'bout some manpages?
for mansect in man1 man5 man7; do
@ -74,6 +108,8 @@ 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
}

9
git/git-daemon.socket Normal file
View File

@ -0,0 +1,9 @@
[Unit]
Description=Git Daemon Socket
[Socket]
ListenStream=9418
Accept=true
[Install]
WantedBy=sockets.target

10
git/git-daemon@.service Normal file
View File

@ -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

21
git/git.install Normal file
View File

@ -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
}