Skip to content
Merged
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
4 changes: 2 additions & 2 deletions pkg/docker-engine/Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -185,13 +185,13 @@ RUN --mount=type=bind,from=gocross,source=/usr/local/go,target=/usr/local/go,rw

FROM build-base-static AS builder-static
ARG DEBIAN_FRONTEND
RUN apt-get install -y --no-install-recommends cmake gcc libc6-dev lld make pkg-config
RUN apt-get install -y --no-install-recommends clang cmake gcc libc6-dev lld llvm make pkg-config
ARG PKG_NAME
ARG DOCKER_ENGINE_REF
ARG NIGHTLY_BUILD
WORKDIR /build
ARG TARGETPLATFORM
RUN xx-apt-get install -y gcc libc6-dev libapparmor-dev libltdl-dev libseccomp-dev libsecret-1-dev libsystemd-dev libudev-dev pkg-config
RUN xx-apt-get install -y gcc libc6-dev libapparmor-dev libltdl-dev libsecret-1-dev libsystemd-dev libudev-dev pkg-config
RUN --mount=type=bind,source=scripts/pkg-static-build.sh,target=/usr/local/bin/pkg-static-build \
--mount=type=bind,from=common-scripts,source=gen-ver.sh,target=/usr/local/bin/gen-ver \
--mount=type=bind,from=common-scripts,source=fix-cc.sh,target=/usr/local/bin/fix-cc \
Expand Down
8 changes: 3 additions & 5 deletions pkg/docker-engine/deb/control
Original file line number Diff line number Diff line change
Expand Up @@ -13,8 +13,6 @@ Build-Depends: ca-certificates,
gcc,
libc-dev,
libltdl-dev,
libseccomp-dev,
libseccomp2,
libsystemd-dev,
libtool,
make,
Expand All @@ -25,7 +23,6 @@ Architecture: linux-any
Depends: containerd.io (>= 1.6.4),
docker-ce-cli,
iptables,
libseccomp2 (>= 2.3.0),
${shlibs:Depends}
Recommends: apparmor,
ca-certificates,
Expand All @@ -35,11 +32,12 @@ Recommends: apparmor,
pigz,
procps,
xz-utils
Suggests: aufs-tools [amd64], cgroupfs-mount | cgroup-lite
Suggests: cgroupfs-mount | cgroup-lite
Conflicts: docker (<< 1.5~),
docker-engine,
docker.io
Replaces: docker-engine
Replaces: docker-engine,
docker-ce-cli (<< 5:28.0.0)
Description: Docker: the open-source application container engine
Docker is a product for you to build, ship and run any application as a
lightweight container
Expand Down
1 change: 1 addition & 0 deletions pkg/docker-engine/deb/docker-ce.dirs
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
/etc/docker
1 change: 1 addition & 0 deletions pkg/docker-engine/deb/docker-ce.manpages
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
engine/man/man*/*
3 changes: 2 additions & 1 deletion pkg/docker-engine/deb/rules
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,8 @@ override_dh_auto_build:
cd /go/src/github.com/docker/docker && VERSION=$(VERSION) DOCKER_GITCOMMIT=$(REVISION) PRODUCT=docker ./hack/make.sh dynbinary
cd /go/src/github.com/docker/docker && TMP_GOPATH="/go" hack/dockerfile/install/install.sh tini
cd /go/src/github.com/docker/docker && TMP_GOPATH="/go" hack/dockerfile/install/install.sh rootlesskit dynamic
# build man-pages
make -C engine/man

override_dh_auto_test:
ver="$$(engine/bundles/dynbinary-daemon/dockerd --version)"; \
Expand All @@ -34,7 +36,6 @@ override_dh_auto_install:

# docker-ce-rootless-extras install
install -D -m 0755 /usr/local/bin/rootlesskit debian/docker-ce-rootless-extras/usr/bin/rootlesskit
install -D -m 0755 /usr/local/bin/rootlesskit-docker-proxy debian/docker-ce-rootless-extras/usr/bin/rootlesskit-docker-proxy
install -D -m 0755 engine/contrib/dockerd-rootless.sh debian/docker-ce-rootless-extras/usr/bin/dockerd-rootless.sh
install -D -m 0755 engine/contrib/dockerd-rootless-setuptool.sh debian/docker-ce-rootless-extras/usr/bin/dockerd-rootless-setuptool.sh
# TODO: how can we install vpnkit?
Expand Down
2 changes: 0 additions & 2 deletions pkg/docker-engine/rpm/docker-ce-rootless-extras.spec
Original file line number Diff line number Diff line change
Expand Up @@ -46,13 +46,11 @@ TMP_GOPATH="/go" GITCOMMIT=%{_commit} ${RPM_BUILD_DIR}/src/engine/hack/dockerfil
install -D -p -m 0755 engine/contrib/dockerd-rootless.sh ${RPM_BUILD_ROOT}%{_bindir}/dockerd-rootless.sh
install -D -p -m 0755 engine/contrib/dockerd-rootless-setuptool.sh ${RPM_BUILD_ROOT}%{_bindir}/dockerd-rootless-setuptool.sh
install -D -p -m 0755 /usr/local/bin/rootlesskit ${RPM_BUILD_ROOT}%{_bindir}/rootlesskit
install -D -p -m 0755 /usr/local/bin/rootlesskit-docker-proxy ${RPM_BUILD_ROOT}%{_bindir}/rootlesskit-docker-proxy

%files
%{_bindir}/dockerd-rootless.sh
%{_bindir}/dockerd-rootless-setuptool.sh
%{_bindir}/rootlesskit
%{_bindir}/rootlesskit-docker-proxy

%post

Expand Down
17 changes: 12 additions & 5 deletions pkg/docker-engine/rpm/docker-ce.spec
Original file line number Diff line number Diff line change
Expand Up @@ -17,8 +17,7 @@ Packager: Docker <[email protected]>
Requires: /usr/sbin/groupadd
Requires: docker-ce-cli
Recommends: docker-ce-rootless-extras
Requires: container-selinux >= 2:2.74
Requires: libseccomp >= 2.3
Requires: container-selinux
Requires: systemd
Requires: iptables
%if %{undefined rhel} || 0%{?rhel} < 9
Expand All @@ -35,14 +34,11 @@ BuildRequires: cmake
BuildRequires: gcc
BuildRequires: glibc-static
BuildRequires: libarchive
BuildRequires: libseccomp-devel
BuildRequires: libselinux-devel
BuildRequires: libtool
BuildRequires: libtool-ltdl-devel
BuildRequires: make
BuildRequires: pkgconfig
BuildRequires: pkgconfig(systemd)
BuildRequires: selinux-policy-devel
BuildRequires: systemd-devel
BuildRequires: tar
BuildRequires: which
Expand Down Expand Up @@ -78,6 +74,9 @@ TMP_GOPATH="/go" hack/dockerfile/install/install.sh tini
VERSION=%{_origversion} DOCKER_GITCOMMIT=%{_commit} PRODUCT=docker hack/make.sh dynbinary
popd

# build man-pages
make -C ${RPM_BUILD_DIR}/src/engine/man

%check
ver="$(engine/bundles/dynbinary-daemon/dockerd --version)"; \
test "$ver" = "Docker version %{_origversion}, build %{_commit}" && echo "PASS: daemon version OK" || (echo "FAIL: daemon version ($ver) did not match" && exit 1)
Expand All @@ -92,12 +91,20 @@ install -D -p -m 0755 /usr/local/bin/docker-init ${RPM_BUILD_ROOT}%{_libexecdir}
install -D -m 0644 engine/contrib/init/systemd/docker.service ${RPM_BUILD_ROOT}%{_unitdir}/docker.service
install -D -m 0644 engine/contrib/init/systemd/docker.socket ${RPM_BUILD_ROOT}%{_unitdir}/docker.socket

# install manpages
make -C ${RPM_BUILD_DIR}/src/engine/man DESTDIR=${RPM_BUILD_ROOT} mandir=%{_mandir} install

# create the config directory
mkdir -p ${RPM_BUILD_ROOT}/etc/docker

%files
%{_bindir}/dockerd
%{_bindir}/docker-proxy
%{_libexecdir}/docker/docker-init
%{_unitdir}/docker.service
%{_unitdir}/docker.socket
%{_mandir}/man*/*
%dir /etc/docker

