aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMatthias Andree <mandree@FreeBSD.org>2023-02-27 21:01:32 +0000
committerMatthias Andree <mandree@FreeBSD.org>2023-02-27 21:04:52 +0000
commita9d9d3a4272303bf226b9deb55c42303e4fcebdc (patch)
treeba0584b450ab30f0fb60240580bf79b3b45d8671
parentd20b28d5495100ed8b93b69253b3fdc002448053 (diff)
downloadports-a9d9d3a4272303bf226b9deb55c42303e4fcebdc.tar.gz
ports-a9d9d3a4272303bf226b9deb55c42303e4fcebdc.zip
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
-rw-r--r--CHANGES8
-rw-r--r--Mk/Uses/python.mk25
-rw-r--r--UPDATING17
-rw-r--r--lang/python310/Makefile12
-rw-r--r--lang/python310/files/python3.10.ucl.in40
-rw-r--r--lang/python311/Makefile12
-rw-r--r--lang/python311/files/python3.11.ucl.in40
-rw-r--r--lang/python37/Makefile11
-rw-r--r--lang/python37/files/python3.7.ucl.in42
-rw-r--r--lang/python38/Makefile11
-rw-r--r--lang/python38/files/python3.8.ucl.in42
-rw-r--r--lang/python39/Makefile12
-rw-r--r--lang/python39/files/python3.9.ucl.in40
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
-}