diff options
author | Florian Fainelli <florian@openwrt.org> | 2013-03-22 10:06:06 +0000 |
---|---|---|
committer | Florian Fainelli <florian@openwrt.org> | 2013-03-22 10:06:06 +0000 |
commit | 3810cc0f4605175b9d0d653e6f3de5cffbb29064 (patch) | |
tree | a3f43dc384325099c94333281e1cc8577b7c831d | |
parent | 18c47be19a356aac4b4f992bc275de3f23f4913c (diff) | |
download | mtk-20170518-3810cc0f4605175b9d0d653e6f3de5cffbb29064.zip mtk-20170518-3810cc0f4605175b9d0d653e6f3de5cffbb29064.tar.gz mtk-20170518-3810cc0f4605175b9d0d653e6f3de5cffbb29064.tar.bz2 |
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 <etienne.champetier@free.fr>
Signed-off-by: Florian Fainelli <florian@openwrt.org>
SVN-Revision: 36107
-rw-r--r-- | package/base-files/Makefile | 2 | ||||
-rw-r--r-- | package/base-files/files/lib/upgrade/common.sh | 4 |
2 files changed, 3 insertions, 3 deletions
diff --git a/package/base-files/Makefile b/package/base-files/Makefile index 90c2806..741b3cc 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 df842bf..fbe54a5 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() { # <file> [ <symlink> ... ] 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 { |