Changeset 36107


Ignore:
Timestamp:
2013-03-22T11:06:06+01:00 (5 years ago)
Author:
florian
Message:

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.archive.openwrt.org/changeset/19167.html, 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.archive.openwrt.org/ticket/12273.html

Signed-off-by: Etienne CHAMPETIER <etienne.champetier@…>
Signed-off-by: Florian Fainelli <florian@…>

Location:
trunk/package/base-files
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/package/base-files/Makefile

    r36003 r36107  
    1212 
    1313PKG_NAME:=base-files 
    14 PKG_RELEASE:=134 
     14PKG_RELEASE:=135 
    1515 
    1616PKG_FILE_DEPENDS:=$(PLATFORM_DIR)/ $(GENERIC_PLATFORM_DIR)/base-files/ 
  • trunk/package/base-files/files/lib/upgrade/common.sh

    r36031 r36107  
    2222        [ -x "$src" ] && files="$src $(libs $src)" 
    2323        install_file $files 
    24         [ -e /lib/ld-linux.so.3 ] && { 
    25                 install_file /lib/ld-linux.so.3 
     24        [ -e /lib/ld.so.1 ] && { 
     25                install_file /lib/ld.so.1 
    2626        } 
    2727        shift 
Note: See TracChangeset for help on using the changeset viewer.