diff --git a/test/images/image-util.sh b/test/images/image-util.sh index fffd5f4b34..588de2997c 100755 --- a/test/images/image-util.sh +++ b/test/images/image-util.sh @@ -103,6 +103,8 @@ push() { docker push ${REGISTRY}/${IMAGE}-${arch}:${TAG} done + kube::util::ensure-gnu-sed + # Make archs list into image manifest. Eg: 'amd64 ppc64le' to '${REGISTRY}/${IMAGE}-amd64:${TAG} ${REGISTRY}/${IMAGE}-ppc64le:${TAG}' manifest=$(echo $archs | ${SED} -e "s~[^ ]*~$REGISTRY\/$IMAGE\-&:$TAG~g") docker manifest create --amend ${REGISTRY}/${IMAGE}:${TAG} ${manifest} diff --git a/test/images/jessie-dnsutils/Dockerfile b/test/images/jessie-dnsutils/Dockerfile index abdbdba9a6..564b696235 100644 --- a/test/images/jessie-dnsutils/Dockerfile +++ b/test/images/jessie-dnsutils/Dockerfile @@ -16,6 +16,13 @@ FROM BASEIMAGE CROSS_BUILD_COPY qemu-QEMUARCH-static /usr/bin/ +# WARNING: Please note that the script below removes the security packages from arm64 and ppc64el images +# as they do not exist anymore in the debian repositories for jessie. So we do not recommend using this +# image for any production use and limit use of this image to just test scenarios. + +COPY fixup-apt-list.sh / +RUN ["/fixup-apt-list.sh"] + RUN apt-get -q update && \ apt-get install -y dnsutils && \ apt-get clean diff --git a/test/images/jessie-dnsutils/fixup-apt-list.sh b/test/images/jessie-dnsutils/fixup-apt-list.sh new file mode 100755 index 0000000000..1cb1605634 --- /dev/null +++ b/test/images/jessie-dnsutils/fixup-apt-list.sh @@ -0,0 +1,29 @@ +#!/usr/bin/env bash + +# Copyright 2017 The Kubernetes Authors. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +DEB_ARCH=$(dpkg --print-architecture) + +# http://security.debian.org/debian-security/dists/jessie/updates/InRelease is missing +# entries for some platforms, so we just remove the last line in sources.list in +# /etc/apt/sources.list which is "deb http://deb.debian.org/debian jessie-updates main" + +case ${DEB_ARCH} in + arm64|ppc64el) + sed -i '/debian-security/d' /etc/apt/sources.list + ;; +esac + +exit 0