diff options
-rw-r--r-- | abs/extra/git/ChangeLog | 57 | ||||
-rw-r--r-- | abs/extra/git/PKGBUILD | 104 | ||||
-rw-r--r-- | abs/extra/git/git-daemon | 70 | ||||
-rw-r--r-- | abs/extra/git/git-daemon.conf | 5 | ||||
-rw-r--r-- | abs/extra/git/git-daemon.socket | 9 | ||||
-rw-r--r-- | abs/extra/git/git-daemon@.service | 10 | ||||
-rw-r--r-- | abs/extra/git/git.install | 12 |
7 files changed, 87 insertions, 180 deletions
diff --git a/abs/extra/git/ChangeLog b/abs/extra/git/ChangeLog deleted file mode 100644 index f0c1523..0000000 --- a/abs/extra/git/ChangeLog +++ /dev/null @@ -1,57 +0,0 @@ -Simple version bumps are omitted from the following ChangeLog. - -2011-08-16 Dan McGee <dan@archlinux.org> - Version 1.7.6.1-1 - * Enable USE_LIBPCRE for `git grep -P` usage - -2011-05-05 Dan McGee <dan@archlinux.org> - Version 1.7.5.1-1 - * Byte compile emacs files (FS#20874) - * Respect CFLAGS/LDFLAGS (FS#23963) - -2011-04-27 Dan McGee <dan@archlinux.org> - Version 1.7.5-1 - * Add missing optdepends for git send-email (FS#20923) - -2011-01-05 Dan McGee <dan@archlinux.org> - Version 1.7.3.5-1 - * More flexible git-daemon RC scripts (FS#20575) - -2010-10-01 Allan McRae <allan@archlinux.org> - Version 1.7.3.1-2 - * Python 2/3 rebuild - -2010-06-29 Dan McGee <dan@archlinux.org> - Version 1.7.1.1-1 - * Add emacs completion files (FS#17968) - * Add git-daemon RC scripts (FS#19291) - -2009-06-05 Dan McGee <dan@archlinux.org> - Version 1.6.3.2-1 - * Remove gitweb from /usr/share; it needs customization to be helpful - * Add NO_CROSS_DIRECTORY_HARDLINKS option to build (FS#13683) - -2008-09-14 Dan McGee <dan@archlinux.org> - Version 1.6.0.2-1 - * Moved optional depends from install file to optdepends array - -2008-06-15 Dan McGee <dan@archlinux.org> - Version 1.5.6-1 - * Removed 'cpio' dependency, clone is now a builtin and no longer needs it - -2008-02-02 Dan McGee <dan@archlinux.org> - Version 1.5.4-1 - * Upstream version 1.5.4 - * Enable pthreads support in pack-objects. To use, set the pack.threads - git config option. Read manpages of pack-objects and config for more - details. - * Changelog added (with entries going back a bit). - -2008-01-28 Kevin Piche <kevin@archlinux.org> - Version 1.5.3.7-2 - * Updated for new perl policy (vendor dirs) - * Change license to GPL2 - -2007-11-01 Eric Belanger <eric@archlinux.org> - Version 1.5.3.5-2 - * Fix Perl module location diff --git a/abs/extra/git/PKGBUILD b/abs/extra/git/PKGBUILD index 75be079..c762f95 100644 --- a/abs/extra/git/PKGBUILD +++ b/abs/extra/git/PKGBUILD @@ -1,13 +1,15 @@ +# $Id$ +# Maintainer: Dan McGee <dan@archlinux.org> pkgname=git -pkgver=1.7.11.4 +pkgver=2.5.3 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>=5.14.0' 'openssl' 'pcre') -makedepends=('python2' 'emacs') +makedepends=('python2' 'emacs' 'libgnome-keyring' 'xmlto' 'asciidoc') optdepends=('tk: gitk and git gui' 'perl-libwww: git svn' 'perl-term-readkey: git svn' @@ -16,15 +18,24 @@ optdepends=('tk: gitk and git gui' 'perl-authen-sasl: git send-email TLS support' 'python2: various helper scripts' 'subversion: git svn' - 'cvsps: git cvsimport') + 'cvsps2: git cvsimport' + 'gnome-keyring: GNOME keyring credential helper') replaces=('git-core') provides=('git-core') -backup=('etc/conf.d/git-daemon.conf') -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 +install=git.install +source=("https://www.kernel.org/pub/software/scm/git/git-$pkgver.tar.xz" + "https://www.kernel.org/pub/software/scm/git/git-$pkgver.tar.sign" + git-daemon@.service + git-daemon.socket) +md5sums=('e69b41f2d0a93f3d3dc5eb19196e4e5c' + 'SKIP' + '042524f942785772d7bd52a1f02fe5ae' + 'f67869315c2cc112e076f0c73f248002') +validpgpkeys=('96E07AF25771955980DAD10020D04E5A713660A7') # Junio C Hamano + +prepare() { + cd "$srcdir/$pkgname-$pkgver" +} build() { export PYTHON_PATH='/usr/bin/python2' @@ -33,30 +44,32 @@ build() { CFLAGS="$CFLAGS" LDFLAGS="$LDFLAGS" \ USE_LIBPCRE=1 \ NO_CROSS_DIRECTORY_HARDLINKS=1 \ - all + MAN_BOLD_LITERAL=1 \ + all doc - cd contrib/emacs - make prefix=/usr + make -C contrib/emacs prefix=/usr + make -C contrib/credential/gnome-keyring + make -C contrib/subtree prefix=/usr gitexecdir=/usr/lib/git-core all doc } check() { export PYTHON_PATH='/usr/bin/python2' cd "$srcdir/$pkgname-$pkgver" local jobs - jobs=$(expr "$MAKEFLAGS" : '.*\(-j[0-9]*\).*') + jobs=$(expr "$MAKEFLAGS" : '.*\(-j[0-9]*\).*') || true + mkdir -p /dev/shm/git-test make prefix=/usr gitexecdir=/usr/lib/git-core \ CFLAGS="$CFLAGS" LDFLAGS="$LDFLAGS" \ USE_LIBPCRE=1 \ NO_CROSS_DIRECTORY_HARDLINKS=1 \ + MAN_BOLD_LITERAL=1 \ 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 } - - package() { export PYTHON_PATH='/usr/bin/python2' cd "$srcdir/$pkgname-$pkgver" @@ -64,44 +77,39 @@ package() { CFLAGS="$CFLAGS" LDFLAGS="$LDFLAGS" \ USE_LIBPCRE=1 \ NO_CROSS_DIRECTORY_HARDLINKS=1 \ - INSTALLDIRS=vendor DESTDIR="$pkgdir" install + MAN_BOLD_LITERAL=1 \ + INSTALLDIRS=vendor DESTDIR="$pkgdir" install install-doc # 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 - # more contrib stuff - cp -a ./contrib $pkgdir/usr/share/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 + # emacs + make -C contrib/emacs prefix=/usr DESTDIR="$pkgdir" install + # gnome credentials helper + install -m755 contrib/credential/gnome-keyring/git-credential-gnome-keyring \ + "$pkgdir"/usr/lib/git-core/git-credential-gnome-keyring + make -C contrib/credential/gnome-keyring clean + # subtree installation + make -C contrib/subtree prefix=/usr gitexecdir=/usr/lib/git-core DESTDIR="$pkgdir" install install-doc + # the rest of the contrib stuff + cp -a ./contrib/* $pkgdir/usr/share/git/ + # scripts are for python 2.x - sed -i 's|#![ ]*/usr/bin/env python|#!/usr/bin/env python2|' \ + sed -i 's|#![ ]*/usr/bin/env python$|#!/usr/bin/env python2|' \ $(find "$pkgdir" -name '*.py') \ - "$pkgdir"/usr/lib/git-core/git-p4 \ - "$pkgdir"/usr/share/git/gitview/gitview - - # emacs interface - cd contrib/emacs - make prefix=/usr DESTDIR="$pkgdir" install - - # how 'bout some manpages? - for mansect in man1 man5 man7; do - for manpage in "$srcdir"/$mansect/*; do - install -D -m644 $manpage "$pkgdir"/usr/share/man/$mansect/$(basename $manpage) - done - done + "$pkgdir"/usr/share/git/gitview/gitview \ + "$pkgdir"/usr/share/git/remote-helpers/git-remote-bzr \ + "$pkgdir"/usr/share/git/remote-helpers/git-remote-hg + sed -i 's|#![ ]*/usr/bin/python$|#!/usr/bin/python2|' \ + "$pkgdir"/usr/share/git/svn-fe/svnrdump_sim.py # remove perllocal.pod, .packlist, and empty directories. rm -rf "$pkgdir"/usr/lib/perl5 - # 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 + # git-daemon via systemd socket activation + 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=('21c7100cddee8579233a924111e829ab' - '397af842126a5099968238ab946580a5' - '8e2648910fd5dd4f1c41d3c7fa9e9156' - '2e42bf97779a1c6411d89043334c9e78') - diff --git a/abs/extra/git/git-daemon b/abs/extra/git/git-daemon deleted file mode 100644 index 21ba73e..0000000 --- a/abs/extra/git/git-daemon +++ /dev/null @@ -1,70 +0,0 @@ -#!/bin/bash - -daemon_bin="/usr/lib/git-core/git-daemon" -daemon_name=$(basename $daemon_bin) -PIDF="/var/run/$daemon_name.pid" - -. /etc/rc.conf -. /etc/rc.d/functions -. /etc/conf.d/$daemon_name.conf - -get_pid() { - pidof -o %PPID $daemon_name -} - -case "$1" in - start) - stat_busy "Starting $daemon_name daemon" - - PID=$(get_pid) - if [ -z "$PID" ]; then - [ -f $PIDF ] && rm -f $PIDF - # RUN - $daemon_bin --pid-file=$PIDF $GIT_DAEMON_ARGS - # - if [ $? -gt 0 ]; then - stat_fail - exit 1 - else - echo $(get_pid) > $PIDF - add_daemon $daemon_name - stat_done - fi - else - stat_fail - exit 1 - fi - ;; - - stop) - stat_busy "Stopping $daemon_name daemon" - PID=$(get_pid) - # KILL - [ ! -z "$PID" ] && kill $PID &> /dev/null - # - if [ $? -gt 0 ]; then - stat_fail - exit 1 - else - rm -f $PIDF &> /dev/null - rm_daemon $daemon_name - stat_done - fi - ;; - - restart) - $0 stop - sleep 3 - $0 start - ;; - - status) - stat_busy "Checking $daemon_name status"; - ck_status $daemon_name - ;; - - *) - echo "usage: $0 {start|stop|restart|status}" -esac - -exit 0 diff --git a/abs/extra/git/git-daemon.conf b/abs/extra/git/git-daemon.conf deleted file mode 100644 index 3f9a120..0000000 --- a/abs/extra/git/git-daemon.conf +++ /dev/null @@ -1,5 +0,0 @@ -# path to git repositories served -GIT_REPO="/srv/git/" -# see `man git-daemon` for all available options -# $GIT_REPO will be present twice in most configs -GIT_DAEMON_ARGS="--detach --syslog --verbose --base-path=$GIT_REPO $GIT_REPO" diff --git a/abs/extra/git/git-daemon.socket b/abs/extra/git/git-daemon.socket new file mode 100644 index 0000000..58ed2f1 --- /dev/null +++ b/abs/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/abs/extra/git/git-daemon@.service b/abs/extra/git/git-daemon@.service new file mode 100644 index 0000000..55ca714 --- /dev/null +++ b/abs/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/abs/extra/git/git.install b/abs/extra/git/git.install new file mode 100644 index 0000000..064eda0 --- /dev/null +++ b/abs/extra/git/git.install @@ -0,0 +1,12 @@ +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 +} |