python,python3: handle install script errors better
authorAlexandru Ardelean <ardeleanalex@gmail.com>
Sun, 16 Jul 2017 15:46:36 +0000 (18:46 +0300)
committerAlexandru Ardelean <ardeleanalex@gmail.com>
Wed, 19 Jul 2017 13:50:25 +0000 (16:50 +0300)
Depending on execution order the `python-package-install.sh`
script would return a non-zero err code.

So, this enforces that all commands in the script
don't fail (via the `set -e` directive).

Signed-off-by: Alexandru Ardelean <ardeleanalex@gmail.com>
lang/python/python/files/python-package-install.sh
lang/python/python3/files/python3-package-install.sh

index 022cf8a35c049dc49356395101befdfab4079e5e..e8085e5e3228483b4b9130b85050ca31b6eebaee 100644 (file)
@@ -1,4 +1,5 @@
 #!/bin/sh
+set -e
 
 process_filespec() {
        local src_dir="$1"
@@ -50,10 +51,13 @@ find "$dst_dir" -name "*.egg-info" | xargs rm -rf
 
 if [ "$mode" == "sources" ] ; then
        # Copy only python source files
-       find $dst_dir -not -name "*\.py" | xargs rm -f
+       find $dst_dir -type f -not -name "*\.py" | xargs rm -f
+
        # Delete empty folders (if the case)
-       find $dst_dir/usr -type d | xargs rmdir &> /dev/null
-       rmdir $dst_dir/usr &> /dev/null
+       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
 
@@ -67,7 +71,15 @@ $python -m compileall -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 -name "*\.py" | xargs rm -f
+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 ae5e172807107352373998e6f2ed012f7e30cc3a..cbb84ab1c2145ad948ed2467ada58d34446292fa 100644 (file)
@@ -1,4 +1,5 @@
 #!/bin/sh
+set -e
 
 process_filespec() {
        local src_dir="$1"
@@ -50,10 +51,13 @@ find "$dst_dir" -name "*.egg-info" | xargs rm -rf
 
 if [ "$mode" == "sources" ] ; then
        # Copy only python source files
-       find $dst_dir -not -name "*\.py" | xargs rm -f
+       find $dst_dir -type f -not -name "*\.py" | xargs rm -f
+
        # Delete empty folders (if the case)
-       find $dst_dir/usr -type d | xargs rmdir &> /dev/null
-       rmdir $dst_dir/usr &> /dev/null
+       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
 
@@ -67,6 +71,15 @@ $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 -name "*\.py" | xargs rm -f
+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