All of lore.kernel.org
 help / color / mirror / Atom feed
From: Arnout Vandecappelle <arnout@mind.be>
To: buildroot@busybox.net
Subject: [Buildroot] [PATCH 1/3] python-setuptools: forkbump and add workaround for shebang
Date: Tue, 16 Apr 2013 08:27:08 +0200	[thread overview]
Message-ID: <516CEF3C.6070505@mind.be> (raw)
In-Reply-To: <1365872210-20167-1-git-send-email-gustavo@zacarias.com.ar>

  Hi Gustavo,

  I usually don't bother reviewing your patches, but now I found something:

On 13/04/13 18:56, Gustavo Zacarias wrote:
> 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
>
> Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar>
> ---
>   .../python-setuptools-add-executable.patch         | 50 ++++++++++++++++++++++
>   package/python-setuptools/python-setuptools.mk     |  8 ++--
>   2 files changed, 54 insertions(+), 4 deletions(-)
>   create mode 100644 package/python-setuptools/python-setuptools-add-executable.patch
>
> diff --git a/package/python-setuptools/python-setuptools-add-executable.patch b/package/python-setuptools/python-setuptools-add-executable.patch
> new file mode 100644
> index 0000000..a14a3ed
> --- /dev/null
> +++ b/package/python-setuptools/python-setuptools-add-executable.patch
> @@ -0,0 +1,50 @@
> +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

  Mixing tabs with spaces... Also a few other instances in the rest of 
this patch.

> +         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
> +         )
> diff --git a/package/python-setuptools/python-setuptools.mk b/package/python-setuptools/python-setuptools.mk
> index 25fddb9..64f6ded 100644
> --- a/package/python-setuptools/python-setuptools.mk
> +++ b/package/python-setuptools/python-setuptools.mk
> @@ -4,9 +4,9 @@
>   #
>   #############################################################
>
> -PYTHON_SETUPTOOLS_VERSION = 0.6c11
> -PYTHON_SETUPTOOLS_SOURCE  = setuptools-$(PYTHON_SETUPTOOLS_VERSION).tar.gz
> -PYTHON_SETUPTOOLS_SITE    = http://pypi.python.org/packages/source/s/setuptools
> +PYTHON_SETUPTOOLS_VERSION = 0.6.36
> +PYTHON_SETUPTOOLS_SOURCE  = distribute-$(PYTHON_SETUPTOOLS_VERSION).tar.gz

  I would add a comment here, e.g.

# "distribute" is a fork of the unmaintained setuptools package. There
# are plans to re-merge it into setuptools; if this happens, we can
# switch back to http://pypi.python.org/packages/source/s/setuptools

> +PYTHON_SETUPTOOLS_SITE    = http://pypi.python.org/packages/source/d/distribute
>   PYTHON_SETUPTOOLS_DEPENDENCIES = python
>
>   define HOST_PYTHON_SETUPTOOLS_BUILD_CMDS
> @@ -24,7 +24,7 @@ endef
>
>   define PYTHON_SETUPTOOLS_INSTALL_TARGET_CMDS
>   	(cd $(@D); PYTHONPATH="$(TARGET_DIR)/usr/lib/python$(PYTHON_VERSION_MAJOR)/site-packages"\
> -	$(HOST_DIR)/usr/bin/python setup.py install --prefix=$(TARGET_DIR)/usr)
> +	$(HOST_DIR)/usr/bin/python setup.py install --executable=/usr/bin/python --single-version-externally-managed --root=/ --prefix=$(TARGET_DIR)/usr)

  Please split this long line. Also, maybe it's worth explaining why we 
want --single-version-externally-managed?


  Regards,
  Arnout

>   endef
>
>   $(eval $(generic-package))
>


-- 
Arnout Vandecappelle                          arnout at mind be
Senior Embedded Software Architect            +32-16-286500
Essensium/Mind                                http://www.mind.be
G.Geenslaan 9, 3001 Leuven, Belgium           BE 872 984 063 RPR Leuven
LinkedIn profile: http://www.linkedin.com/in/arnoutvandecappelle
GPG fingerprint:  7CB5 E4CC 6C2E EFD4 6E3D A754 F963 ECAB 2450 2F1F

  parent reply	other threads:[~2013-04-16  6:27 UTC|newest]

Thread overview: 13+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-04-13 16:56 [Buildroot] [PATCH 1/3] python-setuptools: forkbump and add workaround for shebang Gustavo Zacarias
2013-04-13 16:56 ` [Buildroot] [PATCH 2/3] python-bottle: bump version and fix shebang Gustavo Zacarias
2013-05-06  7:34   ` Peter Korsgaard
2013-04-13 16:56 ` [Buildroot] [PATCH 3/3] python-serial: " Gustavo Zacarias
2013-05-06  7:35   ` Peter Korsgaard
2013-05-06 11:08     ` Gustavo Zacarias
2013-05-06 11:27       ` Peter Korsgaard
2013-04-16  6:27 ` Arnout Vandecappelle [this message]
2013-04-16 10:17   ` [Buildroot] [PATCH 1/3] python-setuptools: forkbump and add workaround for shebang Gustavo Zacarias
2013-05-06  7:34     ` Peter Korsgaard
2013-05-06 11:07       ` Gustavo Zacarias
2013-05-06 11:30         ` Peter Korsgaard
2013-05-06 11:34           ` Gustavo Zacarias

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=516CEF3C.6070505@mind.be \
    --to=arnout@mind.be \
    --cc=buildroot@busybox.net \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.