bazel-contrib / bazel-contrib/rules_python
Support non-bash based script bootstrap
- Dominant language
- Starlark
- Stars
- 688
- Forks
- 721
- Avg merge
- 15h 7m
- Merged PRs (30d)
- 76
Description
Right now, the stage1 script bootstrap requires bash. It has a variety of bashisms or non-posix constructs that prevent it from working in other shells.
Bash isn't bad, it is just a heavier weight shell than e.g. dash (default on ubuntu/debian).
Looking at the code most changes are minor. The major change is the usage of arrays -- posix doesn't actually specify arrays.
Related: https://github.com/bazel-contrib/rules_python/issues/2500
Contributor guide
Research direction
Start by locating the stage1 script bootstrap and reviewing its bash-specific constructs, especially the array usage. Test the bootstrap with dash, the non-bash shell called out in the issue, and confirm that it completes successfully without changing its existing behavior.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- bash, shell
- Domain
- build-system
- Issue type
- Feature
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 38/100