mirror of
https://gitlab.alpinelinux.org/alpine/aports.git
synced 2026-01-20 16:12:22 +01:00
247 lines
6.7 KiB
Plaintext
247 lines
6.7 KiB
Plaintext
# Contributor: Łukasz Jendrysik <scadu@yandex.com>
|
|
# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
|
|
pkgname=git
|
|
pkgver=2.14.1
|
|
pkgrel=1
|
|
pkgdesc="A distributed version control system"
|
|
url="https://www.git-scm.com/"
|
|
arch="all"
|
|
license="GPL2+"
|
|
depends=
|
|
replaces="git-perl"
|
|
|
|
# secfixes:
|
|
# 2.14.1:
|
|
# - CVE-2017-1000117
|
|
|
|
# note that order matters
|
|
subpackages="$pkgname-doc
|
|
$pkgname-bash-completion:completion:noarch
|
|
perl-$pkgname-svn:_perl_git_svn:noarch
|
|
perl-$pkgname:_perl_git:noarch
|
|
$pkgname-svn
|
|
$pkgname-email
|
|
$pkgname-fast-import:_fast_import
|
|
$pkgname-cvs::noarch
|
|
$pkgname-p4::noarch
|
|
$pkgname-daemon
|
|
$pkgname-gitweb
|
|
$pkgname-subtree::noarch
|
|
$pkgname-subtree-doc:subtree_doc:noarch
|
|
$pkgname-perl:_git_perl:noarch
|
|
$pkgname-gui::noarch
|
|
$pkgname-gitk::noarch
|
|
"
|
|
# we need tcl and tk to be built before git due to git-gui and gitk
|
|
makedepends="zlib-dev libressl-dev curl-dev expat-dev perl-dev python2-dev
|
|
pcre2-dev asciidoc xmlto perl-error tcl tk"
|
|
source="https://www.kernel.org/pub/software/scm/git/git-$pkgver.tar.xz
|
|
bb-tar.patch
|
|
git-daemon.initd
|
|
git-daemon.confd
|
|
"
|
|
|
|
_gitcoredir=/usr/libexec/git-core
|
|
builddir="$srcdir"/$pkgname-$pkgver
|
|
|
|
prepare() {
|
|
default_prepare
|
|
cat >> config.mak <<-EOF
|
|
NO_GETTEXT=YesPlease
|
|
NO_SVN_TESTS=YesPlease
|
|
NO_REGEX=YesPlease
|
|
USE_LIBPCRE2=YesPlease
|
|
NO_NSEC=YesPlease
|
|
NO_SYS_POLL_H=1
|
|
CFLAGS=$CFLAGS
|
|
EOF
|
|
}
|
|
|
|
build() {
|
|
cd "$builddir"
|
|
make -j1 prefix=/usr DESTDIR="$pkgdir" perl/perl.mak
|
|
make prefix=/usr DESTDIR="$pkgdir"
|
|
}
|
|
|
|
package() {
|
|
cd "$builddir"
|
|
make -j1 prefix=/usr \
|
|
DESTDIR="$pkgdir" \
|
|
INSTALLDIRS=vendor \
|
|
install
|
|
mkdir -p "$pkgdir"/var/git
|
|
install -Dm755 "$srcdir"/git-daemon.initd \
|
|
"$pkgdir"/etc/init.d/git-daemon
|
|
install -Dm644 "$srcdir"/git-daemon.confd \
|
|
"$pkgdir"/etc/conf.d/git-daemon
|
|
|
|
make prefix=/usr DESTDIR="$pkgdir" install-man
|
|
}
|
|
|
|
_perl_git_svn() {
|
|
pkgdesc="Perl interface to Git::SVN"
|
|
depends="git=$pkgver-r$pkgrel"
|
|
replaces="git-perl"
|
|
eval local `perl -V:vendorlib`
|
|
mkdir -p "$subpkgdir"/$vendorlib/Git
|
|
mv "$pkgdir"/$vendorlib/Git/SVN* "$subpkgdir"/$vendorlib/Git/
|
|
}
|
|
|
|
_perl_git() {
|
|
pkgdesc="Perl interface to Git"
|
|
depends="git=$pkgver-r$pkgrel perl-error"
|
|
replaces="git-perl"
|
|
eval local `perl -V:vendorlib`
|
|
eval local `perl -V:vendorarch`
|
|
for i in $vendorlib $vendorarch; do
|
|
mkdir -p "$subpkgdir"/${i%/*}
|
|
mv "$pkgdir"/$i "$subpkgdir"/$i
|
|
done
|
|
}
|
|
|
|
email() {
|
|
depends="perl perl-git=$pkgver-r$pkgrel perl-net-smtp-ssl
|
|
perl-authen-sasl"
|
|
pkgdesc="Git tools for sending email"
|
|
replaces="git"
|
|
mkdir -p "$subpkgdir"/$_gitcoredir
|
|
mv "$pkgdir"/$_gitcoredir/*email* "$pkgdir"/$_gitcoredir/*imap* \
|
|
"$subpkgdir"/$_gitcoredir
|
|
}
|
|
|
|
svn() {
|
|
depends="perl perl-git-svn=$pkgver-r$pkgrel perl-subversion
|
|
perl-term-readkey"
|
|
pkgdesc="Subversion support for git"
|
|
replaces=""
|
|
|
|
mkdir -p "$subpkgdir"/$_gitcoredir
|
|
mv "$pkgdir"/$_gitcoredir/git-svn \
|
|
"$pkgdir"$_gitcoredir/git-remote-testsvn \
|
|
"$subpkgdir"/$_gitcoredir/
|
|
}
|
|
|
|
cvs() {
|
|
pkgdesc="Git tools for importing CVS repositories"
|
|
depends="perl perl-git=$pkgver-r$pkgrel cvs perl-dbd-sqlite"
|
|
replaces="git-perl"
|
|
mkdir -p "$subpkgdir"/usr/bin "$subpkgdir"/$_gitcoredir
|
|
mv "$pkgdir"/usr/bin/git-cvs* "$subpkgdir"/usr/bin/
|
|
mv "$pkgdir"/$_gitcoredir/*cvs* "$subpkgdir"/$_gitcoredir \
|
|
|
|
}
|
|
|
|
_fast_import() {
|
|
pkgdesc="Git backend for fast Git data importers"
|
|
depends="git=$pkgver-r$pkgrel"
|
|
mkdir -p "$subpkgdir"/$_gitcoredir
|
|
mv "$pkgdir"/$_gitcoredir/git-fast-import "$subpkgdir"/$_gitcoredir/
|
|
}
|
|
|
|
p4() {
|
|
pkgdesc="Git tools for working with Perforce depots"
|
|
depends="git=$pkgver-r$pkgrel git-fast-import=$pkgver-r$pkgrel"
|
|
replaces="git"
|
|
mkdir -p "$subpkgdir"/$_gitcoredir/mergetools
|
|
mv "$pkgdir"/$_gitcoredir/*p4* "$subpkgdir"/$_gitcoredir/
|
|
mv "$pkgdir"/$_gitcoredir/mergetools/*p4* \
|
|
"$subpkgdir"/$_gitcoredir/mergetools/
|
|
}
|
|
|
|
daemon() {
|
|
pkgdesc="Git protocol daemon"
|
|
depends="git=$pkgver-r$pkgrel"
|
|
replaces="git"
|
|
mkdir -p "$subpkgdir"/$_gitcoredir
|
|
mv "$pkgdir"/$_gitcoredir/git-daemon \
|
|
"$pkgdir"/$_gitcoredir/git-http-backend \
|
|
"$pkgdir"/$_gitcoredir/git-shell \
|
|
"$subpkgdir"/$_gitcoredir \
|
|
|
|
mv "$pkgdir"/etc "$subpkgdir"/
|
|
}
|
|
|
|
gitweb() {
|
|
pkgdesc="Simple web interface to git repositories"
|
|
depends="git=$pkgver-r$pkgrel perl"
|
|
replaces="git"
|
|
mkdir -p "$subpkgdir"/usr/share "$subpkgdir"$_gitcoredir
|
|
mv "$pkgdir"/usr/share/gitweb "$subpkgdir"/usr/share/
|
|
mv "$pkgdir"/$_gitcoredir/git-instaweb "$subpkgdir"$_gitcoredir
|
|
}
|
|
|
|
completion() {
|
|
pkgdesc="Bash completion for $pkgname"
|
|
depends=""
|
|
replaces=""
|
|
install_if="$pkgname=$pkgver-r$pkgrel bash-completion"
|
|
|
|
install -Dm644 "$builddir"/contrib/completion/git-completion.bash \
|
|
"$subpkgdir"/usr/share/bash-completion/completions/git
|
|
}
|
|
|
|
subtree() {
|
|
depends="git=$pkgver-r$pkgrel"
|
|
pkgdesc="Split git repository into subtrees"
|
|
replaces=""
|
|
|
|
cd "$builddir"/contrib/subtree
|
|
make prefix=/usr DESTDIR="$pkgdir"
|
|
make install prefix=/usr DESTDIR="$subpkgdir"
|
|
}
|
|
|
|
subtree_doc() {
|
|
depends=""
|
|
pkgdesc="Split git repository into subtrees (documentation)"
|
|
replaces=""
|
|
|
|
cd "$builddir"/contrib/subtree
|
|
make install-man prefix=/usr DESTDIR="$subpkgdir"
|
|
gzip -9 "$subpkgdir"/usr/share/man/man1/git-subtree.1
|
|
}
|
|
|
|
gui() {
|
|
depends="git=$pkgver-r$pkgrel tcl tk"
|
|
pkgdesc="GUI interface for git"
|
|
replaces=""
|
|
|
|
mkdir -p "$subpkgdir"/usr/share "$subpkgdir"/usr/libexec/git-core
|
|
mv "$pkgdir"/usr/share/git-gui "$subpkgdir"/usr/share/
|
|
mv "$pkgdir"/usr/libexec/git-core/git-citool \
|
|
"$pkgdir"/usr/libexec/git-core/git-gui \
|
|
"$pkgdir"/usr/libexec/git-core/git-gui--askpass \
|
|
"$subpkgdir"/usr/libexec/git-core/
|
|
}
|
|
|
|
gitk() {
|
|
depends="git=$pkgver-r$pkgrel tcl tk"
|
|
pkgdesc="Gitk interface for git"
|
|
replaces=""
|
|
|
|
mkdir -p "$subpkgdir"/usr/share "$subpkgdir"/usr/bin
|
|
mv "$pkgdir"/usr/share/gitk "$subpkgdir"/usr/share/
|
|
mv "$pkgdir"/usr/bin/gitk "$subpkgdir"/usr/bin/
|
|
}
|
|
|
|
# catch-the-rest of stuff that needs perl
|
|
_git_perl() {
|
|
depends="git=$pkgver-r$pkgrel perl-git=$pkgver-r$pkgrel perl"
|
|
pkgdesc="Additional Git commands that requires perl"
|
|
replaces=""
|
|
|
|
mkdir -p "$subpkgdir"/usr/lib
|
|
mv "$pkgdir"/usr/lib/perl* "$subpkgdir"/usr/lib/
|
|
cd "$pkgdir"
|
|
find -type f | xargs file --mime-type | grep perl | cut -d: -f1| while read f; do
|
|
mkdir -p "$subpkgdir"/${f%/*}
|
|
mv "$f" "$subpkgdir"/${f%/*}
|
|
done
|
|
find "$subpkgdir" -name perllocal.pod -delete
|
|
}
|
|
|
|
|
|
sha512sums="bee35ad9c6a0d0588045ec2fe5f6987cb1eeb3961cdf33cd9b51ae52017969131ea4ec09908f9b30944f85b0daa99614fb42c248c9c8dac5f21a90e2866c33b4 git-2.14.1.tar.xz
|
|
85767b5e03137008d6a96199e769e3979f75d83603ac8cb13a3481a915005637409a4fd94e0720da2ec6cd1124f35eba7cf20109a94816c4b4898a81fbc46bd2 bb-tar.patch
|
|
89528cdd14c51fd568aa61cf6c5eae08ea0844e59f9af9292da5fc6c268261f4166017d002d494400945e248df6b844e2f9f9cd2d9345d516983f5a110e4c42a git-daemon.initd
|
|
fbf1f425206a76e2a8f82342537ed939ff7e623d644c086ca2ced5f69b36734695f9f80ebda1728f75a94d6cd2fcb71bf845b64239368caab418e4d368c141ec git-daemon.confd"
|