summaryrefslogtreecommitdiff
path: root/testing/docker/common-scripts
diff options
context:
space:
mode:
authorAlexey Neyman <stilor@att.net>2022-02-10 22:43:30 (GMT)
committerAlexey Neyman <stilor@att.net>2022-02-11 08:47:51 (GMT)
commit5411e69b9136702aa3f17572479e8e5f5d3758d6 (patch)
treeed1b40c4576aed28c777859067e181d958ca2e88 /testing/docker/common-scripts
parenta4cff7a0612fccb0e32529a10e53a836fa12d634 (diff)
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 <stilor@att.net>
Diffstat (limited to 'testing/docker/common-scripts')
-rwxr-xr-xtesting/docker/common-scripts/ctng-install24
1 files changed, 13 insertions, 11 deletions
diff --git a/testing/docker/common-scripts/ctng-install b/testing/docker/common-scripts/ctng-install
index 1efd264..1b635d9 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