Skip to content

Commit 864b5e2

Browse files
authored
Do not use deprecated apt-key by default (#498)
1 parent b6a6795 commit 864b5e2

File tree

11 files changed

+52
-46
lines changed

11 files changed

+52
-46
lines changed

hpccm/building_blocks/apt_get.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -83,7 +83,7 @@ def __init__(self, **kwargs):
8383

8484
super(apt_get, self).__init__()
8585

86-
self.__apt_key = kwargs.get('_apt_key', True)
86+
self.__apt_key = kwargs.get('_apt_key', False)
8787
self.__aptitude = kwargs.get('aptitude', False)
8888
self.__commands = []
8989
self.__download = kwargs.get('download', False)

hpccm/building_blocks/intel_mpi.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -126,6 +126,7 @@ def __instructions(self):
126126
raise RuntimeError('Intel EULA was not accepted. To accept, see the documentation for this building block')
127127

128128
self += packages(
129+
_apt_key=True,
129130
apt_keys=['https://apt.repos.intel.com/intel-gpg-keys/GPG-PUB-KEY-INTEL-SW-PRODUCTS-{}.PUB'.format(self.__year)],
130131
apt_repositories=['deb https://apt.repos.intel.com/mpi all main'],
131132
ospackages=['intel-mpi-{}'.format(self.__version)],

hpccm/building_blocks/intel_psxe_runtime.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -176,6 +176,7 @@ def __instructions(self):
176176

177177
self += packages(
178178
apt=self.__apt,
179+
_apt_key=True,
179180
apt_keys = ['https://apt.repos.intel.com/{0}/GPG-PUB-KEY-INTEL-PSXE-RUNTIME-{0}'.format(self.__year)],
180181
apt_repositories=apt_repositories,
181182
aptitude=True,

hpccm/building_blocks/llvm.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -381,8 +381,8 @@ def __upstream_package_repos(self):
381381
raise RuntimeError('Unsupported Ubuntu version')
382382

383383
return [
384-
'deb http://apt.llvm.org/{0}/ llvm-toolchain-{1} main'.format(codename, codename_ver),
385-
'deb-src http://apt.llvm.org/{0}/ llvm-toolchain-{1} main'.format(codename, codename_ver)]
384+
'deb [signed-by=/usr/share/keyrings/llvm-snapshot.gpg.gpg] http://apt.llvm.org/{0}/ llvm-toolchain-{1} main'.format(codename, codename_ver),
385+
'deb-src [signed-by=/usr/share/keyrings/llvm-snapshot.gpg.gpg] http://apt.llvm.org/{0}/ llvm-toolchain-{1} main'.format(codename, codename_ver)]
386386

387387
def runtime(self, _from='0'):
388388
"""Generate the set of instructions to install the runtime specific

hpccm/building_blocks/mkl.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -118,6 +118,7 @@ def __instructions(self):
118118
raise RuntimeError('Intel EULA was not accepted. To accept, see the documentation for this building block')
119119

120120
self += packages(
121+
_apt_key=True,
121122
apt_keys=['https://apt.repos.intel.com/intel-gpg-keys/GPG-PUB-KEY-INTEL-SW-PRODUCTS-{}.PUB'.format(self.__year)],
122123
apt_repositories=['deb https://apt.repos.intel.com/mkl all main'],
123124
ospackages=['intel-mkl-64bit-{}'.format(self.__version)],

hpccm/building_blocks/mlnx_ofed.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -133,6 +133,7 @@ def __instructions(self):
133133
self += packages(ospackages=self.__ospackages)
134134

135135
self += packages(
136+
_apt_key=True,
136137
apt_keys=[self.__key],
137138
apt_repositories=['https://linux.mellanox.com/public/repo/mlnx_ofed/{0}/{1}/mellanox_mlnx_ofed.list'.format(self.__version, self.__oslabel)],
138139
download=bool(self.__prefix),

hpccm/building_blocks/nccl.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -124,7 +124,7 @@ def __init__(self, **kwargs):
124124
'libnccl-dev={0}+cuda{1}'.format(self.__version,
125125
self.__cuda)],
126126
apt_keys=['https://developer.download.nvidia.com/compute/cuda/repos/{0}/{1}/3bf863cc.pub'.format(self.__distro_label, get_cpu_architecture())],
127-
apt_repositories=['deb https://developer.download.nvidia.com/compute/cuda/repos/{0}/{1} /'.format(self.__distro_label, get_cpu_architecture())],
127+
apt_repositories=['deb [signed-by=/usr/share/keyrings/3bf863cc.gpg] https://developer.download.nvidia.com/compute/cuda/repos/{0}/{1} /'.format(self.__distro_label, get_cpu_architecture())],
128128
yum=['libnccl-{0}+cuda{1}'.format(self.__version, self.__cuda),
129129
'libnccl-devel-{0}+cuda{1}'.format(self.__version,
130130
self.__cuda)],
@@ -247,7 +247,7 @@ def runtime(self, _from='0'):
247247
apt=['libnccl2={0}+cuda{1}'.format(self.__version,
248248
self.__cuda)],
249249
apt_keys=['https://developer.download.nvidia.com/compute/cuda/repos/{0}/{1}/3bf863cc.pub'.format(self.__distro_label, get_cpu_architecture())],
250-
apt_repositories=['deb https://developer.download.nvidia.com/compute/cuda/repos/{0}/{1} /'.format(self.__distro_label, get_cpu_architecture())],
250+
apt_repositories=['deb [signed-by=/usr/share/keyrings/3bf863cc.gpg] https://developer.download.nvidia.com/compute/cuda/repos/{0}/{1} /'.format(self.__distro_label, get_cpu_architecture())],
251251
yum=['libnccl-{0}+cuda{1}'.format(self.__version, self.__cuda)],
252252
yum_keys=['https://developer.download.nvidia.com/compute/cuda/repos/{0}/{1}/3bf863cc.pub'.format(self.__distro_label, get_cpu_architecture())],
253253
yum_repositories=['https://developer.download.nvidia.com/compute/cuda/repos/{0}/{1}'.format(self.__distro_label, get_cpu_architecture())])

hpccm/building_blocks/packages.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -134,7 +134,7 @@ def __init__(self, **kwargs):
134134
super(packages, self).__init__()
135135

136136
self.__apt = kwargs.get('apt', [])
137-
self.__apt_key = kwargs.get('_apt_key', True)
137+
self.__apt_key = kwargs.get('_apt_key', False)
138138
self.__apt_keys = kwargs.get('apt_keys', [])
139139
self.__apt_ppas = kwargs.get('apt_ppas', [])
140140
self.__apt_repositories = kwargs.get('apt_repositories', [])

test/test_apt_get.py

Lines changed: 1 addition & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -44,27 +44,11 @@ def test_basic(self):
4444
gfortran && \
4545
rm -rf /var/lib/apt/lists/*''')
4646

47-
@ubuntu
48-
@docker
49-
def test_add_repo(self):
50-
"""Add repo and key"""
51-
a = apt_get(keys=['https://www.example.com/key.pub'],
52-
ospackages=['example'],
53-
repositories=['deb http://www.example.com all main'])
54-
self.assertEqual(str(a),
55-
r'''RUN wget -qO - https://www.example.com/key.pub | apt-key add - && \
56-
echo "deb http://www.example.com all main" >> /etc/apt/sources.list.d/hpccm.list && \
57-
apt-get update -y && \
58-
DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends \
59-
example && \
60-
rm -rf /var/lib/apt/lists/*''')
61-
6247
@ubuntu
6348
@docker
6449
def test_add_repo_signed_by(self):
6550
"""Add repo and key, using the signed-by method rather than apt-key"""
66-
a = apt_get(_apt_key=False,
67-
keys=['https://www.example.com/key.pub'],
51+
a = apt_get(keys=['https://www.example.com/key.pub'],
6852
ospackages=['example'],
6953
repositories=['deb [signed-by=/usr/share/keyrings/key.gpg] http://www.example.com all main'])
7054
self.assertEqual(str(a),

test/test_llvm.py

Lines changed: 25 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -330,9 +330,11 @@ def test_upstream_ubuntu16(self):
330330
gnupg \
331331
wget && \
332332
rm -rf /var/lib/apt/lists/*
333-
RUN wget -qO - https://apt.llvm.org/llvm-snapshot.gpg.key | apt-key add - && \
334-
echo "deb http://apt.llvm.org/xenial/ llvm-toolchain-xenial-10 main" >> /etc/apt/sources.list.d/hpccm.list && \
335-
echo "deb-src http://apt.llvm.org/xenial/ llvm-toolchain-xenial-10 main" >> /etc/apt/sources.list.d/hpccm.list && \
333+
RUN mkdir -p /usr/share/keyrings && \
334+
rm -f /usr/share/keyrings/llvm-snapshot.gpg.gpg && \
335+
wget -qO - https://apt.llvm.org/llvm-snapshot.gpg.key | gpg --dearmor -o /usr/share/keyrings/llvm-snapshot.gpg.gpg && \
336+
echo "deb [signed-by=/usr/share/keyrings/llvm-snapshot.gpg.gpg] http://apt.llvm.org/xenial/ llvm-toolchain-xenial-10 main" >> /etc/apt/sources.list.d/hpccm.list && \
337+
echo "deb-src [signed-by=/usr/share/keyrings/llvm-snapshot.gpg.gpg] http://apt.llvm.org/xenial/ llvm-toolchain-xenial-10 main" >> /etc/apt/sources.list.d/hpccm.list && \
336338
apt-get update -y && \
337339
DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends \
338340
clang-10 \
@@ -356,9 +358,11 @@ def test_upstream_ubuntu18(self):
356358
gnupg \
357359
wget && \
358360
rm -rf /var/lib/apt/lists/*
359-
RUN wget -qO - https://apt.llvm.org/llvm-snapshot.gpg.key | apt-key add - && \
360-
echo "deb http://apt.llvm.org/bionic/ llvm-toolchain-bionic main" >> /etc/apt/sources.list.d/hpccm.list && \
361-
echo "deb-src http://apt.llvm.org/bionic/ llvm-toolchain-bionic main" >> /etc/apt/sources.list.d/hpccm.list && \
361+
RUN mkdir -p /usr/share/keyrings && \
362+
rm -f /usr/share/keyrings/llvm-snapshot.gpg.gpg && \
363+
wget -qO - https://apt.llvm.org/llvm-snapshot.gpg.key | gpg --dearmor -o /usr/share/keyrings/llvm-snapshot.gpg.gpg && \
364+
echo "deb [signed-by=/usr/share/keyrings/llvm-snapshot.gpg.gpg] http://apt.llvm.org/bionic/ llvm-toolchain-bionic main" >> /etc/apt/sources.list.d/hpccm.list && \
365+
echo "deb-src [signed-by=/usr/share/keyrings/llvm-snapshot.gpg.gpg] http://apt.llvm.org/bionic/ llvm-toolchain-bionic main" >> /etc/apt/sources.list.d/hpccm.list && \
362366
apt-get update -y && \
363367
DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends \
364368
clang-18 \
@@ -386,9 +390,11 @@ def test_upstream_ubuntu24(self):
386390
gnupg \
387391
wget && \
388392
rm -rf /var/lib/apt/lists/*
389-
RUN wget -qO - https://apt.llvm.org/llvm-snapshot.gpg.key | apt-key add - && \
390-
echo "deb http://apt.llvm.org/noble/ llvm-toolchain-noble main" >> /etc/apt/sources.list.d/hpccm.list && \
391-
echo "deb-src http://apt.llvm.org/noble/ llvm-toolchain-noble main" >> /etc/apt/sources.list.d/hpccm.list && \
393+
RUN mkdir -p /usr/share/keyrings && \
394+
rm -f /usr/share/keyrings/llvm-snapshot.gpg.gpg && \
395+
wget -qO - https://apt.llvm.org/llvm-snapshot.gpg.key | gpg --dearmor -o /usr/share/keyrings/llvm-snapshot.gpg.gpg && \
396+
echo "deb [signed-by=/usr/share/keyrings/llvm-snapshot.gpg.gpg] http://apt.llvm.org/noble/ llvm-toolchain-noble main" >> /etc/apt/sources.list.d/hpccm.list && \
397+
echo "deb-src [signed-by=/usr/share/keyrings/llvm-snapshot.gpg.gpg] http://apt.llvm.org/noble/ llvm-toolchain-noble main" >> /etc/apt/sources.list.d/hpccm.list && \
392398
apt-get update -y && \
393399
DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends \
394400
clang-18 \
@@ -415,9 +421,11 @@ def test_upstream_ubuntu20(self):
415421
gnupg \
416422
wget && \
417423
rm -rf /var/lib/apt/lists/*
418-
RUN wget -qO - https://apt.llvm.org/llvm-snapshot.gpg.key | apt-key add - && \
419-
echo "deb http://apt.llvm.org/focal/ llvm-toolchain-focal main" >> /etc/apt/sources.list.d/hpccm.list && \
420-
echo "deb-src http://apt.llvm.org/focal/ llvm-toolchain-focal main" >> /etc/apt/sources.list.d/hpccm.list && \
424+
RUN mkdir -p /usr/share/keyrings && \
425+
rm -f /usr/share/keyrings/llvm-snapshot.gpg.gpg && \
426+
wget -qO - https://apt.llvm.org/llvm-snapshot.gpg.key | gpg --dearmor -o /usr/share/keyrings/llvm-snapshot.gpg.gpg && \
427+
echo "deb [signed-by=/usr/share/keyrings/llvm-snapshot.gpg.gpg] http://apt.llvm.org/focal/ llvm-toolchain-focal main" >> /etc/apt/sources.list.d/hpccm.list && \
428+
echo "deb-src [signed-by=/usr/share/keyrings/llvm-snapshot.gpg.gpg] http://apt.llvm.org/focal/ llvm-toolchain-focal main" >> /etc/apt/sources.list.d/hpccm.list && \
421429
apt-get update -y && \
422430
DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends \
423431
clang-18 \
@@ -445,9 +453,11 @@ def test_upstream_aarch64(self):
445453
gnupg \
446454
wget && \
447455
rm -rf /var/lib/apt/lists/*
448-
RUN wget -qO - https://apt.llvm.org/llvm-snapshot.gpg.key | apt-key add - && \
449-
echo "deb http://apt.llvm.org/xenial/ llvm-toolchain-xenial-11 main" >> /etc/apt/sources.list.d/hpccm.list && \
450-
echo "deb-src http://apt.llvm.org/xenial/ llvm-toolchain-xenial-11 main" >> /etc/apt/sources.list.d/hpccm.list && \
456+
RUN mkdir -p /usr/share/keyrings && \
457+
rm -f /usr/share/keyrings/llvm-snapshot.gpg.gpg && \
458+
wget -qO - https://apt.llvm.org/llvm-snapshot.gpg.key | gpg --dearmor -o /usr/share/keyrings/llvm-snapshot.gpg.gpg && \
459+
echo "deb [signed-by=/usr/share/keyrings/llvm-snapshot.gpg.gpg] http://apt.llvm.org/xenial/ llvm-toolchain-xenial-11 main" >> /etc/apt/sources.list.d/hpccm.list && \
460+
echo "deb-src [signed-by=/usr/share/keyrings/llvm-snapshot.gpg.gpg] http://apt.llvm.org/xenial/ llvm-toolchain-xenial-11 main" >> /etc/apt/sources.list.d/hpccm.list && \
451461
apt-get update -y && \
452462
DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends \
453463
clang-11 \

test/test_nccl.py

Lines changed: 16 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -46,8 +46,10 @@ def test_defaults_ubuntu(self):
4646
gnupg \
4747
wget && \
4848
rm -rf /var/lib/apt/lists/*
49-
RUN wget -qO - https://developer.download.nvidia.com/compute/cuda/repos/ubuntu1604/x86_64/3bf863cc.pub | apt-key add - && \
50-
echo "deb https://developer.download.nvidia.com/compute/cuda/repos/ubuntu1604/x86_64 /" >> /etc/apt/sources.list.d/hpccm.list && \
49+
RUN mkdir -p /usr/share/keyrings && \
50+
rm -f /usr/share/keyrings/3bf863cc.gpg && \
51+
wget -qO - https://developer.download.nvidia.com/compute/cuda/repos/ubuntu1604/x86_64/3bf863cc.pub | gpg --dearmor -o /usr/share/keyrings/3bf863cc.gpg && \
52+
echo "deb [signed-by=/usr/share/keyrings/3bf863cc.gpg] https://developer.download.nvidia.com/compute/cuda/repos/ubuntu1604/x86_64 /" >> /etc/apt/sources.list.d/hpccm.list && \
5153
apt-get update -y && \
5254
DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends \
5355
libnccl-dev=2.12.10-1+cuda11.6 \
@@ -69,8 +71,10 @@ def test_defaults_ubuntu18(self):
6971
gnupg \
7072
wget && \
7173
rm -rf /var/lib/apt/lists/*
72-
RUN wget -qO - https://developer.download.nvidia.com/compute/cuda/repos/ubuntu1804/x86_64/3bf863cc.pub | apt-key add - && \
73-
echo "deb https://developer.download.nvidia.com/compute/cuda/repos/ubuntu1804/x86_64 /" >> /etc/apt/sources.list.d/hpccm.list && \
74+
RUN mkdir -p /usr/share/keyrings && \
75+
rm -f /usr/share/keyrings/3bf863cc.gpg && \
76+
wget -qO - https://developer.download.nvidia.com/compute/cuda/repos/ubuntu1804/x86_64/3bf863cc.pub | gpg --dearmor -o /usr/share/keyrings/3bf863cc.gpg && \
77+
echo "deb [signed-by=/usr/share/keyrings/3bf863cc.gpg] https://developer.download.nvidia.com/compute/cuda/repos/ubuntu1804/x86_64 /" >> /etc/apt/sources.list.d/hpccm.list && \
7478
apt-get update -y && \
7579
DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends \
7680
libnccl-dev=2.12.10-1+cuda11.6 \
@@ -92,8 +96,10 @@ def test_ubuntu_ppc64le(self):
9296
gnupg \
9397
wget && \
9498
rm -rf /var/lib/apt/lists/*
95-
RUN wget -qO - https://developer.download.nvidia.com/compute/cuda/repos/ubuntu1604/ppc64el/3bf863cc.pub | apt-key add - && \
96-
echo "deb https://developer.download.nvidia.com/compute/cuda/repos/ubuntu1604/ppc64el /" >> /etc/apt/sources.list.d/hpccm.list && \
99+
RUN mkdir -p /usr/share/keyrings && \
100+
rm -f /usr/share/keyrings/3bf863cc.gpg && \
101+
wget -qO - https://developer.download.nvidia.com/compute/cuda/repos/ubuntu1604/ppc64el/3bf863cc.pub | gpg --dearmor -o /usr/share/keyrings/3bf863cc.gpg && \
102+
echo "deb [signed-by=/usr/share/keyrings/3bf863cc.gpg] https://developer.download.nvidia.com/compute/cuda/repos/ubuntu1604/ppc64el /" >> /etc/apt/sources.list.d/hpccm.list && \
97103
apt-get update -y && \
98104
DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends \
99105
libnccl-dev=2.4.8-1+cuda9.2 \
@@ -217,8 +223,10 @@ def test_runtime(self):
217223
gnupg \
218224
wget && \
219225
rm -rf /var/lib/apt/lists/*
220-
RUN wget -qO - https://developer.download.nvidia.com/compute/cuda/repos/ubuntu1604/x86_64/3bf863cc.pub | apt-key add - && \
221-
echo "deb https://developer.download.nvidia.com/compute/cuda/repos/ubuntu1604/x86_64 /" >> /etc/apt/sources.list.d/hpccm.list && \
226+
RUN mkdir -p /usr/share/keyrings && \
227+
rm -f /usr/share/keyrings/3bf863cc.gpg && \
228+
wget -qO - https://developer.download.nvidia.com/compute/cuda/repos/ubuntu1604/x86_64/3bf863cc.pub | gpg --dearmor -o /usr/share/keyrings/3bf863cc.gpg && \
229+
echo "deb [signed-by=/usr/share/keyrings/3bf863cc.gpg] https://developer.download.nvidia.com/compute/cuda/repos/ubuntu1604/x86_64 /" >> /etc/apt/sources.list.d/hpccm.list && \
222230
apt-get update -y && \
223231
DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends \
224232
libnccl2=2.12.10-1+cuda11.6 && \

0 commit comments

Comments
 (0)