X-Git-Url: http://gitweb.hugovil.com/?a=blobdiff_plain;f=stage2%2Fpkg%2Feglibc;h=d85577e3ca87f4a249a7c8fbbb4775549f14fcc4;hb=776bbd8c7e1ad388b0e0966f01cb06aae9ec3fae;hp=6aa0607bc92be43381ee32a3c3daae360b8a46b6;hpb=609b33c0aeaf4095bc8d298eb1f67b3a3489c010;p=hvlinux.git diff --git a/stage2/pkg/eglibc b/stage2/pkg/eglibc index 6aa0607..d85577e 100644 --- a/stage2/pkg/eglibc +++ b/stage2/pkg/eglibc @@ -9,15 +9,22 @@ hvconfig_pre() --enable-kernel=$(get_pkg_ver ${KERNEL}) \ --libexecdir=/usr/lib/eglibc" + cd ${LFS_TMP}/${PACKAGE} + + # At the end of the installation, the build system will run a sanity test to + # make sure everything installed properly. This script will attempt to test + # for a library that is only used in the test suite and is never installed. + # Prevent the script from testing for this library with the following command: + sed -i 's/\(&& $name ne\) "db1"/ & \1 "nss_test1"/' scripts/test-installation.pl + # When running make install, a script called test-installation.pl performs a # small sanity test on our newly installed Glibc. However, because our # toolchain still points to the /tools directory, the sanity test would be # carried out against the wrong Glibc. We can force the script to check the # Glibc we have just installed with: - cd ${LFS_TMP}/${PACKAGE} LINKER=$(readelf -l $(file /tools/lib/libc-* | cut -f1 -d:) | sed -n 's@.*interpret.*/tools\(.*\)]$@\1@p') sed -i "s|libs -o|libs -L/usr/lib -Wl,-dynamic-linker=${LINKER} -o|" \ - scripts/test-installation.pl + scripts/test-installation.pl unset LINKER cd ${LFS_TMP}/${PACKAGE}-build @@ -44,8 +51,10 @@ hvbuild() # 32-bit loader which has a different name from the 64-bit loader # (unlike on other 64-bit architectures). We fool it by creating a # symlink to the real loader. - EGLIBC_VER_BASE=$(echo ${PACKAGE} | sed "s!eglibc-\([^-]*\)-.*!\1!g") - ln -svfT ld-${EGLIBC_VER_BASE}.so /lib/ld-linux.so.2 + local EGLIBC_VER=$(cat ${LFS_TMP}/${PACKAGE}/version.h | \ + grep "VERSION" | sed "s!.*VERSION\ \"\(.*\)\"!\1!") + + ln -svfT ld-${EGLIBC_VER}.so /lib/ld-linux.so.2 make install # Now we can remove this symlink.