mirror of
https://github.com/flatcar/scripts.git
synced 2025-10-03 19:42:15 +02:00
Merge pull request #230 from philips/docker-xz
fix(app-emulation/docker): docker now requires xz
This commit is contained in:
commit
36b6776fc6
@ -1,42 +0,0 @@
|
||||
# Copyright 2013 The CoreOS Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=5
|
||||
|
||||
inherit systemd git
|
||||
|
||||
DESCRIPTION="Docker container management"
|
||||
HOMEPAGE="http://docker.io"
|
||||
|
||||
EGIT_REPO_SERVER="https://github.com"
|
||||
EGIT_REPO_URI="${EGIT_REPO_SERVER}/philips/docker.git"
|
||||
EGIT_BRANCH="fd045c1038690372a656d45929bfb5e54975a229" # 0.6.1 with Brandon's build system
|
||||
|
||||
|
||||
LICENSE="Apache-2.0"
|
||||
SLOT="0"
|
||||
KEYWORDS="amd64"
|
||||
IUSE=""
|
||||
|
||||
DEPEND=">=dev-lang/go-1.1"
|
||||
RDEPEND="
|
||||
app-emulation/lxc
|
||||
net-misc/bridge-utils
|
||||
sys-apps/iproute2
|
||||
app-arch/libarchive
|
||||
net-misc/curl
|
||||
sys-fs/aufs-util
|
||||
"
|
||||
|
||||
src_compile() {
|
||||
./vendor.sh || die
|
||||
./hack/release/make-without-docker.sh || die
|
||||
}
|
||||
|
||||
src_install() {
|
||||
dobin ${S}/bin/${PN}
|
||||
keepdir /var/lib/${PN}/graph
|
||||
keepdir /var/lib/${PN}/containers
|
||||
systemd_dounit "${FILESDIR}"/${PN}.service || die
|
||||
systemd_enable_service multi-user.target ${PN}.service || die
|
||||
}
|
164
sdk_container/src/third_party/coreos-overlay/app-emulation/docker/docker-0.6.3-r1.ebuild
vendored
Normal file
164
sdk_container/src/third_party/coreos-overlay/app-emulation/docker/docker-0.6.3-r1.ebuild
vendored
Normal file
@ -0,0 +1,164 @@
|
||||
# Copyright 1999-2013 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
# $Header: $
|
||||
|
||||
EAPI=5
|
||||
|
||||
DESCRIPTION="Docker complements LXC with a high-level API which operates at the process level."
|
||||
HOMEPAGE="http://www.docker.io/"
|
||||
SRC_URI=""
|
||||
|
||||
EGIT_REPO_URI="git://github.com/dotcloud/docker.git"
|
||||
if [[ ${PV} == *9999 ]]; then
|
||||
KEYWORDS=""
|
||||
else
|
||||
EGIT_COMMIT="v${PV}"
|
||||
KEYWORDS="~amd64"
|
||||
fi
|
||||
|
||||
inherit bash-completion-r1 git-2 linux-info systemd user
|
||||
|
||||
LICENSE="Apache-2.0"
|
||||
SLOT="0"
|
||||
IUSE="doc vim-syntax"
|
||||
|
||||
DEPEND="
|
||||
>=dev-lang/go-1.1.2
|
||||
dev-vcs/git
|
||||
dev-vcs/mercurial
|
||||
doc? (
|
||||
dev-python/sphinx
|
||||
dev-python/sphinxcontrib-httpdomain
|
||||
)
|
||||
"
|
||||
RDEPEND="
|
||||
!app-emulation/lxc-docker-bin
|
||||
>=app-arch/xz-utils-4.9
|
||||
>=app-arch/tar-1.26
|
||||
>=sys-apps/iproute2-3.5
|
||||
>=net-firewall/iptables-1.4
|
||||
>=app-emulation/lxc-0.8
|
||||
>=dev-vcs/git-1.7
|
||||
|| (
|
||||
sys-fs/aufs3
|
||||
sys-kernel/aufs-sources
|
||||
)
|
||||
"
|
||||
|
||||
RESTRICT="strip"
|
||||
|
||||
DOCKERFILE_VIM_S="${WORKDIR}/dockerfile.vim"
|
||||
|
||||
# TODO AUFS will be replaced with device-mapper (sys-fs/lvm2[static-libs]) in 0.7
|
||||
ERROR_AUFS_FS="AUFS_FS is required to be set if and only if aufs-sources are used"
|
||||
|
||||
ERROR_MEMCG_SWAP="MEMCG_SWAP is required if you wish to limit swap usage of containers"
|
||||
|
||||
pkg_setup() {
|
||||
CONFIG_CHECK+=" ~AUFS_FS ~BRIDGE ~MEMCG_SWAP ~NETFILTER_XT_MATCH_ADDRTYPE ~NF_NAT ~NF_NAT_NEEDED"
|
||||
check_extra_config
|
||||
}
|
||||
|
||||
src_unpack() {
|
||||
git-2_src_unpack
|
||||
|
||||
if use vim-syntax; then
|
||||
( # subshell to prevent environment leakage (and confusion of smart-live-rebuild)
|
||||
EGIT_SOURCEDIR="${DOCKERFILE_VIM_S}"
|
||||
EGIT_PROJECT="honza-dockerfile.vim.git"
|
||||
EGIT_REPO_URI="https://github.com/honza/dockerfile.vim.git"
|
||||
EGIT_MASTER="master"
|
||||
EGIT_BRANCH="${EGIT_MASTER}"
|
||||
EGIT_COMMIT="${EGIT_BRANCH}"
|
||||
EGIT_NOUNPACK="true"
|
||||
git-2_src_unpack
|
||||
)
|
||||
fi
|
||||
}
|
||||
|
||||
src_compile() {
|
||||
export CGO_ENABLED=0 # we need static linking!
|
||||
|
||||
export GOPATH="${WORKDIR}/gopath"
|
||||
mkdir -p "$GOPATH" || die
|
||||
|
||||
# copy GOROOT so we can build it without cgo and not modify anything in the REAL_GOROOT
|
||||
REAL_GOROOT="$(go env GOROOT)"
|
||||
export GOROOT="${WORKDIR}/goroot"
|
||||
rm -rf "$GOROOT" || die
|
||||
cp -R "$REAL_GOROOT" "$GOROOT" || die
|
||||
|
||||
# recompile GOROOT to be cgo-less and thus static-able (especially net package)
|
||||
go install -a -v std || die
|
||||
|
||||
# make sure docker itself is in our shiny new GOPATH
|
||||
mkdir -p "${GOPATH}/src/github.com/dotcloud" || die
|
||||
ln -sf "$(pwd -P)" "${GOPATH}/src/github.com/dotcloud/docker" || die
|
||||
|
||||
# we need our vendored deps, too
|
||||
export GOPATH="$GOPATH:$(pwd -P)/vendor"
|
||||
|
||||
# time to build!
|
||||
./hack/make.sh binary || die
|
||||
|
||||
# now copy the binary to a consistent location that doesn't involve the current version number
|
||||
mkdir -p bin || die
|
||||
VERSION=$(cat ./VERSION)
|
||||
cp -v bundles/$VERSION/binary/docker-$VERSION bin/docker || die
|
||||
|
||||
if use doc; then
|
||||
emake -C docs docs man || die
|
||||
fi
|
||||
}
|
||||
|
||||
src_install() {
|
||||
dobin bin/docker
|
||||
dodoc AUTHORS CONTRIBUTING.md CHANGELOG.md MAINTAINERS NOTICE README.md
|
||||
|
||||
newinitd "${FILESDIR}/docker-r2.initd" docker
|
||||
newconfd "${FILESDIR}/docker-r2.confd" docker
|
||||
|
||||
systemd_dounit "${FILESDIR}/docker.service"
|
||||
|
||||
insinto /usr/share/${P}/contrib
|
||||
doins contrib/README
|
||||
cp -R "${S}/contrib"/* "${D}/usr/share/${P}/contrib/"
|
||||
|
||||
newbashcomp contrib/docker.bash docker
|
||||
|
||||
if use doc; then
|
||||
dohtml -r docs/_build/html/*
|
||||
doman docs/_build/man/*
|
||||
fi
|
||||
|
||||
if use vim-syntax; then
|
||||
insinto /usr/share/vim/vimfiles
|
||||
doins -r "${DOCKERFILE_VIM_S}/ftdetect"
|
||||
doins -r "${DOCKERFILE_VIM_S}/syntax"
|
||||
fi
|
||||
}
|
||||
|
||||
pkg_postinst() {
|
||||
elog ""
|
||||
elog "To use docker, the docker daemon must be running as root. To automatically"
|
||||
elog "start the docker daemon at boot, add docker to the default runlevel:"
|
||||
elog " rc-update add docker default"
|
||||
elog "Similarly for systemd:"
|
||||
elog " systemctl enable docker.service"
|
||||
elog ""
|
||||
|
||||
# create docker group if the code checking for it in /etc/group exists
|
||||
enewgroup docker
|
||||
|
||||
elog "To use docker as a non-root user, add yourself to the docker group."
|
||||
elog ""
|
||||
|
||||
ewarn ""
|
||||
ewarn "If you want your containers to have access to the public internet or even"
|
||||
ewarn "the existing private network, IP Forwarding must be enabled:"
|
||||
ewarn " sysctl -w net.ipv4.ip_forward=1"
|
||||
ewarn "or more permanently:"
|
||||
ewarn " echo net.ipv4.ip_forward = 1 > /etc/sysctl.d/${PN}.conf"
|
||||
ewarn "Please be mindful of the security implications of enabling IP Forwarding."
|
||||
ewarn ""
|
||||
}
|
18
sdk_container/src/third_party/coreos-overlay/app-emulation/docker/files/docker-r2.confd
vendored
Normal file
18
sdk_container/src/third_party/coreos-overlay/app-emulation/docker/files/docker-r2.confd
vendored
Normal file
@ -0,0 +1,18 @@
|
||||
# /etc/conf.d/docker: config file for /etc/init.d/docker
|
||||
|
||||
# where the docker daemon output gets piped
|
||||
#DOCKER_LOGFILE="/var/log/docker.log"
|
||||
|
||||
# where docker's pid get stored
|
||||
#DOCKER_PIDFILE="/run/docker.pid"
|
||||
|
||||
# where the docker daemon itself is run from
|
||||
#DOCKER_BINARY="/usr/bin/docker"
|
||||
|
||||
# uncomment this for a simple workaround to
|
||||
# https://github.com/dotcloud/docker/issues/1422
|
||||
#DOCKER_WORKAROUND_1422="1"
|
||||
|
||||
# if you find that the default DOCKER_WORKAROUND_1422 delay of one second
|
||||
# is not sufficient, try uncommenting and increasing this value
|
||||
#DOCKER_WORKAROUND_1422_DELAY="1"
|
56
sdk_container/src/third_party/coreos-overlay/app-emulation/docker/files/docker-r2.initd
vendored
Executable file
56
sdk_container/src/third_party/coreos-overlay/app-emulation/docker/files/docker-r2.initd
vendored
Executable file
@ -0,0 +1,56 @@
|
||||
#!/sbin/runscript
|
||||
# Copyright 1999-2013 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
# $Header: /var/cvsroot/gentoo-x86/app-emulation/docker/files/docker-r2.initd,v 1.1 2013/09/25 03:22:15 gregkh Exp $
|
||||
|
||||
DOCKER_LOGFILE=${DOCKER_LOGFILE:-/var/log/${SVCNAME}.log}
|
||||
DOCKER_PIDFILE=${DOCKER_PIDFILE:-/run/${SVCNAME}.pid}
|
||||
DOCKER_BINARY=${DOCKER_BINARY:-/usr/bin/docker}
|
||||
DOCKER_WORKAROUND_1422=${DOCKER_WORKAROUND_1422:-0}
|
||||
DOCKER_WORKAROUND_1422_DELAY=${DOCKER_WORKAROUND_1422_DELAY:-1}
|
||||
|
||||
start() {
|
||||
touch "$DOCKER_LOGFILE"
|
||||
chown root:docker "$DOCKER_LOGFILE"
|
||||
chmod 0644 "$DOCKER_LOGFILE"
|
||||
|
||||
ebegin "Starting docker daemon"
|
||||
start-stop-daemon --start --background \
|
||||
--exec "$DOCKER_BINARY" \
|
||||
--pidfile "$DOCKER_PIDFILE" \
|
||||
--stdout "$DOCKER_LOGFILE" \
|
||||
--stderr "$DOCKER_LOGFILE" \
|
||||
-- -d -p "$DOCKER_PIDFILE"
|
||||
eend $?
|
||||
ret=$?
|
||||
|
||||
if [ $ret -eq 0 ] \
|
||||
&& [ "$DOCKER_WORKAROUND_1422" ] \
|
||||
&& [ "$DOCKER_WORKAROUND_1422" -gt 0 ] \
|
||||
; then
|
||||
# see https://github.com/dotcloud/docker/issues/1422
|
||||
ewarn "Working around gh#1422 (via busybox image); this may take a moment"
|
||||
|
||||
# we were calling "docker run" more quickly than "docker -d" could get
|
||||
# fired up, so our workaround wasn't successful without a short delay
|
||||
sleep $DOCKER_WORKAROUND_1422_DELAY
|
||||
|
||||
# TODO when we get https://github.com/dotcloud/docker/pull/1589, these
|
||||
# both need -rm so we clean up after ourselves (thanks, @eliasp!)
|
||||
docker run -i -t busybox true &> /dev/null || true
|
||||
# first run will fail, so we ignore its output and result and run again
|
||||
docker run -i -t busybox true
|
||||
|
||||
ewend $?
|
||||
fi
|
||||
|
||||
return $ret
|
||||
}
|
||||
|
||||
stop() {
|
||||
ebegin "Stopping docker daemon"
|
||||
start-stop-daemon --stop \
|
||||
--exec "$DOCKER_BINARY" \
|
||||
--pidfile "$DOCKER_PIDFILE"
|
||||
eend $?
|
||||
}
|
31
sdk_container/src/third_party/coreos-overlay/app-emulation/docker/files/docker.initd
vendored
Executable file
31
sdk_container/src/third_party/coreos-overlay/app-emulation/docker/files/docker.initd
vendored
Executable file
@ -0,0 +1,31 @@
|
||||
#!/sbin/runscript
|
||||
# Copyright 1999-2013 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
# $Header: /var/cvsroot/gentoo-x86/app-emulation/docker/files/docker.initd,v 1.1 2013/09/25 03:22:15 gregkh Exp $
|
||||
|
||||
DOCKER_LOGFILE=${DOCKER_LOGFILE:-/var/log/${SVCNAME}.log}
|
||||
DOCKER_PIDFILE=${DOCKER_PIDFILE:-/run/${SVCNAME}.pid}
|
||||
DOCKER_BINARY=${DOCKER_BINARY:-/usr/bin/docker}
|
||||
|
||||
start() {
|
||||
touch "$DOCKER_LOGFILE"
|
||||
chown root:docker "$DOCKER_LOGFILE"
|
||||
chmod 0644 "$DOCKER_LOGFILE"
|
||||
|
||||
ebegin "Starting docker daemon"
|
||||
start-stop-daemon --start --background \
|
||||
--exec "$DOCKER_BINARY" \
|
||||
--pidfile "$DOCKER_PIDFILE" \
|
||||
--stdout "$DOCKER_LOGFILE" \
|
||||
--stderr "$DOCKER_LOGFILE" \
|
||||
-- -d -p "$DOCKER_PIDFILE"
|
||||
eend $?
|
||||
}
|
||||
|
||||
stop() {
|
||||
ebegin "Stopping docker daemon"
|
||||
start-stop-daemon --stop \
|
||||
--exec "$DOCKER_BINARY" \
|
||||
--pidfile "$DOCKER_PIDFILE"
|
||||
eend $?
|
||||
}
|
@ -1,15 +1,13 @@
|
||||
[Unit]
|
||||
Description=Docker - The Linux Container Engine
|
||||
Requires=network.target
|
||||
After=multi-user.target
|
||||
|
||||
[Service]
|
||||
Type=simple
|
||||
ExecStartPre=/bin/mount --make-rprivate /
|
||||
|
||||
# Try to use this alternate way of starting docker if docker crashes for you:
|
||||
# ExecStart=/bin/bash -c "/usr/bin/nohup /usr/bin/docker -d -D &"
|
||||
# You also need to update Type above to: Type=forking
|
||||
|
||||
ExecStart=/usr/bin/docker -d -D
|
||||
|
||||
Restart=always
|
||||
RestartSec=1
|
||||
ExecStart=/usr/bin/docker -d
|
||||
TimeoutSec=60
|
||||
|
||||
[Install]
|
||||
WantedBy=multi-user.target
|
||||
|
Loading…
x
Reference in New Issue
Block a user