-
-
Notifications
You must be signed in to change notification settings - Fork 455
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
After installation the shebang of bin/git-{cola,dag} is replaced to non portable /usr/bin/python #850
Comments
We used to hack around distutils, which is where the replacement happens. Take a look at these two commits: 6bf3db4 which reverted We could restore that behavior, but make it opt-in. e.g. add a Makefile flag, Would that be sufficient for you use case? Another question -- why is setup.py being run with a different interpreter than the one that is used at runtime? A solution might be to make sure the python you want is in your It'll then burn in that python instead. That said, it makes it non-portable. It would be really nice if distutils let us do that without monkey-patching their regex. |
Though I've already workarounded it at my end, I believe the env python shebang should be in the default build product instead of being opted-in. Distributions that ship multiple interpreter versions(
Snapcraft, the tool used to build snap packages runs the executables under $SNAPCRAFT_STAGE/*bin and the build host's $PATH s during each part's build phase but in the runtime all the executables are expected to be in the snap package with the |
Thanks for the details. To avoid regressing on #66 we should keep the default behavior as-is. For snap, we've added a Makefile and setup.py knob to inhibit this behavior. Please use |
Use upstream solution Refer-to: After installation the shebang of bin/git-{cola,dag} is replaced to non portable /usr/bin/python · Issue #850 · git-cola/git-cola <git-cola/git-cola#850> Signed-off-by: 林博仁(Buo-ren, Lin) <Buo.Ren.Lin@gmail.com>
This breaks portability where the python interpreter isn't installed in /usr/bin, including but not limited to the snap runtime environment which is located at /snap/snap_name/current/usr/bin/python
It should be kept the same with the original one, which uses /usr/bin/env to locate the proper intepreter location
The text was updated successfully, but these errors were encountered: