python,python3: merge package install scripts
The only difference just a parameter for Python3 [ -b to compile bytecodes in legacy mode ]. No need to keep 2 almost identical files now that they're exported. I'm a bit scared of that param, since it may get removed at some point. But let's see until then. Signed-off-by: Alexandru Ardelean <ardeleanalex@gmail.com>
This commit is contained in:
parent
57987b699b
commit
f4c098cc85
4 changed files with 12 additions and 90 deletions
|
@ -35,11 +35,12 @@ process_filespec() {
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|
||||||
src_dir="$1"
|
ver="$1"
|
||||||
dst_dir="$2"
|
src_dir="$2"
|
||||||
python="$3"
|
dst_dir="$3"
|
||||||
mode="$4"
|
python="$4"
|
||||||
filespec="$5"
|
mode="$5"
|
||||||
|
filespec="$6"
|
||||||
|
|
||||||
process_filespec "$src_dir" "$dst_dir" "$filespec" || {
|
process_filespec "$src_dir" "$dst_dir" "$filespec" || {
|
||||||
echo "process filespec error-ed"
|
echo "process filespec error-ed"
|
||||||
|
@ -58,13 +59,16 @@ if [ "$mode" == "sources" ] ; then
|
||||||
exit 0
|
exit 0
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
legacy=
|
||||||
|
[ "$ver" == "3" ] && legacy="-b"
|
||||||
|
|
||||||
# XXX [So that you won't goof as I did]
|
# XXX [So that you won't goof as I did]
|
||||||
# Note: Yes, I tried to use the -O & -OO flags here.
|
# Note: Yes, I tried to use the -O & -OO flags here.
|
||||||
# However the generated byte-codes were not portable.
|
# However the generated byte-codes were not portable.
|
||||||
# So, we just stuck to un-optimized byte-codes,
|
# So, we just stuck to un-optimized byte-codes,
|
||||||
# which is still way better/faster than running
|
# which is still way better/faster than running
|
||||||
# Python sources all the time.
|
# Python sources all the time.
|
||||||
$python -m compileall -d '/' $dst_dir || {
|
$python -m compileall $legacy -d '/' $dst_dir || {
|
||||||
echo "python -m compileall err-ed"
|
echo "python -m compileall err-ed"
|
||||||
exit 1
|
exit 1
|
||||||
}
|
}
|
||||||
|
|
|
@ -70,7 +70,7 @@ define PyPackage
|
||||||
define Package/$(1)/install
|
define Package/$(1)/install
|
||||||
$(call PyPackage/$(1)/install,$$(1))
|
$(call PyPackage/$(1)/install,$$(1))
|
||||||
find $(PKG_INSTALL_DIR) -name "*\.exe" | xargs rm -f
|
find $(PKG_INSTALL_DIR) -name "*\.exe" | xargs rm -f
|
||||||
$(SHELL) $(python_mk_path)python-package-install.sh \
|
$(SHELL) $(python_mk_path)python-package-install.sh "2" \
|
||||||
"$(PKG_INSTALL_DIR)" "$$(1)" \
|
"$(PKG_INSTALL_DIR)" "$$(1)" \
|
||||||
"$(HOST_PYTHON_BIN)" "$$(2)" \
|
"$(HOST_PYTHON_BIN)" "$$(2)" \
|
||||||
"$$$$$$$$$$(call shvar,PyPackage/$(1)/filespec)"
|
"$$$$$$$$$$(call shvar,PyPackage/$(1)/filespec)"
|
||||||
|
|
|
@ -1,82 +0,0 @@
|
||||||
#!/bin/sh
|
|
||||||
set -e
|
|
||||||
|
|
||||||
process_filespec() {
|
|
||||||
local src_dir="$1"
|
|
||||||
local dst_dir="$2"
|
|
||||||
local filespec="$3"
|
|
||||||
echo "$filespec" | (
|
|
||||||
IFS='|'
|
|
||||||
while read fop fspec fperm; do
|
|
||||||
local fop=`echo "$fop" | tr -d ' \t\n'`
|
|
||||||
if [ "$fop" = "+" ]; then
|
|
||||||
if [ ! -e "${src_dir}${fspec}" ]; then
|
|
||||||
echo "File not found '${src_dir}${fspec}'"
|
|
||||||
exit 1
|
|
||||||
fi
|
|
||||||
dpath=`dirname "$fspec"`
|
|
||||||
if [ -z "$fperm" ]; then
|
|
||||||
dperm=`stat -c "%a" ${src_dir}${dpath}`
|
|
||||||
fi
|
|
||||||
mkdir -p -m$dperm ${dst_dir}${dpath}
|
|
||||||
echo "copying: '$fspec'"
|
|
||||||
cp -fpR ${src_dir}${fspec} ${dst_dir}${dpath}/
|
|
||||||
if [ -n "$fperm" ]; then
|
|
||||||
chmod -R $fperm ${dst_dir}${fspec}
|
|
||||||
fi
|
|
||||||
elif [ "$fop" = "-" ]; then
|
|
||||||
echo "removing: '$fspec'"
|
|
||||||
rm -fR ${dst_dir}${fspec}
|
|
||||||
elif [ "$fop" = "=" ]; then
|
|
||||||
echo "setting permissions: '$fperm' on '$fspec'"
|
|
||||||
chmod -R $fperm ${dst_dir}${fspec}
|
|
||||||
fi
|
|
||||||
done
|
|
||||||
)
|
|
||||||
}
|
|
||||||
|
|
||||||
src_dir="$1"
|
|
||||||
dst_dir="$2"
|
|
||||||
python="$3"
|
|
||||||
mode="$4"
|
|
||||||
filespec="$5"
|
|
||||||
|
|
||||||
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" | xargs rm -f
|
|
||||||
|
|
||||||
# Delete empty folders (if the case)
|
|
||||||
if [ -d "$dst_dir/usr" ] ; then
|
|
||||||
find $dst_dir/usr -type d | xargs rmdir --ignore-fail-on-non-empty
|
|
||||||
rmdir --ignore-fail-on-non-empty $dst_dir/usr
|
|
||||||
fi
|
|
||||||
exit 0
|
|
||||||
fi
|
|
||||||
|
|
||||||
# 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 -b -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" | xargs rm -f
|
|
||||||
|
|
||||||
# Delete empty folders (if the case)
|
|
||||||
if [ -d "$dst_dir/usr" ] ; then
|
|
||||||
find $dst_dir/usr -type d | xargs rmdir --ignore-fail-on-non-empty
|
|
||||||
rmdir --ignore-fail-on-non-empty $dst_dir/usr
|
|
||||||
fi
|
|
||||||
|
|
||||||
exit 0
|
|
|
@ -69,7 +69,7 @@ define Py3Package
|
||||||
define Package/$(1)/install
|
define Package/$(1)/install
|
||||||
$(call Py3Package/$(1)/install,$$(1))
|
$(call Py3Package/$(1)/install,$$(1))
|
||||||
find $(PKG_INSTALL_DIR) -name "*\.exe" | xargs rm -f
|
find $(PKG_INSTALL_DIR) -name "*\.exe" | xargs rm -f
|
||||||
$(SHELL) $(python3_mk_path)python3-package-install.sh \
|
$(SHELL) $(python3_mk_path)python-package-install.sh "3" \
|
||||||
"$(PKG_INSTALL_DIR)" "$$(1)" \
|
"$(PKG_INSTALL_DIR)" "$$(1)" \
|
||||||
"$(HOST_PYTHON3_BIN)" "$$(2)" \
|
"$(HOST_PYTHON3_BIN)" "$$(2)" \
|
||||||
"$$$$$$$$$$(call shvar,Py3Package/$(1)/filespec)"
|
"$$$$$$$$$$(call shvar,Py3Package/$(1)/filespec)"
|
||||||
|
|
Loading…
Reference in a new issue