Revert "python3-setuptools: patch entrypoints for faster initialization"

Apologies, but the patch is not possible to rebase onto the new setuptools,
as the code has changed too much. Please get it accepted upstream first.

(From OE-Core rev: f2feb53c967256431f03a07c1b4b9a0d8568d9b5)

Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
Alexander Kanavin
2020-06-26 09:18:43 +02:00
committed by Richard Purdie
parent 62931865d5
commit 407b8e2344
2 changed files with 1 additions and 65 deletions

View File

@@ -1,62 +0,0 @@
From aae8cd3de3f289cea3db01212579913c925191e8 Mon Sep 17 00:00:00 2001
From: Lauri Tirkkonen <lauri.tirkkonen.ext@nokia.com>
Date: Thu, 26 Mar 2020 14:24:25 +0000
Subject: [PATCH] ScriptWriter: create more efficient /usr/bin wrappers
Upstream setuptools writes scripts to /usr/bin that do insanely much
stuff at runtime. https://github.com/pypa/setuptools/issues/510
Since the script entry points are already known at build time, we can
just write those directly into the /usr/bin wrapper, avoiding the
expensive 'pkg_resources' import at runtime. The idea is from
https://github.com/ninjaaron/fast-entry_points but patched directly into
the native build of setuptools here, so that all Python modules under
bitbake automatically use it without needing additional build time
dependencies.
Upstream-Status: Pending
Signed-off-by: Lauri Tirkkonen <lauri.tirkkonen.ext@nokia.com>
Signed-off-by: Trevor Gamblin <trevor.gamblin@windriver.com>
---
setuptools/command/easy_install.py | 14 ++++++--------
1 file changed, 6 insertions(+), 8 deletions(-)
diff --git a/setuptools/command/easy_install.py b/setuptools/command/easy_install.py
index 8fba7b41..03a72714 100755
--- a/setuptools/command/easy_install.py
+++ b/setuptools/command/easy_install.py
@@ -2023,17 +2023,12 @@ class ScriptWriter(object):
"""
template = textwrap.dedent(r"""
- # EASY-INSTALL-ENTRY-SCRIPT: %(spec)r,%(group)r,%(name)r
- __requires__ = %(spec)r
- import re
import sys
- from pkg_resources import load_entry_point
+
+ from %(module)s import %(ep0)s
if __name__ == '__main__':
- sys.argv[0] = re.sub(r'(-script\.pyw?|\.exe)?$', '', sys.argv[0])
- sys.exit(
- load_entry_point(%(spec)r, %(group)r, %(name)r)()
- )
+ sys.exit(%(entrypoint)s())
""").lstrip()
command_spec_class = CommandSpec
@@ -2068,6 +2063,9 @@ class ScriptWriter(object):
for type_ in 'console', 'gui':
group = type_ + '_scripts'
for name, ep in dist.get_entry_map(group).items():
+ module = ep.module_name
+ ep0 = ep.attrs[0]
+ entrypoint = '.'.join(ep.attrs)
cls._ensure_safe_name(name)
script_text = cls.template % locals()
args = cls._get_script_args(type_, name, header, script_text)
--
2.24.1