Add --executable option to install.py command

This commit is contained in:
Michal Cyprian 2017-02-21 12:54:47 +01:00
parent f6f7300380
commit 8043ae7719
2 changed files with 55 additions and 1 deletions

View File

@ -0,0 +1,45 @@
diff --git a/Lib/distutils/cmd.py b/Lib/distutils/cmd.py
index c89d5ef..dd61621 100644
--- a/Lib/distutils/cmd.py
+++ b/Lib/distutils/cmd.py
@@ -296,7 +296,8 @@ class Command:
finalized command object.
"""
cmd_obj = self.distribution.get_command_obj(command, create)
- cmd_obj.ensure_finalized()
+ if cmd_obj is not None:
+ cmd_obj.ensure_finalized()
return cmd_obj
# XXX rename to 'get_reinitialized_command()'? (should do the
diff --git a/Lib/distutils/command/install.py b/Lib/distutils/command/install.py
index 8174192..30ca739 100644
--- a/Lib/distutils/command/install.py
+++ b/Lib/distutils/command/install.py
@@ -122,6 +122,8 @@ class install(Command):
"force installation (overwrite any existing files)"),
('skip-build', None,
"skip rebuilding everything (for testing/debugging)"),
+ ('executable=', 'e',
+ "specify final destination interpreter path (install.py)"),
# Where to install documentation (eventually!)
#('doc-format=', None, "format of documentation to generate"),
@@ -194,6 +196,7 @@ class install(Command):
# directory not in sys.path.
self.force = 0
self.skip_build = 0
+ self.executable = None
self.warn_dir = 1
# These are only here as a conduit from the 'build' command to the
@@ -365,6 +368,9 @@ class install(Command):
('build_base', 'build_base'),
('build_lib', 'build_lib'))
+ if self.executable is None:
+ self.executable = os.path.normpath(sys.executable)
+
# Punt on doc directories for now -- after all, we're punting on
# documentation completely!

View File

@ -103,7 +103,7 @@ Summary: An interpreted, interactive, object-oriented programming language
Name: %{python}
# Remember to also rebase python-docs when changing this:
Version: 2.7.13
Release: 4%{?dist}
Release: 5%{?dist}
License: Python
Group: Development/Languages
Requires: %{python}-libs%{?_isa} = %{version}-%{release}
@ -742,6 +742,11 @@ Patch198: 00198-add-rewheel-module.patch
# Fixed upstream: https://hg.python.org/cpython/rev/13a39142c047
Patch250: 00250-getentropy.patch
# 00252
# Add executable option to install.py command to make it work for
# scripts specified as an entry_points
Patch252: 00252-add-executable-option.patch
# (New patches go here ^^^)
#
# When adding new patches to "python" and "python3" in Fedora, EL, etc.,
@ -1061,6 +1066,7 @@ mv Modules/cryptmodule.c Modules/_cryptmodule.c
%endif
%patch250 -p1
%patch252 -p1
# This shouldn't be necesarry, but is right now (2.2a3)
@ -1924,6 +1930,9 @@ rm -fr %{buildroot}
# ======================================================
%changelog
* Tue Feb 21 2017 Michal Cyprian <mcyprian@redhat.com> - 2.7.13-5
- Add --executable option to install.py command
* Fri Feb 17 2017 Charalampos Stratakis <cstratak@redhat.com> - 2.7.13-4
- Fix the upgrade path to F26 due to renaming the package to python2 (rhbz#1420332)