From 8043ae7719d4fba0689510194ac4d3ff41c228bd Mon Sep 17 00:00:00 2001 From: Michal Cyprian Date: Tue, 21 Feb 2017 12:54:47 +0100 Subject: [PATCH] Add --executable option to install.py command --- 00252-add-executable-option.patch | 45 +++++++++++++++++++++++++++++++ python2.spec | 11 +++++++- 2 files changed, 55 insertions(+), 1 deletion(-) create mode 100644 00252-add-executable-option.patch diff --git a/00252-add-executable-option.patch b/00252-add-executable-option.patch new file mode 100644 index 0000000..b3bf721 --- /dev/null +++ b/00252-add-executable-option.patch @@ -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! + diff --git a/python2.spec b/python2.spec index 5c45c77..730d7a3 100644 --- a/python2.spec +++ b/python2.spec @@ -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 - 2.7.13-5 +- Add --executable option to install.py command + * Fri Feb 17 2017 Charalampos Stratakis - 2.7.13-4 - Fix the upgrade path to F26 due to renaming the package to python2 (rhbz#1420332)