%post
%systemd_post docker.service
Expand Down
2 changes: 1 addition & 1 deletion pkg/docker-engine/scripts/pkg-deb-build.sh
Original file line number Diff line number Diff line change
Expand Up @@ -66,6 +66,6 @@ mkdir -p "${pkgoutput}"

set -x

chmod -x debian/control debian/docs
chmod -x debian/control debian/docs debian/docker-ce.dirs debian/docker-ce.maintscript debian/docker-ce.manpages
VERSION=${GENVER_VERSION} REVISION=${GENVER_COMMIT_SHORT} dpkg-buildpackage $PKG_DEB_BUILDFLAGS --host-arch $(xx-info debian-arch) --target-arch $(xx-info debian-arch)
cp /root/docker-* "${pkgoutput}"/
17 changes: 14 additions & 3 deletions pkg/docker-engine/scripts/pkg-static-build.sh
Original file line number Diff line number Diff line change
Expand Up @@ -43,17 +43,28 @@ done
xx-go --wrap
fix-cc

# prefer ld for cross-compiling arm64
# https://github.com/moby/moby/commit/f676dab8dc58c9eaa83b260c631a92d95a7a0b10
if [ "$(xx-info arch)" = "arm64" ]; then
XX_CC_PREFER_LINKER=ld xx-clang --setup-target-triple
fi

binext=$([ "$(xx-info os)" = "windows" ] && echo ".exe" || true)
mkdir -p ${BUILDDIR}/${PKG_NAME}

(
set -x
pushd ${SRCDIR}
CGO_ENABLED=1 VERSION=${GENVER_VERSION} DOCKER_GITCOMMIT=${GENVER_COMMIT} ./hack/make.sh binary
mv "./bundles/binary-daemon/dockerd${binext}" "./bundles/binary-daemon/docker-proxy${binext}" "${BUILDDIR}/${PKG_NAME}/"
CGO_ENABLED=1 VERSION=${GENVER_VERSION} DOCKER_GITCOMMIT=${GENVER_COMMIT} ./hack/make.sh binary
mv "./bundles/binary-daemon/dockerd${binext}" "${BUILDDIR}/${PKG_NAME}/"
if [ "$(xx-info os)" != "windows" ]; then
mv "./bundles/binary-daemon/docker-proxy${binext}" "${BUILDDIR}/${PKG_NAME}/"
fi
popd
xx-verify --static "${BUILDDIR}/${PKG_NAME}/dockerd${binext}"
xx-verify --static "${BUILDDIR}/${PKG_NAME}/docker-proxy${binext}"
if [ "$(xx-info os)" != "windows" ]; then
xx-verify --static "${BUILDDIR}/${PKG_NAME}/docker-proxy${binext}"
fi
)

# TODO: build tini for windows
Expand Down