bpo-45654: Freeze the runpy module and stuff it imports (GH-29903)

This commit is contained in:
Kumar Aditya 2021-12-09 22:21:09 +05:30 committed by GitHub
parent dc4a212bd3
commit 44b0e76f2a
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
7 changed files with 101 additions and 0 deletions

View File

@ -490,6 +490,10 @@ DEEPFREEZE_OBJS = \
Python/deepfreeze/os.o \
Python/deepfreeze/site.o \
Python/deepfreeze/stat.o \
Python/deepfreeze/types.o \
Python/deepfreeze/importlib.util.o \
Python/deepfreeze/importlib.machinery.o \
Python/deepfreeze/runpy.o \
Python/deepfreeze/__hello__.o \
Python/deepfreeze/__phello__.o \
Python/deepfreeze/__phello__.ham.o \
@ -1010,6 +1014,18 @@ Python/deepfreeze/site.c: Python/frozen_modules/site.h $(DEEPFREEZE_DEPS)
Python/deepfreeze/stat.c: Python/frozen_modules/stat.h $(DEEPFREEZE_DEPS)
$(PYTHON_FOR_FREEZE) $(srcdir)/Tools/scripts/deepfreeze.py Python/frozen_modules/stat.h -m stat -o Python/deepfreeze/stat.c
Python/deepfreeze/types.c: Python/frozen_modules/types.h $(DEEPFREEZE_DEPS)
$(PYTHON_FOR_FREEZE) $(srcdir)/Tools/scripts/deepfreeze.py Python/frozen_modules/types.h -m types -o Python/deepfreeze/types.c
Python/deepfreeze/importlib.util.c: Python/frozen_modules/importlib.util.h $(DEEPFREEZE_DEPS)
$(PYTHON_FOR_FREEZE) $(srcdir)/Tools/scripts/deepfreeze.py Python/frozen_modules/importlib.util.h -m importlib.util -o Python/deepfreeze/importlib.util.c
Python/deepfreeze/importlib.machinery.c: Python/frozen_modules/importlib.machinery.h $(DEEPFREEZE_DEPS)
$(PYTHON_FOR_FREEZE) $(srcdir)/Tools/scripts/deepfreeze.py Python/frozen_modules/importlib.machinery.h -m importlib.machinery -o Python/deepfreeze/importlib.machinery.c
Python/deepfreeze/runpy.c: Python/frozen_modules/runpy.h $(DEEPFREEZE_DEPS)
$(PYTHON_FOR_FREEZE) $(srcdir)/Tools/scripts/deepfreeze.py Python/frozen_modules/runpy.h -m runpy -o Python/deepfreeze/runpy.c
Python/deepfreeze/__hello__.c: Python/frozen_modules/__hello__.h $(DEEPFREEZE_DEPS)
$(PYTHON_FOR_FREEZE) $(srcdir)/Tools/scripts/deepfreeze.py Python/frozen_modules/__hello__.h -m __hello__ -o Python/deepfreeze/__hello__.c
@ -1049,6 +1065,10 @@ FROZEN_FILES_IN = \
Lib/os.py \
Lib/site.py \
Lib/stat.py \
Lib/types.py \
Lib/importlib/util.py \
Lib/importlib/machinery.py \
Lib/runpy.py \
Lib/__hello__.py \
Lib/__phello__/__init__.py \
Lib/__phello__/ham/__init__.py \
@ -1071,6 +1091,10 @@ FROZEN_FILES_OUT = \
Python/frozen_modules/os.h \
Python/frozen_modules/site.h \
Python/frozen_modules/stat.h \
Python/frozen_modules/types.h \
Python/frozen_modules/importlib.util.h \
Python/frozen_modules/importlib.machinery.h \
Python/frozen_modules/runpy.h \
Python/frozen_modules/__hello__.h \
Python/frozen_modules/__phello__.h \
Python/frozen_modules/__phello__.ham.h \
@ -1130,6 +1154,18 @@ Python/frozen_modules/site.h: $(FREEZE_MODULE) Lib/site.py
Python/frozen_modules/stat.h: $(FREEZE_MODULE) Lib/stat.py
$(FREEZE_MODULE) stat $(srcdir)/Lib/stat.py Python/frozen_modules/stat.h
Python/frozen_modules/types.h: $(FREEZE_MODULE) Lib/types.py
$(FREEZE_MODULE) types $(srcdir)/Lib/types.py Python/frozen_modules/types.h
Python/frozen_modules/importlib.util.h: $(FREEZE_MODULE) Lib/importlib/util.py
$(FREEZE_MODULE) importlib.util $(srcdir)/Lib/importlib/util.py Python/frozen_modules/importlib.util.h
Python/frozen_modules/importlib.machinery.h: $(FREEZE_MODULE) Lib/importlib/machinery.py
$(FREEZE_MODULE) importlib.machinery $(srcdir)/Lib/importlib/machinery.py Python/frozen_modules/importlib.machinery.h
Python/frozen_modules/runpy.h: $(FREEZE_MODULE) Lib/runpy.py
$(FREEZE_MODULE) runpy $(srcdir)/Lib/runpy.py Python/frozen_modules/runpy.h
Python/frozen_modules/__hello__.h: $(FREEZE_MODULE) Lib/__hello__.py
$(FREEZE_MODULE) __hello__ $(srcdir)/Lib/__hello__.py Python/frozen_modules/__hello__.h

