Skip to content

Commit

Permalink
Merge pull request #173 from crazy-max/docker-24.0_cherry-picks
Browse files Browse the repository at this point in the history
[docker/24.0 backport] cherry-picks
  • Loading branch information
crazy-max committed Oct 21, 2023
2 parents 963e9ab + 496711d commit 6b6250e
Show file tree
Hide file tree
Showing 8 changed files with 62 additions and 9 deletions.
2 changes: 1 addition & 1 deletion Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -40,7 +40,7 @@ include common/packages.mk

GHA_MATRIX ?= minimal
ifeq ($(GHA_MATRIX),minimal)
GHA_RELEASES := debian10 debian11 debian12 ubuntu2004 ubuntu2204 ubuntu2304 centos7 centos9 oraclelinux7 fedora37 fedora38 static
GHA_RELEASES := debian10 debian11 debian12 ubuntu2004 ubuntu2204 ubuntu2304 ubuntu2310 centos7 centos9 oraclelinux7 fedora38 fedora39 static
else ifeq ($(GHA_MATRIX),all)
GHA_RELEASES := $(PKG_DEB_RELEASES) $(PKG_RPM_RELEASES) static
else
Expand Down
22 changes: 22 additions & 0 deletions common/packages.hcl
Original file line number Diff line number Diff line change
Expand Up @@ -163,6 +163,17 @@ target "_pkg-ubuntu2304" {
}
}

target "_pkg-ubuntu2310" {
args = {
PKG_RELEASE = "ubuntu2310"
PKG_TYPE = "deb"
PKG_DISTRO = "ubuntu"
PKG_DISTRO_ID = "23.10"
PKG_DISTRO_SUITE = "mantic"
PKG_BASE_IMAGE = "ubuntu:mantic"
}
}

