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.
This commit is contained in:
Alex Richardson 2020-09-21 15:49:02 +00:00
parent af6a4c1716
commit b1365a26e9

View File

@ -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)