Il giorno mer 22 ago 2018 alle ore 21:53 Ben Cotton
<bcotton(a)redhat.com> ha scritto:
https://fedoraproject.org/wiki/Changes/Make_ambiguous_python_shebangs_error
== Summary ==
The <code>/usr/lib/rpm/redhat/brp-mangle-shebangs</code> buildroot
policy script will be changed to make the build fail when it sees an
ambiguous python shebang, such as <code>#!/usr/bin/python</code> or
<code>#!/usr/bin/env python</code>. (The script has been warning in
these cases for 2 Fedora releases already, saying ''This will become
an ERROR''.)
== Owner ==
* Name: Miro HronĨok (churchyard)
* Email: <mhroncok(a)redhat.com>
== Detailed Description ==
The buildroot policy script in
<code>/usr/lib/rpm/redhat/brp-mangle-shebangs</code> currently changes
all python shebangs to python2 with a message like:
*** WARNING: mangling shebang in /usr/bin/taskotron_result from
#!/usr/bin/python to #!/usr/bin/python2. This will become an ERROR,
fix it manually!
We will change it to:
*** ERROR: ambiguous python shebang in
/usr/bin/taskotron_result: #!/usr/bin/python. Change it to python3 (or
python2) explicitly.
The script will exit with nonzero exit code, rendering the build failed.
The warning and a promise of the error was there for 2 releases (28
and 29). Taskotron check was also present.
There are standard mechanics to avoid this buildroot policy script or
to block certain files form it. Those remain intact by this change.
For details see
https://fedoraproject.org/wiki/Packaging:Guidelines#Shebang_lines and
https://fedoraproject.org/wiki/Packaging:Guidelines#BRP_.28BuildRoot_Poli...
sections of the packaging guidelines.
Can we explicitly call python2?
Instead of calling
./waf ...
which contains the unversioned shebang, we call
python2 waf ... ?
Guido Aulisi
fas account: tartina