Skip to content

boulder: use /usr/bin/bash for script shebangs #477

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 4 commits into
base: main
Choose a base branch
from

Conversation

ermo
Copy link
Contributor

@ermo ermo commented May 9, 2025

With this change, the build scripts generated by boulder from the stone.yaml recipes are no longer affected by the /usr/bin/sh symlink, which means that we can now safely point that to dash for a potential increase of up to +20% faster configure runs for e.g. gettext.

This commit also creates dedicated *_with_bash fallback autotools actions which should ensure that stubborn packages whose build systems rely on the presence of a bash shell can now simply use the *_with_bash actions.

In addition, add helix, less and ripgrep to roots for a nicer chroot experience when troubleshooting or writing/testing patches inside the chroot (yes, this is a really nice workflow actually).

TODO: The extra chroot packages really ought to be user-controlled (with a decent, if minimal fallback) as a boulder config option, along with optionally copying in the current user's .gitconfig to the root for easier patching inside chroots. See #476 for the details.

@ermo ermo force-pushed the use-usr-bin-bash-for-script-shebangs branch 3 times, most recently from 87cb3b9 to 9d32dc5 Compare May 10, 2025 17:38
ermo added 3 commits May 10, 2025 20:55
Add helix, less and ripgrep to buildroots for chroot purposes.

TODO: This really ought to be user-controlled as a boulder config option,
along with optionally copying in the current user's `~/.gitconfig` to the
boulder buildroot for easier patching in chroots.

Signed-off-by: Rune Morling <[email protected]>
With this change, the build scripts generated by boulder from the
stone.yaml recipes are no longer affected by the /usr/bin/sh symlink,
which means that we can now safely point that to dash for a potential
increase of up to +20% faster configure runs for e.g. gettext.

This commit also creates dedicated *_with_bash fallback autotools actions
which should ensure that stubborn packages whose build systems rely on
the presence of a bash shell can now simply use the *_with_bash actions.

Signed-off-by: Rune Morling <[email protected]>
Signed-off-by: Rune Morling <[email protected]>
@ermo ermo force-pushed the use-usr-bin-bash-for-script-shebangs branch from 9d32dc5 to d3d27d1 Compare May 10, 2025 18:56
@ermo ermo marked this pull request as ready for review May 10, 2025 18:57
@ermo ermo requested review from ikeycode and tarkah as code owners May 10, 2025 18:57
@ermo ermo changed the title Use /usr/bin/bash for script shebangs boulder: use /usr/bin/bash for script shebangs May 10, 2025
@ermo
Copy link
Contributor Author

ermo commented May 10, 2025

@ReillyBrogan I'm going cross-eyed looking at these macros. Would you mind giving them a quick once over for sanity before I merge this?

@ermo ermo force-pushed the use-usr-bin-bash-for-script-shebangs branch from d3d27d1 to 3a72595 Compare May 10, 2025 19:05
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant