From 5411e69b9136702aa3f17572479e8e5f5d3758d6 Mon Sep 17 00:00:00 2001 From: Alexey Neyman Date: Thu, 10 Feb 2022 14:43:30 -0800 Subject: Update the docker containers To avoid proliferation of versions, I suggest the following policy: the oldest LTS release still receiving maintenance updates + the most recent release for distributions that offer LTS releases. For CentOS, this means CentOS7 and CentOS Stream 9 (since CentOS are all "long-term support", this is just the oldest and the newest among currently supported). For Ubuntu, this means Ubuntu 18.04 (previous LTS are in "security fixes only" mode) and Ubuntu 21.10. Recent Ubuntu attempts to be interactive during the configuration of tzdata, required some additional setup. In the common installation script, the logic for handling a configured/built local directory breaks if `gmake` is detected as the make binary; `make distclean` then fails inside the container because not all systems have `gmake` symlink. Remove that attempt of a workaround completely, just require that the host directory is clean. Signed-off-by: Alexey Neyman --- testing/docker/common-scripts/ctng-install | 24 +++++++++++++----------- 1 file changed, 13 insertions(+), 11 deletions(-) (limited to 'testing/docker/common-scripts') diff --git a/testing/docker/common-scripts/ctng-install b/testing/docker/common-scripts/ctng-install index 1efd2644..1b635d9d 100755 --- a/testing/docker/common-scripts/ctng-install +++ b/testing/docker/common-scripts/ctng-install @@ -1,23 +1,25 @@ #!/bin/bash set -e -# Mounted directory may already be configured - or may not -# even had bootstrapped. +# Mounted directory may already be configured. Trying to install from +# such directory would cause a failure in the container due to mismatch in +# command names/paths detected by configure on the host. +if [ -e /crosstool-ng/Makefile \ + -o -e /crosstool-ng/.build \ + -o -e /crosstool-ng/.build-all \ + -o -e /crosstool-ng/config.status ]; then + echo "ERROR :: The host directory must not be configured/built. Run 'git clean -fxd' before" >&2 + echo "ERROR :: installing crosstool-NG in the container." >&2 + exit 1 +fi tar cf - -C / \ - --exclude=crosstool-ng/.build \ - --exclude=crosstool-ng/.build.all \ --exclude=crosstool-ng/.git \ --exclude=crosstool-ng/testing/docker \ crosstool-ng | \ tar xf - cd crosstool-ng -if [ -r Makefile ]; then - make distclean -elif [ ! -r configure ]; then - ./bootstrap -fi -cd .. -cd work +./bootstrap +cd ../work ~/crosstool-ng/configure --prefix=/opt/ctng make make install -- cgit v1.2.3