git: a9d9d3a42723 - main - lang/python: Revert "add bytecode trigger"
- Reply: Jan Beich : "Re: git: a9d9d3a42723 - main - lang/python: Revert "add bytecode trigger""
- Reply: Tobias C. Berner: "Re: git: a9d9d3a42723 - main - lang/python: Revert "add bytecode trigger""
- Reply: Baptiste Daroussin : "Re: git: a9d9d3a42723 - main - lang/python: Revert "add bytecode trigger""
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Mon, 27 Feb 2023 21:05:09 UTC
The branch main has been updated by mandree: URL: https://cgit.FreeBSD.org/ports/commit/?id=a9d9d3a4272303bf226b9deb55c42303e4fcebdc commit a9d9d3a4272303bf226b9deb55c42303e4fcebdc Author: Matthias Andree <mandree@FreeBSD.org> AuthorDate: 2023-02-27 21:01:32 +0000 Commit: Matthias Andree <mandree@FreeBSD.org> CommitDate: 2023-02-27 21:04:52 +0000 lang/python: Revert "add bytecode trigger" This reverts commit c17ddfbf66e2801ec620d49979aca3d7077d7002. This causes breakage on several ports, and the next iteration requires a full exp-run. See: Differential Revision: https://reviews.freebsd.org/D34739 --- CHANGES | 8 ------- Mk/Uses/python.mk | 25 ++++---------------- UPDATING | 17 -------------- lang/python310/Makefile | 12 ++++++---- lang/python310/files/python3.10.ucl.in | 40 -------------------------------- lang/python311/Makefile | 12 ++++++---- lang/python311/files/python3.11.ucl.in | 40 -------------------------------- lang/python37/Makefile | 11 +++++---- lang/python37/files/python3.7.ucl.in | 42 ---------------------------------- lang/python38/Makefile | 11 +++++---- lang/python38/files/python3.8.ucl.in | 42 ---------------------------------- lang/python39/Makefile | 12 ++++++---- lang/python39/files/python3.9.ucl.in | 40 -------------------------------- 13 files changed, 43 insertions(+), 269 deletions(-) diff --git a/CHANGES b/CHANGES index a8736d2217ea..2c65d5dbbe11 100644 --- a/CHANGES +++ b/CHANGES @@ -10,14 +10,6 @@ in the release notes and/or placed into UPDATING. All ports committers are allowed to commit to this file. -20230215: -AUTHOR: vishwin@FreeBSD.org - - USES=python now includes SUB_LIST entries to facilitate common - substitutions for python.mk variables other than in ${PLIST}. - They are the same as PLIST_SUB, except PYTHON_INCLUDEDIR, - PYTHON_LIBDIR and PYTHON_SITELIBDIR include ${PREFIX}. - 20230111: AUTHOR: vishwin@FreeBSD.org diff --git a/Mk/Uses/python.mk b/Mk/Uses/python.mk index 2da705f42be1..e8b9d2b59343 100644 --- a/Mk/Uses/python.mk +++ b/Mk/Uses/python.mk @@ -257,20 +257,17 @@ # packages for different Python versions. # default: -py${PYTHON_SUFFIX} # -# Using USES=python also will add some useful entries to SUB_LIST and PLIST_SUB: +# Using USES=python also will add some useful entries to PLIST_SUB: # -# PYTHON_INCLUDEDIR=${PYTHONPREFIX_INCLUDEDIR} -# PYTHON_LIBDIR=${PYTHONPREFIX_LIBDIR} +# PYTHON_INCLUDEDIR=${PYTHONPREFIX_INCLUDEDIR:S;${PREFIX}/;;} +# PYTHON_LIBDIR=${PYTHONPREFIX_LIBDIR:S;${PREFIX}/;;} # PYTHON_PLATFORM=${PYTHON_PLATFORM} -# PYTHON_SITELIBDIR=${PYTHONPREFIX_SITELIBDIR} +# PYTHON_SITELIBDIR=${PYTHONPREFIX_SITELIBDIR:S;${PREFIX}/;;} # PYTHON_SUFFIX=${PYTHON_SUFFIX} # PYTHON_VER=${PYTHON_VER} # PYTHON_VERSION=${PYTHON_VERSION} # -# where PYTHON_INCLUDEDIR, PYTHON_LIBDIR and PYTHON_SITELIBDIR have their PREFIX -# stripped for PLIST_SUB. -# -# PYTHON2 and PYTHON3 will also be set according to the Python version: +# and PYTHON2 and PYTHON3 will be set according to the Python version: # # PYTHON2="" PYTHON3="@comment " for Python 2.x # PYTHON2="@comment " PYTHON3="" for Python 3.x @@ -788,16 +785,6 @@ ${_stage}_DEPENDS+= ${PYTHON_CMD}:${PYTHON_PORTSDIR} PREFIX= ${PYTHONBASE} . endif -# Substitutions for SUB_FILES -SUB_LIST+= PYTHON_INCLUDEDIR=${PYTHONPREFIX_INCLUDEDIR} \ - PYTHON_LIBDIR=${PYTHONPREFIX_LIBDIR} \ - PYTHON_PLATFORM=${PYTHON_PLATFORM} \ - PYTHON_SITELIBDIR=${PYTHONPREFIX_SITELIBDIR} \ - PYTHON_SUFFIX=${PYTHON_SUFFIX} \ - PYTHON_EXT_SUFFIX=${PYTHON_EXT_SUFFIX} \ - PYTHON_VER=${PYTHON_VER} \ - PYTHON_VERSION=${PYTHON_VERSION} - # Substitutions for pkg-plist # Use a short form of the PYTHONPREFIX_*DIR variables; we don't need the # base directory in the plist file. @@ -810,10 +797,8 @@ PLIST_SUB+= PYTHON_INCLUDEDIR=${PYTHONPREFIX_INCLUDEDIR:S;${PREFIX}/;;} \ PYTHON_VER=${PYTHON_VER} \ PYTHON_VERSION=${PYTHON_VERSION} . if ${PYTHON_REL} < 30000 -SUB_LIST+= PYTHON2="" PYTHON3="@comment " PLIST_SUB+= PYTHON2="" PYTHON3="@comment " . else -SUB_LIST+= PYTHON2="@comment " PYTHON3="" PLIST_SUB+= PYTHON2="@comment " PYTHON3="" . endif diff --git a/UPDATING b/UPDATING index 3f599f6b93bf..8b85cb1b5efc 100644 --- a/UPDATING +++ b/UPDATING @@ -48,23 +48,6 @@ you update your ports collection, before attempting any port upgrades. # pkg set -o databases/mysql57-server:databases/mysql80-server # pkg upgrade -20230215: - AFFECTS: users of python - AUTHOR: vishwin@FreeBSD.org - - A trigger has been added to the lang/python3* ports to compile, - write and remove bytecode files (.pyc) in site-packages after all - pkg transactions have been completed. pkg will no longer manage - such files directly, as they are meant to be generated after - installation. - - For those ports/packages that still package bytecode, some package - checksum mismatches on those files may occur. This is harmless - and will be rectified. - - Technical details available at: - https://wiki.freebsd.org/Python/CompiledPackages - 20230213: Affects: users of sysutils/nut* AUTHOR: cy@FreeBSD.org diff --git a/lang/python310/Makefile b/lang/python310/Makefile index 4b2aafa07a63..f3c13fc09ffd 100644 --- a/lang/python310/Makefile +++ b/lang/python310/Makefile @@ -1,6 +1,6 @@ PORTNAME= python DISTVERSION= ${PYTHON_DISTVERSION} -PORTREVISION= 1 +PORTREVISION= 2 CATEGORIES= lang python MASTER_SITES= PYTHON/ftp/python/${DISTVERSION:C/[a-z].*//} PKGNAMESUFFIX= ${PYTHON_SUFFIX} @@ -15,8 +15,8 @@ LICENSE= PSFL LIB_DEPENDS= libffi.so:devel/libffi -USES= compiler:c11 cpe ncurses pathfix pkgconfig \ - python:${PYTHON_DISTVERSION:R},env readline shebangfix ssl tar:xz trigger +USES= compiler:c11 cpe ncurses pathfix pkgconfig readline \ + shebangfix ssl tar:xz PATHFIX_MAKEFILEIN= Makefile.pre.in USE_LDCONFIG= yes GNU_CONFIGURE= yes @@ -25,7 +25,11 @@ SHEBANG_FILES= Lib/*.py Lib/*/*.py Lib/*/*/*.py Lib/*/*/*/*.py SHEBANG_FILES+= Lib/test/ziptestdata/exe_with_z64 \ Lib/test/ziptestdata/exe_with_zip \ Lib/test/ziptestdata/header.sh -TRIGGERS= ${PYTHON_VERSION} + +# Duplicate python.mk variables. TODO: Let lang/python?? ports use python.mk bits. +PYTHON_VER= ${PYTHON_DISTVERSION:R} +PYTHON_VERSION= python${PYTHON_VER} +PYTHON_SUFFIX= ${PYTHON_VER:S/.//g} DISABLED_EXTENSIONS= _sqlite3 _tkinter _gdbm CONFIGURE_ARGS+= --enable-shared --without-ensurepip \ diff --git a/lang/python310/files/python3.10.ucl.in b/lang/python310/files/python3.10.ucl.in deleted file mode 100644 index 63d455839549..000000000000 --- a/lang/python310/files/python3.10.ucl.in +++ /dev/null @@ -1,40 +0,0 @@ -path_glob: "%%PYTHON_SITELIBDIR%%/*" -trigger: { - type: lua - sandbox: false - script: <<EOS -function cleanup(directory) - for _,d in ipairs(pkg.readdir(directory)) do - local full_path = directory .. "/" .. d - local stat = pkg.stat(full_path) - if stat["type"] == "dir" then - if (d ~= "__pycache__") then - cleanup(full_path) - else - for _,bytecode_file in ipairs(pkg.readdir(full_path)) do - local file_origin = string.gsub(bytecode_file, "[.]cpython[-]%%PYTHON_SUFFIX%%[.].*pyc", ".py") - if file_origin then - local origin_path = directory .. "/" .. file_origin - if (not pkg.stat(origin_path)) then - --print(" >=> removed stale bytecode " .. bytecode_file) - os.remove(full_path .. "/" .. bytecode_file) - end - end - end - end - local res = pkg.readdir(full_path) - if #res == 0 then - --print(" >=> removed empty directory " .. full_path ) - os.remove(full_path) - end - end - end -end - -print(">=> Cleaning stale bytecode files...") -cleanup("%%PYTHON_SITELIBDIR%%") - -print(">=> Byte-compiling Python source files...") -pkg.exec({"%%PYTHON_VERSION%%", "-m", "compileall", "-q", "-o", "0", "-o", "1", "-o", "2", "%%PYTHON_SITELIBDIR%%"}) -EOS -} diff --git a/lang/python311/Makefile b/lang/python311/Makefile index c1bbfa79002e..96c4215f8b0e 100644 --- a/lang/python311/Makefile +++ b/lang/python311/Makefile @@ -1,6 +1,6 @@ PORTNAME= python DISTVERSION= ${PYTHON_DISTVERSION} -PORTREVISION= 1 +PORTREVISION= 2 CATEGORIES= lang python MASTER_SITES= PYTHON/ftp/python/${DISTVERSION:C/[a-z].*//} PKGNAMESUFFIX= ${PYTHON_SUFFIX} @@ -15,8 +15,8 @@ LICENSE= PSFL LIB_DEPENDS= libffi.so:devel/libffi -USES= compiler:c11 cpe ncurses pathfix pkgconfig \ - python:${PYTHON_DISTVERSION:R},env readline shebangfix ssl tar:xz trigger +USES= compiler:c11 cpe ncurses pathfix pkgconfig readline \ + shebangfix ssl tar:xz PATHFIX_MAKEFILEIN= Makefile.pre.in USE_LDCONFIG= yes GNU_CONFIGURE= yes @@ -25,7 +25,11 @@ SHEBANG_FILES= Lib/*.py Lib/*/*.py Lib/*/*/*.py Lib/*/*/*/*.py SHEBANG_FILES+= Lib/test/ziptestdata/exe_with_z64 \ Lib/test/ziptestdata/exe_with_zip \ Lib/test/ziptestdata/header.sh -TRIGGERS= ${PYTHON_VERSION} + +# Duplicate python.mk variables. TODO: Let lang/python?? ports use python.mk bits. +PYTHON_VER= ${PYTHON_DISTVERSION:R} +PYTHON_VERSION= python${PYTHON_VER} +PYTHON_SUFFIX= ${PYTHON_VER:S/.//g} DISABLED_EXTENSIONS= _sqlite3 _tkinter _gdbm CONFIGURE_ARGS+= --enable-shared --without-ensurepip \ diff --git a/lang/python311/files/python3.11.ucl.in b/lang/python311/files/python3.11.ucl.in deleted file mode 100644 index 63d455839549..000000000000 --- a/lang/python311/files/python3.11.ucl.in +++ /dev/null @@ -1,40 +0,0 @@ -path_glob: "%%PYTHON_SITELIBDIR%%/*" -trigger: { - type: lua - sandbox: false - script: <<EOS -function cleanup(directory) - for _,d in ipairs(pkg.readdir(directory)) do - local full_path = directory .. "/" .. d - local stat = pkg.stat(full_path) - if stat["type"] == "dir" then - if (d ~= "__pycache__") then - cleanup(full_path) - else - for _,bytecode_file in ipairs(pkg.readdir(full_path)) do - local file_origin = string.gsub(bytecode_file, "[.]cpython[-]%%PYTHON_SUFFIX%%[.].*pyc", ".py") - if file_origin then - local origin_path = directory .. "/" .. file_origin - if (not pkg.stat(origin_path)) then - --print(" >=> removed stale bytecode " .. bytecode_file) - os.remove(full_path .. "/" .. bytecode_file) - end - end - end - end - local res = pkg.readdir(full_path) - if #res == 0 then - --print(" >=> removed empty directory " .. full_path ) - os.remove(full_path) - end - end - end -end - -print(">=> Cleaning stale bytecode files...") -cleanup("%%PYTHON_SITELIBDIR%%") - -print(">=> Byte-compiling Python source files...") -pkg.exec({"%%PYTHON_VERSION%%", "-m", "compileall", "-q", "-o", "0", "-o", "1", "-o", "2", "%%PYTHON_SITELIBDIR%%"}) -EOS -} diff --git a/lang/python37/Makefile b/lang/python37/Makefile index 459ebdfd771b..ec98e226f309 100644 --- a/lang/python37/Makefile +++ b/lang/python37/Makefile @@ -1,6 +1,6 @@ PORTNAME= python DISTVERSION= ${PYTHON_DISTVERSION} -PORTREVISION= 1 +PORTREVISION= 2 CATEGORIES= lang python MASTER_SITES= PYTHON/ftp/python/${DISTVERSION} PKGNAMESUFFIX= ${PYTHON_SUFFIX} @@ -19,14 +19,17 @@ EXPIRATION_DATE= 2023-06-27 LIB_DEPENDS= libffi.so:devel/libffi \ libmpdec.so:math/mpdecimal -USES= cpe ncurses pathfix pkgconfig python:${PYTHON_DISTVERSION:R},env readline \ - shebangfix ssl tar:xz trigger +USES= cpe ncurses pathfix pkgconfig readline shebangfix ssl tar:xz PATHFIX_MAKEFILEIN= Makefile.pre.in USE_LDCONFIG= yes GNU_CONFIGURE= yes python_CMD= ${PREFIX}/bin/python${PYTHON_DISTVERSION:R} SHEBANG_FILES= Lib/*.py Lib/*/*.py Lib/*/*/*.py Lib/*/*/*/*.py -TRIGGERS= ${PYTHON_VERSION} + +# Duplicate python.mk variables. TODO: Let lang/python?? ports use python.mk bits. +PYTHON_VER= ${PYTHON_DISTVERSION:R} +PYTHON_VERSION= python${PYTHON_VER} +PYTHON_SUFFIX= ${PYTHON_VER:S/.//g} DISABLED_EXTENSIONS= _sqlite3 _tkinter _gdbm CONFIGURE_ARGS+= --enable-shared --with-system-ffi --with-system-libmpdec --without-ensurepip diff --git a/lang/python37/files/python3.7.ucl.in b/lang/python37/files/python3.7.ucl.in deleted file mode 100644 index a9ebb18f9c27..000000000000 --- a/lang/python37/files/python3.7.ucl.in +++ /dev/null @@ -1,42 +0,0 @@ -path_glob: "%%PYTHON_SITELIBDIR%%/*" -trigger: { - type: lua - sandbox: false - script: <<EOS -function cleanup(directory) - for _,d in ipairs(pkg.readdir(directory)) do - local full_path = directory .. "/" .. d - local stat = pkg.stat(full_path) - if stat["type"] == "dir" then - if (d ~= "__pycache__") then - cleanup(full_path) - else - for _,bytecode_file in ipairs(pkg.readdir(full_path)) do - local file_origin = string.gsub(bytecode_file, "[.]cpython[-]%%PYTHON_SUFFIX%%[.].*pyc", ".py") - if file_origin then - local origin_path = directory .. "/" .. file_origin - if (not pkg.stat(origin_path)) then - --print(" >=> removed stale bytecode " .. bytecode_file) - os.remove(full_path .. "/" .. bytecode_file) - end - end - end - end - local res = pkg.readdir(full_path) - if #res == 0 then - --print(" >=> removed empty directory " .. full_path ) - os.remove(full_path) - end - end - end -end - -print(">=> Cleaning stale bytecode files...") -cleanup("%%PYTHON_SITELIBDIR%%") - -print(">=> Byte-compiling Python source files...") -pkg.exec({"%%PYTHON_VERSION%%", "-m", "compileall", "-q", "%%PYTHON_SITELIBDIR%%"}) -pkg.exec({"%%PYTHON_VERSION%%", "-O", "-m", "compileall", "-q", "%%PYTHON_SITELIBDIR%%"}) -pkg.exec({"%%PYTHON_VERSION%%", "-OO", "-m", "compileall", "-q", "%%PYTHON_SITELIBDIR%%"}) -EOS -} diff --git a/lang/python38/Makefile b/lang/python38/Makefile index 056ff45a8f98..07d227c23956 100644 --- a/lang/python38/Makefile +++ b/lang/python38/Makefile @@ -1,6 +1,6 @@ PORTNAME= python DISTVERSION= ${PYTHON_DISTVERSION} -PORTREVISION= 1 +PORTREVISION= 2 CATEGORIES= lang python MASTER_SITES= PYTHON/ftp/python/${DISTVERSION} PKGNAMESUFFIX= ${PYTHON_SUFFIX} @@ -15,8 +15,7 @@ LICENSE= PSFL LIB_DEPENDS= libffi.so:devel/libffi -USES= cpe ncurses pathfix pkgconfig python:${PYTHON_DISTVERSION:R},env readline \ - shebangfix ssl tar:xz trigger +USES= cpe ncurses pathfix pkgconfig readline shebangfix ssl tar:xz PATHFIX_MAKEFILEIN= Makefile.pre.in USE_LDCONFIG= yes GNU_CONFIGURE= yes @@ -25,7 +24,11 @@ SHEBANG_FILES= Lib/*.py Lib/*/*.py Lib/*/*/*.py Lib/*/*/*/*.py SHEBANG_FILES+= Lib/test/ziptestdata/exe_with_z64 \ Lib/test/ziptestdata/exe_with_zip \ Lib/test/ziptestdata/header.sh -TRIGGERS= ${PYTHON_VERSION} + +# Duplicate python.mk variables. TODO: Let lang/python?? ports use python.mk bits. +PYTHON_VER= ${PYTHON_DISTVERSION:R} +PYTHON_VERSION= python${PYTHON_VER} +PYTHON_SUFFIX= ${PYTHON_VER:S/.//g} DISABLED_EXTENSIONS= _sqlite3 _tkinter _gdbm CONFIGURE_ARGS+= --enable-shared --without-ensurepip \ diff --git a/lang/python38/files/python3.8.ucl.in b/lang/python38/files/python3.8.ucl.in deleted file mode 100644 index a9ebb18f9c27..000000000000 --- a/lang/python38/files/python3.8.ucl.in +++ /dev/null @@ -1,42 +0,0 @@ -path_glob: "%%PYTHON_SITELIBDIR%%/*" -trigger: { - type: lua - sandbox: false - script: <<EOS -function cleanup(directory) - for _,d in ipairs(pkg.readdir(directory)) do - local full_path = directory .. "/" .. d - local stat = pkg.stat(full_path) - if stat["type"] == "dir" then - if (d ~= "__pycache__") then - cleanup(full_path) - else - for _,bytecode_file in ipairs(pkg.readdir(full_path)) do - local file_origin = string.gsub(bytecode_file, "[.]cpython[-]%%PYTHON_SUFFIX%%[.].*pyc", ".py") - if file_origin then - local origin_path = directory .. "/" .. file_origin - if (not pkg.stat(origin_path)) then - --print(" >=> removed stale bytecode " .. bytecode_file) - os.remove(full_path .. "/" .. bytecode_file) - end - end - end - end - local res = pkg.readdir(full_path) - if #res == 0 then - --print(" >=> removed empty directory " .. full_path ) - os.remove(full_path) - end - end - end -end - -print(">=> Cleaning stale bytecode files...") -cleanup("%%PYTHON_SITELIBDIR%%") - -print(">=> Byte-compiling Python source files...") -pkg.exec({"%%PYTHON_VERSION%%", "-m", "compileall", "-q", "%%PYTHON_SITELIBDIR%%"}) -pkg.exec({"%%PYTHON_VERSION%%", "-O", "-m", "compileall", "-q", "%%PYTHON_SITELIBDIR%%"}) -pkg.exec({"%%PYTHON_VERSION%%", "-OO", "-m", "compileall", "-q", "%%PYTHON_SITELIBDIR%%"}) -EOS -} diff --git a/lang/python39/Makefile b/lang/python39/Makefile index a577ab3e0b2e..c93a47e69fc3 100644 --- a/lang/python39/Makefile +++ b/lang/python39/Makefile @@ -1,6 +1,6 @@ PORTNAME= python DISTVERSION= ${PYTHON_DISTVERSION} -PORTREVISION= 1 +PORTREVISION= 2 CATEGORIES= lang python MASTER_SITES= PYTHON/ftp/python/${DISTVERSION} PKGNAMESUFFIX= ${PYTHON_SUFFIX} @@ -15,8 +15,8 @@ LICENSE= PSFL LIB_DEPENDS= libffi.so:devel/libffi -USES= compiler:c11 cpe ncurses pathfix pkgconfig \ - python:${PYTHON_DISTVERSION:R},env readline shebangfix ssl tar:xz trigger +USES= compiler:c11 cpe ncurses pathfix pkgconfig readline \ + shebangfix ssl tar:xz PATHFIX_MAKEFILEIN= Makefile.pre.in USE_LDCONFIG= yes GNU_CONFIGURE= yes @@ -25,7 +25,11 @@ SHEBANG_FILES= Lib/*.py Lib/*/*.py Lib/*/*/*.py Lib/*/*/*/*.py SHEBANG_FILES+= Lib/test/ziptestdata/exe_with_z64 \ Lib/test/ziptestdata/exe_with_zip \ Lib/test/ziptestdata/header.sh -TRIGGERS= ${PYTHON_VERSION} + +# Duplicate python.mk variables. TODO: Let lang/python?? ports use python.mk bits. +PYTHON_VER= ${PYTHON_DISTVERSION:R} +PYTHON_VERSION= python${PYTHON_VER} +PYTHON_SUFFIX= ${PYTHON_VER:S/.//g} DISABLED_EXTENSIONS= _sqlite3 _tkinter _gdbm CONFIGURE_ARGS+= --enable-shared --without-ensurepip \ diff --git a/lang/python39/files/python3.9.ucl.in b/lang/python39/files/python3.9.ucl.in deleted file mode 100644 index 63d455839549..000000000000 --- a/lang/python39/files/python3.9.ucl.in +++ /dev/null @@ -1,40 +0,0 @@ -path_glob: "%%PYTHON_SITELIBDIR%%/*" -trigger: { - type: lua - sandbox: false - script: <<EOS -function cleanup(directory) - for _,d in ipairs(pkg.readdir(directory)) do - local full_path = directory .. "/" .. d - local stat = pkg.stat(full_path) - if stat["type"] == "dir" then - if (d ~= "__pycache__") then - cleanup(full_path) - else - for _,bytecode_file in ipairs(pkg.readdir(full_path)) do - local file_origin = string.gsub(bytecode_file, "[.]cpython[-]%%PYTHON_SUFFIX%%[.].*pyc", ".py") - if file_origin then - local origin_path = directory .. "/" .. file_origin - if (not pkg.stat(origin_path)) then - --print(" >=> removed stale bytecode " .. bytecode_file) - os.remove(full_path .. "/" .. bytecode_file) - end - end - end - end - local res = pkg.readdir(full_path) - if #res == 0 then - --print(" >=> removed empty directory " .. full_path ) - os.remove(full_path) - end - end - end -end - -print(">=> Cleaning stale bytecode files...") -cleanup("%%PYTHON_SITELIBDIR%%") - -print(">=> Byte-compiling Python source files...") -pkg.exec({"%%PYTHON_VERSION%%", "-m", "compileall", "-q", "-o", "0", "-o", "1", "-o", "2", "%%PYTHON_SITELIBDIR%%"}) -EOS -}