Merge branch 'depend-on-nvidia-container-toolkit' into 'master'

Depend on nvidia-container-toolkit package instead of nvidia-container-runtime

See merge request nvidia/container-toolkit/nvidia-docker!21
This commit is contained in:
Evan Lezar 2021-09-20 15:14:05 +00:00
commit 5a304331c0
10 changed files with 48 additions and 30 deletions

View file

@ -5,10 +5,12 @@ MKDIR ?= mkdir
DIST_DIR ?= $(CURDIR)/dist
LIB_NAME := nvidia-docker2
LIB_VERSION := 2.6.0
PKG_REV := 1
LIB_VERSION := 2.6.1
LIB_TAG := rc.1
RUNTIME_VERSION := 3.5.0
# 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
# Supported OSs by architecture
AMD64_TARGETS := ubuntu20.04 ubuntu18.04 ubuntu16.04 debian10 debian9
@ -77,6 +79,7 @@ docker-all: $(AMD64_TARGETS) $(X86_64_TARGETS) \
# Default variables for all private '--' targets below.
# One private target is defined for each OS we support.
--%: PKG_REV = 1
--%: TARGET_PLATFORM = $(*)
--%: VERSION = $(patsubst $(OS)%-$(ARCH),%,$(TARGET_PLATFORM))
--%: BASEIMAGE = $(OS):$(VERSION)
@ -88,31 +91,37 @@ docker-all: $(AMD64_TARGETS) $(X86_64_TARGETS) \
# 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)
# 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)
# 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),2)
# private amazonlinuxtarget
--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).amzn$(VERSION),2.amzn$(VERSION))
# private opensuse-leap target
--opensuse-leap%: OS := opensuse-leap
--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%: VERSION = $(patsubst rhel%-$(ARCH),%,$(TARGET_PLATFORM))
--rhel%: ARTIFACTS_DIR = $(DIST_DIR)/rhel$(VERSION)/$(ARCH)
--rhel%: DOCKER_VERSION := docker-ce >= 18.06.3.ce-3.el7
--rhel%: PKG_REV := $(if $(LIB_TAG),0.1.$(LIB_TAG),2)
docker-build-%:
@echo "Building for $(TARGET_PLATFORM)"
@ -122,7 +131,7 @@ docker-build-%:
--progress=plain \
--build-arg BASEIMAGE="$(BASEIMAGE)" \
--build-arg DOCKER_VERSION="$(DOCKER_VERSION)" \
--build-arg RUNTIME_VERSION="$(RUNTIME_VERSION)" \
--build-arg TOOLKIT_VERSION="$(TOOLKIT_VERSION)" \
--build-arg PKG_VERS="$(LIB_VERSION)" \
--build-arg PKG_REV="$(PKG_REV)" \
--tag $(BUILDIMAGE) \

8
debian/changelog vendored
View file

@ -1,3 +1,11 @@
nvidia-docker2 (2.6.1~rc.1-1) UNRELEASED; urgency=medium
* [BUILD] Allow for TAG to be specified in Makfile to match other projects
* Replace nvidia-container-runtime dependece with nvidia-container-toolit >= 1.5.2
-- NVIDIA CORPORATION <cudatools@nvidia.com> Thu, 29 Apr 2021 05:25:25 +0000
nvidia-docker2 (2.6.0-1) UNRELEASED; urgency=medium
* Add dependence on nvidia-container-runtime >= 3.5.0

5
debian/control vendored
View file

@ -12,7 +12,6 @@ Package: nvidia-docker2
Architecture: all
Breaks: nvidia-docker (<< 2.0.0)
Replaces: nvidia-docker (<< 2.0.0)
Depends: ${misc:Depends}, nvidia-container-runtime (>= @RUNTIME_VERSION@), @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
nvidia-container-runtime
Replaces nvidia-docker with a new implementation based on the NVIDIA Container Toolkit

2
debian/prepare vendored
View file

