Commit 00263139 authored by Sascha Silbe's avatar Sascha Silbe Committed by Fam Zheng
Browse files

docker: make sure debootstrap is at least 1.0.67

debootstrap prior to 1.0.67 generated an empty sources.list during
foreign bootstraps (Debian#732255 [1]). Fall back to the git checkout
if the installed debootstrap version is too old.

[1] https://bugs.debian.org/732255



Signed-off-by: default avatarSascha Silbe <silbe@linux.vnet.ibm.com>
Message-Id: <1473192351-601-7-git-send-email-silbe@linux.vnet.ibm.com>
[Update 'sort -C' to 'sorc -c &>/dev/null' - Fam]
Signed-off-by: default avatarFam Zheng <famz@redhat.com>
parent a351b4b0
Loading
Loading
Loading
Loading
+10 −0
Original line number Diff line number Diff line
@@ -3,6 +3,8 @@
# Simple wrapper for debootstrap, run in the docker build context
#
FAKEROOT=`which fakeroot 2> /dev/null`
# debootstrap < 1.0.67 generates empty sources.list, see Debian#732255
MIN_DEBOOTSTRAP_VERSION=1.0.67

exit_and_skip()
{
@@ -40,9 +42,17 @@ fi
#

if [ -z $DEBOOTSTRAP_DIR ]; then
    NEED_DEBOOTSTRAP=false
    DEBOOTSTRAP=`which debootstrap 2> /dev/null`
    if [ -z $DEBOOTSTRAP ]; then
        echo "No debootstrap installed, attempting to install from SCM"
        NEED_DEBOOTSTRAP=true
    elif ! (echo "${MIN_DEBOOTSTRAP_VERSION}" ; "${DEBOOTSTRAP}" --version \
            | cut -d ' ' -f 2) | sort -t . -n -k 1,1 -k 2,2 -k 3,3 -c &>/dev/null; then
        echo "debootstrap too old, attempting to install from SCM"
        NEED_DEBOOTSTRAP=true
    fi
    if $NEED_DEBOOTSTRAP; then
        DEBOOTSTRAP_SOURCE=https://anonscm.debian.org/git/d-i/debootstrap.git
        git clone ${DEBOOTSTRAP_SOURCE} ./debootstrap.git
        export DEBOOTSTRAP_DIR=./debootstrap.git