-
Notifications
You must be signed in to change notification settings - Fork 17
Home
Welcome to the bash2py wiki!
As of April 11, 2025 work is resuming on bash2py. The first order of business will be to clean up old issues and PRs from the project queue and then to release bash2py v3.7. Then the mid-term goal for the project will take over. We want a clean separation of bash2py from the native bash code -- as clean as possible, that is. Feature development on bash2py will freeze (mostly...) until this is accomplished. First, we'll build a dynamic library libbash.so from a suitable version of the bash source. (Users can build their own libraries from any version they like.) Then we will re-present the bash2py code changes -- currently identified with the BASH2PY macro -- in a series of new source files. These files will contain only the functions actually changed.
We anticipate the result will be a much smaller, more easily-managed project.
To succeed, our program needs to tap into the bash library and retreat to our own functions as appropriate. Even though C has no mechanism for function overriding, the GNU C compiler provides a fortuitous workaround: the --wrap flag. --wrap enables us to selectively override functions
and invoke whichever version we need anywhere in the code.
The path to bash2py v4.0 is clear. On with the show!