mirror of
https://gitlab.alpinelinux.org/alpine/aports.git
synced 2026-01-04 16:21:38 +01:00
`go get` must not be used in APKBUILD, it downloads random dependencies from Internet without any verification, leads to unreproducible build.
87 lines
2.5 KiB
Plaintext
87 lines
2.5 KiB
Plaintext
# 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"
|