From 9b1c29e19bf70d85e3ff8eadbf3467d2889a8a03 Mon Sep 17 00:00:00 2001 From: Juan RP Date: Mon, 3 Nov 2008 10:32:36 +0100 Subject: [PATCH] glibc: add 32 dynamic linker to ldd on x86_64. replace_interpreter: don't look at $wrksrc. --HG-- extra : convert_revision : ba36faca11a84e42a6cbd418be90cbd443a5ee4e --- helpers/replace-interpreter.sh | 2 +- templates/glibc.tmpl | 30 ++++++++++++++---------------- 2 files changed, 15 insertions(+), 17 deletions(-) diff --git a/helpers/replace-interpreter.sh b/helpers/replace-interpreter.sh index 352efef980..3b0b85bb25 100644 --- a/helpers/replace-interpreter.sh +++ b/helpers/replace-interpreter.sh @@ -37,7 +37,7 @@ replace_interpreter() ;; esac - if [ -f $wrksrc/$file ]; then + if [ -f $file ]; then sed -i -e "1s|^#![[:space:]]*${orsb}|#!${trpath}|" $file && \ msg_normal "Transformed $lang script: ${file##$wrksrc}." else diff --git a/templates/glibc.tmpl b/templates/glibc.tmpl index 6111618b12..6ced2b6eab 100644 --- a/templates/glibc.tmpl +++ b/templates/glibc.tmpl @@ -4,13 +4,11 @@ version=2.8 wrksrc="libc" distfiles="ftp://ftp.archlinux.org/other/glibc/$pkgname-2.8_20080828.tar.bz2" build_style=gnu_configure -configure_env="ac_cv_path_BASH_SHELL=/bin/bash" configure_script="../configure" configure_args="--with-tls -disable-profile --with-__thread --enable-kernel=2.6.16 --enable-add-ons --without-gd --enable-bind-now --without-cvs --without-selinux --prefix=/usr --libdir=/usr/lib - --with-headers=/usr/include - --infodir=/usr/share/info" + --with-headers=/usr/include --infodir=/usr/share/info" make_install_target="install_root=$XBPS_DESTDIR/$pkgname-$version install localedata/install-locales" short_desc="The GNU C library" @@ -32,31 +30,31 @@ pre_configure() # We must configure it in another directory. mkdir -p $wrksrc/build_obj && cd $wrksrc/build_obj wrksrc=$wrksrc/build_obj - echo "slibdir=/lib" >> $wrksrc/configparms + echo "slibdir=/lib" > $wrksrc/configparms } pre_install() { - # Create destdir/etc/ld.conf + # Create destdir/etc/ld.so.conf mkdir -p $XBPS_DESTDIR/$pkgname-$version/etc touch $XBPS_DESTDIR/$pkgname-$version/etc/ld.so.conf } post_install() { + local destdir=$XBPS_DESTDIR/$pkgname-$version + # Replace hardcoded path to bash. - # x86_64 arch: use /lib rather than /lib64 and make - # lib64 -> lib symlinks. - - if [ -x $XBPS_DESTDIR/$pkgname-$version/usr/bin/ldd ]; then - sed -i -e "s,$XBPS_MASTERDIR/bin/bash,/bin/bash,g" \ - $XBPS_DESTDIR/$pkgname-$version/usr/bin/ldd - fi + . $XBPS_HELPERSDIR/replace-interpreter.sh + replace_interpreter bash $destdir/usr/bin/ldd + # On x86_64, use /lib rather than /lib64 and add the + # dynamic linker's 32bit version. if [ "$xbps_machine" = "x86_64" ]; then - sed -i '/RTLDLIST/s%/ld-linux.so.2 /lib64%%' \ - $XBPS_DESTDIR/$pkgname-$version/usr/bin/ldd - cd $XBPS_DESTDIR/$pkgname-$version && ln -s lib lib64 - cd $XBPS_DESTDIR/$pkgname-$version/usr && ln -s lib lib64 + rtldlist="/lib/ld-linux.so.2 /lib/ld-linux-x86-64.so.2" + sed -i "s|^RTLDLIST.*$|RTLDLIST=\"$rtldlist\"|" \ + $destdir/usr/bin/ldd + cd $destdir && ln -s lib lib64 + cd $destdir/usr && ln -s lib lib64 fi }