summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMichał Masłowski <mtjm@mtjm.eu>2011-11-01 01:07:06 +0100
committerMichał Masłowski <mtjm@mtjm.eu>2011-11-01 01:07:06 +0100
commite7354877248edca198b0f359567350a80749cc1c (patch)
tree08fbf8def1179711a744ffafac17f3909be9b907
parent1b49f188326484f5c8111861fcff6248e94ed359 (diff)
Use lib32 for glibc, symlink ld.so.1 to /lib.
-rw-r--r--core/glibc/PKGBUILD44
1 files changed, 32 insertions, 12 deletions
diff --git a/core/glibc/PKGBUILD b/core/glibc/PKGBUILD
index 98fdb5107..4d21e0173 100644
--- a/core/glibc/PKGBUILD
+++ b/core/glibc/PKGBUILD
@@ -6,7 +6,7 @@
pkgname=glibc
pkgver=2.14
-pkgrel=6.1
+pkgrel=6.2
_glibcdate=20110908
pkgdesc="GNU C Library"
arch=('i686' 'x86_64' 'mips64el')
@@ -130,14 +130,20 @@ build() {
extra_addons=",ports"
fi
- echo "slibdir=/lib" >> configparms
+ if [[ ${CARCH} != "mips64el" ]]; then
+ echo "slibdir=/lib" >> configparms
+ libdir=/usr/lib
+ else
+ echo "slibdir=/lib32" >> configparms
+ libdir=/usr/lib32
+ fi
# remove hardening options from CFLAGS for building libraries
CFLAGS=${CFLAGS/-fstack-protector/}
CFLAGS=${CFLAGS/-D_FORTIFY_SOURCE=2/}
${srcdir}/glibc/configure --prefix=/usr \
- --libdir=/usr/lib --libexecdir=/usr/lib \
+ --libdir=$libdir --libexecdir=$libdir \
--with-headers=/usr/include \
--enable-add-ons=nptl,libidn$extra_addons \
--enable-kernel=2.6.27 \
@@ -171,11 +177,19 @@ package() {
cd ${srcdir}/glibc-build
make install_root=${pkgdir} install
+ if [[ ${CARCH} != "mips64el" ]]; then
+ libdir=usr/lib
+ slibdir=lib
+ else
+ libdir=usr/lib32
+ slibdir=lib32
+ fi
+
rm -f ${pkgdir}/etc/ld.so.{cache,conf}
install -dm755 ${pkgdir}/etc/rc.d
install -dm755 ${pkgdir}/usr/sbin
- install -dm755 ${pkgdir}/usr/lib/locale
+ install -dm755 ${pkgdir}/${libdir}/locale
install -m644 ${srcdir}/glibc/nscd/nscd.conf ${pkgdir}/etc/nscd.conf
install -m755 ${srcdir}/nscd ${pkgdir}/etc/rc.d/nscd
install -m755 ${srcdir}/locale-gen ${pkgdir}/usr/sbin
@@ -198,6 +212,12 @@ package() {
mkdir ${pkgdir}/lib64
cd ${pkgdir}/lib64
ln -v -s ../lib/ld* .
+ elif [[ ${CARCH} = "mips64el" ]]; then
+ # Previously our binaries used /lib/ld.so.1 as the interpreter, we
+ # don't want the upgrade to fail due to this.
+ mkdir ${pkgdir}/lib
+ cd ${pkgdir}/lib
+ ln -s ../lib32/ld* .
fi
# manually strip files as stripping libpthread-*.so and libthread_db.so
@@ -208,16 +228,16 @@ package() {
strip $STRIP_BINARIES sbin/{ldconfig,sln} \
usr/bin/{gencat,getconf,getent,iconv,locale} \
usr/bin/{localedef,pcprofiledump,rpcgen,sprof} \
- usr/lib/getconf/* \
+ $libdir/getconf/* \
usr/sbin/{iconvconfig,nscd}
[[ $CARCH = "i686" ]] && strip $STRIP_BINARIES usr/bin/lddlibc4
- strip $STRIP_STATIC usr/lib/*.a \
- lib/{{ld,libpthread}-${pkgver},libthread_db-1.0}.so
+ strip $STRIP_STATIC $libdir/*.a \
+ $slibdir/{{ld,libpthread}-${pkgver},libthread_db-1.0}.so
- strip $STRIP_SHARED lib/{libanl,libBrokenLocale,libc,libcidn,libcrypt}-${pkgver}.so \
- lib/libnss_{compat,dns,files,hesiod,nis,nisplus}-${pkgver}.so \
- lib/{libdl,libm,libnsl,libresolv,librt,libutil}-${pkgver}.so \
- lib/{libmemusage,libpcprofile,libSegFault}.so \
- usr/lib/{pt_chown,{audit,gconv}/*.so}
+ strip $STRIP_SHARED $slibdir/{libanl,libBrokenLocale,libc,libcidn,libcrypt}-${pkgver}.so \
+ $slibdir/libnss_{compat,dns,files,hesiod,nis,nisplus}-${pkgver}.so \
+ $slibdir/{libdl,libm,libnsl,libresolv,librt,libutil}-${pkgver}.so \
+ $slibdir/{libmemusage,libpcprofile,libSegFault}.so \
+ $libdir/{pt_chown,{audit,gconv}/*.so}
}