View File

@ -0,0 +1 @@
Deepfreeze :mod:`runpy`, patch by Kumar Aditya.

View File

@ -330,6 +330,34 @@
<DeepIntFile>$(IntDir)stat.g.c</DeepIntFile>
<DeepOutFile>$(PySourcePath)Python\deepfreeze\df.stat.c</DeepOutFile>
</None>
<None Include="..\Lib\types.py">
<ModName>types</ModName>
<IntFile>$(IntDir)types.g.h</IntFile>
<OutFile>$(PySourcePath)Python\frozen_modules\types.h</OutFile>
<DeepIntFile>$(IntDir)types.g.c</DeepIntFile>
<DeepOutFile>$(PySourcePath)Python\deepfreeze\df.types.c</DeepOutFile>
</None>
<None Include="..\Lib\importlib\util.py">
<ModName>importlib.util</ModName>
<IntFile>$(IntDir)importlib.util.g.h</IntFile>
<OutFile>$(PySourcePath)Python\frozen_modules\importlib.util.h</OutFile>
<DeepIntFile>$(IntDir)importlib.util.g.c</DeepIntFile>
<DeepOutFile>$(PySourcePath)Python\deepfreeze\df.importlib.util.c</DeepOutFile>
</None>
<None Include="..\Lib\importlib\machinery.py">
<ModName>importlib.machinery</ModName>
<IntFile>$(IntDir)importlib.machinery.g.h</IntFile>
<OutFile>$(PySourcePath)Python\frozen_modules\importlib.machinery.h</OutFile>
<DeepIntFile>$(IntDir)importlib.machinery.g.c</DeepIntFile>
<DeepOutFile>$(PySourcePath)Python\deepfreeze\df.importlib.machinery.c</DeepOutFile>
</None>
<None Include="..\Lib\runpy.py">
<ModName>runpy</ModName>
<IntFile>$(IntDir)runpy.g.h</IntFile>
<OutFile>$(PySourcePath)Python\frozen_modules\runpy.h</OutFile>
<DeepIntFile>$(IntDir)runpy.g.c</DeepIntFile>
<DeepOutFile>$(PySourcePath)Python\deepfreeze\df.runpy.c</DeepOutFile>
</None>
<None Include="..\Lib\__hello__.py">
<ModName>__hello__</ModName>
<IntFile>$(IntDir)__hello__.g.h</IntFile>

View File

@ -447,6 +447,18 @@
<None Include="..\Lib\stat.py">
<Filter>Python Files</Filter>
</None>
<None Include="..\Lib\types.py">
<Filter>Python Files</Filter>
</None>
<None Include="..\Lib\importlib\util.py">
<Filter>Python Files</Filter>
</None>
<None Include="..\Lib\importlib\machinery.py">
<Filter>Python Files</Filter>
</None>
<None Include="..\Lib\runpy.py">
<Filter>Python Files</Filter>
</None>
<None Include="..\Lib\__hello__.py">
<Filter>Python Files</Filter>
</None>

View File

@ -532,6 +532,10 @@
<ClCompile Include="..\Python\deepfreeze\df.os.c" />
<ClCompile Include="..\Python\deepfreeze\df.site.c" />
<ClCompile Include="..\Python\deepfreeze\df.stat.c" />
<ClCompile Include="..\Python\deepfreeze\df.types.c" />
<ClCompile Include="..\Python\deepfreeze\df.importlib.util.c" />
<ClCompile Include="..\Python\deepfreeze\df.importlib.machinery.c" />
<ClCompile Include="..\Python\deepfreeze\df.runpy.c" />
<ClCompile Include="..\Python\deepfreeze\df.__hello__.c" />
<ClCompile Include="..\Python\deepfreeze\df.__phello__.c" />
<ClCompile Include="..\Python\deepfreeze\df.__phello__.ham.c" />

View File

@ -53,6 +53,10 @@
#include "frozen_modules/os.h"
#include "frozen_modules/site.h"
#include "frozen_modules/stat.h"
#include "frozen_modules/types.h"
#include "frozen_modules/importlib.util.h"
#include "frozen_modules/importlib.machinery.h"
#include "frozen_modules/runpy.h"
#include "frozen_modules/__hello__.h"
#include "frozen_modules/__phello__.h"
#include "frozen_modules/__phello__.ham.h"
@ -79,6 +83,10 @@ extern PyObject *_Py_get_posixpath_toplevel(void);
extern PyObject *_Py_get_os_toplevel(void);
extern PyObject *_Py_get_site_toplevel(void);
extern PyObject *_Py_get_stat_toplevel(void);
extern PyObject *_Py_get_types_toplevel(void);
extern PyObject *_Py_get_importlib_util_toplevel(void);
extern PyObject *_Py_get_importlib_machinery_toplevel(void);
extern PyObject *_Py_get_runpy_toplevel(void);
extern PyObject *_Py_get___hello___toplevel(void);
extern PyObject *_Py_get___hello___toplevel(void);
extern PyObject *_Py_get___hello___toplevel(void);
@ -116,6 +124,12 @@ static const struct _frozen stdlib_modules[] = {
{"os", _Py_M__os, (int)sizeof(_Py_M__os), GET_CODE(os)},
{"site", _Py_M__site, (int)sizeof(_Py_M__site), GET_CODE(site)},
{"stat", _Py_M__stat, (int)sizeof(_Py_M__stat), GET_CODE(stat)},
/* runpy - run module with -m */
{"types", _Py_M__types, (int)sizeof(_Py_M__types), GET_CODE(types)},
{"importlib.util", _Py_M__importlib_util, (int)sizeof(_Py_M__importlib_util), GET_CODE(importlib_util)},
{"importlib.machinery", _Py_M__importlib_machinery, (int)sizeof(_Py_M__importlib_machinery), GET_CODE(importlib_machinery)},
{"runpy", _Py_M__runpy, (int)sizeof(_Py_M__runpy), GET_CODE(runpy)},
{0, 0, 0} /* stdlib sentinel */
};
static const struct _frozen test_modules[] = {

View File

@ -68,6 +68,12 @@ FROZEN = [
'site',
'stat',
]),
('runpy - run module with -m', [
"types",
"importlib.util",
"importlib.machinery",
"runpy"
]),
(TESTS_SECTION, [
'__hello__',
'__hello__ : __hello_alias__',