From 38752d3494f62315dac9f5b7cf5475d79f542510 Mon Sep 17 00:00:00 2001 From: Evan Lezar Date: Thu, 4 Nov 2021 16:24:23 +0100 Subject: [PATCH] Bump version to 2.7.0-rc.2 This also allows the TOOLKIT dependency to be specified as a make variable requiring fewer changes when releasing this package from the toolkit in future. Signed-off-by: Evan Lezar --- Makefile | 7 ++--- debian/changelog | 6 ++++ debian/control | 2 +- docker/Dockerfile.debian | 2 ++ docker/Dockerfile.ubuntu | 2 ++ docker/docker.mk | 53 ++++++++++++++++++++++++++--------- rpm/SPECS/nvidia-docker2.spec | 8 ++++-- 7 files changed, 58 insertions(+), 22 deletions(-) diff --git a/Makefile b/Makefile index 66816c6..a8f8a7b 100644 --- a/Makefile +++ b/Makefile @@ -14,11 +14,10 @@ LIB_NAME := nvidia-docker2 LIB_VERSION := 2.7.0 -LIB_TAG := rc.1 +LIB_TAG := rc.2 -# Note: This should be the previous full release of nvidia-container-toolkit to ensure -# that release candidate (e.g. rc.1) work as expected. -TOOLKIT_VERSION := 1.5.1 +TOOLKIT_VERSION ?= 1.6.0 +TOOLKIT_TAG ?= rc.2 # By default run all native docker-based targets docker-native: diff --git a/debian/changelog b/debian/changelog index 63a17b7..0d54252 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,3 +1,9 @@ +nvidia-docker2 (2.7.0~rc.2-1) UNRELEASED; urgency=medium + + * Allow the toolkit version to be specified as a variable + + -- NVIDIA CORPORATION Thu, 04 Nov 2021 14:14:32 +0000 + nvidia-docker2 (2.7.0~rc.1-1) UNRELEASED; urgency=medium * Add AARCH64 package for Amazon Linux 2 diff --git a/debian/control b/debian/control index ec86d08..ee8d0c4 100644 --- a/debian/control +++ b/debian/control @@ -12,6 +12,6 @@ Package: nvidia-docker2 Architecture: all Breaks: nvidia-docker (<< 2.0.0) Replaces: nvidia-docker (<< 2.0.0) -Depends: ${misc:Depends}, nvidia-container-toolkit (>> @TOOLKIT_VERSION@-1), @DOCKER_VERSION@ +Depends: ${misc:Depends}, nvidia-container-toolkit (>= @TOOLKIT_VERSION@), @DOCKER_VERSION@ Description: nvidia-docker CLI wrapper Replaces nvidia-docker with a new implementation based on the NVIDIA Container Toolkit diff --git a/docker/Dockerfile.debian b/docker/Dockerfile.debian index 1bc7b61..a2a9fc0 100644 --- a/docker/Dockerfile.debian +++ b/docker/Dockerfile.debian @@ -35,6 +35,8 @@ WORKDIR $DIST_DIR COPY debian ./debian RUN sed -i "s;@VERSION@;${PKG_VERS};" $DIST_DIR/nvidia-docker && \ + dch --changelog debian/changelog --append "Bump nvidia-container-toolkit dependency to ${TOOLKIT_VERSION}" && \ + dch --changelog debian/changelog -r "" && \ if [ "$REVISION" != "$(dpkg-parsechangelog --show-field=Version)" ]; then exit 1; fi CMD export DISTRIB="unstable" && \ diff --git a/docker/Dockerfile.ubuntu b/docker/Dockerfile.ubuntu index 8ecee60..ce27137 100644 --- a/docker/Dockerfile.ubuntu +++ b/docker/Dockerfile.ubuntu @@ -36,6 +36,8 @@ WORKDIR $DIST_DIR COPY debian ./debian RUN sed -i "s;@VERSION@;${PKG_VERS};" $DIST_DIR/nvidia-docker && \ + dch --changelog debian/changelog --append "Bump nvidia-container-toolkit dependency to ${TOOLKIT_VERSION}" && \ + dch --changelog debian/changelog -r "" && \ if [ "$REVISION" != "$(dpkg-parsechangelog --show-field=Version)" ]; then echo "$(dpkg-parsechangelog --show-field=Version)" && exit 1; fi CMD export DISTRIB="$(lsb_release -cs)" && \ diff --git a/docker/docker.mk b/docker/docker.mk index 327645a..1510756 100644 --- a/docker/docker.mk +++ b/docker/docker.mk @@ -92,41 +92,66 @@ docker-all: $(AMD64_TARGETS) $(X86_64_TARGETS) \ --%: docker-build-% @ +DEB_LIB_VERSION := $(LIB_VERSION)$(if $(LIB_TAG),~$(LIB_TAG)) +DEB_PKG_REV := 1 +DEB_TOOLKIT_VERSION := $(TOOLKIT_VERSION)$(if $(TOOLKIT_TAG),~$(TOOLKIT_TAG)) +DEB_TOOLKIT_REV := 1 + +RPM_LIB_VERSION := $(LIB_VERSION) +RPM_PKG_REV := $(if $(LIB_TAG),0.1.$(LIB_TAG),1) +RPM_TOOLKIT_VERSION := $(TOOLKIT_VERSION) +RPM_TOOLKIT_REV := $(if $(TOOLKIT_TAG),0.1.$(TOOLKIT_TAG),1) + # private OS targets with defaults # private ubuntu target --ubuntu%: OS := ubuntu ---ubuntu%: LIB_VERSION := $(LIB_VERSION)$(if $(LIB_TAG),~$(LIB_TAG)) ---ubuntu%: DOCKER_VERSION := docker-ce (>= 18.06.0~ce~3-0~ubuntu) | docker-ee (>= 18.06.0~ce~3-0~ubuntu) | docker.io (>= 18.06.0) ---ubuntu%: PKG_REV := 1 +--ubuntu%: LIB_VERSION := $(DEB_LIB_VERSION) +--ubuntu%: PKG_REV := $(DEB_PKG_REV) +--ubuntu%: TOOLKIT_VERSION := $(DEB_TOOLKIT_VERSION) +--ubuntu%: TOOLKIT_REV := $(DEB_TOOLKIT_REV) # private debian target --debian%: OS := debian ---debian%: LIB_VERSION := $(LIB_VERSION)$(if $(LIB_TAG),~$(LIB_TAG)) ---debian%: DOCKER_VERSION := docker-ce (>= 18.06.0~ce~3-0~debian) | docker-ee (>= 18.06.0~ce~3-0~debian) | docker.io (>= 18.06.0) ---debian%: PKG_REV := 1 +--debian%: LIB_VERSION := $(DEB_LIB_VERSION) +--debian%: PKG_REV := $(DEB_PKG_REV) +--debian%: TOOLKIT_VERSION := $(DEB_TOOLKIT_VERSION) +--debian%: TOOLKIT_REV := $(DEB_TOOLKIT_REV) + # private centos target --centos%: OS := centos ---centos%: DOCKER_VERSION := docker-ce >= 18.06.3.ce-3.el7 ---centos%: PKG_REV := $(if $(LIB_TAG),0.1.$(LIB_TAG),1) +--centos%: PKG_REV := $(RPM_PKG_REV) +--centos%: TOOLKIT_VERSION := $(RPM_TOOLKIT_VERSION) +--centos%: TOOLKIT_REV := $(RPM_TOOLKIT_REV) # private amazonlinux target --amazonlinux%: OS := amazonlinux ---amazonlinux2%: DOCKER_VERSION := docker >= 18.06.1ce-2.amzn2 ---amazonlinux1%: DOCKER_VERSION := docker >= 18.06.1ce-2.16.amzn1 ---amazonlinux%: PKG_REV := $(if $(LIB_TAG),0.1.$(LIB_TAG),1) +--amazonlinux%: PKG_REV := $(RPM_PKG_REV) +--amazonlinux%: TOOLKIT_VERSION := $(RPM_TOOLKIT_VERSION) +--amazonlinux%: TOOLKIT_REV := $(RPM_TOOLKIT_REV) # private opensuse-leap target with overrides --opensuse-leap%: OS := opensuse-leap +--opensuse-leap%: PKG_REV := $(RPM_PKG_REV) +--opensuse-leap%: TOOLKIT_VERSION := $(RPM_TOOLKIT_VERSION) +--opensuse-leap%: TOOLKIT_REV := $(RPM_TOOLKIT_REV) --opensuse-leap%: BASEIMAGE = opensuse/leap:$(VERSION) ---opensuse-leap%: DOCKER_VERSION := docker >= 18.09.1_ce ---opensuse-leap%: PKG_REV := $(if $(LIB_TAG),0.1.$(LIB_TAG),1) # private rhel target (actually built on centos) --rhel%: OS := centos ---rhel%: PKG_REV := $(if $(LIB_TAG),0.1.$(LIB_TAG),1) +--rhel%: PKG_REV := $(RPM_PKG_REV) +--rhel%: TOOLKIT_VERSION := $(RPM_TOOLKIT_VERSION) +--rhel%: TOOLKIT_REV := $(RPM_TOOLKIT_REV) --rhel%: VERSION = $(patsubst rhel%-$(ARCH),%,$(TARGET_PLATFORM)) --rhel%: ARTIFACTS_DIR = $(DIST_DIR)/rhel$(VERSION)/$(ARCH) + +# Specify required docker versions +--ubuntu%: DOCKER_VERSION := docker-ce (>= 18.06.0~ce~3-0~ubuntu) | docker-ee (>= 18.06.0~ce~3-0~ubuntu) | docker.io (>= 18.06.0) +--debian%: DOCKER_VERSION := docker-ce (>= 18.06.0~ce~3-0~debian) | docker-ee (>= 18.06.0~ce~3-0~debian) | docker.io (>= 18.06.0) +--centos%: DOCKER_VERSION := docker-ce >= 18.06.3.ce-3.el7 +--amazonlinux2%: DOCKER_VERSION := docker >= 18.06.1ce-2.amzn2 +--amazonlinux1%: DOCKER_VERSION := docker >= 18.06.1ce-2.16.amzn1 +--opensuse-leap%: DOCKER_VERSION := docker >= 18.09.1_ce --rhel%: DOCKER_VERSION := docker-ce >= 18.06.3.ce-3.el7 docker-build-%: diff --git a/rpm/SPECS/nvidia-docker2.spec b/rpm/SPECS/nvidia-docker2.spec index 3d26190..f072c58 100644 --- a/rpm/SPECS/nvidia-docker2.spec +++ b/rpm/SPECS/nvidia-docker2.spec @@ -16,9 +16,7 @@ Source1: daemon.json Source2: LICENSE Conflicts: nvidia-docker < 2.0.0 -# Note: The -3 revision in the required toolkit version is to handle the released versions of -# The nvidia-container-toolkit 1.5.1 package. This can be replaced with '-1' in subsequent releases. -Requires: nvidia-container-toolkit > %{toolkit_version}-3 +Requires: nvidia-container-toolkit > %{toolkit_version} Requires: %{docker_version} %description @@ -39,6 +37,10 @@ install -m 644 -t %{buildroot}/etc/docker daemon.json %config /etc/docker/daemon.json %changelog +* Thu Nov 04 2021 NVIDIA CORPORATION 2.7.0-0.1.rc.2 +- Bump nvidia-container-toolkit dependency to %{toolkit_version} +- Allow the toolkit version to be specified as a variable + * Mon Sep 06 2021 NVIDIA CORPORATION 2.7.0-0.1.rc.1 - Add AARCH64 package for Amazon Linux 2 - [BUILD] Allow for TAG to be specified in Makfile to match other projects