@@ -13,3 +13,32 @@ isset() {
eval "var=\"\${$1}\""
[ -n "$var" ]
}
+
+install() {
+ local arg
+ local dest
+ local args=()
+ local symlinks=()
+ local n=0
+
+ for arg in "$@"; do
+ if [ "${arg#-}" = "$arg" ]; then
+ dest="$arg"
+ if [ -h "$arg" ]; then
+ symlinks+=("$arg")
+ else
+ args+=("$arg")
+ n=$((n+1))
+ fi
+ else
+ args+=("$arg")
+ fi
+ done
+
+ if [ "$n" -ge 2 ]; then
+ command install "${args[@]}" || return 1
+ fi
+ if [ "${#symlinks[@]}" -ge 1 ]; then
+ cp --force --preserve --no-dereference "${symlinks[@]}" "$dest" || return 1
+ fi
+}
@@ -278,11 +278,11 @@ FIND:=find
PATCH:=patch
PYTHON:=python
-INSTALL_BIN:=install -m0755
-INSTALL_SUID:=install -m4755
INSTALL_DIR:=install -d -m0755
-INSTALL_DATA:=install -m0644
-INSTALL_CONF:=install -m0600
+INSTALL_BIN:=$(SH_FUNC) install -m0755
+INSTALL_SUID:=$(SH_FUNC) install -m4755
+INSTALL_DATA:=$(SH_FUNC) install -m0644
+INSTALL_CONF:=$(SH_FUNC) install -m0600
TARGET_CC_NOCACHE:=$(TARGET_CC)
TARGET_CXX_NOCACHE:=$(TARGET_CXX)
This intends to serve as a guard against future use of the following that may lead to multiple copies of the same binary be packaged and installed to the target system $(INSTALL_DATA) $(PKG_INSTALL_DIR)/usr/lib/libyy.so.* $(1) Signed-off-by: Yousong Zhou <yszhou4tech@gmail.com> --- If this got accepted, pull requests like openwrt/packages#9233 will no longer be necessary include/shell.sh | 29 +++++++++++++++++++++++++++++ rules.mk | 8 ++++---- 2 files changed, 33 insertions(+), 4 deletions(-)