diff --git a/app-emulation/docker/Manifest b/app-emulation/docker/Manifest index ff8807b4e..8b82b70da 100644 --- a/app-emulation/docker/Manifest +++ b/app-emulation/docker/Manifest @@ -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 diff --git a/app-emulation/docker/docker-29.5.3.ebuild b/app-emulation/docker/docker-29.5.3.ebuild new file mode 100644 index 000000000..cb0bf81bd --- /dev/null +++ b/app-emulation/docker/docker-29.5.3.ebuild @@ -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 ' + 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