m (→Scope: add note about rpmlint) |
(→Scope) |
||
Line 32: | Line 32: | ||
Requires lots of one-liner fixes to numerous packages; exact list TBD. | Requires lots of one-liner fixes to numerous packages; exact list TBD. | ||
Creation of an rpmlint test to detect usage of <code>#!/usr/bin/env</code> | Creation of an rpmlint test to detect usage of <code>#!/usr/bin/env</code> shebang lines. | ||
== Test Plan == | == Test Plan == |
Revision as of 16:56, 24 May 2011
Fix shebang line of system Python executables
Summary
System executables written in Python now use a shebang line that explicitly references the system version of Python.
Remove the "#!/usr/bin/env python" shebang line from python executables, replacing with "#!/usr/bin/python"
Owner
- Name: FIXME
Current status
- Targeted release: Fedora 16
- Last updated: 2011-05-24
- Percentage of completion: 0%
Detailed Description
Fedora ships numerous executables written in Python. Many of them contain the shebang line:
#!/usr/bin/env python
However, this makes it difficult to install alternative versions of Python on the system. If a user wishes e.g. to install python 3 on the system, and have a /usr/local/python in her PATH, this will break these executables.
These system executables are expecting to use the system python, and thus should use:
#! /usr/bin/python
Benefit to Fedora
Users will be able to parallel-install local copies of older and newer releases of Python on the system and add them to the front of their PATH without breaking these executables. (e.g. Python 2.4 for Zope, or Python 3)
Scope
Requires lots of one-liner fixes to numerous packages; exact list TBD.
Creation of an rpmlint test to detect usage of #!/usr/bin/env
shebang lines.
Test Plan
TBD
- add a test to rpmlint ?
User Experience
Should be no user-visible change for non-Python experts.
Python developers and users wishing to parallel-install a local version of Python should now be able to add it to the front of their PATH without breaking these apps.
Dependencies
None
Contingency Plan
None; I believe that this is a collection of tiny fixes to many packages, each with minimal risk.
Documentation
TBD
Release Notes
TBD