From b9a71a010ebbae5a924832cdccc8842f7eb91d29 Mon Sep 17 00:00:00 2001 From: Donald Buczek Date: Fri, 7 Oct 2016 12:38:03 +0200 Subject: [PATCH 1/2] docker: new --- docker.be0 | 113 +++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 113 insertions(+) create mode 100755 docker.be0 diff --git a/docker.be0 b/docker.be0 new file mode 100755 index 000000000..584e9c064 --- /dev/null +++ b/docker.be0 @@ -0,0 +1,113 @@ +#!/usr/bin/env beesh + +# BEE_VERSION docker-1.12.1-0.bee + +# NOTE: We require a running docker environment. For the first bootstrap +# this can be provided by the package docker_binary + +## this file was created by bee init and should be executed to build a +## bee-package. (Additional hints are located at the end of this file.) + +############################################################################### +## The source URL(s) define the location of the sources that will be +## downloaded. Version variables may be used to simplify reuse of this bee-file. + +# SRCURL[0]="" + +############################################################################### +## Add URLs/pathes to patch files to the PATCHURL array. +## The sources will be patched in the order of the array. + +# PATCHURL+=() + +############################################################################### +## Add filename patterns to the EXCLUDE array of files that should not +## be added to you package but may be present in the image directory. + +# EXCLUDE+=() + +############################################################################### +## Uncomment the next statement, if the software may not be able to be built +## outside the source directory and needs to be built inside the source +## directory. + +build_in_sourcedir + +############################################################################### +## bee cannot detect buildtypes specified in subdirectories. +## Sometimes packages "hide" the real sources in a subdirectory named +## 'src' or 'cmake' or .. +## use 'sourcesubdir_append' to specify this directory if known. + +# sourcesubdir_append src + + +############################################################################### +## Change the default (auto-detected) steps to +## extract, patch, configure/setup, build and install the software. +## Make sure the mee_install function does install everything to the +## image directory "${D}" + +mee_extract() { + git clone https://github.com/docker/docker.git $S + ( cd $S && git checkout v${PKGVERSION} ) +} + +#mee_patch() { +# bee_patch "${@}" +#} + +mee_configure() { + : not needed +} + +mee_build() { + make build + make binary +} + +mee_install() { + install --directory $D$BINDIR + install --directory $D$SYSCONFDIR/default + + V=$PKGVERSION + + ( + cd $B/bundles/latest/binary-client + + install docker-$V $D$BINDIR/docker + + cd $B/bundles/latest/binary-daemon + + install --target-directory $D$BINDIR docker-containerd + install --target-directory $D$BINDIR docker-containerd-ctr + install --target-directory $D$BINDIR docker-containerd-shim + install docker-proxy-$V $D$BINDIR/docker-proxy + install --target-directory $D$BINDIR docker-runc + install dockerd-$V $D$BINDIR/dockerd + ) + + cat >$D$SYSCONFDIR/default/docker <<-'__EOF__' + DOCKER_OPTS="--storage-driver=overlay2" + __EOF__ +} + +## by default this may be 'make install DESTDIR="${D}"' + +############################################################################### +## +## Additional hints: +## +## The name of this bee-file should follow the following naming convention: +## pkgname-pkgversion-pkgrevision.bee +## +## You may remove all comments as long as SRCURL[0] is set. +## +## Everything in this file will be executed in a bash environment. +## +## Build the package by executing +## './pkg-version-N.bee' or +## 'beesh ./pkg-version-N.bee' +## +## see http://beezinga.org/ +## From e59da5beb32c92e98cae8ac8fab92c89cc6c45b5 Mon Sep 17 00:00:00 2001 From: Donald Buczek Date: Fri, 7 Oct 2016 13:39:47 +0200 Subject: [PATCH 2/2] docker: add systemd service file Some options of docker.service are commented out, because they currently don't work on our system (to old systemd). We want to start docker only on demand. --- docker.be0 | 35 ++++++++++++++++++++++++++++++++++- 1 file changed, 34 insertions(+), 1 deletion(-) diff --git a/docker.be0 b/docker.be0 index 584e9c064..3a5f90c65 100755 --- a/docker.be0 +++ b/docker.be0 @@ -1,6 +1,6 @@ #!/usr/bin/env beesh -# BEE_VERSION docker-1.12.1-0.bee +# BEE_VERSION docker-1.12.1-1.bee # NOTE: We require a running docker environment. For the first bootstrap # this can be provided by the package docker_binary @@ -69,6 +69,7 @@ mee_build() { mee_install() { install --directory $D$BINDIR install --directory $D$SYSCONFDIR/default + install --directory $D$SYSCONFDIR/systemd/system V=$PKGVERSION @@ -90,6 +91,38 @@ mee_install() { cat >$D$SYSCONFDIR/default/docker <<-'__EOF__' DOCKER_OPTS="--storage-driver=overlay2" __EOF__ + + cat >$D$SYSCONFDIR/systemd/system/docker.service <<-'__EOF__' + [Unit] + Description=Docker Application Container Engine + #Documentation=https://docs.docker.com + After=network.target + + [Service] + Type=notify + # the default is not to use systemd for cgroups because the delegate issues still + # exists and systemd currently does not support the cgroup feature set required + # for containers run by docker + ExecStart=/usr/bin/dockerd + ExecReload=/bin/kill -s HUP $MAINPID + # Having non-zero Limit*s causes performance problems due to accounting overhead + # in the kernel. We recommend using cgroups to do container-local accounting. + #LimitNOFILE=infinity + #LimitNPROC=infinity + #LimitCORE=infinity + # Uncomment TasksMax if your systemd version supports it. + # Only systemd 226 and above support this version. + #TasksMax=infinity + #TimeoutStartSec=0 + # set delegate yes so that systemd does not reset the cgroups of docker containers + #Delegate=yes + # kill only the docker process, not all processes in the cgroup + KillMode=process + StandardOutput=syslog + + [Install] + #WantedBy=multi-user.target + __EOF__ } ## by default this may be 'make install DESTDIR="${D}"'