target "_pkg-centos7" {
args = {
PKG_RELEASE = "centos7"
Expand Down Expand Up @@ -218,6 +229,17 @@ target "_pkg-fedora38" {
}
}

target "_pkg-fedora39" {
args = {
PKG_RELEASE = "fedora39"
PKG_TYPE = "rpm"
PKG_DISTRO = "fedora"
PKG_DISTRO_ID = "39"
PKG_DISTRO_SUITE = "39"
PKG_BASE_IMAGE = "fedora:39"
}
}

target "_pkg-oraclelinux7" {
args = {
PKG_RELEASE = "oraclelinux7"
Expand Down
23 changes: 21 additions & 2 deletions common/packages.mk
Original file line number Diff line number Diff line change
Expand Up @@ -15,8 +15,8 @@
# don't forget to add/update pkg-info-* rule and update packages.hcl as well
# if you add a new release
PKG_APK_RELEASES ?= alpine314 alpine315 alpine316
PKG_DEB_RELEASES ?= debian10 debian11 debian12 ubuntu2004 ubuntu2204 ubuntu2304 raspbian10 raspbian11 raspbian12
PKG_RPM_RELEASES ?= centos7 centos8 centos9 fedora37 fedora38 oraclelinux7 oraclelinux8 oraclelinux9
PKG_DEB_RELEASES ?= debian10 debian11 debian12 ubuntu2004 ubuntu2204 ubuntu2304 ubuntu2310 raspbian10 raspbian11 raspbian12
PKG_RPM_RELEASES ?= centos7 centos8 centos9 fedora37 fedora38 fedora39 oraclelinux7 oraclelinux8 oraclelinux9

# PKG_SUPPORTED_PLATFORMS could be replaced by:
# docker buildx imagetools inspect centos:7 --format "{{json .Manifest}}" | jq -r '.manifests[] | "\(.platform.os)/\(.platform.architecture)/\(.platform.variant)"' | sed 's#/null$##' | tr '\n' ',' | sed 's#,$##'
Expand Down Expand Up @@ -148,6 +148,16 @@ pkg-info-ubuntu2304:
@# FIXME: linux/riscv64 is not supported (golang base image does not support riscv64)
$(eval PKG_SUPPORTED_PLATFORMS = linux/amd64 linux/arm64 linux/arm/v7 linux/ppc64le linux/s390x)

.PHONY: pkg-info-ubuntu2310
pkg-info-ubuntu2310:
$(eval PKG_TYPE = deb)
$(eval PKG_DISTRO = ubuntu)
$(eval PKG_DISTRO_ID = 23.10)
$(eval PKG_DISTRO_SUITE = mantic)
$(eval PKG_BASE_IMAGE = ubuntu:mantic)
@# FIXME: linux/riscv64 is not supported (golang base image does not support riscv64)
$(eval PKG_SUPPORTED_PLATFORMS = linux/amd64 linux/arm64 linux/arm/v7 linux/ppc64le linux/s390x)

.PHONY: pkg-info-centos7
pkg-info-centos7:
$(eval PKG_TYPE = rpm)
Expand Down Expand Up @@ -195,6 +205,15 @@ pkg-info-fedora38:
$(eval PKG_BASE_IMAGE = fedora:38)
$(eval PKG_SUPPORTED_PLATFORMS = linux/amd64 linux/arm64 linux/ppc64le linux/s390x)

.PHONY: pkg-info-fedora39
pkg-info-fedora39:
$(eval PKG_TYPE = rpm)
$(eval PKG_DISTRO = fedora)
$(eval PKG_DISTRO_ID = 39)
$(eval PKG_DISTRO_SUITE = 39)
$(eval PKG_BASE_IMAGE = fedora:39)
$(eval PKG_SUPPORTED_PLATFORMS = linux/amd64 linux/arm64 linux/ppc64le linux/s390x)

.PHONY: pkg-info-oraclelinux7
pkg-info-oraclelinux7:
$(eval PKG_TYPE = rpm)
Expand Down
8 changes: 5 additions & 3 deletions pkg/containerd/Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -44,8 +44,8 @@ FROM --platform=$BUILDPLATFORM ${GO_IMAGE}:${GO_VERSION}-${GO_IMAGE_VARIANT} AS

# md2man
FROM go AS go-md2man
ARG GOPROXY="direct"
ARG GO111MODULE="on"
ENV GOPROXY="https://proxy.golang.org|direct"
ENV GO111MODULE="on"
ARG MD2MAN_VERSION
RUN go install github.com/cpuguy83/go-md2man/v2@${MD2MAN_VERSION}

Expand Down Expand Up @@ -120,6 +120,7 @@ COPY --from=xx / /
ARG DEBIAN_FRONTEND
ENV GOPROXY="https://proxy.golang.org|direct"
ENV GOPATH="/go"
ENV GO111MODULE="on"
ENV PATH="$PATH:/usr/local/go/bin:$GOPATH/bin"
COPY --from=go-md2man /go/bin/go-md2man $GOPATH/bin/go-md2man
ARG PKG_RELEASE
Expand Down Expand Up @@ -154,6 +155,7 @@ FROM ${PKG_BASE_IMAGE} AS builder-rpm
COPY --from=xx / /
ENV GOPROXY="https://proxy.golang.org|direct"
ENV GOPATH="/go"
ENV GO111MODULE="on"
ENV PATH="$PATH:/usr/local/go/bin:$GOPATH/bin"
COPY --from=go-md2man /go/bin/go-md2man $GOPATH/bin/go-md2man
ARG PKG_RELEASE
Expand Down Expand Up @@ -194,7 +196,7 @@ RUN apt-get update && apt-get install -y --no-install-recommends bash ca-certifi
ENV GOPROXY="https://proxy.golang.org|direct"
ENV GOPATH="/go"
ENV PATH="$PATH:/usr/local/go/bin:$GOPATH/bin"
ENV GO111MODULE="off"
ENV GO111MODULE="on"
ENV CGO_ENABLED="1"
ARG PKG_NAME
ARG CONTAINERD_REF
Expand Down
2 changes: 2 additions & 0 deletions pkg/credential-helpers/Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -87,6 +87,7 @@ ARG DEBIAN_FRONTEND
ENV GOPROXY="https://proxy.golang.org|direct"
ENV GOPATH="/go"
ENV PATH="$PATH:/usr/local/go/bin:$GOPATH/bin"
ENV GO111MODULE="on"
ARG PKG_RELEASE
RUN apt-get update && apt-get install -y --no-install-recommends apt-utils bash ca-certificates curl devscripts equivs git
COPY deb /root/package/debian
Expand Down Expand Up @@ -118,6 +119,7 @@ COPY --from=xx / /
ENV GOPROXY="https://proxy.golang.org|direct"
ENV GOPATH="/go"
ENV PATH="$PATH:/usr/local/go/bin:$GOPATH/bin"
ENV GO111MODULE="on"
ARG PKG_RELEASE
RUN --mount=type=bind,from=common-scripts,source=rpm-init.sh,target=/usr/local/bin/rpm-init \
rpm-init $PKG_RELEASE
Expand Down
2 changes: 1 addition & 1 deletion pkg/docker-cli/Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -96,7 +96,7 @@ RUN apt-get update && apt-get install -y --no-install-recommends apt-utils bash
RUN <<EOT
set -e
case "$PKG_RELEASE" in
ubuntu2004|ubuntu2204|ubuntu2304)
ubuntu2004|ubuntu2204|ubuntu2304|ubuntu2310)
if [ "$(dpkg-divert --truename /usr/bin/man)" = "/usr/bin/man.REAL" ]; then
rm -f /usr/bin/man
dpkg-divert --quiet --remove --rename /usr/bin/man
Expand Down
2 changes: 1 addition & 1 deletion pkg/docker-engine/Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -95,7 +95,7 @@ RUN apt-get update && apt-get install -y --no-install-recommends apt-utils bash
RUN <<EOT
set -e
case "$PKG_RELEASE" in
ubuntu2004|ubuntu2204|ubuntu2304)
ubuntu2004|ubuntu2204|ubuntu2304|ubuntu2310)
if [ "$(dpkg-divert --truename /usr/bin/man)" = "/usr/bin/man.REAL" ]; then
rm -f /usr/bin/man
dpkg-divert --quiet --remove --rename /usr/bin/man
Expand Down
10 changes: 9 additions & 1 deletion pkg/docker-engine/rpm/docker-ce.spec
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,15 @@ Packager: Docker <support@docker.com>

Requires: /usr/sbin/groupadd
Requires: docker-ce-cli
# CentOS 7 and RHEL 7 do not yet support weak dependencies
#
# Note that we're not using <= 7 here, to account for other RPM distros, such
# as Fedora, which would not have the rhel macro set (so default to 0).
%if 0%{?rhel} == 7
Requires: docker-ce-rootless-extras
%else
Recommends: docker-ce-rootless-extras
%endif
Requires: container-selinux >= 2:2.74
Requires: libseccomp >= 2.3
Requires: systemd
Expand Down Expand Up @@ -108,7 +116,7 @@ if ! getent group docker > /dev/null; then
fi

%preun
%systemd_preun docker.service
%systemd_preun docker.service docker.socket

%postun
%systemd_postun_with_restart docker.service
Expand Down

0 comments on commit 6b6250e

Please sign in to comment.