diff --git a/contrib/builder/deb/debian-wheezy/Dockerfile b/contrib/builder/deb/debian-wheezy/Dockerfile index dc9c388098..8c94a9fbdf 100644 --- a/contrib/builder/deb/debian-wheezy/Dockerfile +++ b/contrib/builder/deb/debian-wheezy/Dockerfile @@ -2,8 +2,7 @@ # THIS FILE IS AUTOGENERATED; SEE "contrib/builder/deb/generate.sh"! # -FROM debian:wheezy -RUN echo deb http://http.debian.net/debian wheezy-backports main > /etc/apt/sources.list.d/wheezy-backports.list +FROM debian:wheezy-backports RUN apt-get update && apt-get install -y bash-completion btrfs-tools build-essential curl ca-certificates debhelper dh-systemd git libapparmor-dev libdevmapper-dev libsqlite3-dev --no-install-recommends && rm -rf /var/lib/apt/lists/* diff --git a/contrib/builder/deb/generate.sh b/contrib/builder/deb/generate.sh index 4bb7320eaf..aef49d0877 100755 --- a/contrib/builder/deb/generate.sh +++ b/contrib/builder/deb/generate.sh @@ -22,6 +22,13 @@ for version in "${versions[@]}"; do suite="${version##*-}" from="${distro}:${suite}" + case "$from" in + debian:wheezy) + # add -backports, like our users have to + from+='-backports' + ;; + esac + mkdir -p "$version" echo "$version -> FROM $from" cat > "$version/Dockerfile" <<-EOF @@ -32,13 +39,6 @@ for version in "${versions[@]}"; do FROM $from EOF - case "$from" in - debian:wheezy) - # add -backports, like our users have to - echo "RUN echo deb http://http.debian.net/debian $suite-backports main > /etc/apt/sources.list.d/$suite-backports.list" >> "$version/Dockerfile" - ;; - esac - echo >> "$version/Dockerfile" extraBuildTags= diff --git a/hack/install.sh b/hack/install.sh index 4c981c0a20..415bcdbc20 100755 --- a/hack/install.sh +++ b/hack/install.sh @@ -198,11 +198,11 @@ do_install() { oracleserver) # need to switch lsb_dist to match yum repo URL lsb_dist="oraclelinux" - dist_version="$(rpm -q --whatprovides redhat-release --queryformat "%{VERSION}\n" | sed 's/\/.*//' | sed 's/\..*//')" + dist_version="$(rpm -q --whatprovides redhat-release --queryformat "%{VERSION}\n" | sed 's/\/.*//' | sed 's/\..*//' | sed 's/Server*//')" ;; fedora|centos) - dist_version="$(rpm -q --whatprovides redhat-release --queryformat "%{VERSION}\n" | sed 's/\/.*//' | sed 's/\..*//')" + dist_version="$(rpm -q --whatprovides redhat-release --queryformat "%{VERSION}\n" | sed 's/\/.*//' | sed 's/\..*//' | sed 's/Server*//')" ;; *) diff --git a/hack/make/test-install-script b/hack/make/test-install-script new file mode 100755 index 0000000000..e32c42d873 --- /dev/null +++ b/hack/make/test-install-script @@ -0,0 +1,29 @@ +#!/bin/bash +# This script is used for testing install.sh and that it works for +# each of component of our apt and yum repos +set -e + +test_install_script(){ + # these are equivalent to main, testing, experimental components + # in the repos, but its the url that will do the conversion + components=( experimental test get ) + + for component in "${components[@]}"; do + # change url to specific component for testing + local test_url=https://${component}.docker.com + local script=$(mktemp /tmp/install-XXXXXXXXXX.sh) + sed "s,url='https://get.docker.com/',url='${test_url}/'," hack/install.sh > "${script}" + + chmod +x "${script}" + + # test for each Dockerfile in contrib/builder + for dir in contrib/builder/*/*/; do + local from="$(awk 'toupper($1) == "FROM" { print $2; exit }' "$dir/Dockerfile")" + + echo "running install.sh for ${component} with ${from}" + docker run --rm -it -v ${script}:/install.sh ${from} /install.sh + done + done +} + +test_install_script