buildrootschalter/package/python-setuptools/python-setuptools-add-executable.patch
Gustavo Zacarias 2ffad2a1f2 python-setuptools: forkbump and add workaround for shebangs
Switch to distribute fork since it's maintained and fixes a few issues
while bumping to version 0.6.36.
There's work upstream in re-merging with setuptools which is now
supposedly maintained, see
http://mail.python.org/pipermail/distutils-sig/2013-March/020126.html

Buildroot python packages should use --single-version-externally-managed
and --root=/ in the install phase even if they're not setuptools-based.
This is because the default is to build egg files (zip files) for
packages to support multiple target versions, and since the packages
should be handled by buildroot infrastructure that's not needed.
Also potentially doing double-compression is time-wasting (i.e. egg
file and target filesystem) when running on slow targets.

Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2013-05-07 00:20:59 +02:00

51 lines
2.2 KiB
Diff

Add a new --executable option to distribute so that we can
force the shebang line in installed python scripts.
Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar>
diff -Nura distribute-0.6.36.orig/setuptools/command/install.py distribute-0.6.36/setuptools/command/install.py
--- distribute-0.6.36.orig/setuptools/command/install.py 2013-04-13 09:46:23.160823598 -0300
+++ distribute-0.6.36/setuptools/command/install.py 2013-04-13 11:17:28.418841986 -0300
@@ -6,6 +6,7 @@
"""Use easy_install to install the package, w/dependencies"""
user_options = _install.user_options + [
+ ('executable=', 'e', "specify final destination interpreter path"),
('old-and-unmanageable', None, "Try not to use this!"),
('single-version-externally-managed', None,
"used by system package builders to create 'flat' eggs"),
@@ -21,6 +22,7 @@
def initialize_options(self):
_install.initialize_options(self)
+ self.executable = None
self.old_and_unmanageable = None
self.single_version_externally_managed = None
self.no_compile = None # make DISTUTILS_DEBUG work right!
diff -Nura distribute-0.6.36.orig/setuptools/command/install_scripts.py distribute-0.6.36/setuptools/command/install_scripts.py
--- distribute-0.6.36.orig/setuptools/command/install_scripts.py 2013-04-13 09:46:23.160823598 -0300
+++ distribute-0.6.36/setuptools/command/install_scripts.py 2013-04-13 11:24:32.305416400 -0300
@@ -10,6 +10,13 @@
def initialize_options(self):
_install_scripts.initialize_options(self)
self.no_ep = False
+ self.executable = None
+
+ def finalize_options(self):
+ _install_scripts.finalize_options(self)
+ self.set_undefined_options('install',
+ ('executable','executable')
+ )
def run(self):
from setuptools.command.easy_install import get_script_args
@@ -31,6 +38,8 @@
)
bs_cmd = self.get_finalized_command('build_scripts')
executable = getattr(bs_cmd,'executable',sys_executable)
+ if self.executable is not None:
+ executable = self.executable
is_wininst = getattr(
self.get_finalized_command("bdist_wininst"), '_is_running', False
)