python,python3: Fix overridden usr/bin symlinks
Currently, all files in usr/bin (presumably all Python scripts) are run through sed to replace the shebang; sed will overwrite the file whether or not a match is found. This causes symlinks to be overridden and made into copies of their targets. python[3]-base and python[3]-dev are affected by this. This adds the --follow-symlinks flag to sed, in addition to using $(SED), so that symlinks are not overridden. Signed-off-by: Jeffery To <jeffery.to@gmail.com>
This commit is contained in:
parent
421c58a946
commit
af975f0f30
3 changed files with 5 additions and 1 deletions
|
@ -47,6 +47,8 @@ python="$4"
|
||||||
mode="$5"
|
mode="$5"
|
||||||
filespec="$6"
|
filespec="$6"
|
||||||
|
|
||||||
|
SED="${SED:-sed -e}"
|
||||||
|
|
||||||
process_filespec "$src_dir" "$dst_dir" "$filespec" || {
|
process_filespec "$src_dir" "$dst_dir" "$filespec" || {
|
||||||
echo "process filespec error-ed"
|
echo "process filespec error-ed"
|
||||||
exit 1
|
exit 1
|
||||||
|
@ -55,7 +57,7 @@ process_filespec "$src_dir" "$dst_dir" "$filespec" || {
|
||||||
usr_bin_dir="$dst_dir/usr/bin"
|
usr_bin_dir="$dst_dir/usr/bin"
|
||||||
|
|
||||||
if [ -d "$usr_bin_dir" ] ; then
|
if [ -d "$usr_bin_dir" ] ; then
|
||||||
sed "1"'!'"b;s,^#"'!'".*python.*,#"'!'"/usr/bin/python${ver}," -i $usr_bin_dir/*
|
$SED "1"'!'"b;s,^#"'!'".*python.*,#"'!'"/usr/bin/python${ver}," -i --follow-symlinks $usr_bin_dir/*
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if [ "$mode" == "sources" ] ; then
|
if [ "$mode" == "sources" ] ; then
|
||||||
|
|
|
@ -70,6 +70,7 @@ define PyPackage
|
||||||
define Package/$(1)/install
|
define Package/$(1)/install
|
||||||
$(call PyPackage/$(1)/install,$$(1))
|
$(call PyPackage/$(1)/install,$$(1))
|
||||||
find $(PKG_INSTALL_DIR) -name "*\.exe" | xargs rm -f
|
find $(PKG_INSTALL_DIR) -name "*\.exe" | xargs rm -f
|
||||||
|
SED="$(SED)" \
|
||||||
$(SHELL) $(python_mk_path)python-package-install.sh "2" \
|
$(SHELL) $(python_mk_path)python-package-install.sh "2" \
|
||||||
"$(PKG_INSTALL_DIR)" "$$(1)" \
|
"$(PKG_INSTALL_DIR)" "$$(1)" \
|
||||||
"$(HOST_PYTHON_BIN)" "$$(2)" \
|
"$(HOST_PYTHON_BIN)" "$$(2)" \
|
||||||
|
|
|
@ -69,6 +69,7 @@ define Py3Package
|
||||||
define Package/$(1)/install
|
define Package/$(1)/install
|
||||||
$(call Py3Package/$(1)/install,$$(1))
|
$(call Py3Package/$(1)/install,$$(1))
|
||||||
find $(PKG_INSTALL_DIR) -name "*\.exe" | xargs rm -f
|
find $(PKG_INSTALL_DIR) -name "*\.exe" | xargs rm -f
|
||||||
|
SED="$(SED)" \
|
||||||
$(SHELL) $(python3_mk_path)python-package-install.sh "3" \
|
$(SHELL) $(python3_mk_path)python-package-install.sh "3" \
|
||||||
"$(PKG_INSTALL_DIR)" "$$(1)" \
|
"$(PKG_INSTALL_DIR)" "$$(1)" \
|
||||||
"$(HOST_PYTHON3_BIN)" "$$(2)" \
|
"$(HOST_PYTHON3_BIN)" "$$(2)" \
|
||||||
|
|
Loading…
Reference in a new issue