mirror of
https://github.com/openwrt/packages.git
synced 2026-01-10 11:44:48 +00:00
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:
@@ -58,6 +58,8 @@ python="$4"
|
|||||||
mode="$5"
|
mode="$5"
|
||||||
filespec="$6"
|
filespec="$6"
|
||||||
|
|
||||||
|
SED="${SED:-sed -e}"
|
||||||
|
|
||||||
find "$src_dir" -name "*\.exe" -exec rm -f {} \;
|
find "$src_dir" -name "*\.exe" -exec rm -f {} \;
|
||||||
|
|
||||||
process_filespec "$src_dir" "$dst_dir" "$filespec" || {
|
process_filespec "$src_dir" "$dst_dir" "$filespec" || {
|
||||||
@@ -68,7 +70,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
|
||||||
|
|||||||
@@ -69,6 +69,7 @@ define PyPackage
|
|||||||
|
|
||||||
define Package/$(1)/install
|
define Package/$(1)/install
|
||||||
$$(call PyPackage/$(1)/install,$$(1))
|
$$(call PyPackage/$(1)/install,$$(1))
|
||||||
|
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)" \
|
||||||
|
|||||||
@@ -68,6 +68,7 @@ define Py3Package
|
|||||||
|
|
||||||
define Package/$(1)/install
|
define Package/$(1)/install
|
||||||
$$(call Py3Package/$(1)/install,$$(1))
|
$$(call Py3Package/$(1)/install,$$(1))
|
||||||
|
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)" \
|
||||||
|
|||||||
Reference in New Issue
Block a user