diff options
author | Jakub Jirutka <jakub@jirutka.cz> | 2016-11-22 12:47:17 +0100 |
---|---|---|
committer | Jakub Jirutka <jakub@jirutka.cz> | 2016-11-22 12:50:27 +0100 |
commit | 021175b0a706f15cb1999bb72a290a7e6caf6a38 (patch) | |
tree | 04860c3e25c17caa1b4ad21940ed4d57b0af8cc3 /testing/dockerize | |
parent | 444333574820740cf91a2aea1a35d7371b5ff132 (diff) | |
download | aports-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')
-rw-r--r-- | testing/dockerize/APKBUILD | 86 |
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" |