2017-01-20 16:01:59 +00:00

182 lines
6.6 KiB
Plaintext

# Maintainer: Eivind Uggedal <eivind@uggedal.com>
pkgname=docker
pkgver=1.13.0
_ver=${pkgver/_/-}
pkgrel=0
_gitcommit=v$_ver
pkgdesc="Pack, ship and run any application as a lightweight container"
url="http://www.docker.io/"
arch="all"
license="ASL 2.0"
depends="iptables git xz"
depends_dev=""
makedepends="go btrfs-progs-dev bash linux-headers coreutils libseccomp-dev"
options="!strip"
install="$pkgname.pre-install"
# $ grep COMMIT hack/dockerfile/binaries-commits
# TOMLV_COMMIT=9baf8a8a9f2ed20a8e54160840c492f937eeaf9a
# RUNC_COMMIT=2f7393a47307a16f8cee44a37b262e8b81021e3e
# CONTAINERD_COMMIT=03e5862ec0d8d3b3f750e19fca3ee367e13c090e
# TINI_COMMIT=949e6facb77383876aeff8a6944dde66b3089574
# LIBNETWORK_COMMIT=0f534354b813003a754606689722fe253101bc4e
# VNDR_COMMIT=f56bd4504b4fad07a357913687fb652ee54bb3b0
_runc_ver=2f7393a47307a16f8cee44a37b262e8b81021e3e
_containerd_ver=03e5862ec0d8d3b3f750e19fca3ee367e13c090e
_libnetwork_ver=0f534354b813003a754606689722fe253101bc4e
subpackages="
$pkgname-bash-completion:bashcomp:noarch
$pkgname-zsh-completion:zshcomp:noarch
$pkgname-vim:vim:noarch
"
source="
$pkgname-$pkgver.tar.gz::https://github.com/docker/docker/archive/v$_ver.tar.gz
runc-$_runc_ver.tar.gz::https://github.com/opencontainers/runc/archive/$_runc_ver.tar.gz
containerd-$_containerd_ver.tar.gz::https://github.com/docker/containerd/archive/$_containerd_ver.tar.gz
libnetwork-$_libnetwork_ver.tar.gz::https://github.com/docker/libnetwork/archive/$_libnetwork_ver.tar.gz
docker-openrc-fixes.patch
"
builddir="$srcdir"/$pkgname-$_ver
_buildtags="exclude_graphdriver_aufs exclude_graphdriver_devicemapper"
_runc_buildtags="seccomp"
_runc_builddir="$srcdir"/runc-$_runc_ver
_containerd_builddir="$srcdir"/containerd-$_containerd_ver
_libnetwork_builddir="$srcdir"/libnetwork-$_libnetwork_ver
_apply_patches() {
local _dir="$1"
local _prefix="$2"
local i
msg "applying patches for $_prefix"
cd "$_dir"
for i in $source; do
case $i in
${_prefix}-*.patch) msg $i; patch -p1 -i "$srcdir"/$i || return 1;;
esac
done
}
prepare() {
_apply_patches "$builddir" docker || return 1
_apply_patches "$_runc_builddir" runc || return 1
}
build() {
cd "$_runc_builddir"
cd "$builddir"
export AUTO_GOPATH=1
export DOCKER_GITCOMMIT=$_gitcommit
export DOCKER_BUILDTAGS=$_buildtags
unset CC # prevent possible ccache issues
# containerd
msg "building containerd"
cd "$_containerd_builddir" || return 1
mkdir -p src/github.com/docker/
ln -s "$_containerd_builddir" src/github.com/docker/containerd
GOPATH="$PWD" LDFLAGS="" make GIT_COMMIT="$_containerd_ver" || return 1
# libnetwork (docker-proxy)
msg "building docker-proxy"
cd "$_libnetwork_builddir" || return 1
mkdir -p src/github.com/docker/
ln -s "$_libnetwork_builddir" src/github.com/docker/libnetwork
GOPATH="$PWD" go build -v -ldflags="-linkmode=external" -o docker-proxy github.com/docker/libnetwork/cmd/proxy || return 1
# runc
msg "building runc"
cd "$_runc_builddir" || return 1
GOPATH="$PWD" make COMMIT="$_runc_ver" || return 1
# docker
msg "building docker"
cd "$builddir"
./hack/make.sh dynbinary
}
package() {
cd "$builddir"
local ver=$(cat VERSION)
install -Dm755 bundles/$ver/dynbinary-client/docker-$ver \
"$pkgdir"/usr/bin/docker || return 1
install -Dm755 bundles/$ver/dynbinary-daemon/dockerd-$ver \
"$pkgdir"/usr/bin/dockerd || return 1
install -Dm755 "$_libnetwork_builddir"/docker-proxy \
"$pkgdir"/usr/bin/docker-proxy || return 1
install -Dm755 "$_runc_builddir"/runc \
"$pkgdir"/usr/bin/docker-runc || return 1
install -Dm755 "$_containerd_builddir"/bin/containerd \
"$pkgdir"/usr/bin/docker-containerd || return 1
install -Dm755 "$_containerd_builddir"/bin/containerd-shim \
"$pkgdir"/usr/bin/docker-containerd-shim || return 1
install -Dm755 "$_containerd_builddir"/bin/ctr \
"$pkgdir"/usr/bin/docker-containerd-ctr || return 1
install -Dm755 bundles/$ver/dynbinary/dockerinit-$ver \
"$pkgdir"/usr/lib/docker/dockerinit
install -Dm755 contrib/init/openrc/docker.initd \
"$pkgdir"/etc/init.d/docker
install -Dm644 contrib/init/openrc/docker.confd \
"$pkgdir"/etc/conf.d/docker
}
bashcomp() {
pkgdesc="Bash completion for Docker"
depends=""
install_if="$pkgname=$pkgver-r$pkgrel bash-completion"
install -Dm644 "$builddir"/contrib/completion/bash/$pkgname \
"$subpkgdir"/usr/share/bash-completion/completions/$pkgname
}
zshcomp() {
pkgdesc="Zsh completion for $pkgname"
depends=""
install_if="$pkgname=$pkgver-r$pkgrel zsh"
install -Dm644 "$builddir"/contrib/completion/zsh/_$pkgname \
"$subpkgdir"/usr/share/zsh/site-functions/_$pkgname || return 1
}
vim() {
depends=""
pkgdesc="Vim syntax for Docker"
local f=
for f in ftdetect/dockerfile.vim syntax/dockerfile.vim; do
install -Dm644 "$builddir"/contrib/syntax/vim/$f \
"$subpkgdir"/usr/share/vim/vimfiles/$f
done
}
md5sums="23d3875ac67d5b67dd1918c45ba98537 docker-1.13.0.tar.gz
ab5b858b721b2fc8b581645eb35e3634 runc-2f7393a47307a16f8cee44a37b262e8b81021e3e.tar.gz
72e9315bde0c17f14d8a2fff8e0d2423 containerd-03e5862ec0d8d3b3f750e19fca3ee367e13c090e.tar.gz
7cfbfe76355aae3577c77a6a4b2c92db libnetwork-0f534354b813003a754606689722fe253101bc4e.tar.gz
a30850bae713fe1e6c54cccb3ab386e8 docker-openrc-fixes.patch"
sha256sums="845cc9a7a48ed1cc60f062882285358a1c2a845b74c5d1d859606a28e4a47d3e docker-1.13.0.tar.gz
75a702bfe4c3748246921d800c7ab7f9cabf27f69a3b64a2af66becb87d6acf7 runc-2f7393a47307a16f8cee44a37b262e8b81021e3e.tar.gz
4abef872caf1f927f1f99af5b303c53acbb2fecfd9b30887fdaa540df192f47e containerd-03e5862ec0d8d3b3f750e19fca3ee367e13c090e.tar.gz
823f6601361b02ae6a00bfc416b0286629dbf794d36fb65ba1d88eaa379f397b libnetwork-0f534354b813003a754606689722fe253101bc4e.tar.gz
1023d0e8683add5d29f1bf296810486e825c3cf774056b15049158c9dc134e04 docker-openrc-fixes.patch"
sha512sums="c5531f0c4bfeb541a4bf9b324830afaa27edb99f34990bdfa588843baa169edb1c2d545452ee8074a1ac322e7788952eb369db884c015e29763247e1e023172c docker-1.13.0.tar.gz
2c2c925a1274eaef16d54881bfaa3e535956b67dd10eed87096ae9e7576234ff3598d37e635d3ce88c10fa9d102e79300bd48b69b972b6082f7acbfe2d4e90ea runc-2f7393a47307a16f8cee44a37b262e8b81021e3e.tar.gz
7c320a8f8fc12ae74ccda00d0f2f45f66d7592b5d209a62553cff3463a6006d8ad0275e0ae4ef07879455a32767f1d33f8f0f34392d28be4e6c217eee0f36ca3 containerd-03e5862ec0d8d3b3f750e19fca3ee367e13c090e.tar.gz
754cf6489968f3a83392c52b9445f71e8d5faca96e23ffc3ee2c6e8644bf065b64c7497395cf8fac9cc083ce9c7668260e319d01a8f10613e67db2d8254f6b06 libnetwork-0f534354b813003a754606689722fe253101bc4e.tar.gz
8296b1bc88ef3dec4f9038c4e0bf83120ac5870860f6662eac9f9f8850ea8b7596bcd2b47932551e804ae8b6f6f26ad3bc4ce6d49600cc8eaf0a3016c15a9ccf docker-openrc-fixes.patch"