python,python3: merge package install scripts
authorAlexandru Ardelean <ardeleanalex@gmail.com>
Wed, 10 Jan 2018 07:52:18 +0000 (09:52 +0200)
committerAlexandru Ardelean <ardeleanalex@gmail.com>
Wed, 10 Jan 2018 21:06:22 +0000 (23:06 +0200)
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>
lang/python/python-package-install.sh
lang/python/python-package.mk
lang/python/python3-package-install.sh [deleted file]
lang/python/python3-package.mk

index 60c1e273c7dd21c85d7005da9afca715c4e21b17..d5a50322f4a711a49bda38947e0ec5deb8d0a268 100644 (file)
@@ -35,11 +35,12 @@ process_filespec() {
        )
 }
 
-src_dir="$1"
-dst_dir="$2"
-python="$3"
-mode="$4"
-filespec="$5"
+ver="$1"
+src_dir="$2"
+dst_dir="$3"
+python="$4"
+mode="$5"
+filespec="$6"
 
 process_filespec "$src_dir" "$dst_dir" "$filespec" || {
        echo "process filespec error-ed"
@@ -58,13 +59,16 @@ if [ "$mode" == "sources" ] ; then
        exit 0
 fi
 
+legacy=
+[ "$ver" == "3" ] && legacy="-b"
+
 # 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 -d '/' $dst_dir || {
+$python -m compileall $legacy -d '/' $dst_dir || {
        echo "python -m compileall err-ed"
        exit 1
 }
index d1486d72619ee29e37ada7dea1b6aa227ba3699a..8bfd5e37f0259715fc6a70cfee05bbcb149a23f1 100644 (file)
@@ -70,7 +70,7 @@ define PyPackage
   define Package/$(1)/install
        $(call PyPackage/$(1)/install,$$(1))
        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)" \
                "$(HOST_PYTHON_BIN)" "$$(2)" \
                "$$$$$$$$$$(call shvar,PyPackage/$(1)/filespec)"
diff --git a/lang/python/python3-package-install.sh b/lang/python/python3-package-install.sh
deleted file mode 100644 (file)
index 373f315..0000000
+++ /dev/null
@@ -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
index b7aaa645c35ba49471df41aa34a684091e79b002..c5bfd71de39daa1d33b9c837d3522213c8cd12ff 100644 (file)
@@ -69,7 +69,7 @@ define Py3Package
   define Package/$(1)/install
        $(call Py3Package/$(1)/install,$$(1))
        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)" \
                "$(HOST_PYTHON3_BIN)" "$$(2)" \
                "$$$$$$$$$$(call shvar,Py3Package/$(1)/filespec)"