Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions app-emulation/docker/Manifest
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
DIST docker-29.3.1-f78c987.tar.gz 21049066 BLAKE2B 622d2a21a2e912df19ef21d3770ee3cae84b873a4cc9f7f6483a72bbe38a56f1ef87fc288892dc8294f2dc2561505254c67a7e6fa7e94bce9ab18dc0b4f8a694 SHA512 4bd440b7a617600c4b57d791b31a1e41bc8e93878fd6449c24e9124822d62c077f3d69cc657f2f12a1e67a7e7f7832acb854320e6673ed16635f2bb695dbc1be
DIST docker-29.4.0-daa0cb7.tar.gz 21061904 BLAKE2B b4b38ad4bac7924060dc42635d2c1fda5db2f41dc7696c8883b2575cadc0e1e67fb1bcb973e519352773f21ba01dc4627d6ea80541b0e64100e041900840cc6c SHA512 8bac439ea1c11ae050125712987a7b4ca05a2d8b334a71d58d229f8d9d34bc030c17e0b5bf6662503b1ce9624a7e8921b3b1edbf59886e3b59d2174560e21b67
DIST docker-29.4.3-56be731.tar.gz 21272183 BLAKE2B a8370857e1e5e33e407f8b0f51139be0862a670d578a92daad05c7724e5674d8935de4af1250e24e6603525401f39e5e15089b77f4332ce246261905179e7643 SHA512 4d498a6d78144e85a621f5cb523ec73cad80f1d502e19662283c570fa68a681d3540abdfe17ce699172224ba33ae4b0be43cdbfc01be23aa3c470bb9459d89d8
DIST docker-29.5.3-285b471.tar.gz 21119459 BLAKE2B 5fe4be95ea6e0d24cc8301667d0c329b2ad46e11616b4228f3996458d0189b769841983c0aa45938628654370a7a7fa38969a7ec5c51a4d6ec73f6857fa20e6c SHA512 60f934b1776cf523347354a29aca26816a1e8af367f4f2627afbf57acaf1c7be4c77336083701b5cd5dbae7ac6cd571f9a2e3736282cfcebdb379d965e9f50eb
128 changes: 128 additions & 0 deletions app-emulation/docker/docker-29.5.3.ebuild
Original file line number Diff line number Diff line change
@@ -0,0 +1,128 @@
# Distributed under the terms of the GNU General Public License v2
# Autogen by MARK Devkit

EAPI=7
inherit go-module systemd udev user

DESCRIPTION="The Moby Project - a collaborative project for the container ecosystem to assemble container-based systems"
HOMEPAGE="https://mobyproject.org/"
SRC_URI="https://api.github.com/repos/moby/moby/tarball/docker-v29.5.3 -> docker-29.5.3-285b471.tar.gz"
LICENSE="Apache-2.0"
SLOT="0"
KEYWORDS="*"
IUSE="apparmor btrfs +container-init
+overlay2 seccomp systemd
"
# Commons depends
CDEPEND="dev-db/sqlite:3
apparmor? ( sys-libs/libapparmor )
btrfs? ( sys-fs/btrfs-progs )
seccomp? ( sys-libs/libseccomp )
net-firewall/nftables:=

"
BDEPEND="dev-go/go-md2man
virtual/pkgconfig

"
RDEPEND="${CDEPEND}
sys-process/procps
dev-vcs/git
app-arch/xz-utils
app-emulation/containerd[apparmor?,btrfs?,seccomp?]
app-emulation/runc[apparmor?,seccomp?]
container-init? ( sys-process/tini[static] )

"
DEPEND="${CDEPEND}
"

post_src_unpack() {
mv moby-moby-* ${S}
}


pkg_setup() {
enewgroup docker 48
}
src_compile() {
export DOCKER_GITCOMMIT="285b471"
export GOPATH="${WORKDIR}/${P}"
export VERSION="29.5.3-macaroni"
export EXCLUDE_AUTO_BUILDTAG_JOURNALD=$(usex systemd '' 'y')
# setup CFLAGS and LDFLAGS for separate build target
# see https://github.com/tianon/docker-overlay/pull/10
export CGO_CFLAGS="-I${ESYSROOT}/usr/include"
export CGO_LDFLAGS="-L${ESYSROOT}/usr/$(get_libdir)"
# let's set up some optional features :)
export DOCKER_BUILDTAGS=''
for gd in btrfs overlay2; do
if ! use $gd; then
DOCKER_BUILDTAGS+=" exclude_graphdriver_${gd//-/}"
fi
done
for tag in apparmor seccomp; do
if use $tag; then
DOCKER_BUILDTAGS+=" $tag"
fi
done
export GOFLAGS="-v -x -mod=vendor"
# build binaries
./hack/make.sh dynbinary || die 'dynbinary failed'
# build man page
cd man || die
emake || die
}
src_install() {
dosym containerd /usr/bin/docker-containerd
dosym containerd-shim-runc-v2 /usr/bin/docker-containerd-shim
dosym runc /usr/bin/docker-runc
use container-init && dosym tini /usr/bin/docker-init
dobin bundles/dynbinary-daemon/dockerd
dobin bundles/dynbinary-daemon/docker-proxy
for f in dockerd-rootless-setuptool.sh dockerd-rootless.sh; do
dosym ../share/docker/contrib/${f} /usr/bin/${f}
done
newconfd "${FILESDIR}"/docker.confd docker
if use systemd ; then
systemd_dounit contrib/init/systemd/docker.{service,socket}
else
newinitd "${FILESDIR}"/docker.initd docker
fi
dodoc AUTHORS CONTRIBUTING.md NOTICE README.md
dodoc -r docs/*
doman man/man8/dockerd.8
# note: intentionally not using "doins" so that we preserve +x bits
dodir /usr/share/${PN}/contrib
cp -R contrib/* "${ED}/usr/share/${PN}/contrib"
}
pkg_postinst() {
udev_reload
elog
elog "To use Docker, the Docker daemon must be running as root. To automatically"
elog "start the Docker daemon at boot:"
if systemd_is_booted || has_version sys-apps/systemd; then
elog " systemctl enable docker.service"
else
elog " rc-update add docker default"
fi
elog
elog "To use Docker as a non-root user, add yourself to the 'docker' group:"
elog ' usermod -aG docker <youruser>'
elog
if has_version sys-fs/zfs; then
elog " ZFS storage driver is available"
elog " Check https://docs.docker.com/storage/storagedriver/zfs-driver for more info"
elog
fi
elog
elog "For rootless mode support you need sys-apps/shadow, sys-apps/rootlesskit"
elog "and a network stack for like app-emulation/slirp4netns"
}
pkg_postrm() {
udev_reload
}



# vim: filetype=ebuild