@ -3,5 +3,5 @@
set -e
sed -i "s;@SECTION@;${SECTION:+$SECTION/};g" debian/control
sed -i "s;@RUNTIME_VERSION@;${RUNTIME_VERSION};g" debian/control
sed -i "s;@TOOLKIT_VERSION@;${TOOLKIT_VERSION};g" debian/control
sed -i "s;@DOCKER_VERSION@;${DOCKER_VERSION};g" debian/control

View file

@ -9,16 +9,16 @@ RUN yum install -y \
# packaging
ARG PKG_VERS
ARG PKG_REV
ARG RUNTIME_VERSION
ARG TOOLKIT_VERSION
ARG DOCKER_VERSION
ENV VERSION $PKG_VERS
ENV RELEASE $PKG_REV
ENV DOCKER_VERSION $DOCKER_VERSION
ENV RUNTIME_VERSION $RUNTIME_VERSION
ENV TOOLKIT_VERSION $TOOLKIT_VERSION
# output directory
ENV DIST_DIR=/tmp/nvidia-container-runtime-$PKG_VERS/SOURCES
ENV DIST_DIR=/tmp/nvidia-docker2-$PKG_VERS/SOURCES
RUN mkdir -p $DIST_DIR /dist
COPY nvidia-docker $DIST_DIR
@ -34,6 +34,6 @@ CMD rpmbuild --clean -bb \
-D "version $VERSION" \
-D "release $RELEASE" \
-D "docker_version $DOCKER_VERSION" \
-D "runtime_version $RUNTIME_VERSION" \
-D "toolkit_version $TOOLKIT_VERSION" \
SPECS/nvidia-docker2.spec && \
mv RPMS/noarch/*.rpm /dist

View file

@ -9,16 +9,16 @@ RUN yum install -y \
# packaging
ARG PKG_VERS
ARG PKG_REV
ARG RUNTIME_VERSION
ARG TOOLKIT_VERSION
ARG DOCKER_VERSION
ENV VERSION $PKG_VERS
ENV RELEASE $PKG_REV
ENV DOCKER_VERSION $DOCKER_VERSION
ENV RUNTIME_VERSION $RUNTIME_VERSION
ENV TOOLKIT_VERSION $TOOLKIT_VERSION
# output directory
ENV DIST_DIR=/tmp/nvidia-container-runtime-$PKG_VERS/SOURCES
ENV DIST_DIR=/tmp/nvidia-docker2-$PKG_VERS/SOURCES
RUN mkdir -p $DIST_DIR /dist
COPY nvidia-docker $DIST_DIR
@ -34,6 +34,6 @@ CMD rpmbuild --clean -bb \
-D "version $VERSION" \
-D "release $RELEASE" \
-D "docker_version $DOCKER_VERSION" \
-D "runtime_version $RUNTIME_VERSION" \
-D "toolkit_version $TOOLKIT_VERSION" \
SPECS/nvidia-docker2.spec && \
mv RPMS/noarch/*.rpm /dist

View file

@ -13,14 +13,14 @@ RUN apt-get update && apt-get install -y --no-install-recommends \
# packaging
ARG PKG_VERS
ARG PKG_REV
ARG RUNTIME_VERSION
ARG TOOLKIT_VERSION
ARG DOCKER_VERSION
ENV DEBFULLNAME "NVIDIA CORPORATION"
ENV DEBEMAIL "cudatools@nvidia.com"
ENV REVISION "$PKG_VERS-$PKG_REV"
ENV DOCKER_VERSION $DOCKER_VERSION
ENV RUNTIME_VERSION $RUNTIME_VERSION
ENV TOOLKIT_VERSION $TOOLKIT_VERSION
ENV SECTION ""
# output directory
@ -34,8 +34,7 @@ COPY daemon.json $DIST_DIR/daemon.json
WORKDIR $DIST_DIR
COPY debian ./debian
RUN sed -i "s;@VERSION@;${REVISION};" debian/changelog && \
sed -i "s;@VERSION@;${PKG_VERS};" $DIST_DIR/nvidia-docker && \
RUN sed -i "s;@VERSION@;${PKG_VERS};" $DIST_DIR/nvidia-docker && \
if [ "$REVISION" != "$(dpkg-parsechangelog --show-field=Version)" ]; then exit 1; fi
CMD export DISTRIB="unstable" && \

View file

@ -9,16 +9,16 @@ RUN zypper install -y \
# packaging
ARG PKG_VERS
ARG PKG_REV
ARG RUNTIME_VERSION
ARG TOOLKIT_VERSION
ARG DOCKER_VERSION
ENV VERSION $PKG_VERS
ENV RELEASE $PKG_REV
ENV DOCKER_VERSION $DOCKER_VERSION
ENV RUNTIME_VERSION $RUNTIME_VERSION
ENV TOOLKIT_VERSION $TOOLKIT_VERSION
# output directory
ENV DIST_DIR=/tmp/nvidia-container-runtime-$PKG_VERS/SOURCES
ENV DIST_DIR=/tmp/nvidia-docker2-$PKG_VERS/SOURCES
RUN mkdir -p $DIST_DIR /dist
COPY nvidia-docker $DIST_DIR
@ -34,6 +34,6 @@ CMD rpmbuild --clean -bb \
-D "version $VERSION" \
-D "release $RELEASE" \
-D "docker_version $DOCKER_VERSION" \
-D "runtime_version $RUNTIME_VERSION" \
-D "toolkit_version $TOOLKIT_VERSION" \
SPECS/nvidia-docker2.spec && \
mv RPMS/noarch/*.rpm /dist

View file

@ -14,14 +14,14 @@ RUN apt-get update && apt-get install -y --no-install-recommends \
# packaging
ARG PKG_VERS
ARG PKG_REV
ARG RUNTIME_VERSION
ARG TOOLKIT_VERSION
ARG DOCKER_VERSION
ENV DEBFULLNAME "NVIDIA CORPORATION"
ENV DEBEMAIL "cudatools@nvidia.com"
ENV REVISION "$PKG_VERS-$PKG_REV"
ENV DOCKER_VERSION $DOCKER_VERSION
ENV RUNTIME_VERSION $RUNTIME_VERSION
ENV TOOLKIT_VERSION $TOOLKIT_VERSION
ENV SECTION ""
# output directory
@ -35,8 +35,7 @@ COPY daemon.json $DIST_DIR/daemon.json
WORKDIR $DIST_DIR
COPY debian ./debian
RUN sed -i "s;@VERSION@;${REVISION};" debian/changelog && \
sed -i "s;@VERSION@;${PKG_VERS};" $DIST_DIR/nvidia-docker && \
RUN sed -i "s;@VERSION@;${PKG_VERS};" $DIST_DIR/nvidia-docker && \
if [ "$REVISION" != "$(dpkg-parsechangelog --show-field=Version)" ]; then echo "$(dpkg-parsechangelog --show-field=Version)" && exit 1; fi
CMD export DISTRIB="$(lsb_release -cs)" && \

View file

@ -16,11 +16,11 @@ Source1: daemon.json
Source2: LICENSE
Conflicts: nvidia-docker < 2.0.0
Requires: nvidia-container-runtime >= %{runtime_version}
Requires: nvidia-container-toolkit > %{toolkit_version}
Requires: %{docker_version}
%description
Replaces nvidia-docker with a new implementation based on nvidia-container-runtime
Replaces nvidia-docker with a new implementation based on the NVIDIA Container Toolkit
%prep
cp %{SOURCE0} %{SOURCE1} %{SOURCE2} .
@ -37,6 +37,10 @@ install -m 644 -t %{buildroot}/etc/docker daemon.json
%config /etc/docker/daemon.json
%changelog
* Mon Sep 06 2021 NVIDIA CORPORATION <cudatools@nvidia.com> 2.6.1-0.1.rc.1
- [BUILD] Allow for TAG to be specified in Makfile to match other projects
- Replace nvidia-container-runtime dependece with nvidia-container-toolit >= 1.5.2
* Thu Apr 29 2021 NVIDIA CORPORATION <cudatools@nvidia.com> 2.6.0-1
- Add dependence on nvidia-container-runtime >= 3.5.0
- Add Jenkinsfile for building packages