bazel-contrib / bazel-contrib/rules_python

Support non-bash based script bootstrap

Open
#3,012 0 comments 2 reactions 0 assignees View on GitHub
core-rules Good first issue type: feature request
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

Open the contributing 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.