aboutsummaryrefslogblamecommitdiffstats
path: root/community/docker/APKBUILD
blob: c2cad23136a8b68e87ab1b450a457f91a34c1846 (plain) (tree)
1
2
3
4
5
6
7
8
9

                                                 
             
                  
        
                 

                                                                       
          


                         
                                                                                       
                
                              
 


                                                                
 

                                                        
 
             

                                         

                        
        
                                                                                       

                                                                                                                

                                 
         
 
                                 
                                                                      

                                        
 




                                                          
               

                                           

                            
                                                                                   



                    




                                                         
         



                            



                                           
                                                 
 



                                                                      
                                                                               


                                        
                                                          


                      
                                


           
                      
                                
 
                                                                  

                                                    





                                                                        











                                                                    

                                                               



                                                         

 

                                            
                     

                                                              
 
                                                                     


                                                                           





                                                  
                                                                     


                                                                               
       



                                       
                
                                                                  
                                                                  



                                                              











                                                                                                                                                                                            
# Maintainer: Eivind Uggedal <eivind@uggedal.com>
pkgname=docker
pkgver=1.12.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 sqlite-dev btrfs-progs-dev bash linux-headers coreutils libseccomp-dev"
options="!strip"
install="$pkgname.pre-install"

# grep 'ENV.*COMMIT' Dockerfile.simple
# ENV RUNC_COMMIT cc29e3dded8e27ba8f65738f40d251c885030a28
# ENV CONTAINERD_COMMIT 0ac3cd1be170d180b2baed755e8f0da547ceb267

_runc_ver=cc29e3dded8e27ba8f65738f40d251c885030a28
_containerd_ver=0ac3cd1be170d180b2baed755e8f0da547ceb267

subpackages="
	$pkgname-bash-completion:bashcomp
	$pkgname-zsh-completion:zshcomp
	$pkgname-vim:vim
	"
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

	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

_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
	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

	# runc
	cd "$_runc_builddir" || return 1
	GOPATH="$PWD" make COMMIT="$_runc_ver" || return 1

	# 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 bundles/$ver/dynbinary-daemon/docker-proxy-$ver \
		"$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"
	arch="noarch"
	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"
	arch="noarch"
	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"
	arch="noarch"

	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="7990440b022e93f3e7036bcfd12970f2  docker-1.12.0.tar.gz
716d0b284ce42490eeb83befba10fafb  runc-cc29e3dded8e27ba8f65738f40d251c885030a28.tar.gz
f0a0c1101ad259b84fb457c8c7036723  containerd-0ac3cd1be170d180b2baed755e8f0da547ceb267.tar.gz
506e32a6157a7f92e67511111fba6fe8  docker-openrc-fixes.patch"
sha256sums="f8139acba98248eb1fdb0b6d94efee89b876f9a50d00e263dc144fd2b0c372d4  docker-1.12.0.tar.gz
196b78c6caf1a4c6257314b393381baffa7c82bb2690ac02a7b3d6cd6cfe7776  runc-cc29e3dded8e27ba8f65738f40d251c885030a28.tar.gz
5c1bcd8e3b7bc6034e7523b6eca7de974562b7fdc72c440494234ae10a0e545b  containerd-0ac3cd1be170d180b2baed755e8f0da547ceb267.tar.gz
864d229e21dfa6c931b29b908093302a48837ddb1aa4205088f6f7fd4d7da4e3  docker-openrc-fixes.patch"
sha512sums="113707c0447bc096dc59204a1666b9f3a4e92d0ad89f016a0259734d6eee47861d5a6b1febab61f357212f0b4ffceea7ed3a53f883a748604aeb65bb5701413b  docker-1.12.0.tar.gz
0bf8ce3bb15caaf09214f23a411003fd5b660d291662ad513c3d944647a0fa9b270d18902706b7e6aa3c30eb0f676e73af46b8249d1e2484e1dc40d6ffd5a80d  runc-cc29e3dded8e27ba8f65738f40d251c885030a28.tar.gz
a47200c2f867d6624e51eb1aa83743f1e0b86d96d462b7649c240f335eb72e499a00923e190759e57d4c456d912f9541750e9df21ebc2b713b87bea1ead55e7b  containerd-0ac3cd1be170d180b2baed755e8f0da547ceb267.tar.gz
1162f62e8a7a5ded0c54cfe46014449efd67491bdb678fa22862117adb08206c909a3f98b0062125d25256dc1f48596b696bd4b19a8804d2862e758678a8bb62  docker-openrc-fixes.patch"