aboutsummaryrefslogtreecommitdiffstats
path: root/testing/dockerize/APKBUILD
diff options
context:
space:
mode:
authorJakub Jirutka <jakub@jirutka.cz>2016-11-22 12:47:17 +0100
committerJakub Jirutka <jakub@jirutka.cz>2016-11-22 12:50:27 +0100
commit021175b0a706f15cb1999bb72a290a7e6caf6a38 (patch)
tree04860c3e25c17caa1b4ad21940ed4d57b0af8cc3 /testing/dockerize/APKBUILD
parent444333574820740cf91a2aea1a35d7371b5ff132 (diff)
downloadaports-021175b0a706f15cb1999bb72a290a7e6caf6a38.tar.bz2
aports-021175b0a706f15cb1999bb72a290a7e6caf6a38.tar.xz
community/dockerize: move to testing due to violation of QA rules
`go get` must not be used in APKBUILD, it downloads random dependencies from Internet without any verification, leads to unreproducible build.
Diffstat (limited to 'testing/dockerize/APKBUILD')
-rw-r--r--testing/dockerize/APKBUILD86
1 files changed, 86 insertions, 0 deletions
diff --git a/testing/dockerize/APKBUILD b/testing/dockerize/APKBUILD
new file mode 100644
index 0000000000..a60da9ac46
--- /dev/null
+++ b/testing/dockerize/APKBUILD
@@ -0,0 +1,86 @@
+# Maintainer: Christian Kampka <christian@kampka.net>
+pkgname=dockerize
+pkgver=0.2.0
+pkgrel=1
+pkgdesc="Utility to simplify running applications in docker containers."
+url="https://github.com/jwilder/dockerize"
+arch="x86 x86_64"
+license="MIT"
+makedepends="git go"
+options="!strip"
+source="http://dev.alpinelinux.org/archive/$pkgname/$pkgname-$pkgver.tar"
+
+_giturl="git://github.com/jwilder/${pkgname}.git"
+_disturl="dev.alpinelinux.org:/archive/$pkgname/"
+
+
+snapshot() {
+ abuild clean
+ abuild deps
+
+ mkdir -p "$srcdir"
+ cd "$srcdir"
+
+ # dockerize utilizes glock for dependency resolution,
+ # but we don't want to provide glock as a package since
+ # it does not do stable releases.
+ # Therefore, we build it here to resolve the dependencies
+ # for the dockerize snapshot.
+ _glock_giturl="git://github.com/robfig/glock.git"
+ _glock_commit="e75a83a850fe9ff13fd63720d09d28aab795808e"
+
+ export GOPATH="${srcdir}/glock"
+ git clone -q ${_glock_giturl} || return 1
+ cd "${srcdir}/glock"
+ git checkout -q ${_glock_commit} || return 1
+ go get -v -d || return 1
+ go build || return 1
+ GLOCK_BIN="${srcdir}/glock/glock"
+
+ # now prepare the dockerize snapshot
+
+ cd "$srcdir"
+ msg "Creating snapshot: $_pkg"
+ export GOPATH="${srcdir}/$pkgname"
+ git clone -q ${_giturl} ${pkgname}|| return 1
+ cd $pkgname
+ git checkout -q v${pkgver} || return 1
+ "$GLOCK_BIN" sync ../ || return 1
+ cd $srcdir
+ tar cf $pkgname-$pkgver.tar $pkgname || return 1
+ rsync --progress -La $pkgname-${pkgver}.tar \
+ $_disturl || return 1
+ cd $startdir
+ abuild checksum
+ abuild undeps
+}
+
+_builddir="${srcdir}/${pkgname}"
+
+prepare() {
+ local i
+ cd "$_builddir"
+ for i in $source; do
+ case $i in
+ *.patch) msg $i; patch -p1 -i "$srcdir"/$i || return 1;;
+ esac
+ done
+}
+
+build() {
+ cd "$_builddir"
+ GOARCH=$(go env | grep GOARCH | cut -d'=' -f 2 | xargs echo -n)
+ export GOPATH="$_builddir"
+ mkdir -p ${_builddir}/dist/linux/$GOARCH
+ GOOS=linux go build -ldflags "-X main.buildVersion=${pkgver}" -o ${_builddir}/dist/linux/$GOARCH/dockerize
+}
+
+package() {
+ cd "$_builddir"
+ GOARCH=$(go env | grep GOARCH | cut -d'=' -f 2 | xargs echo -n)
+ install -Dm755 ${_builddir}/dist/linux/$GOARCH/dockerize \
+ "$pkgdir"/usr/bin/dockerize
+}
+md5sums="b3ba98253a76b5bf68ef9f710d48807f dockerize-0.2.0.tar"
+sha256sums="eda5aa7a0b0fb04b1b643fe4f24e795f537aa2cb1509d8f18b2d87f6d03ce402 dockerize-0.2.0.tar"
+sha512sums="e2b0926f1c87570097de8b1d06691441e939fbb896c124c77c77ed429dc84cd9d5b09072ef4920bf3c167dcf52bdce632420347cea5b48b9de3f0dc5034fd42e dockerize-0.2.0.tar"