aboutsummaryrefslogtreecommitdiffstats
path: root/community/git-lfs
diff options
context:
space:
mode:
authorJakub Jirutka <jakub@jirutka.cz>2017-11-25 21:30:11 +0100
committerJakub Jirutka <jakub@jirutka.cz>2017-11-25 21:30:11 +0100
commit6e4543b2e2d547ade54148548ca85d0dd2e89784 (patch)
treec2d6a95ba5388df7d26975840bb04e6050d99e7a /community/git-lfs
parentd954f31e7b000499d56432bf716dfeae53d4900e (diff)
downloadaports-6e4543b2e2d547ade54148548ca85d0dd2e89784.tar.bz2
aports-6e4543b2e2d547ade54148548ca85d0dd2e89784.tar.xz
community/git-lfs: move from testing
Diffstat (limited to 'community/git-lfs')
-rw-r--r--community/git-lfs/APKBUILD81
-rw-r--r--community/git-lfs/fix-test-locks.patch13
-rw-r--r--community/git-lfs/git-lfs.post-install3
-rw-r--r--community/git-lfs/git-lfs.pre-deinstall3
-rw-r--r--community/git-lfs/wait-longer.patch44
5 files changed, 144 insertions, 0 deletions
diff --git a/community/git-lfs/APKBUILD b/community/git-lfs/APKBUILD
new file mode 100644
index 0000000000..f89dd47e97
--- /dev/null
+++ b/community/git-lfs/APKBUILD
@@ -0,0 +1,81 @@
+# Contributor: Jakub Jirutka <jakub@jirutka.cz>
+# Maintainer: Jakub Jirutka <jakub@jirutka.cz>
+pkgname=git-lfs
+pkgver=2.3.4
+pkgrel=1
+pkgdesc="Git extension for versioning large files"
+url="https://git-lfs.github.io/"
+arch="all"
+license="MIT"
+depends="git"
+checkdepends="bash coreutils git-daemon perl-utils"
+makedepends="go ronn"
+subpackages="$pkgname-doc"
+install="$pkgname.post-install $pkgname.pre-deinstall"
+source="$pkgname-$pkgver.tar.gz::https://github.com/git-lfs/$pkgname/archive/v$pkgver.tar.gz
+ fix-test-locks.patch
+ wait-longer.patch"
+builddir="$srcdir/src/github.com/git-lfs/$pkgname"
+
+export GOPATH="$srcdir:$builddir"
+
+prepare() {
+ mkdir -p "${builddir%/*}"
+ ln -s "$srcdir"/$pkgname-$pkgver "$builddir"
+
+ default_prepare
+}
+
+build() {
+ cd "$builddir"
+
+ # Build manpages first (some embedding in the executable is done).
+ cd docs
+ ronn man/*.ronn
+ go run man/mangen.go
+ cd -
+
+ # Build git-lfs executable.
+ _gobuild -o bin/$pkgname
+
+ # Build test executables.
+ local file; for file in test/cmd/*.go; do
+ _gobuild -o bin/$(basename $file .go) $file
+ done
+ _gobuild -o bin/git-lfs-test-server-api \
+ test/git-lfs-test-server-api/*.go
+}
+
+check() {
+ cd "$builddir"
+
+ GIT_LFS_TEST_MAXPROCS=$JOBS SKIPCOMPILE=1 ./script/integration
+}
+
+package() {
+ local docdir="$pkgdir/usr/share/doc/$pkgname"
+ local mandir="$pkgdir/usr/share/man"
+
+ cd "$builddir"
+
+ install -Dm755 bin/$pkgname "$pkgdir"/usr/bin/$pkgname
+
+ mkdir -p "$mandir"/man1 "$mandir"/man5
+ install -m 644 docs/man/*.1 "$mandir"/man1/
+ install -m 644 docs/man/*.5 "$mandir"/man5/
+
+ mkdir -p "$docdir"
+ cp -r docs/*.md docs/api "$docdir"/
+ rm -r "$docdir"/api/schemas
+}
+
+_gobuild() {
+ # netcgo - use system's DNS resolver by default. Go's built-in DNS
+ # resolver is buggy; it resolved localhost to totally wrong IP
+ # address on ARM builders and so caused test failures.
+ go build -tags netcgo -v "$@"
+}
+
+sha512sums="97174dc9346979777c3951baa86cfc07c85e2df04f13a50114e016facbb3fd5fde08d38825493d4e7ff149a13c87ae44e9e40350cd4950f27fe309ef62b6724a git-lfs-2.3.4.tar.gz
+66927aa462cb7b5061442e5ffaf7c9e4a5d97179482dc00de3f4abfad5959a9c55df3e88c211067bf15b5b0ea3ef29b249ca32290cc9839280266de5c6854b3f fix-test-locks.patch
+408f30bd047dc6bc502c37698615067b6496966e3c0d76e2c36d2eff50d87567aac9b9cbd3bb683566ffdd534a76d7e193ed6338b06c81dc358330de9f7f7903 wait-longer.patch"
diff --git a/community/git-lfs/fix-test-locks.patch b/community/git-lfs/fix-test-locks.patch
new file mode 100644
index 0000000000..dabbfce8a3
--- /dev/null
+++ b/community/git-lfs/fix-test-locks.patch
@@ -0,0 +1,13 @@
+This is probably a typo. I have no idea why it does not fail for upstream...
+
+--- a/test/test-locks.sh
++++ b/test/test-locks.sh
+@@ -100,7 +100,7 @@
+
+ for i in $(seq 1 5); do
+ git lfs lock --json "h_$i.dat" | tee lock.log
+- assert_server_lock "$reponame" "$(assert_lock "lock.log" "h_$1.dat")"
++ assert_server_lock "$reponame" "$(assert_lock "lock.log" "h_$i.dat")"
+ done
+
+ # The server will return, at most, three locks at a time
diff --git a/community/git-lfs/git-lfs.post-install b/community/git-lfs/git-lfs.post-install
new file mode 100644
index 0000000000..cc239e075e
--- /dev/null
+++ b/community/git-lfs/git-lfs.post-install
@@ -0,0 +1,3 @@
+#!/bin/sh
+
+git-lfs install --system
diff --git a/community/git-lfs/git-lfs.pre-deinstall b/community/git-lfs/git-lfs.pre-deinstall
new file mode 100644
index 0000000000..9f8ad1b3e4
--- /dev/null
+++ b/community/git-lfs/git-lfs.pre-deinstall
@@ -0,0 +1,3 @@
+#!/bin/sh
+
+git-lfs uninstall --system
diff --git a/community/git-lfs/wait-longer.patch b/community/git-lfs/wait-longer.patch
new file mode 100644
index 0000000000..d593e0063a
--- /dev/null
+++ b/community/git-lfs/wait-longer.patch
@@ -0,0 +1,44 @@
+commit f90446aec14f82d223c22f13efec17752b6ed7bb
+Author: Elliott Sales de Andrade <quantum.analyst@gmail.com>
+Date: Fri Nov 3 23:27:57 2017 -0400
+
+ Wait longer for test lfs server to start.
+
+ Also, back off on polling a bit after the first check to reduce any I/O
+ contention that might slow things down even more. Instead of 5 seconds,
+ this will wait up to about 60 seconds for files created by the test
+ server to appear. This allows very slow systems to be able to pass
+ tests.
+
+ Finally, add a message if the file doesn't appear to make it clear what
+ went wrong.
+
+Patch-Source: https://src.fedoraproject.org/rpms/git-lfs/blob/f27/f/wait-longer.patch
+
+diff --git a/test/testhelpers.sh b/test/testhelpers.sh
+index 531d934b..cb31d2ef 100644
+--- a/test/testhelpers.sh
++++ b/test/testhelpers.sh
+@@ -258,15 +258,20 @@ size %s
+ wait_for_file() {
+ local filename="$1"
+ n=0
+- while [ $n -lt 10 ]; do
++ wait_time=1
++ while [ $n -lt 17 ]; do
+ if [ -s $filename ]; then
+ return 0
+ fi
+
+- sleep 0.5
++ sleep $wait_time
+ n=`expr $n + 1`
++ if [ $wait_time -lt 4 ]; then
++ wait_time=`expr $wait_time \* 2`
++ fi
+ done
+
++ echo "$filename did not appear after 60 seconds."
+ return 1
+ }
+