diff options
Diffstat (limited to 'abs/extra')
-rw-r--r-- | abs/extra/git/PKGBUILD | 110 | ||||
-rw-r--r-- | abs/extra/git/git-sysusers.conf | 2 | ||||
-rw-r--r-- | abs/extra/git/git.install | 7 |
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! |