4e6576e7a4
- python_module build style now builds modules for python2/3 by default - new python2_module and python3_module build styles for building python2-only and python3-only packages respectively - no more python_versions - no need to define pycompile_version for Python modules anymore (still needed for non-Python modules though) - Python version and paths are now guessed automatically and a set of useful variables can now be used in templates - #!/usr/bin/python2 and #!/usr/bin/python3 are now the default shebangs - /usr/bin/foo2 and /usr/bin/foo3 are now the default names for bin scripts (for use with alternatives)
24 lines
733 B
Bash
24 lines
733 B
Bash
# This hook executes the following tasks:
|
|
# - rewrites python shebangs with the corresponding python version
|
|
|
|
hook() {
|
|
local pyver= shebang= off=
|
|
|
|
: ${pyver:=2}
|
|
|
|
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
|
|
[ -z "$off" ] && continue
|
|
echo " Shebang converted to '$shebang': ${f#$PKGDESTDIR}"
|
|
sed -i "1s@.*python.*@${shebang}@" -- "$f"
|
|
done
|
|
}
|