On Wed, Aug 22, 2018 at 10:02 PM Ben Cotton <bcot...@redhat.com> wrote:

> 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''.)
>

Why can't we add something like `MANGLE_UNVERSIONED_PYTHON_TO=%{__python3}`?


> == Owner ==
> * Name: Miro Hrončok (churchyard)
> * Email: <mhron...@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_Policy.29_Scripts
> sections of the packaging guidelines.
>
> == Benefit to Fedora ==
> Packagers will be notified by build error if they accidentally have
> python2 shebangs (and python2 dependency) they didn't anticipate. It's
> up to them to decide what to do with such files, no automation can
> know.
>
> == Scope ==
> * Proposal owners: change the script, change Python Packaging
> Guidelines (
> https://fedoraproject.org/wiki/Packaging:Python#Multiple_Python_Runtimes)
>
> * Other developers: fix their packages if they fail because of this
> * Policies and guidelines: Adjust Python Packaging Guidelines
> (https://fedoraproject.org/wiki/Packaging:Python#Multiple_Python_Runtimes)
> slightly.
>
> * Trademark approval: N/A (not needed for this Change)
>
> == How To Test ==
> Have an RPM package that tries to ship files with ambiguous python
> shebang. Observe the warning on Fedora 29 and the error on Fedora 30.
>
> == User Experience ==
> Users should not notice this, expect there might be less unneeded
> python2 dependencies created by accident.
>
> --
> Ben Cotton
> Fedora Program Manager
> TZ=America/Indiana/Indianapolis
> _______________________________________________
> devel mailing list -- devel@lists.fedoraproject.org
> To unsubscribe send an email to devel-le...@lists.fedoraproject.org
> Fedora Code of Conduct: https://getfedora.org/code-of-conduct.html
> List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines
> List Archives:
> https://lists.fedoraproject.org/archives/list/devel@lists.fedoraproject.org/message/OLB7SKYB4HEHEX4CRPOYPETWD766CT64/
>
-- 

-Igor Gnatenko
_______________________________________________
devel mailing list -- devel@lists.fedoraproject.org
To unsubscribe send an email to devel-le...@lists.fedoraproject.org
Fedora Code of Conduct: https://getfedora.org/code-of-conduct.html
List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines
List Archives: 
https://lists.fedoraproject.org/archives/list/devel@lists.fedoraproject.org

Reply via email to