summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--abs/extra/git/ChangeLog57
-rw-r--r--abs/extra/git/PKGBUILD104
-rw-r--r--abs/extra/git/git-daemon70
-rw-r--r--abs/extra/git/git-daemon.conf5
-rw-r--r--abs/extra/git/git-daemon.socket9
-rw-r--r--abs/extra/git/git-daemon@.service10
-rw-r--r--abs/extra/git/git.install12
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
+}