From e44f6bdd1477556162c7e9431f79bf490ba99b53 Mon Sep 17 00:00:00 2001
From: Jakub Jirutka <jakub@jirutka.cz>
Date: Sat, 25 Nov 2017 02:51:12 +0100
Subject: [PATCH] testing/git-lfs: new aport

https://git-lfs.github.io/
Git extension for versioning large files
---
 testing/git-lfs/APKBUILD              | 72 +++++++++++++++++++++++++++
 testing/git-lfs/fix-test-locks.patch  | 13 +++++
 testing/git-lfs/git-lfs.post-install  |  3 ++
 testing/git-lfs/git-lfs.pre-deinstall |  3 ++
 unmaintained/git-lfs/APKBUILD         | 44 ----------------
 5 files changed, 91 insertions(+), 44 deletions(-)
 create mode 100644 testing/git-lfs/APKBUILD
 create mode 100644 testing/git-lfs/fix-test-locks.patch
 create mode 100644 testing/git-lfs/git-lfs.post-install
 create mode 100644 testing/git-lfs/git-lfs.pre-deinstall
 delete mode 100644 unmaintained/git-lfs/APKBUILD

diff --git a/testing/git-lfs/APKBUILD b/testing/git-lfs/APKBUILD
new file mode 100644
index 000000000000..1ee0d8ebb3c4
--- /dev/null
+++ b/testing/git-lfs/APKBUILD
@@ -0,0 +1,72 @@
+# Contributor: Jakub Jirutka <jakub@jirutka.cz>
+# Maintainer: Jakub Jirutka <jakub@jirutka.cz>
+pkgname=git-lfs
+pkgver=2.3.4
+pkgrel=0
+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"
+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.
+	go build -v -o bin/$pkgname
+
+	# Build test executables.
+	local file; for file in test/cmd/*.go; do
+		go build -v -o bin/$(basename $file .go) $file
+	done
+	go build -v -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
+}
+
+sha512sums="97174dc9346979777c3951baa86cfc07c85e2df04f13a50114e016facbb3fd5fde08d38825493d4e7ff149a13c87ae44e9e40350cd4950f27fe309ef62b6724a  git-lfs-2.3.4.tar.gz
+66927aa462cb7b5061442e5ffaf7c9e4a5d97179482dc00de3f4abfad5959a9c55df3e88c211067bf15b5b0ea3ef29b249ca32290cc9839280266de5c6854b3f  fix-test-locks.patch"
diff --git a/testing/git-lfs/fix-test-locks.patch b/testing/git-lfs/fix-test-locks.patch
new file mode 100644
index 000000000000..dabbfce8a3da
--- /dev/null
+++ b/testing/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/testing/git-lfs/git-lfs.post-install b/testing/git-lfs/git-lfs.post-install
new file mode 100644
index 000000000000..cc239e075e93
--- /dev/null
+++ b/testing/git-lfs/git-lfs.post-install
@@ -0,0 +1,3 @@
+#!/bin/sh
+
+git-lfs install --system
diff --git a/testing/git-lfs/git-lfs.pre-deinstall b/testing/git-lfs/git-lfs.pre-deinstall
new file mode 100644
index 000000000000..7d60cee34e09
--- /dev/null
+++ b/testing/git-lfs/git-lfs.pre-deinstall
@@ -0,0 +1,3 @@
+#!/bin/sh
+
+git-lfs uninstall
diff --git a/unmaintained/git-lfs/APKBUILD b/unmaintained/git-lfs/APKBUILD
deleted file mode 100644
index 840101b91889..000000000000
--- a/unmaintained/git-lfs/APKBUILD
+++ /dev/null
@@ -1,44 +0,0 @@
-# Contributor: Sören Tempel <soeren+alpine@soeren-tempel.net>
-# Maintainer: Sören Tempel <soeren+alpine@soeren-tempel.net>
-pkgname=git-lfs
-pkgver=1.1.0
-pkgrel=0
-pkgdesc="Git extension for versioning large files"
-url="https://git-lfs.github.com/"
-arch="all"
-license="MIT"
-depends=""
-depends_dev=""
-makedepends="go"
-install=""
-subpackages="$pkgname-doc"
-options="!strip"
-source="$pkgname-$pkgver.tar.gz::https://github.com/github/$pkgname/archive/v$pkgver.tar.gz"
-
-_builddir="$srcdir"/src/github.com/github
-prepare() {
-	mkdir -p "$_builddir"
-	ln -s "$srcdir"/$pkgname-$pkgver "$_builddir"/$pkgname || return 1
-}
-
-build() {
-	cd "$_builddir"/$pkgname
-	GOPATH="$srcdir" go build || return 1
-
-	# TODO man page generation would require ronn which isn't packaged yet.
-	# sh ./script/man
-}
-
-package() {
-	cd "$_builddir"/$pkgname
-	install -Dm755 $pkgname "$pkgdir"/usr/bin/$pkgname || return 1
-
-	mkdir -p "$pkgdir"/usr/share/doc/$pkgname
-	for file in api extensions.md spec.md README.md; do
-		mv docs/$file "$pkgdir"/usr/share/doc/$pkgname/ || return 1
-	done
-}
-
-md5sums="089b5f215789437e8bc12915fb5d883f  git-lfs-1.1.0.tar.gz"
-sha256sums="1f246ec5f1141677b05847b3e9bcb9929c9d9b1afc78585d5776a9c18186ea9b  git-lfs-1.1.0.tar.gz"
-sha512sums="4a5d379db165ced3c2d536f51d2729dbc7be4f0e8f1e2e6d9659ee1cba9978bdc5a83d7a90e2c91ffd5ff78d0fc328539f2e18b641c10505a16743590829da56  git-lfs-1.1.0.tar.gz"
-- 
GitLab