RHEL Engineering is moving the tracking of its product development work on RHEL 6 through RHEL 9 to Red Hat Jira (issues.redhat.com). If you're a Red Hat customer, please continue to file support cases via the Red Hat customer portal. If you're not, please head to the "RHEL project" in Red Hat Jira and file new tickets here. Individual Bugzilla bugs in the statuses "NEW", "ASSIGNED", and "POST" are being migrated throughout September 2023. Bugs of Red Hat partners with an assigned Engineering Partner Manager (EPM) are migrated in late September as per pre-agreed dates. Bugs against components "kernel", "kernel-rt", and "kpatch" are only migrated if still in "NEW" or "ASSIGNED". If you cannot log in to RH Jira, please consult article #7032570. That failing, please send an e-mail to the RH Jira admins at rh-issues@redhat.com to troubleshoot your issue as a user management inquiry. The email creates a ServiceNow ticket with Red Hat. Individual Bugzilla bugs that are migrated will be moved to status "CLOSED", resolution "MIGRATED", and set with "MigratedToJIRA" in "Keywords". The link to the successor Jira issue will be found under "Links", have a little "two-footprint" icon next to it, and direct you to the "RHEL project" in Red Hat Jira (issue links are of type "https://issues.redhat.com/browse/RHEL-XXXX", where "X" is a digit). This same link will be available in a blue banner at the top of the page informing you that that bug has been migrated.
Bug 1387561 - NT escaping in shebang in easy_install
Summary: NT escaping in shebang in easy_install
Keywords:
Status: CLOSED WONTFIX
Alias: None
Product: Red Hat Enterprise Linux 6
Classification: Red Hat
Component: python-setuptools
Version: 6.5
Hardware: Unspecified
OS: Unspecified
unspecified
unspecified
Target Milestone: rc
: ---
Assignee: Python Maintainers
QA Contact: BaseOS QE - Apps
URL:
Whiteboard:
Depends On: 1353934
Blocks: 1367536
TreeView+ depends on / blocked
 
Reported: 2016-10-21 09:11 UTC by Jan Pokorný [poki]
Modified: 2017-02-15 18:44 UTC (History)
5 users (show)

Fixed In Version:
Doc Type: If docs needed, set a value
Doc Text:
Clone Of: 1353934
Environment:
Last Closed: 2017-02-15 18:44:21 UTC
Target Upstream Version:
Embargoed:


Attachments (Terms of Use)

Description Jan Pokorný [poki] 2016-10-21 09:11:50 UTC
Issue also present in RHEL 6.

$ rpm -q python-setuptools
> python-setuptools-0.6.10-3.el6.noarch

+++ This bug was initially created as a clone of Bug #1353934 +++

See
https://github.com/pypa/setuptools/issues/188

This prevents equivalent of
https://pkgs.fedoraproject.org/cgit/rpms/clufter.git/tree/clufter.spec?id=8c9ee7115ce2b5f25eeefc7e0247a1f3128e9662#n127
i.e.,
> # make Python interpreter executation sane (via -Es flags)
> %{__python2} setup.py saveopts -f setup.cfg build_scripts \
>                       "--executable=%{__python2} -Es"

from working properly in RHEL 7, simply because the generated shebang
reads:
> #!"/usr/bin/python2 -Es"
which is indeed invalid.


As an aside, I think it would be reasonable to have setuptools
(and friends) patched to the same effect (as opposed to patching
every and each package defining console_scripts in setup.py)
as a sane (and supportable!) default.

Comment 1 Charalampos Stratakis 2016-10-21 09:38:22 UTC
Is there some simple way to reproduce the issue?

Comment 3 Jan Pokorný [poki] 2016-10-21 13:13:13 UTC
Yes, grab a setup.py using (and setuptools-compatible) package that
defines "console_scripts" there (clufter in my case) and run:

# python setup.py saveopts -f setup.cfg build_scripts \
                           "--executable=python -Es"
# python setup.py build
# python setup.py install

Then, observe the scripts from console_scripts definition cannot
be run because of malformed shebang.

Comment 4 Jan Pokorný [poki] 2017-01-23 13:56:47 UTC
(forgot to drop needinfo flag)

Comment 5 Charalampos Stratakis 2017-02-15 18:44:21 UTC
Unfortunately as Michal already pointed out (see bug 1353934) there have been way too many changes upstream when the fix was implemented, so currently a backport of the fix is impossible without refactoring a lot of the relevant setuptools code.

This would be a very invasive change on the way that shebangs are being generated currently, so in this case there is an elevated risk that the current working shebang generation will break (or break other working corner cases), just to fix this specific corner case.

In this particular situation that you reported it would be preferable that the workaround is being used at the individual components, rather than fixing setuptools itself.

Closing it as WONTFIX.


Note You need to log in before you can comment on or make changes to this bug.