summaryrefslogtreecommitdiffstats
path: root/abs/extra
diff options
context:
space:
mode:
Diffstat (limited to 'abs/extra')
-rw-r--r--abs/extra/git/PKGBUILD110
-rw-r--r--abs/extra/git/git-sysusers.conf2
-rw-r--r--abs/extra/git/git.install7
3 files changed, 52 insertions, 67 deletions
diff --git a/abs/extra/git/PKGBUILD b/abs/extra/git/PKGBUILD
index 024b137..724fc29 100644
--- a/abs/extra/git/PKGBUILD
+++ b/abs/extra/git/PKGBUILD
@@ -1,20 +1,19 @@
-# $Id$
# Maintainer: Christian Hesse <mail@eworm.de>
# Maintainer: Dan McGee <dan@archlinux.org>
pkgname=git
-pkgver=2.16.2
+pkgver=2.29.2
pkgrel=1
-pkgdesc="the fast distributed version control system"
-arch=(x86_64)
-url="http://git-scm.com/"
+pkgdesc='the fast distributed version control system'
+arch=('x86_64')
+url='https://git-scm.com/'
license=('GPL2')
-depends=('curl' 'expat>=2.0' 'perl-error' 'perl>=5.14.0' 'openssl' 'pcre2'
- 'grep' 'shadow')
-makedepends=('python2' 'emacs' 'libgnome-keyring' 'xmlto' 'asciidoc')
+depends=('curl' 'expat' 'perl' 'perl-error' 'perl-mailtools'
+ 'openssl' 'pcre2' 'grep' 'shadow')
+makedepends=('python' 'libgnome-keyring' 'xmlto' 'asciidoc')
optdepends=('tk: gitk and git gui'
'perl-libwww: git svn'
- 'perl-term-readkey: git svn'
+ 'perl-term-readkey: git svn and interactive.singlekey setting'
'perl-mime-tools: git send-email'
'perl-net-smtp-ssl: git send-email TLS support'
'perl-authen-sasl: git send-email TLS support'
@@ -22,44 +21,55 @@ optdepends=('tk: gitk and git gui'
'perl-datetime-format-iso8601: git mediawiki support'
'perl-lwp-protocol-https: git mediawiki https support'
'perl-cgi: gitweb (web interface) support'
- 'python2: various helper scripts'
+ 'python: git svn & git p4'
'subversion: git svn'
- 'gnome-keyring: GNOME keyring credential helper')
-replaces=('git-core')
-provides=('git-core')
+ 'org.freedesktop.secrets: keyring credential helper'
+ 'libsecret: libsecret credential helper')
install=git.install
validpgpkeys=('96E07AF25771955980DAD10020D04E5A713660A7') # Junio C Hamano
source=("https://www.kernel.org/pub/software/scm/git/git-$pkgver.tar."{xz,sign}
'git-daemon@.service'
'git-daemon.socket'
'git-sysusers.conf')
-sha256sums=('5560578bd21468d98637f41515c165d32f69caff0838b8989dee5ce10022c717'
+sha256sums=('f2fc436ebe657821a1360bcd1e5f4896049610082419143d60f6fa13c2f607c1'
'SKIP'
'14c0b67cfe116b430645c19d8c4759419657e6809dfa28f438c33a005245ad91'
'ac4c90d62c44926e6d30d18d97767efc901076d4e0283ed812a349aece72f203'
- '595794856bfa6087c33826640ae7b5447832233844f36dfedc18646d47154730')
+ '7630e8245526ad80f703fac9900a1328588c503ce32b37b9f8811674fcda4a45')
+
+_make_paths=(
+ prefix='/usr'
+ gitexecdir='/usr/lib/git-core'
+ perllibdir="$(/usr/bin/perl -MConfig -wle 'print $Config{installvendorlib}')"
+)
+
+_make_options=(
+ CFLAGS="$CFLAGS"
+ LDFLAGS="$LDFLAGS"
+ INSTALL_SYMLINKS=1
+ MAN_BOLD_LITERAL=1
+ NO_PERL_CPAN_FALLBACKS=1
+ USE_LIBPCRE2=1
+)
build() {
- export PYTHON_PATH='/usr/bin/python2'
cd "$srcdir/$pkgname-$pkgver"
- make prefix=/usr gitexecdir=/usr/lib/git-core \
- CFLAGS="$CFLAGS" LDFLAGS="$LDFLAGS" \
- USE_LIBPCRE2=1 \
- NO_CROSS_DIRECTORY_HARDLINKS=1 \
- MAN_BOLD_LITERAL=1 \
- all doc
- make -C contrib/emacs prefix=/usr
+ make \
+ "${_make_paths[@]}" \
+ "${_make_options[@]}" \
+ all man
+
make -C contrib/credential/gnome-keyring
make -C contrib/credential/libsecret
- make -C contrib/subtree prefix=/usr gitexecdir=/usr/lib/git-core all doc
- make -C contrib/mw-to-git prefix=/usr all
- make -C contrib/diff-highlight prefix=/usr
+ make -C contrib/subtree "${_make_paths[@]}" all man
+ make -C contrib/mw-to-git "${_make_paths[@]}" all
+ make -C contrib/diff-highlight "${_make_paths[@]}"
}
check() {
- export PYTHON_PATH='/usr/bin/python2'
cd "$srcdir/$pkgname-$pkgver"
+
local jobs
jobs=$(expr "$MAKEFLAGS" : '.*\(-j[0-9]*\).*') || true
mkdir -p /dev/shm/git-test
@@ -67,11 +77,9 @@ check() {
# which is caused by 'git rebase' trying to use builduser's SHELL inside the
# build chroot (i.e.: /usr/bin/nologin)
SHELL=/bin/sh \
- make prefix=/usr gitexecdir=/usr/lib/git-core \
- CFLAGS="$CFLAGS" LDFLAGS="$LDFLAGS" \
- USE_LIBPCRE2=1 \
- NO_CROSS_DIRECTORY_HARDLINKS=1 \
- MAN_BOLD_LITERAL=1 \
+ make \
+ "${_make_paths[@]}" \
+ "${_make_options[@]}" \
NO_SVN_TESTS=y \
DEFAULT_TEST_TARGET=prove \
GIT_PROVE_OPTS="$jobs -Q" \
@@ -80,14 +88,13 @@ check() {
}
package() {
- export PYTHON_PATH='/usr/bin/python2'
cd "$srcdir/$pkgname-$pkgver"
- make prefix=/usr gitexecdir=/usr/lib/git-core \
- CFLAGS="$CFLAGS" LDFLAGS="$LDFLAGS" \
- USE_LIBPCRE2=1 \
- NO_CROSS_DIRECTORY_HARDLINKS=1 \
- MAN_BOLD_LITERAL=1 \
- INSTALLDIRS=vendor DESTDIR="$pkgdir" install install-doc
+
+ make \
+ "${_make_paths[@]}" \
+ "${_make_options[@]}" \
+ DESTDIR="$pkgdir" \
+ install install-man
# bash completion
mkdir -p "$pkgdir"/usr/share/bash-completion/completions/
@@ -95,9 +102,8 @@ package() {
# fancy git prompt
mkdir -p "$pkgdir"/usr/share/git/
install -m 0644 ./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
+ # gnome credentials helper (deprecated, but we will keep it as long there is no extra cost)
+ # https://gitlab.gnome.org/GNOME/libgnome-keyring/commit/6a5adea4aec93
install -m 0755 contrib/credential/gnome-keyring/git-credential-gnome-keyring \
"$pkgdir"/usr/lib/git-core/git-credential-gnome-keyring
make -C contrib/credential/gnome-keyring clean
@@ -106,26 +112,12 @@ package() {
"$pkgdir"/usr/lib/git-core/git-credential-libsecret
make -C contrib/credential/libsecret clean
# subtree installation
- make -C contrib/subtree prefix=/usr gitexecdir=/usr/lib/git-core DESTDIR="$pkgdir" install install-doc
+ make -C contrib/subtree "${_make_paths[@]}" DESTDIR="$pkgdir" install install-man
# mediawiki installation
- make -C contrib/mw-to-git prefix=/usr gitexecdir=/usr/lib/git-core DESTDIR="$pkgdir" install
+ make -C contrib/mw-to-git "${_make_paths[@]}" DESTDIR="$pkgdir" install
# the rest of the contrib stuff
find contrib/ -name '.gitignore' -delete
- 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/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
-
- # perl modules from contrib/ install to site dir... move to vendor
- mv "$pkgdir"/usr/share/perl5/site_perl/Git/* "$pkgdir"/usr/share/perl5/vendor_perl/Git/
- rm -rf "$pkgdir"/usr/share/perl5/site_perl
- # remove perllocal.pod, .packlist, and empty directories.
- rm -rf "$pkgdir"/usr/lib/perl5
+ cp -a ./contrib/* "$pkgdir"/usr/share/git/
# git-daemon via systemd socket activation
install -D -m 0644 "$srcdir"/git-daemon@.service "$pkgdir"/usr/lib/systemd/system/git-daemon@.service
diff --git a/abs/extra/git/git-sysusers.conf b/abs/extra/git/git-sysusers.conf
index 2141c70..8189065 100644
--- a/abs/extra/git/git-sysusers.conf
+++ b/abs/extra/git/git-sysusers.conf
@@ -1 +1 @@
-u git - "git daemon user" /
+u git - "git daemon user" / /usr/bin/git-shell
diff --git a/abs/extra/git/git.install b/abs/extra/git/git.install
index 24bc5d7..453050d 100644
--- a/abs/extra/git/git.install
+++ b/abs/extra/git/git.install
@@ -5,13 +5,6 @@ post_install() {
if ! grep -qe '^/usr/bin/git-shell$' etc/shells; then
echo '/usr/bin/git-shell' >> etc/shells
fi
-
- # make sure the user exists...
- systemd-sysusers git.conf
-
- # ... and change the shell. This is done only once in post-install
- # function, so an administrative change is persistent.
- chsh --shell /usr/bin/git-shell git > /dev/null
}
# do not modify user settings (shell) in post-upgrade function!