aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorFelix Fietkau <nbd@nbd.name>2021-02-15 17:49:46 +0100
committerFelix Fietkau <nbd@nbd.name>2021-02-15 18:47:21 +0100
commit075fa4cd9ae2ee5e9715fad2f70b2092ddc9ac2d (patch)
treeb7209cf91bf7c0313a83b17d1cac06e084cd394f
parent26a899e3e84199db9e2807d6584e5fd6e11a702c (diff)
downloadupstream-075fa4cd9ae2ee5e9715fad2f70b2092ddc9ac2d.tar.gz
upstream-075fa4cd9ae2ee5e9715fad2f70b2092ddc9ac2d.tar.bz2
upstream-075fa4cd9ae2ee5e9715fad2f70b2092ddc9ac2d.zip
Mostly revert "build: add support for fixing up library soname"
This reverts commit b12288fa69b171f7c9405518c9bed3581a06f7ce. The patchelf approach is too fragile, and the only users of this have been converted to make patching unnecessary Leave the abi_version_str variable in place in rules.mk Signed-off-by: Felix Fietkau <nbd@nbd.name>
-rw-r--r--include/package-ipkg.mk5
-rw-r--r--include/package.mk2
-rw-r--r--rules.mk4
-rwxr-xr-xscripts/set-abi-version.sh73
4 files changed, 0 insertions, 84 deletions
diff --git a/include/package-ipkg.mk b/include/package-ipkg.mk
index e89276ed1a..eaa80ebc75 100644
--- a/include/package-ipkg.mk
+++ b/include/package-ipkg.mk
@@ -152,7 +152,6 @@ ifeq ($(DUMP),)
mkdir -p $(PKG_BUILD_DIR)/.pkgdir/$(1)
$(call Package/$(1)/install,$(PKG_BUILD_DIR)/.pkgdir/$(1))
$(call Package/$(1)/install_lib,$(PKG_BUILD_DIR)/.pkgdir/$(1))
- $(if $(PKG_ABI_VERSION),$(SET_ABI_VERSION) "$(PKG_ABI_VERSION)" "$(PKG_BUILD_DIR)/.pkgdir/$(1)" "$(STAGING_DIR)/packages/$(STAGING_FILES_LIST)")
touch $$@
$(STAGING_DIR_ROOT)/stamp/.$(1)_installed: $(PKG_BUILD_DIR)/.pkgdir/$(1).installed
@@ -197,15 +196,11 @@ $(_endef)
$$(IPKG_$(1)) : export DESCRIPTION=$$(Package/$(1)/description)
$$(IPKG_$(1)) : export PATH=$$(TARGET_PATH_PKG)
$$(IPKG_$(1)) : export PKG_SOURCE_DATE_EPOCH:=$(PKG_SOURCE_DATE_EPOCH)
- ifdef Build/InstallDev
- $$(IPKG_$(1)): $(STAMP_INSTALLED)
- endif
$(PKG_INFO_DIR)/$(1).provides $$(IPKG_$(1)): $(STAMP_BUILT) $(INCLUDE_DIR)/package-ipkg.mk
@rm -rf $$(IDIR_$(1)); \
$$(call remove_ipkg_files,$(1),$$(call opkg_package_files,$(call gen_ipkg_wildcard,$(1))))
mkdir -p $(PACKAGE_DIR) $$(IDIR_$(1))/CONTROL $(PKG_INFO_DIR)
$(call Package/$(1)/install,$$(IDIR_$(1)))
- $(if $(PKG_ABI_VERSION),$(SET_ABI_VERSION) "$(PKG_ABI_VERSION)" "$$(IDIR_$(1))" "$(STAGING_DIR)/packages/$(STAGING_FILES_LIST)")
$(if $(Package/$(1)/install-overlay),mkdir -p $(PACKAGE_DIR) $$(IDIR_$(1))/rootfs-overlay)
$(call Package/$(1)/install-overlay,$$(IDIR_$(1))/rootfs-overlay)
-find $$(IDIR_$(1)) -name 'CVS' -o -name '.svn' -o -name '.#*' -o -name '*~'| $(XARGS) rm -rf
diff --git a/include/package.mk b/include/package.mk
index 0f1dd5cc50..d38d52908e 100644
--- a/include/package.mk
+++ b/include/package.mk
@@ -178,7 +178,6 @@ Build/Exports=$(Build/Exports/Default)
define Build/CoreTargets
STAMP_PREPARED:=$$(STAMP_PREPARED)
STAMP_CONFIGURED:=$$(STAMP_CONFIGURED)
- PKG_ABI_VERSION:=$$(PKG_ABI_VERSION)
$(if $(QUILT),$(Build/Quilt))
$(call Build/Autoclean)
@@ -237,7 +236,6 @@ define Build/CoreTargets
"$(STAGING_DIR)/packages/$(STAGING_FILES_LIST)" \
"$(STAGING_DIR)"; \
fi
- $(if $(PKG_ABI_VERSION),$(SET_ABI_VERSION) "$(PKG_ABI_VERSION)" $(TMP_DIR)/stage-$(PKG_DIR_NAME))
if [ -d $(TMP_DIR)/stage-$(PKG_DIR_NAME) ]; then \
(cd $(TMP_DIR)/stage-$(PKG_DIR_NAME); find ./ > $(TMP_DIR)/stage-$(PKG_DIR_NAME).files); \
$(call locked, \
diff --git a/rules.mk b/rules.mk
index c6bd7327c5..8f41ff5861 100644
--- a/rules.mk
+++ b/rules.mk
@@ -339,10 +339,6 @@ else
$(SCRIPT_DIR)/rstrip.sh
endif
-SET_ABI_VERSION= \
- PATCHELF="$(STAGING_DIR_HOST)/bin/patchelf" \
- $(SCRIPT_DIR)/set-abi-version.sh
-
ifeq ($(CONFIG_IPV6),y)
DISABLE_IPV6:=
else
diff --git a/scripts/set-abi-version.sh b/scripts/set-abi-version.sh
deleted file mode 100755
index a61c842c6d..0000000000
--- a/scripts/set-abi-version.sh
+++ /dev/null
@@ -1,73 +0,0 @@
-#!/usr/bin/env bash
-#
-# Copyright (C) 2020 OpenWrt.org
-#
-# This is free software, licensed under the GNU General Public License v2.
-# See /LICENSE for more information.
-#
-SELF=${0##*/}
-
-[ -n "$PATCHELF" ] || {
- echo "$SELF: patchelf command not defined (PATCHELF variable not set)"
- exit 1
-}
-
-ABI_VER="$1"
-PATCH_DIR="$2"
-REF_LIST="$3"
-
-[ -n "$ABI_VER" -a -n "$PATCH_DIR" ] || {
- echo "$SELF: no ABI version or files/directories specified"
- echo "usage: $SELF <VERSION> [<PATH>...]"
- exit 1
-}
-
-cmd() {
- echo "$@" >&2
- "$@" || exit 1
-}
-
-gen_lib_list() {
- while read F; do
- F="${F##*/}"
- case "$F" in
- lib*.so*);;
- *) continue;;
- esac
- echo -n "$F:"
- done < "$REF_LIST"
-}
-
-find "$PATCH_DIR" -type f -a -name 'lib*.so*' | \
-(
- while read F; do
- NEW_F="${F%%.so*}.so.$ABI_VER"
- NEW_NAME="${NEW_F##*/}"
- [ "$NEW_F" != "$F" ] || continue
- cmd mv "$F" "$NEW_F"
- [ "$REF_LIST" ] || cmd ln -s "$NEW_NAME" "$F"
- cmd $PATCHELF --set-soname "$NEW_NAME" "$NEW_F"
- done
-)
-
-[ -n "$REF_LIST" ] || exit 0
-
-LIBS="$(gen_lib_list)"
-LIBS="${LIBS%%:}"
-find "$PATCH_DIR" -type f -a -exec file {} \; | \
- sed -n -e 's/^\(.*\):.*ELF.*\(executable\|relocatable\|shared object\).*,.*/\1:\2/p' | \
-(
- IFS=":"
- while read F S; do
- $PATCHELF --print-needed "$F" | while read L; do
- BASE_L="${L%%.so*}"
- for lib in $LIBS; do
- base_lib="${lib%%.so*}"
- [ "$BASE_L" = "$base_lib" ] || continue
- [ "$l" = "$lib" ] && continue
- cmd $PATCHELF --replace-needed "$L" "$lib" "$F"
- done
- done
- done
- true
-)