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.4.2-d329809.tar.gz 21268529 BLAKE2B ef4a042a5449ad06591b0785fb294bcf0b9748b65e25ba0e26bcfe1b7fe485512be04ed24788082e721caccad6a0a1cd8d8968bb8e97e9afc7e52afaa90ec752 SHA512 7dffadd6a836ddadd02f458a4f83349e4919e6daff7dc1ac15d736f2fb0392f937390124922b167079c08d7fdbd85fe314e319d57c2957781e2ae28829f2f721
DIST docker-29.4.3-56be731.tar.gz 21272183 BLAKE2B a8370857e1e5e33e407f8b0f51139be0862a670d578a92daad05c7724e5674d8935de4af1250e24e6603525401f39e5e15089b77f4332ce246261905179e7643 SHA512 4d498a6d78144e85a621f5cb523ec73cad80f1d502e19662283c570fa68a681d3540abdfe17ce699172224ba33ae4b0be43cdbfc01be23aa3c470bb9459d89d8
DIST docker-29.5.2-568f755.tar.gz 21114545 BLAKE2B 156d63b0db242a5ae5c5285db622c02252cb9b30dd9e40aa43c25ceff13d255296487dbefb3122b99ca9665ed8db4b2917b3f60db947e436a10651b30749a2b7 SHA512 3e39f07683394b6c5f0e2171f6c9be3812b27ee38952df421dce7e2d39abddabaa5ddc78974844183dd1d5964430e229882a762d686adafa0eebaa0451e25c22
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