Commit 47bcfff2 authored by Ned Deily's avatar Ned Deily

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)
parent 14d66a98
...@@ -138,3 +138,20 @@ def _newer(a, b): ...@@ -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()))
...@@ -945,8 +945,6 @@ LIBSUBDIRS= tkinter tkinter/test tkinter/test/test_tkinter \ ...@@ -945,8 +945,6 @@ LIBSUBDIRS= tkinter tkinter/test tkinter/test/test_tkinter \
unittest unittest/test \ unittest unittest/test \
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) \
./$(BUILDPYTHON) -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 \
...@@ -1024,6 +1022,10 @@ libinstall: build_all $(srcdir)/Lib/$(PLATDIR) $(srcdir)/Modules/xxmodule.c ...@@ -1024,6 +1022,10 @@ libinstall: build_all $(srcdir)/Lib/$(PLATDIR) $(srcdir)/Modules/xxmodule.c
./$(BUILDPYTHON) -Wi -O $(DESTDIR)$(LIBDEST)/compileall.py \ ./$(BUILDPYTHON) -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) \
./$(BUILDPYTHON) -m lib2to3.pgen2.driver $(DESTDIR)$(LIBDEST)/lib2to3/Grammar.txt
-PYTHONPATH=$(DESTDIR)$(LIBDEST) $(RUNSHARED) \
./$(BUILDPYTHON) -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):
...@@ -1264,7 +1266,7 @@ clean: pycremoval ...@@ -1264,7 +1266,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 Modules/_testembed -rm -f Modules/_testembed
profile-removal: profile-removal:
......
...@@ -525,7 +525,7 @@ Build ...@@ -525,7 +525,7 @@ Build
- Issue #15819: Make sure we can build Python out-of-tree from a readonly - Issue #15819: Make sure we can build Python out-of-tree from a readonly
source directory. (Somewhat related to Issue #9860.) source directory. (Somewhat related to Issue #9860.)
- Issue #15645: Ensure 2to3 grammar pickles are properly installed. - Issue #15822: Ensure 2to3 grammar pickles are properly installed.
- Issue #15560: Fix building _sqlite3 extension on OS X with an SDK. - Issue #15560: Fix building _sqlite3 extension on OS X with an SDK.
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment