mirror of https://github.com/python/cpython.git
Issue #15822: Fix installation of lib2to3 grammar pickles to ensure
they are created in the install locations and with the proper timestamp. (Solution suggested by MvL)
This commit is contained in:
parent
2b0218a259
commit
24ec054ea1
|
@ -138,3 +138,20 @@ def _newer(a, b):
|
||||||
if not os.path.exists(b):
|
if not os.path.exists(b):
|
||||||
return True
|
return True
|
||||||
return os.path.getmtime(a) >= os.path.getmtime(b)
|
return os.path.getmtime(a) >= os.path.getmtime(b)
|
||||||
|
|
||||||
|
|
||||||
|
def main(*args):
|
||||||
|
"""Main program, when run as a script: produce grammar pickle files.
|
||||||
|
|
||||||
|
Calls load_grammar for each argument, a path to a grammar text file.
|
||||||
|
"""
|
||||||
|
if not args:
|
||||||
|
args = sys.argv[1:]
|
||||||
|
logging.basicConfig(level=logging.INFO, stream=sys.stdout,
|
||||||
|
format='%(message)s')
|
||||||
|
for gt in args:
|
||||||
|
load_grammar(gt, save=True, force=True)
|
||||||
|
return True
|
||||||
|
|
||||||
|
if __name__ == "__main__":
|
||||||
|
sys.exit(int(not main()))
|
||||||
|
|
|
@ -1017,8 +1017,6 @@ LIBSUBDIRS= tkinter tkinter/test tkinter/test/test_tkinter \
|
||||||
venv venv/scripts venv/scripts/posix \
|
venv venv/scripts venv/scripts/posix \
|
||||||
curses pydoc_data $(MACHDEPS)
|
curses pydoc_data $(MACHDEPS)
|
||||||
libinstall: build_all $(srcdir)/Lib/$(PLATDIR) $(srcdir)/Modules/xxmodule.c
|
libinstall: build_all $(srcdir)/Lib/$(PLATDIR) $(srcdir)/Modules/xxmodule.c
|
||||||
-PYTHONPATH=$(DESTDIR)$(LIBDEST) $(RUNSHARED) \
|
|
||||||
$(PYTHON_FOR_BUILD) -Wi -c "import lib2to3.pygram, lib2to3.patcomp;lib2to3.patcomp.PatternCompiler()"
|
|
||||||
@for i in $(SCRIPTDIR) $(LIBDEST); \
|
@for i in $(SCRIPTDIR) $(LIBDEST); \
|
||||||
do \
|
do \
|
||||||
if test ! -d $(DESTDIR)$$i; then \
|
if test ! -d $(DESTDIR)$$i; then \
|
||||||
|
@ -1096,6 +1094,10 @@ libinstall: build_all $(srcdir)/Lib/$(PLATDIR) $(srcdir)/Modules/xxmodule.c
|
||||||
$(PYTHON_FOR_BUILD) -Wi -O $(DESTDIR)$(LIBDEST)/compileall.py \
|
$(PYTHON_FOR_BUILD) -Wi -O $(DESTDIR)$(LIBDEST)/compileall.py \
|
||||||
-d $(LIBDEST)/site-packages -f \
|
-d $(LIBDEST)/site-packages -f \
|
||||||
-x badsyntax $(DESTDIR)$(LIBDEST)/site-packages
|
-x badsyntax $(DESTDIR)$(LIBDEST)/site-packages
|
||||||
|
-PYTHONPATH=$(DESTDIR)$(LIBDEST) $(RUNSHARED) \
|
||||||
|
$(PYTHON_FOR_BUILD) -m lib2to3.pgen2.driver $(DESTDIR)$(LIBDEST)/lib2to3/Grammar.txt
|
||||||
|
-PYTHONPATH=$(DESTDIR)$(LIBDEST) $(RUNSHARED) \
|
||||||
|
$(PYTHON_FOR_BUILD) -m lib2to3.pgen2.driver $(DESTDIR)$(LIBDEST)/lib2to3/PatternGrammar.txt
|
||||||
|
|
||||||
# Create the PLATDIR source directory, if one wasn't distributed..
|
# Create the PLATDIR source directory, if one wasn't distributed..
|
||||||
$(srcdir)/Lib/$(PLATDIR):
|
$(srcdir)/Lib/$(PLATDIR):
|
||||||
|
@ -1340,7 +1342,7 @@ clean: pycremoval
|
||||||
find . -name '*.so.[0-9]*.[0-9]*' -exec rm -f {} ';'
|
find . -name '*.so.[0-9]*.[0-9]*' -exec rm -f {} ';'
|
||||||
find build -name 'fficonfig.h' -exec rm -f {} ';' || true
|
find build -name 'fficonfig.h' -exec rm -f {} ';' || true
|
||||||
find build -name 'fficonfig.py' -exec rm -f {} ';' || true
|
find build -name 'fficonfig.py' -exec rm -f {} ';' || true
|
||||||
-rm -f $(srcdir)/Lib/lib2to3/*Grammar*.pickle
|
-rm -f Lib/lib2to3/*Grammar*.pickle
|
||||||
-rm -f $(SYSCONFIGDATA)
|
-rm -f $(SYSCONFIGDATA)
|
||||||
-rm -f Modules/_testembed Modules/_freeze_importlib
|
-rm -f Modules/_testembed Modules/_freeze_importlib
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue