From 019cd62535da99e7c1442e6f0972081e817d413c Mon Sep 17 00:00:00 2001 From: Nick Neisen <5108029+nwneisen@users.noreply.github.com> Date: Tue, 21 Jan 2025 14:32:45 -0700 Subject: [PATCH] Revert "Packaging distributions backport `release/0.3`" (#437) --- packaging/README.md | 17 ++++---- packaging/deb/Makefile | 4 +- packaging/deb/ubuntu-cosmic/Dockerfile | 39 +++++++++++++++++++ packaging/deb/ubuntu-disco/Dockerfile | 39 +++++++++++++++++++ .../{ubuntu-noble => ubuntu-eoan}/Dockerfile | 9 ++++- packaging/rpm/Makefile | 14 +++---- packaging/rpm/SPECS/cri-dockerd.spec | 3 -- .../rpm/{almalinux-8 => centos-7}/Dockerfile | 16 ++++---- .../rpm/{almalinux-9 => centos-8}/Dockerfile | 18 +++++---- packaging/rpm/centos-stream/Dockerfile | 26 +++++++++++++ .../rpm/{fedora-41 => fedora-33}/Dockerfile | 2 +- .../rpm/{fedora-40 => fedora-34}/Dockerfile | 2 +- packaging/rpm/fedora-35/Dockerfile | 24 ++++++++++++ packaging/rpm/fedora-36/Dockerfile | 24 ++++++++++++ 14 files changed, 195 insertions(+), 42 deletions(-) create mode 100644 packaging/deb/ubuntu-cosmic/Dockerfile create mode 100644 packaging/deb/ubuntu-disco/Dockerfile rename packaging/deb/{ubuntu-noble => ubuntu-eoan}/Dockerfile (71%) rename packaging/rpm/{almalinux-8 => centos-7}/Dockerfile (66%) rename packaging/rpm/{almalinux-9 => centos-8}/Dockerfile (61%) create mode 100644 packaging/rpm/centos-stream/Dockerfile rename packaging/rpm/{fedora-41 => fedora-33}/Dockerfile (97%) rename packaging/rpm/{fedora-40 => fedora-34}/Dockerfile (97%) create mode 100644 packaging/rpm/fedora-35/Dockerfile create mode 100644 packaging/rpm/fedora-36/Dockerfile diff --git a/packaging/README.md b/packaging/README.md index bdbde63cb..033eba728 100644 --- a/packaging/README.md +++ b/packaging/README.md @@ -4,15 +4,14 @@ This repo contains the open source scripts for packaging cri-docker The scripts will build for this list of packages types: -* DEB packages for Ubuntu 24.04 Noble -* DEB packages for Ubuntu 22.04 Jammy -* DEB packages for Ubuntu 20.04 Focal +* DEB packages for Ubuntu 19.04 Disco +* DEB packages for Ubuntu 18.10 Cosmic * DEB packages for Ubuntu 18.04 Bionic * DEB packages for Ubuntu 16.04 Xenial -* DEB packages for Debian 12 Bookworm -* DEB packages for Debian 11 Bullseye -* RPM packages for Fedora 41 -* RPM packages for Fedora 40 -* RPM packages for AlmaLinux 9 -* RPM packages for AlmaLinux 8 +* DEB packages for Debian 10 Buster +* DEB packages for Debian 9 Stretch +* RPM packages for Fedora 31 +* RPM packages for Fedora 30 +* RPM packages for Fedora 29 +* RPM packages for CentOS 7 * TGZ and ZIP files with static binaries diff --git a/packaging/deb/Makefile b/packaging/deb/Makefile index c59e178a5..91c98f80a 100644 --- a/packaging/deb/Makefile +++ b/packaging/deb/Makefile @@ -37,8 +37,8 @@ SOURCE_FILES=app.tgz cri-docker.service cri-docker.socket SOURCES=$(addprefix sources/, $(SOURCE_FILES)) DEBIAN_VERSIONS := debian-bullseye debian-bookworm -#UBUNTU_VERSIONS := ubuntu-xenial ubuntu-bionic -UBUNTU_VERSIONS := ubuntu-focal ubuntu-jammy ubuntu-noble +#UBUNTU_VERSIONS := ubuntu-xenial ubuntu-bionic ubuntu-cosmic ubuntu-disco ubuntu-eoan +UBUNTU_VERSIONS := ubuntu-bionic ubuntu-focal ubuntu-jammy RASPBIAN_VERSIONS := raspbian-bullseye DISTROS := $(DEBIAN_VERSIONS) $(UBUNTU_VERSIONS) $(RASPBIAN_VERSIONS) diff --git a/packaging/deb/ubuntu-cosmic/Dockerfile b/packaging/deb/ubuntu-cosmic/Dockerfile new file mode 100644 index 000000000..b8933f93a --- /dev/null +++ b/packaging/deb/ubuntu-cosmic/Dockerfile @@ -0,0 +1,39 @@ +ARG GO_IMAGE +ARG DISTRO=ubuntu +ARG SUITE=cosmic +ARG BUILD_IMAGE=${DISTRO}:${SUITE} + +FROM ${GO_IMAGE} AS golang + +FROM ${BUILD_IMAGE} + +# Remove diverted man binary to prevent man-pages being replaced with "minimized" message. See docker/for-linux#639 +RUN 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; \ + fi + +RUN apt-get update && apt-get install -y curl devscripts equivs git + +ENV GOPROXY=direct +ENV GOPATH /go +ENV PATH $PATH:/usr/local/go/bin:$GOPATH/bin +ENV DOCKER_BUILDTAGS apparmor seccomp selinux +ENV RUNC_BUILDTAGS apparmor seccomp selinux + +ARG COMMON_FILES +COPY ${COMMON_FILES} /root/build-deb/debian +RUN mk-build-deps -t "apt-get -o Debug::pkgProblemResolver=yes --no-install-recommends -y" -i /root/build-deb/debian/control + +COPY sources/ /sources +ARG DISTRO +ARG SUITE +ENV DISTRO=${DISTRO} +ENV SUITE=${SUITE} + +COPY --from=golang /usr/local/go /usr/local/go + +WORKDIR /root/build-deb +COPY build-deb /root/build-deb/build-deb + +ENTRYPOINT ["/root/build-deb/build-deb"] diff --git a/packaging/deb/ubuntu-disco/Dockerfile b/packaging/deb/ubuntu-disco/Dockerfile new file mode 100644 index 000000000..03eba1071 --- /dev/null +++ b/packaging/deb/ubuntu-disco/Dockerfile @@ -0,0 +1,39 @@ +ARG GO_IMAGE +ARG DISTRO=ubuntu +ARG SUITE=disco +ARG BUILD_IMAGE=${DISTRO}:${SUITE} + +FROM ${GO_IMAGE} AS golang + +FROM ${BUILD_IMAGE} + +# Remove diverted man binary to prevent man-pages being replaced with "minimized" message. See docker/for-linux#639 +RUN 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; \ + fi + +RUN apt-get update && apt-get install -y curl devscripts equivs git + +ENV GOPROXY=direct +ENV GOPATH /go +ENV PATH $PATH:/usr/local/go/bin:$GOPATH/bin +ENV DOCKER_BUILDTAGS apparmor seccomp selinux +ENV RUNC_BUILDTAGS apparmor seccomp selinux + +ARG COMMON_FILES +COPY ${COMMON_FILES} /root/build-deb/debian +RUN mk-build-deps -t "apt-get -o Debug::pkgProblemResolver=yes --no-install-recommends -y" -i /root/build-deb/debian/control + +COPY sources/ /sources +ARG DISTRO +ARG SUITE +ENV DISTRO=${DISTRO} +ENV SUITE=${SUITE} + +COPY --from=golang /usr/local/go /usr/local/go + +WORKDIR /root/build-deb +COPY build-deb /root/build-deb/build-deb + +ENTRYPOINT ["/root/build-deb/build-deb"] diff --git a/packaging/deb/ubuntu-noble/Dockerfile b/packaging/deb/ubuntu-eoan/Dockerfile similarity index 71% rename from packaging/deb/ubuntu-noble/Dockerfile rename to packaging/deb/ubuntu-eoan/Dockerfile index 34ad0b9ba..94d02d248 100644 --- a/packaging/deb/ubuntu-noble/Dockerfile +++ b/packaging/deb/ubuntu-eoan/Dockerfile @@ -1,13 +1,18 @@ ARG GO_IMAGE ARG DISTRO=ubuntu -ARG SUITE=noble +ARG SUITE=eoan ARG BUILD_IMAGE=${DISTRO}:${SUITE} FROM ${GO_IMAGE} AS golang FROM ${BUILD_IMAGE} -ARG DEBIAN_FRONTEND=noninteractive +# Remove diverted man binary to prevent man-pages being replaced with "minimized" message. See docker/for-linux#639 +RUN 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; \ + fi + RUN apt-get update && apt-get install -y curl devscripts equivs git ENV GOPROXY=direct diff --git a/packaging/rpm/Makefile b/packaging/rpm/Makefile index e355d4c11..422f523f1 100644 --- a/packaging/rpm/Makefile +++ b/packaging/rpm/Makefile @@ -42,9 +42,8 @@ RUN?=$(RPMBUILD) rpmbuild-$@/$(ARCH) $(RPMBUILD_FLAGS) SOURCE_FILES=app.tgz cri-docker.service cri-docker.socket LICENSE SOURCES=$(addprefix rpmbuild/SOURCES/, $(SOURCE_FILES)) -FEDORA_RELEASES := fedora-39 fedora-40 +FEDORA_RELEASES := fedora-36 fedora-35 CENTOS_RELEASES := -ALMALINUX_RELEASES := almalinux-8 almalinux-9 .PHONY: help help: ## show make targets @@ -56,19 +55,16 @@ clean: ## remove build artifacts $(RM) -r rpmbuild/ .PHONY: rpm -rpm: fedora centos almalinux ## build all rpm packages +rpm: fedora centos ## build all rpm packages .PHONY: fedora fedora: $(FEDORA_RELEASES) ## build all fedora rpm packages .PHONY: centos -centos: $(CENTOS_RELEASES) ## build all centos stream rpm packages +centos: $(CENTOS_RELEASES) ## build all centos rpm packages -.PHONY: almalinux -almalinux: $(ALMALINUX_RELEASES) ## build all almalinux rpm packages - -.PHONY: $(FEDORA_RELEASES) $(CENTOS_RELEASES) $(ALMALINUX_RELEASES) -$(FEDORA_RELEASES) $(CENTOS_RELEASES) $(ALMALINUX_RELEASES): $(SOURCES) +.PHONY: $(FEDORA_RELEASES) $(CENTOS_RELEASES) +$(FEDORA_RELEASES) $(CENTOS_RELEASES): $(SOURCES) @echo "${APP_DIR}" @echo "${VERSION}" @echo "$(shell ./gen-rpm-ver $(APP_DIR) $(VERSION))" diff --git a/packaging/rpm/SPECS/cri-dockerd.spec b/packaging/rpm/SPECS/cri-dockerd.spec index ac5ca2e1b..a5be5a1c5 100644 --- a/packaging/rpm/SPECS/cri-dockerd.spec +++ b/packaging/rpm/SPECS/cri-dockerd.spec @@ -25,11 +25,8 @@ Requires: (iptables or nftables) Requires: iptables %endif %if %{undefined suse_version} -%if %{undefined rhel} || 0%{?rhel} < 9 -# Libcgroup is no longer available in RHEL/CentOS >= 9 distros. Requires: libcgroup %endif -%endif Requires: containerd.io >= 1.2.2-3 Requires: tar Requires: xz diff --git a/packaging/rpm/almalinux-8/Dockerfile b/packaging/rpm/centos-7/Dockerfile similarity index 66% rename from packaging/rpm/almalinux-8/Dockerfile rename to packaging/rpm/centos-7/Dockerfile index c34f3ddec..8ae3ed576 100644 --- a/packaging/rpm/almalinux-8/Dockerfile +++ b/packaging/rpm/centos-7/Dockerfile @@ -1,24 +1,26 @@ ARG GO_IMAGE -ARG DISTRO=almalinux -ARG SUITE=8 +ARG DISTRO=centos +ARG SUITE=7 ARG BUILD_IMAGE=${DISTRO}:${SUITE} FROM ${GO_IMAGE} AS golang FROM ${BUILD_IMAGE} -ARG DISTRO -ARG SUITE -ENV DISTRO ${DISTRO} -ENV SUITE ${SUITE} ENV GOPROXY=direct ENV GOPATH=/go ENV PATH $PATH:/usr/local/go/bin:$GOPATH/bin ENV AUTO_GOPATH 1 ENV DOCKER_BUILDTAGS seccomp selinux ENV RUNC_BUILDTAGS seccomp selinux +ARG DISTRO +ARG SUITE +ENV DISTRO=${DISTRO} +ENV SUITE=${SUITE} RUN yum install -y rpm-build rpmlint COPY SPECS /root/rpmbuild/SPECS +# Overwrite repo that was failing on aarch64 +RUN sed -i 's/altarch/centos/g' /etc/yum.repos.d/CentOS-Sources.repo RUN yum-builddep -y /root/rpmbuild/SPECS/*.spec -COPY --from=golang /usr/local/go /usr/local/go/ +COPY --from=golang /usr/local/go /usr/local/go WORKDIR /root/rpmbuild ENTRYPOINT ["/bin/rpmbuild"] diff --git a/packaging/rpm/almalinux-9/Dockerfile b/packaging/rpm/centos-8/Dockerfile similarity index 61% rename from packaging/rpm/almalinux-9/Dockerfile rename to packaging/rpm/centos-8/Dockerfile index 0bd433847..cf077499b 100644 --- a/packaging/rpm/almalinux-9/Dockerfile +++ b/packaging/rpm/centos-8/Dockerfile @@ -1,24 +1,26 @@ ARG GO_IMAGE -ARG DISTRO=almalinux -ARG SUITE=9 +ARG DISTRO=centos +ARG SUITE=8 ARG BUILD_IMAGE=${DISTRO}:${SUITE} FROM ${GO_IMAGE} AS golang FROM ${BUILD_IMAGE} -ARG DISTRO -ARG SUITE -ENV DISTRO ${DISTRO} -ENV SUITE ${SUITE} ENV GOPROXY=direct ENV GOPATH=/go ENV PATH $PATH:/usr/local/go/bin:$GOPATH/bin ENV AUTO_GOPATH 1 ENV DOCKER_BUILDTAGS seccomp selinux ENV RUNC_BUILDTAGS seccomp selinux -RUN yum install -y rpm-build rpmlint +ARG DISTRO +ARG SUITE +ENV DISTRO=${DISTRO} +ENV SUITE=${SUITE} +RUN yum install -y rpm-build rpmlint yum-utils +RUN dnf config-manager --set-enabled powertools COPY SPECS /root/rpmbuild/SPECS +# Overwrite repo that was failing on aarch64 RUN yum-builddep -y /root/rpmbuild/SPECS/*.spec -COPY --from=golang /usr/local/go /usr/local/go/ +COPY --from=golang /usr/local/go /usr/local/go WORKDIR /root/rpmbuild ENTRYPOINT ["/bin/rpmbuild"] diff --git a/packaging/rpm/centos-stream/Dockerfile b/packaging/rpm/centos-stream/Dockerfile new file mode 100644 index 000000000..2f5134768 --- /dev/null +++ b/packaging/rpm/centos-stream/Dockerfile @@ -0,0 +1,26 @@ +ARG GO_IMAGE +ARG DISTRO=aepifanov/centos7.vault +ARG SUITE=latest +ARG BUILD_IMAGE=${DISTRO}:${SUITE} + +FROM ${GO_IMAGE} AS golang + +FROM ${BUILD_IMAGE} +ENV GOPROXY=direct +ENV GOPATH=/go +ENV PATH $PATH:/usr/local/go/bin:$GOPATH/bin +ENV AUTO_GOPATH 1 +ENV DOCKER_BUILDTAGS seccomp selinux +ENV RUNC_BUILDTAGS seccomp selinux +ARG DISTRO +ARG SUITE +ENV DISTRO=${DISTRO} +ENV SUITE=${SUITE} +RUN yum install -y rpm-build rpmlint yum-utils +RUN dnf config-manager --set-enabled powertools +COPY SPECS /root/rpmbuild/SPECS +# Overwrite repo that was failing on aarch64 +RUN yum-builddep -y /root/rpmbuild/SPECS/*.spec +COPY --from=golang /usr/local/go /usr/local/go +WORKDIR /root/rpmbuild +ENTRYPOINT ["/bin/rpmbuild"] diff --git a/packaging/rpm/fedora-41/Dockerfile b/packaging/rpm/fedora-33/Dockerfile similarity index 97% rename from packaging/rpm/fedora-41/Dockerfile rename to packaging/rpm/fedora-33/Dockerfile index 06f66bbe0..d0afa38ed 100644 --- a/packaging/rpm/fedora-41/Dockerfile +++ b/packaging/rpm/fedora-33/Dockerfile @@ -1,6 +1,6 @@ ARG GO_IMAGE ARG DISTRO=fedora -ARG SUITE=41 +ARG SUITE=33 ARG BUILD_IMAGE=${DISTRO}:${SUITE} FROM ${GO_IMAGE} AS golang diff --git a/packaging/rpm/fedora-40/Dockerfile b/packaging/rpm/fedora-34/Dockerfile similarity index 97% rename from packaging/rpm/fedora-40/Dockerfile rename to packaging/rpm/fedora-34/Dockerfile index 48aa32239..16e72a573 100644 --- a/packaging/rpm/fedora-40/Dockerfile +++ b/packaging/rpm/fedora-34/Dockerfile @@ -1,6 +1,6 @@ ARG GO_IMAGE ARG DISTRO=fedora -ARG SUITE=40 +ARG SUITE=34 ARG BUILD_IMAGE=${DISTRO}:${SUITE} FROM ${GO_IMAGE} AS golang diff --git a/packaging/rpm/fedora-35/Dockerfile b/packaging/rpm/fedora-35/Dockerfile new file mode 100644 index 000000000..b914fcf8c --- /dev/null +++ b/packaging/rpm/fedora-35/Dockerfile @@ -0,0 +1,24 @@ +ARG GO_IMAGE +ARG DISTRO=fedora +ARG SUITE=35 +ARG BUILD_IMAGE=${DISTRO}:${SUITE} + +FROM ${GO_IMAGE} AS golang + +FROM ${BUILD_IMAGE} +ENV GOPROXY=direct +ENV GOPATH /go +ENV PATH $PATH:/usr/local/go/bin:$GOPATH/bin +ENV AUTO_GOPATH 1 +ENV DOCKER_BUILDTAGS seccomp selinux +ENV RUNC_BUILDTAGS seccomp selinux +ARG DISTRO +ARG SUITE +ENV DISTRO=${DISTRO} +ENV SUITE=${SUITE} +RUN dnf install -y rpm-build rpmlint dnf-plugins-core +COPY SPECS /root/rpmbuild/SPECS +RUN dnf builddep -y /root/rpmbuild/SPECS/*.spec +COPY --from=golang /usr/local/go /usr/local/go +WORKDIR /root/rpmbuild +ENTRYPOINT ["/bin/rpmbuild"] diff --git a/packaging/rpm/fedora-36/Dockerfile b/packaging/rpm/fedora-36/Dockerfile new file mode 100644 index 000000000..16823e93d --- /dev/null +++ b/packaging/rpm/fedora-36/Dockerfile @@ -0,0 +1,24 @@ +ARG GO_IMAGE +ARG DISTRO=fedora +ARG SUITE=36 +ARG BUILD_IMAGE=${DISTRO}:${SUITE} + +FROM ${GO_IMAGE} AS golang + +FROM ${BUILD_IMAGE} +ENV GOPROXY=direct +ENV GOPATH /go +ENV PATH $PATH:/usr/local/go/bin:$GOPATH/bin +ENV AUTO_GOPATH 1 +ENV DOCKER_BUILDTAGS seccomp selinux +ENV RUNC_BUILDTAGS seccomp selinux +ARG DISTRO +ARG SUITE +ENV DISTRO=${DISTRO} +ENV SUITE=${SUITE} +RUN dnf install -y rpm-build rpmlint dnf-plugins-core +COPY SPECS /root/rpmbuild/SPECS +RUN dnf builddep -y /root/rpmbuild/SPECS/*.spec +COPY --from=golang /usr/local/go /usr/local/go +WORKDIR /root/rpmbuild +ENTRYPOINT ["/bin/rpmbuild"]