apache / apache/buildstream

Make sandbox shell configurable

Open
#2,003 2 comments 0 reactions 0 assignees View on GitHub
Dominant language
Python
Stars
140
Forks
45
Avg merge
1d 3h
Merged PRs (30d)
6

Description

Currently sandbox shell is hardcoded to be /bin/sh. This is problematic since it can wildly vary how it works. If system has bash as primary shell, which is common, then /bin/sh will be a very much extended version of POSIX shell so many scripts written with it will not be compatible with eg dash. On the other hand, it is also not full bash. Many projects like freedesktop-sdk expect to be able to write bash syntax in command so it would really be ideal that sandbox grows a variable `shell` with default value set to `/bin/sh` for backwards compatibility. When set to eg `/bin/dash` or `/bin/bash`, then that entrypoint will be used inside build sandbox.

Contributor guide

Open the contributing guide

Research direction

Locate where the sandbox currently hardcodes /bin/sh and where sandbox configuration is parsed. Trace how the shell entrypoint is invoked, then verify that the default remains /bin/sh and that configured values such as /bin/dash or /bin/bash are used inside the build sandbox.

Written by the indexing model from the issue text.

Assessment

Tech stack
python
Domain
build-system, tooling
Issue type
Feature
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
45/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.