From fbdb365ec23e45cbb1b68bfcffaad1d220400502 Mon Sep 17 00:00:00 2001 From: florian Date: Fri, 22 Mar 2013 10:06:06 +0000 Subject: base-files: sysupgrade fail with eglibc With eglibc, "ldd busybox" give us libcrypt.so.1 => /lib/libcrypt.so.1 (0x774be000) libm.so.6 => /lib/libm.so.6 (0x773e4000) libgcc_s.so.1 => /lib/libgcc_s.so.1 (0x773c0000) libc.so.6 => /lib/libc.so.6 (0x77276000) /lib/ld.so.1 (0x774fe000) Thus /lib/ld.so.1 is not printed by the libs fonction and isn't copied to the 'new' root before pivot root libs() { ldd $* | awk '{print $3}'; } https://dev.openwrt.org/browser/trunk/package/base-files/files/lib/upgrade/common.sh With uclibc the last line of "ldd busybox" is ld-uClibc.so.0 => /lib/ld-uClibc.so.0 (0x77ada000) Don't know for musl! This patch replace https://dev.openwrt.org/changeset/19167, as glibc is gone The other way around is to rework libs() Please apply the fix (mine or another) on trunk and AA Might fix https://dev.openwrt.org/ticket/12273 Signed-off-by: Etienne CHAMPETIER Signed-off-by: Florian Fainelli git-svn-id: svn://svn.openwrt.org/openwrt/trunk@36107 3c298f89-4303-0410-b956-a3cf2f4a3e73 --- package/base-files/Makefile | 2 +- package/base-files/files/lib/upgrade/common.sh | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) (limited to 'package') diff --git a/package/base-files/Makefile b/package/base-files/Makefile index 90c280645..741b3cca8 100644 --- a/package/base-files/Makefile +++ b/package/base-files/Makefile @@ -11,7 +11,7 @@ include $(INCLUDE_DIR)/kernel.mk include $(INCLUDE_DIR)/version.mk PKG_NAME:=base-files -PKG_RELEASE:=134 +PKG_RELEASE:=135 PKG_FILE_DEPENDS:=$(PLATFORM_DIR)/ $(GENERIC_PLATFORM_DIR)/base-files/ PKG_BUILD_DEPENDS:=opkg/host diff --git a/package/base-files/files/lib/upgrade/common.sh b/package/base-files/files/lib/upgrade/common.sh index df842bf92..fbe54a5ee 100644 --- a/package/base-files/files/lib/upgrade/common.sh +++ b/package/base-files/files/lib/upgrade/common.sh @@ -21,8 +21,8 @@ install_bin() { # [ ... ] files=$1 [ -x "$src" ] && files="$src $(libs $src)" install_file $files - [ -e /lib/ld-linux.so.3 ] && { - install_file /lib/ld-linux.so.3 + [ -e /lib/ld.so.1 ] && { + install_file /lib/ld.so.1 } shift for link in "$@"; do { -- cgit v1.2.3