aboutsummaryrefslogtreecommitdiff
path: root/common/hooks/pre-pkg
diff options
context:
space:
mode:
Diffstat (limited to 'common/hooks/pre-pkg')
-rw-r--r--common/hooks/pre-pkg/03-rewrite-python-shebang.sh41
1 files changed, 14 insertions, 27 deletions
diff --git a/common/hooks/pre-pkg/03-rewrite-python-shebang.sh b/common/hooks/pre-pkg/03-rewrite-python-shebang.sh
index e45c6044458..e5fb2157441 100644
--- a/common/hooks/pre-pkg/03-rewrite-python-shebang.sh
+++ b/common/hooks/pre-pkg/03-rewrite-python-shebang.sh
@@ -2,36 +2,23 @@
# - rewrites python shebangs with the corresponding python version
hook() {
- local pyver= shebang= warn= off=
+ local pyver= shebang= off=
- case $pkgname in
- python-*)
- pyver=2.7;;
- python3.4-*)
- pyver=3.4;;
- python3.5-*)
- pyver=3.5;;
- *)
- for i in $pycompile_version $python_versions; do
- if [ "$pyver" ]; then
- warn=1
- break;
- fi
- pyver=$i
- done
- : ${pyver:=2.7}
- ;;
- esac
+ : ${pyver:=2}
- shebang="#!/usr/bin/python$pyver"
+ if [ -d ${PKGDESTDIR}/usr/lib/python* ]; then
+ pycompile_version="$(find ${PKGDESTDIR}/usr/lib/python* -type d | grep -o '[[:digit:]]\.[[:digit:]]$')"
+ fi
+
+ if [ -n "$pycompile_version" ]; then
+ pyver="$pycompile_version"
+ fi
+
+ shebang="#!/usr/bin/python${pyver%.*}"
find ${PKGDESTDIR} -type f -print0 | \
- xargs -0 grep -H -b -m 1 "^#!.*\([[:space:]]\|/\)python\([[:space:]]\|$\)" -- | while IFS=: read -r f off _; do
+ xargs -0 grep -H -b -m 1 "^#!.*\([[:space:]]\|/\)python\([[:space:]]*\|$\)" -- | while IFS=: read -r f off _; do
[ -z "$off" ] && continue
- if [ "$warn" ]; then
- msg_warn "$pkgver: multiple python versions defined! (using $pyver for shebangs)\n"
- unset warn
- fi
- echo " Unversioned shebang replaced by '$shebang': ${f#$PKGDESTDIR}"
- sed -i "1s@.*python@${shebang}@" -- "$f"
+ echo " Shebang converted to '$shebang': ${f#$PKGDESTDIR}"
+ sed -i "1s@.*python.*@${shebang}@" -- "$f"
done
}