summaryrefslogtreecommitdiff
path: root/lang/python/python-package-install.sh
diff options
context:
space:
mode:
Diffstat (limited to 'lang/python/python-package-install.sh')
-rw-r--r--lang/python/python-package-install.sh31
1 files changed, 17 insertions, 14 deletions
diff --git a/lang/python/python-package-install.sh b/lang/python/python-package-install.sh
index ae6f2ef77..30373751c 100644
--- a/lang/python/python-package-install.sh
+++ b/lang/python/python-package-install.sh
@@ -40,6 +40,17 @@ process_filespec() {
)
}
+delete_empty_dirs() {
+ local dst_dir="$1"
+ if [ -d "$dst_dir/usr" ] ; then
+ for _ in $(seq 1 10) ; do
+ find "$dst_dir/usr" -empty -type d -exec rmdir {} \; || continue
+ break
+ done
+ rmdir "$dst_dir/usr" || true
+ fi
+}
+
ver="$1"
src_dir="$2"
dst_dir="$3"
@@ -47,7 +58,7 @@ python="$4"
mode="$5"
filespec="$6"
-find "$src_dir" -name "*\.exe" | xargs rm -f
+find "$src_dir" -name "*\.exe" -exec rm -f {} \;
process_filespec "$src_dir" "$dst_dir" "$filespec" || {
echo "process filespec error-ed"
@@ -56,13 +67,9 @@ process_filespec "$src_dir" "$dst_dir" "$filespec" || {
if [ "$mode" == "sources" ] ; then
# Copy only python source files
- find $dst_dir -not -type d -not -name "*\.py" | xargs rm -f
+ find "$dst_dir" -not -type d -not -name "*\.py" -exec 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
+ delete_empty_dirs "$dst_dir"
exit 0
fi
@@ -75,19 +82,15 @@ legacy=
# 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 $legacy -d '/' $dst_dir || {
+$python -m compileall $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" | xargs rm -f
+find "$dst_dir" -type f -name "*\.py" -exec 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
+delete_empty_dirs "$dst_dir"
exit 0