From b1365a26e905f44713ef1d72f7ef6f9698ca7201 Mon Sep 17 00:00:00 2001 From: Alex Richardson Date: Mon, 21 Sep 2020 15:49:02 +0000 Subject: [PATCH] When building on Ubuntu bootstrap bmake with bash as the default shell The Ubuntu /bin/sh (dash) removes all environment variables that contain characters outside the [a-zA-Z0-9_] range and this breaks the bmake tests that run as part of bootstrapping bmake. This can be reverted when the bmake tests have been updated. --- tools/build/make.py | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/tools/build/make.py b/tools/build/make.py index 7cfe8a0ee08..64f7af14a26 100755 --- a/tools/build/make.py +++ b/tools/build/make.py @@ -81,6 +81,14 @@ def bootstrap_bmake(source_root, objdir_prefix): "--with-default-sys-path=" + str(bmake_install_dir / "share/mk"), "--with-machine=amd64", # TODO? "--with-machine-arch=amd64", "--without-filemon", "--prefix=" + str(bmake_install_dir)] + + if Path("/bin/sh").resolve().name == "dash": + # Note: we have to avoid using dash as the default shell since it + # filters out variables containing characters such as '-' and that + # breaks the bmake bootstrap tests. + # TODO: remove this when the bootstrap tests have been fixed. + configure_args.append("--with-defshell=/bin/bash") + run(["sh", bmake_source_dir / "boot-strap"] + configure_args, cwd=str(bmake_build_dir), env=env) -- 2.45.0