docker: ignore distro versioning of debootstrap

We do a minimum version check for the debootstrap but if the distro
has added their own minor version tick it would fail and fall-back to
the SCM version. This is sub-optimal as the latest/greatest version
may be broken at any one particular time. We fix that with a little
sed magic on the version string before passing to our ugly shell
versioning check.

Signed-off-by: Alex Bennée <alex.bennee@linaro.org>
Tested-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
This commit is contained in:
Alex Bennée 2018-07-13 12:23:14 +01:00
parent 11cc24a126
commit f7b446b5de

View File

@ -56,10 +56,13 @@ if [ -z $DEBOOTSTRAP_DIR ]; then
if [ -z $DEBOOTSTRAP ]; then if [ -z $DEBOOTSTRAP ]; then
echo "No debootstrap installed, attempting to install from SCM" echo "No debootstrap installed, attempting to install from SCM"
NEED_DEBOOTSTRAP=true NEED_DEBOOTSTRAP=true
elif ! (echo "${MIN_DEBOOTSTRAP_VERSION}" ; "${DEBOOTSTRAP}" --version \ else
| cut -d ' ' -f 2) | sort -t . -n -k 1,1 -k 2,2 -k 3,3 -c &>/dev/null; then INSTALLED_VERSION=$(${DEBOOTSTRAP} --version | sed 's/debootstrap \([0-9\.]*\)[^0-9\.]*.*/\1/')
echo "debootstrap too old, attempting to install from SCM" if ! (echo "${MIN_DEBOOTSTRAP_VERSION}" ; echo "${INSTALLED_VERSION}") \
NEED_DEBOOTSTRAP=true | sort -t . -n -k 1,1 -k 2,2 -k 3,3 -C ; then
echo "debootstrap too old, attempting to install from SCM"
NEED_DEBOOTSTRAP=true
fi
fi fi
if $NEED_DEBOOTSTRAP; then if $NEED_DEBOOTSTRAP; then
DEBOOTSTRAP_SOURCE=https://salsa.debian.org/installer-team/debootstrap.git DEBOOTSTRAP_SOURCE=https://salsa.debian.org/installer-team/debootstrap.git