python3: Move functionality into python3-package.mk

This moves functionality from python-package-install.sh into
python3-package.mk, so that they can be reused separate from filespec
processing.

Signed-off-by: Jeffery To <jeffery.to@gmail.com>
This commit is contained in:
Jeffery To
2020-04-14 21:14:49 +08:00
parent 0bc1bf5578
commit 3cdca38dce
2 changed files with 62 additions and 64 deletions

View File

@@ -1,11 +1,6 @@
#!/bin/sh
set -e
[ -z "$SOURCE_DATE_EPOCH" ] || {
PYTHONHASHSEED="$SOURCE_DATE_EPOCH"
export PYTHONHASHSEED
}
process_filespec() {
local src_dir="$1"
local dst_dir="$2"
@@ -40,56 +35,11 @@ process_filespec() {
)
}
delete_empty_dirs() {
local dst_dir="$1"
if [ -d "$dst_dir/usr" ] ; then
find "$dst_dir/usr" -empty -type d -delete
fi
}
ver="$1"
src_dir="$2"
dst_dir="$3"
python="$4"
mode="$5"
filespec="$6"
find "$src_dir" -name "*.exe" -delete
src_dir="$1"
dst_dir="$2"
filespec="$3"
process_filespec "$src_dir" "$dst_dir" "$filespec" || {
echo "process filespec error-ed"
exit 1
}
if [ "$mode" == "sources" ] ; then
# Copy only python source files
find "$dst_dir" -not -type d -not -name "*.py" -delete
delete_empty_dirs "$dst_dir"
exit 0
fi
if [ "$ver" == "3" ] ; then
legacy="-b"
fi
# default max recursion is 10
max_recursion_level=20
# XXX [So that you won't goof as I did]
# Note: Yes, I tried to use the -O & -OO flags here.
# However the generated byte-codes were not portable.
# So, we just stuck to un-optimized byte-codes,
# which is still way better/faster than running
# Python sources all the time.
$python -m compileall -r "$max_recursion_level" $legacy -d '/' "$dst_dir" || {
echo "python -m compileall err-ed"
exit 1
}
# Delete source files and pyc [ un-optimized bytecode files ]
# We may want to make this optimization thing configurable later, but not sure atm
find "$dst_dir" -type f -name "*.py" -delete
delete_empty_dirs "$dst_dir"
exit 0