From 45ca1c04139300ec0289a32f78c7ac922a4f7b07 Mon Sep 17 00:00:00 2001 From: Eric Snow Date: Wed, 29 Sep 2021 12:55:35 -0600 Subject: bpo-45020: Do not freeze /__init__.py twice. (gh-28635) Currently we're freezing the __init__.py twice, duplicating the built data unnecessarily With this change we do it once. There is no change in runtime behavior. https://bugs.python.org/issue45020 --- Tools/scripts/freeze_modules.py | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/Tools/scripts/freeze_modules.py b/Tools/scripts/freeze_modules.py index cfc6f79..f727391 100644 --- a/Tools/scripts/freeze_modules.py +++ b/Tools/scripts/freeze_modules.py @@ -221,6 +221,7 @@ def _parse_spec(spec, knownids=None, section=None): if ispkg: pkgid = frozenid pkgname = modname + pkgfiles = {pyfile: pkgid} def iter_subs(): for frozenid, pyfile, ispkg in resolved: assert not knownids or frozenid not in knownids, (frozenid, spec) @@ -228,6 +229,12 @@ def _parse_spec(spec, knownids=None, section=None): modname = frozenid.replace(pkgid, pkgname, 1) else: modname = frozenid + if pyfile: + if pyfile in pkgfiles: + frozenid = pkgfiles[pyfile] + pyfile = None + elif ispkg: + pkgfiles[pyfile] = frozenid yield frozenid, pyfile, modname, ispkg, section submodules = iter_subs() -- cgit v0.12