summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJaka Kranjc2007-04-16 16:30:35 +0200
committerJaka Kranjc2007-04-16 16:30:56 +0200
commit359a1218936a049bfa3d678783d013dfc846ea56 (patch)
treee678a8bceb0901cf1b1de0aee513c1151a43e93b
parent3078b1a57e5154dbcf83d46c9b17e1166fa56e34 (diff)
glibc: sync from test and update to 2.5
-rwxr-xr-xlibs/glibc/BUILD51
-rwxr-xr-xlibs/glibc/DEPENDS14
-rwxr-xr-xlibs/glibc/DETAILS16
-rw-r--r--libs/glibc/HISTORY119
-rwxr-xr-xlibs/glibc/INSTALL4
-rwxr-xr-xlibs/glibc/PREPARE5
-rwxr-xr-xlibs/glibc/PRE_BUILD60
-rwxr-xr-xlibs/glibc/PRE_INSTALL6
-rw-r--r--libs/glibc/TESTS10
-rwxr-xr-xlibs/glibc/UP_TRIGGERS4
-rw-r--r--libs/glibc/nisplus_fix.diff204
11 files changed, 207 insertions, 286 deletions
diff --git a/libs/glibc/BUILD b/libs/glibc/BUILD
index 30e0a2323b..1b94e5f784 100755
--- a/libs/glibc/BUILD
+++ b/libs/glibc/BUILD
@@ -6,9 +6,14 @@ if [ "$GLIBC_NOLIB64" = "y" ]; then
sedit "s/264/2/" sysdeps/unix/sysv/linux/x86_64/ldd-rewrite.sed
fi &&
+
+# this causes configure to be run again where it fails for some people on PIII and for me on Alpha
+# the error is about no working grep found...
+if [[ ${SMGL_COMPAT_ARCHS[1]} == x86_64 ]]; then
# install x86_64 libraries to lib instead of lib64
sedit "s/| x86_64//" sysdeps/unix/sysv/linux/configure &&
-sedit "s/| x86_64//" sysdeps/unix/sysv/linux/configure.in &&
+sedit "s/| x86_64//" sysdeps/unix/sysv/linux/configure.in
+fi &&
#
# bug#5570 ccache sometimes has trouble correctly recognising minor differences
@@ -20,17 +25,27 @@ export CCACHE_RECACHE=true &&
# End ccache fix
#
+local ADDONS
if [ "$GLIBC_NPTL" = "y" ]; then
- OPTS="$OPTS --enable-add-ons=nptl \
- --with-tls \
+ ADDONS="nptl"
+ OPTS="$OPTS --with-tls \
--enable-kernel=2.6"
else
- OPTS="$OPTS --enable-add-ons=linuxthreads \
- --without-__thread \
+ ADDONS="linuxthreads"
+ OPTS="$OPTS --without-__thread \
--enable-kernel=2.4"
fi &&
#
+# Enable IDN?
+#
+if [ "$GLIBC_USEIDN" = "y" ]; then
+ ADDONS="$ADDONS libidn"
+fi &&
+
+OPTS="$OPTS --enable-add-ons=${ADDONS/ /,}"
+
+#
# Fixes Bug #8595
#
CFLAGS="-Os $CFLAGS" &&
@@ -45,15 +60,16 @@ unset LD_LIBRARY_PATH &&
#
# Setup sanitised glibc-kernel-headers for the glibc compile
+# ...as well as other arch-dependend specialties
#
persistent_add GLIBC_ARCH &&
-if [[ $(uname -m) = *86_64 ]]; then
- GLIBC_ARCH=x86_64
-elif [[ $(uname -m) = ppc ]]; then
+if [[ ${SMGL_COMPAT_ARCHS[1]} == x86_64 ]]; then
+ GLIBC_ARCH=x86_64
+elif [[ ${SMGL_COMPAT_ARCHS[1]} == ppc ]]; then
GLIBC_ARCH=ppc
-elif [[ $(uname -m) = *86 ]]; then
+elif [[ ${SMGL_COMPAT_ARCHS[1]} == ia32 ]]; then
GLIBC_ARCH=i386
-elif [[ $(uname -m) = *sparc64 ]]; then
+elif [[ ${SMGL_COMPAT_ARCHS[0]} == 64 && ${SMGL_COMPAT_ARCHS[1]} == sparc ]]; then
#
# If we're not compiling for 64-bit SPARC then we need to use the sparc
# headers, not sparc64
@@ -81,7 +97,7 @@ elif [[ $(uname -m) = *sparc64 ]]; then
export HOST="sparcv9-unknown-linux-gnu" &&
[ "$BUILD" = "sparc-unknown-linux-gnu" ] &&
export BUILD="sparcv9-unknown-linux-gnu"
-elif [[ $(uname -m) = *sparc ]]; then
+elif [[ ${SMGL_COMPAT_ARCHS[0]} == 32 && ${SMGL_COMPAT_ARCHS[1]} == sparc ]]; then
GLIBC_ARCH=sparc &&
#
# Fixes from Gentoo's 2.3.3.20040420-r2 ebuild
@@ -89,7 +105,18 @@ elif [[ $(uname -m) = *sparc ]]; then
sedit "s:CPPFLAGS += -DHAVE_INITFINI:CPPFLAGS += -DHAVE_INITFINI -fno-pie -fno-PIE:" csu/Makefile
export CFLAGS="${CFLAGS/-fcall-used-g7/}"
export CFLAGS="$CFLAGS -fcall-used-g6"
-fi &&
+elif [[ ${SMGL_COMPAT_ARCHS[1]} == alpha ]]; then
+ # This is a first attempt to get alpha going, being paranoid about any CFLAGS,
+ # not without reason: -Os/-O breaks compile in strange ways:
+ # either an elf/ld.so that segfaults (build failing at sunrpc) or
+ # internal compiler error(s) in intl/
+ # glibc knows itself what flags to choose
+ export CFLAGS="" &&
+ GLIBC_ARCH=alpha
+else
+ message "Glibc spell doesn't know your architecture!" &&
+ false
+fi &&
# set the asm headers to point to the correct architecture
cd $GLIBC_HEADERS_DIR/include &&
diff --git a/libs/glibc/DEPENDS b/libs/glibc/DEPENDS
index 34eeef1b01..b6e22145f0 100755
--- a/libs/glibc/DEPENDS
+++ b/libs/glibc/DEPENDS
@@ -1,4 +1,10 @@
-depends gettext &&
-depends gnupg &&
-depends perl &&
-depends smgl-fhs
+depends gcc &&
+depends gettext &&
+depends gnupg &&
+depends perl &&
+depends smgl-fhs &&
+depends smgl-archspecs &&
+
+if [ "$GLIBC_USEIDN" = "y" ]; then
+ depends libidn
+fi
diff --git a/libs/glibc/DETAILS b/libs/glibc/DETAILS
index 07e249f09e..225c87bd9c 100755
--- a/libs/glibc/DETAILS
+++ b/libs/glibc/DETAILS
@@ -1,6 +1,6 @@
SPELL=glibc
if [ "$GLIBC_NPTL" = "y" ]; then
- VERSION=2.4
+ VERSION=2.5
HEADERS_VERSION=2.6.12.0
SOURCE=$SPELL-$VERSION.tar.bz2
SOURCE2=$SOURCE.sig
@@ -8,10 +8,17 @@ if [ "$GLIBC_NPTL" = "y" ]; then
SOURCE_URL[0]=$GNU_URL/$SPELL/$SOURCE
SOURCE2_URL[0]=${SOURCE_URL[0]}.sig
SOURCE3_URL[0]=http://ep09.pld-linux.org/~mmazur/linux-libc-headers/$SOURCE3
+ if [ "$GLIBC_USEIDN" = "y" ]; then
+ SOURCE4=$SPELL-libidn-$VERSION.tar.bz2
+ SOURCE5=$SOURCE4.sig
+ SOURCE4_URL[0]=$GNU_URL/$SPELL/$SOURCE4
+ SOURCE5_URL[0]=${SOURCE4_URL[0]}.sig
+ SOURCE4_GPG=gnu.gpg:$SOURCE4.sig:UPSTREAM_KEY
+ SOURCE5_IGNORE=signature
+ fi
SOURCE_GPG=gnu.gpg:$SOURCE.sig:UPSTREAM_KEY
SOURCE2_IGNORE=signature
SOURCE3_HASH=sha512:e7ee7a09880d19dea3d2c0d498631ee9d269738e7acdeba0a346da3b8bd0629628582973de33e6ac0c913e8c691806a50e07d520d6f6d078b76a3e74b9b61fd7
- PATCHLEVEL=1
else
VERSION=2.3.6
HEADERS_VERSION=2.4.24
@@ -30,16 +37,15 @@ else
SOURCE3_GPG=gnu.gpg:$SOURCE3.sig:UPSTREAM_KEY
SOURCE4_IGNORE=signature
SOURCE5_HASH=sha512:c1931495915c8461de97e4156c9d0edd7b44e4b48cbce2d4c3a52b83d331a9ce48f3c7abb7dd787ed897f1e7d0e81c5cdb4eb3986bc24a5e2788708427e2dcb1
- PATCHLEVEL=2
+ PATCHLEVEL=1
fi
SOURCE_DIRECTORY=$BUILD_DIRECTORY/$SPELL-$VERSION
WEB_SITE=http://www.gnu.org/software/libc
LICENSE[0]=LGPL
LICENSE[1]=LGPL
LICENSE[2]=GPL
- BUILD_API=2
+ STAGED_INSTALL=off
ENTERED=20010922
- UPDATED=20050425
KEYWORDS="libs"
SHORT="C library for use with GNU/Hurd and GNU/Linux"
cat << EOF
diff --git a/libs/glibc/HISTORY b/libs/glibc/HISTORY
index a90ccf11e1..0b49faaa7d 100644
--- a/libs/glibc/HISTORY
+++ b/libs/glibc/HISTORY
@@ -1,3 +1,70 @@
+2007-04-16 Jaka Kranjc <lynxlynxlynx@sourcemage.org>
+ * DETAILS: updated GLIBC_NPTL=y to 2.5
+ * glibc-2.4-iconv_open.patch, nisplus_fix.diff: deleted, added upstream
+ * PRE_BUILD: only apply glibcshared.patch for non-nptl version ^
+
+2007-01-21 Elisamuel Resto <ryuji@sourcemage.org>
+ * BUILD, DEPENDS, DETAILS, PREPARE, PRE_BUILD: Added libidn support
+ as per: http://bugs.sourcemage.org/show_bug.cgi?id=13465
+
+2007-01-25 Jaka Kranjc <lynxlynxlynx@sourcemage.org>
+ * DEPENDS: added gcc for proper ordering; avoids some compilation errors
+
+2007-01-10 Jaka Kranjc <lynxlynxlynx@sourcemage.org>
+ * PRE_BUILD: fix #11832 by modifying test-installation.pl for grsecurity
+
+2006-12-31 Thomas Orgis <sobukus@sourcemage.org>
+ * BUILD: limit these two lib64 lines to x86_64, they trigger
+ an additional configure run that mysteriously fails with a grep error
+ for some ppl on various archs
+
+2006-11-09 David Brown <dmlb2000@gmail.com>
+ * PRE_BUILD: added patch from upstream bug
+ https://bugzilla.samba.org/show_bug.cgi?id=3678
+ * glibc-2.4-iconv_open.patch: fix for the iconv_open function
+
+2006-11-01 Jaka Kranjc <lynxlynxlynx@sourcemage.org>
+ * DETAILS, INSTALL, PRE_BUILD, nisplus_fix.diff: merge from devel; 2.4
+
+2006-10-26 Jaka Kranjc <lynxlynxlynx@sourcemage.org>
+ * INSTALL: use TRACK_ROOT when linking #9163
+
+2006-09-21 Juuso Alasuutari <iuso@sourcemage.org>
+ * DETAILS: [automated] Removed BUILD_API=2.
+
+2006-08-15 Juuso Alasuutari <iuso@sourcemage.org>
+ * DETAILS: [automated] Removed UPDATED (deprecated in favor of
+ PATCHLEVEL).
+
+2006-07-11 Jaka Kranjc <lynxlynxlynx@sourcemage.org>
+ * DEPENDS: added smgl-archspecs, #12814
+
+2006-06-29 Jaka Kranjc <lynxlynxlynx@sourcemage.org>
+ * applied iuso's patch for separating locale generation (from devel) 12552
+ * PREPARE, INSTALL: use SMGL_COMPAT_ARCHS for 64b test
+ * PRE_INSTALL: removed duplicate tests
+ * UP_TRIGGERS: added for 12552
+
+2006-06-29 Juuso Alasuutari <iuso@sourcemage.org>
+ * INSTALL: Removed locale generation code.
+ * PREPARE: Removed locale query.
+ * CONFIGURE: Deleted, had only locale stuff.
+ * locale: Deleted.
+
+2006-06-24 Thomas Orgis <sobukus@sourcemage.org>
+ * BUILD: added alpha headers/CFLAGS setup, made build fail for
+ unknown arch in a controlled way
+
+2006-06-20 David Brown <dmlb2000@gmail.com>
+ * DETAILS: turned off staged install for this spell
+
+2006-06-04 Jaka Kranjc <lynxlynxlynx@sourcemage.org>
+ * BUILD, PRE_INSTALL: check SMGL_COMPAT_ARCHS instead of uname -m
+
+2006-05-19 David Brown <dmlb2000@gmail.com>
+ * PRE_INSTALL: removed explicit check of HOST for check against
+ SMGL_COMPAT_ARCHS
+
2006-04-12 Arwed v. Merkatz <v.merkatz@gmx.net>
* PRE_BUILD, nisplus_fix.diff: fix for upstream bug
http://sourceware.org/bugzilla/show_bug.cgi?id=2429,
@@ -30,10 +97,10 @@
adding and removing locales doesn't frighten cleanse
* DETAILS: bump PATCHLEVEL
-2006-02-08 Eric Sandall <eric@sandall.us>
+2006-02-08 Eric Sandall <sandalle@sourcemage.org>
* DEPENDS: Depends on smgl-fhs (for directory structure)
-2006-02-06 Eric Sandall <eric@sandall.us>
+2006-02-06 Eric Sandall <sandalle@sourcemage.org>
* DEPENDS: Depends on gnupg (for SOURCE verification)
2005-12-23 Robin Cook <rcook@wyrms.net>
@@ -85,7 +152,7 @@
* glibc-2.3.5-allow-gcc4-wcstol_l.patch: added
* glibc-2.3.5-gcc4_fix_elf-1.patch: added
-2005-07-07 Eric Sandall <eric@sandall.us>
+2005-07-07 Eric Sandall <sandalle@sourcemage.org>
* DETAILS: Updated headers to 2.6.12.0
Removed some trailing whitespaces
@@ -102,7 +169,7 @@
* csu_makefile.patch: added fix creation of the version-info.h file
* PRE_BUILD: added application of the patch
-2005-05-18 Eric Sandall <eric@sandall.us>
+2005-05-18 Eric Sandall <sandalle@sourcemage.org>
* CONFLICTS: Removed 'cause glibc-kernel-headers got removed
2005-05-18 Arwed v. Merkatz <v.merkatz@gmx.net>
@@ -113,7 +180,7 @@
for a pure non-lib64 64-bit system
* INSTALL: add afrayedknot's install_root fix
-2005-05-16 Eric Sandall <eric@sandall.us>
+2005-05-16 Eric Sandall <sandalle@sourcemage.org>
* BUILD: # Something adds "-O" to CFLAGS so the prior check didn't work
Now we just put "-Os" first in CFLAGS so the user's CFLAGS override
ours if they want something other than "tiny", however, I noticed that
@@ -121,24 +188,24 @@
if we already have optimizations, but luckily the let ours override
theirs (Fixes Bug #8595)
-2005-04-25 Eric Sandall <eric@sandall.us>
+2005-04-25 Eric Sandall <sandalle@sourcemage.org>
* DETAILS: Updated 2.6 glibc headers to 2.6.11.2
Updated UPDATED as these headers fix a compile problem with
at least howl (thanks Flintz)
-2005-04-11 Eric Sandall <eric@sandall.us>
+2005-04-11 Eric Sandall <sandalle@sourcemage.org>
* PRE_BUILD: glibcshared.patch now uses -p1
* glibcshared.patch: Updated for glibc 2.3.5
-2005-04-09 Eric Sandall <eric@sandall.us>
+2005-04-09 Eric Sandall <sandalle@sourcemage.org>
* DETAILS: Updated md5sum for 2.4 version (thanks Andrew)
-2005-04-07 Eric Sandall <eric@sandall.us>
+2005-04-07 Eric Sandall <sandalle@sourcemage.org>
* DETAILS: Updated to 2.3.5
Removed MAKE_NJOBS=1
* BUILD: Run make_single for the entire process
-2005-04-07 Eric Sandall <eric@sandall.us>
+2005-04-07 Eric Sandall <sandalle@sourcemage.org>
* DETAILS: Updated linux-libc-headers to 2.6.11.1
* HISTORY: Formatted to 80 columns
@@ -152,13 +219,13 @@
* PRE_BUILD: disable libgd detection/building memusagestat by sediting
configure, quick&dirty fix for bug #8277
-2005-02-18 Eric Sandall <eric@sandall.us>
+2005-02-18 Eric Sandall <sandalle@sourcemage.org>
* config.h.patch: Don't say the compilation was aborted when it wasn't
2005-02-18 Arwed v. Merkatz <v.merkatz@gmx.net>
* TRIGGERS: removed
-2005-02-14 Eric Sandall <eric@sandall.us>
+2005-02-14 Eric Sandall <sandalle@sourcemage.org>
* CONFLICTS: Auto-conflict with deprecated glibc-kernel-headers
(Bug #8237)
@@ -169,7 +236,7 @@
2005-02-11 Arwed v. Merkatz <v.merkatz@gmx.net>
* DETAILS: updated linux-libc-headers to 2.6.10.0
-2005-02-09 Eric Sandall <eric@sandall.us>
+2005-02-09 Eric Sandall <sandalle@sourcemage.org>
* PRE_INSTALL: Don't fail if glibc isn't installed (e.g. install_root)
2005-02-08 Arwed v. Merkatz <v.merkatz@gmx.net>
@@ -203,7 +270,7 @@
in the now built glibc so it doesn't break when the old ld.so is
removed during dispel
-2005-01-08 Eric Sandall <eric@sandall.us>
+2005-01-08 Eric Sandall <sandalle@sourcemage.org>
* INSTALL: Don't fail if files are left from a prior (possibly
untracked or broken) install
@@ -213,7 +280,7 @@
2005-01-06 Arwed v. Merkatz <v.merkatz@gmx.net>
* INSTALL: check GLIBC_UTF variable not UTF for utf-8 locales
-2004-12-11 Eric Sandall <eric@sandall.us>
+2004-12-11 Eric Sandall <sandalle@sourcemage.org>
* DETAILS: Updated NPTL version to 2.3.4
Updated non-NPTL version to 2.3.3
SOURCE3 removed, SOURCE4 renamed
@@ -227,18 +294,18 @@
* WIP: This new "setup" for glibc fixes some problems on my SPARC and
needs to be tested again, sorry about that.
-2004-12-10 Eric Sandall <eric@sandall.us>
+2004-12-10 Eric Sandall <sandalle@sourcemage.org>
* BUILD: More fixes for sparc64 from Gentoo's 2.3.3 ebuild
-2004-12-09 Eric Sandall <eric@sandall.us>
+2004-12-09 Eric Sandall <sandalle@sourcemage.org>
* INSTALL: In case this is a clean install without a prior glibc, setup
INSTALL_ROOT/etc/ld.so.conf
-2004-11-30 Eric Sandall <eric@sandall.us>
+2004-11-30 Eric Sandall <sandalle@sourcemage.org>
* BUILD: Need to echo $CFLAGS into grep for it to work
Removed all references to CXXFLAGS (glibc has never used C++...)
-2004-11-29 Eric Sandall <eric@sandall.us>
+2004-11-29 Eric Sandall <sandalle@sourcemage.org>
* BUILD: Apply CFLAGS fixes from a Gentoo ebuild for sparc and sparc64.
No longer uses echo to remove -ffast-math from CFLAGS.
Don't try to use sparc64 headers when building for sparc32 on a
@@ -253,7 +320,7 @@
(otherwise you'll always get the menu if you say 'y' and never use
'-r' with cast).
-2004-11-24 Eric Sandall <eric@sandall.us>
+2004-11-24 Eric Sandall <sandalle@sourcemage.org>
* CONFIGURE: Removed IFS code and set to use config_query instead of
query
Removed add_status() and make_locales_checklist()
@@ -264,7 +331,7 @@
Formatted to look nice. :)
* HISTORY: Formatted my prior entries to 80 columns
-2004-11-23 Eric Sandall <eric@sandall.us>
+2004-11-23 Eric Sandall <sandalle@sourcemage.org>
* Merging glibc-kernel-headers with glibc (Bug #7560)
* Removed glibc log cleanup of headers (since it now does install the
headers)
@@ -315,7 +382,7 @@
* PREPARE: changed to using config_query
* POST_INSTALL: moved to FINAL
-2004-10-12 Eric Sandall <eric@sandall.us>
+2004-10-12 Eric Sandall <sandalle@sourcemage.org>
* DETAILS: Move prerelease comment out of VERSION flag
Shortened SHORT
* HISTORY: Formatted to Guru Handbook
@@ -333,7 +400,7 @@
2004-07-03 Arwed v. Merkatz <v.merkatz@gmx.net>
* DETAILS: updated snapshot to 20040628
-2004-03-30 Eric Sandall <eric@sandall.us>
+2004-03-30 Eric Sandall <sandalle@sourcemage.org>
* PREPARE: Extra space typo
2004-03-25 hgg <hgreig@bigpond.net.au>
@@ -438,7 +505,7 @@
* glibc-nptl-fix-asserts.patch: A patch so /lib/libc.so.6 will report
version strings and compile stats correctly if nptl is built
-2003-12-01 Eric Sandall <eric@sandall.us>
+2003-12-01 Eric Sandall <sandalle@sourcemage.org>
* BUILD: Use INSTALL_ROOT
2003-10-20 Seth Woolley <seth@tautology.org>
@@ -462,11 +529,11 @@
* TRIGGERS: Add to TRIGGERS and update UPDATED in case libiconv is
installed then dispelled removing some of glibc's files.
-2003-07-08 Eric Sandall <eric@sandall.us>
+2003-07-08 Eric Sandall <sandalle@sourcemage.org>
* BUILD: Fixes a 'gcc not found' error during configure on some
systems
-2003-06-15 Eric Sandall <eric@sandall.us>
+2003-06-15 Eric Sandall <sandalle@sourcemage.org>
* BUILD/DETAILS: gcc 3.3 patch from LFS, thanks to Wolfgang
2003-03-30 Julian v. Bock <julian@wongr.net>
diff --git a/libs/glibc/INSTALL b/libs/glibc/INSTALL
index d768844574..35d8accf53 100755
--- a/libs/glibc/INSTALL
+++ b/libs/glibc/INSTALL
@@ -41,9 +41,9 @@ done &&
# install
#
make install install_root="${INSTALL_ROOT}" &&
-if [[ "$HOST" == x86_64-* ]]; then
+if [[ ${SMGL_COMPAT_ARCHS[1]} == x86_64 ]]; then
[ -d /lib64 -a ! -f /lib64/ld-linux-x86-64.so.2 -a -f /lib/ld-linux-x86-64.so.2 ] &&
- ln -s /lib/ld-linux-x86-64.so.2 /lib64/ld-linux-x86-64.so.2
+ ln -s $TRACK_ROOT/lib/ld-linux-x86-64.so.2 /lib64/ld-linux-x86-64.so.2
true # see bug 8626 for info about this conditional
fi &&
( ldconfig || true ) &&
diff --git a/libs/glibc/PREPARE b/libs/glibc/PREPARE
index 62d2d25d34..aba6486cbb 100755
--- a/libs/glibc/PREPARE
+++ b/libs/glibc/PREPARE
@@ -4,11 +4,10 @@ if [[ $(uname -r) = 2.6.* ]]; then
config_set_option GLIBC_NPTL n
else
config_query GLIBC_NPTL "As you are running a 2.6 kernel, would you like to use the new nptl (Native Posix Thread Libary)?" y
+ config_query GLIBC_USEIDN "Would you like to compile glibc with libidn support?" y
fi
fi &&
-config_query GLIBC_UTF "Would you like to generate UTF-8 locale data (Unicode) as well as the native charset data?" n
-
-if [[ "$HOST" == x86_64-* ]]; then
+if [[ ${SMGL_COMPAT_ARCHS[1]} == x86_64 ]]; then
config_query GLIBC_NOLIB64 "Shall the dynamic linker install to /lib (not /lib64) (lib64 purge part 2 of 2)?" n
fi
diff --git a/libs/glibc/PRE_BUILD b/libs/glibc/PRE_BUILD
index 7c193d2273..21c5945df6 100755
--- a/libs/glibc/PRE_BUILD
+++ b/libs/glibc/PRE_BUILD
@@ -6,48 +6,68 @@ default_pre_build &&
persistent_add GLIBC_HEADERS_DIR &&
GLIBC_HEADERS_DIR=$SOURCE_DIRECTORY/linux-libc-headers-$HEADERS_VERSION &&
+#
+# Set GLIBC_LIBIDN_DIR for use later
+#
+persistent_add GLIBC_LIBIDN_DIR &&
+GLIBC_LIBIDN_DIR=$SOURCE_DIRECTORY/glibc-libidn-$VERSION &&
+
if [ "$GLIBC_NPTL" = "y" ]; then
- cd $SOURCE_DIRECTORY &&
- # fix for upstream bug http://sourceware.org/bugzilla/show_bug.cgi?id=2429
- patch -p1 < $SCRIPT_DIRECTORY/nisplus_fix.diff &&
+ cd $SOURCE_DIRECTORY &&
+
+ if [ "$GLIBC_USEIDN" = "y" ]; then
+ #
+ # Unpack glibc-libidn
+ #
+ unpack_file 4 &&
+ mv $GLIBC_LIBIDN_DIR libidn
+ fi &&
+
#
# Unpack glibc-kernel-headers
#
- unpack_file 3 &&
- cd $GLIBC_HEADERS_DIR &&
- patch -p1 < $SCRIPT_DIRECTORY/config.h.patch &&
- cd $GLIBC_HEADERS_DIR/include &&
+ unpack_file 3 &&
+ cd $GLIBC_HEADERS_DIR &&
+ patch -p1 < $SCRIPT_DIRECTORY/config.h.patch &&
+ cd $GLIBC_HEADERS_DIR/include &&
# fix the agpgart.h header, this is needed for at least xorg 6.9.0
- sedit '53i#include <asm/types.h>' linux/agpgart.h &&
- chmod -R +r * &&
+ sedit '53i#include <asm/types.h>' linux/agpgart.h &&
+ chmod -R +r * &&
find . -type d -exec chmod +x '{}' ';'
else
- cd $SOURCE_DIRECTORY &&
+ cd $SOURCE_DIRECTORY &&
#
# Now unpack the rest of glibc fixes in the normal location
#
- unpack_file 3 &&
+ unpack_file 3 &&
#
# Unpack glibc-kernel-headers
#
- mkdir -p $GLIBC_HEADERS_DIR/include &&
- cd $GLIBC_HEADERS_DIR/include &&
+ mkdir -p $GLIBC_HEADERS_DIR/include &&
+ cd $GLIBC_HEADERS_DIR/include &&
unpack_file 5
-fi &&
+fi &&
#
# Now fixup the normal glibc
#
-cd $SOURCE_DIRECTORY &&
-patch -p1 < $SCRIPT_DIRECTORY/glibcshared.patch &&
-patch -p0 < $SCRIPT_DIRECTORY/Makefile.patch &&
+cd $SOURCE_DIRECTORY &&
+if [[ $GLIBC_NPTL == n ]]; then
+ patch -p1 < $SCRIPT_DIRECTORY/glibcshared.patch
+fi &&
+patch -p0 < $SCRIPT_DIRECTORY/Makefile.patch &&
# disabled libgd detection/building memusagestat for now until a better
# fix has been found, bug #8277
-
-sedit 's/LIBGD=yes/LIBGD=no/' $SOURCE_DIRECTORY/configure &&
+sedit 's/LIBGD=yes/LIBGD=no/' $SOURCE_DIRECTORY/configure &&
#
# Create the build directory
#
-mk_source_dir $SOURCE_DIRECTORY.bld
+mk_source_dir $SOURCE_DIRECTORY.bld &&
+
+# fix #11832 - linking in /tmp doesn't work with grsecurity so do it elsewhere
+local test_path=$SOURCE_DIRECTORY.bld/test-installation &&
+mkdir $test_path &&
+sed -i "s,/tmp,$test_path,g" scripts/test-installation.pl
+
diff --git a/libs/glibc/PRE_INSTALL b/libs/glibc/PRE_INSTALL
index 05ad75d21c..4cda51574d 100755
--- a/libs/glibc/PRE_INSTALL
+++ b/libs/glibc/PRE_INSTALL
@@ -9,13 +9,13 @@ if [ -z $INSTALL_ROOT ]; then
done &&
ldconfig $SOURCE_DIRECTORY.bld/old.libs &&
local LD &&
- if [[ $(uname -m) = ppc* ]]; then
+ if [[ ${SMGL_COMPAT_ARCHS[1]} == ppc ]]; then
LD=$(readlink /lib/ld.so.1) &&
ln -sf $SOURCE_DIRECTORY.bld/old.libs/$LD /lib/ld.so.1
- elif [[ $(uname -m) = x86_64 ]] && test -f /lib/ld-linux-x86-64.so.2 && [[ $HOST = "x86_64-unknown-linux-gnu" ]]; then
+ elif [[ ${SMGL_COMPAT_ARCHS[1]} == x86_64 ]] && test -f /lib/ld-linux-x86-64.so.2; then
LD=$(readlink /lib/ld-linux-x86-64.so.2) &&
ln -sf $SOURCE_DIRECTORY.bld/old.libs/$LD /lib/ld-linux-x86-64.so.2
- elif [[ $(uname -m) = x86_64 ]] && test -f /lib64/ld-linux-x86-64.so.2 && [[ $HOST = "x86_64-unknown-linux-gnu" ]]; then
+ elif [[ ${SMGL_COMPAT_ARCHS[1]} == x86_64 ]] && test -f /lib64/ld-linux-x86-64.so.2; then
LD=$(readlink /lib64/ld-linux-x86-64.so.2) &&
ln -sf $SOURCE_DIRECTORY.bld/old.libs/$LD /lib64/ld-linux-x86-64.so.2
else
diff --git a/libs/glibc/TESTS b/libs/glibc/TESTS
index 7e4e1cba3e..2f0a889ab8 100644
--- a/libs/glibc/TESTS
+++ b/libs/glibc/TESTS
@@ -1,8 +1,4 @@
-2.4 Works fine on (2.3.6 on kernel 2.4 unchanged, so doesn't need testing):
+2.5 Works fine on (2.3.6 on kernel 2.4 unchanged, so doesn't need testing):
ARCH | Flags | compiler | tester | note
------------------------------------------------------------------------------------------------------------------
-athlon | tiny strip | gcc 4.1.0 | alley_cat |
-PIV | strip | gcc 4.0.3 | p3pilot |
-athlon-xp | combreloc prelink speedy | gcc 4.1.0 | ruskie | withouth -mfpmath=sse and always -g
-athlon-tbird | combreloc speedy strip | gcc 4.1.0 | treeve |
-pentium4m | combreloc speedy strip | gcc 4.1.0 | treeve |
+---------------------------------------------------------------------------------------------------------------
+athlon-xp | combreloc speedy strip | gcc 4.1.2 | lynx |
diff --git a/libs/glibc/UP_TRIGGERS b/libs/glibc/UP_TRIGGERS
new file mode 100755
index 0000000000..23d668388e
--- /dev/null
+++ b/libs/glibc/UP_TRIGGERS
@@ -0,0 +1,4 @@
+if ! spell_ok locale; then
+ up_trigger locale cast_self
+ echo
+fi
diff --git a/libs/glibc/nisplus_fix.diff b/libs/glibc/nisplus_fix.diff
deleted file mode 100644
index 16ec31e17d..0000000000
--- a/libs/glibc/nisplus_fix.diff
+++ /dev/null
@@ -1,204 +0,0 @@
-===================================================================
-RCS file: /cvs/glibc/libc/nis/nss_nisplus/nisplus-alias.c,v
-retrieving revision 1.17
-retrieving revision 1.18
-diff -u -r1.17 -r1.18
---- libc/nis/nss_nisplus/nisplus-alias.c 2005/12/03 17:01:45 1.17
-+++ libc/nis/nss_nisplus/nisplus-alias.c 2006/03/25 20:59:19 1.18
-@@ -1,4 +1,5 @@
--/* Copyright (C) 1997,1998,2001,2002,2003,2005 Free Software Foundation, Inc.
-+/* Copyright (C) 1997, 1998, 2001, 2002, 2003, 2005, 2006
-+ Free Software Foundation, Inc.
- This file is part of the GNU C Library.
- Contributed by Thorsten Kukuk <kukuk@vt.uni-paderborn.de>, 1997.
-
-@@ -51,7 +52,7 @@
- static const char prefix[] = "mail_aliases.org_dir.";
-
- char *p = malloc (sizeof (prefix) + local_dir_len);
-- if (tablename_val == NULL)
-+ if (p == NULL)
- {
- *errnop = errno;
- return NSS_STATUS_TRYAGAIN;
-===================================================================
-RCS file: /cvs/glibc/libc/nis/nss_nisplus/nisplus-ethers.c,v
-retrieving revision 1.21
-retrieving revision 1.22
-diff -u -r1.21 -r1.22
---- libc/nis/nss_nisplus/nisplus-ethers.c 2005/12/03 21:45:55 1.21
-+++ libc/nis/nss_nisplus/nisplus-ethers.c 2006/03/25 20:59:19 1.22
-@@ -1,4 +1,4 @@
--/* Copyright (C) 1997,1998,2000-2003,2005 Free Software Foundation, Inc.
-+/* Copyright (C) 1997,1998,2000-2003,2005,2006 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
- Contributed by Thorsten Kukuk <kukuk@suse.de>, 1997.
-
-@@ -94,7 +94,7 @@
- static const char prefix[] = "ethers.org_dir.";
-
- char *p = malloc (sizeof (prefix) + local_dir_len);
-- if (tablename_val == NULL)
-+ if (p == NULL)
- {
- *errnop = errno;
- return NSS_STATUS_TRYAGAIN;
-===================================================================
-RCS file: /cvs/glibc/libc/nis/nss_nisplus/nisplus-grp.c,v
-retrieving revision 1.18
-retrieving revision 1.19
-diff -u -r1.18 -r1.19
---- libc/nis/nss_nisplus/nisplus-grp.c 2005/12/03 05:04:16 1.18
-+++ libc/nis/nss_nisplus/nisplus-grp.c 2006/03/25 20:59:19 1.19
-@@ -1,4 +1,5 @@
--/* Copyright (C) 1997, 2001, 2002, 2003, 2005 Free Software Foundation, Inc.
-+/* Copyright (C) 1997, 2001, 2002, 2003, 2005, 2006
-+ Free Software Foundation, Inc.
- This file is part of the GNU C Library.
- Contributed by Thorsten Kukuk <kukuk@vt.uni-paderborn.de>, 1997.
-
-@@ -47,7 +48,7 @@
- static const char prefix[] = "group.org_dir.";
-
- char *p = malloc (sizeof (prefix) + local_dir_len);
-- if (tablename_val == NULL)
-+ if (p == NULL)
- {
- *errnop = errno;
- return NSS_STATUS_TRYAGAIN;
-===================================================================
-RCS file: /cvs/glibc/libc/nis/nss_nisplus/nisplus-hosts.c,v
-retrieving revision 1.28
-retrieving revision 1.29
-diff -u -r1.28 -r1.29
---- libc/nis/nss_nisplus/nisplus-hosts.c 2005/12/03 17:47:33 1.28
-+++ libc/nis/nss_nisplus/nisplus-hosts.c 2006/03/25 20:59:19 1.29
-@@ -1,4 +1,4 @@
--/* Copyright (C) 1997-2002, 2003, 2005 Free Software Foundation, Inc.
-+/* Copyright (C) 1997-2002, 2003, 2005, 2006 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
- Contributed by Thorsten Kukuk <kukuk@suse.de>, 1997.
-
-@@ -186,7 +186,7 @@
- static const char prefix[] = "hosts.org_dir.";
-
- char *p = malloc (sizeof (prefix) + local_dir_len);
-- if (tablename_val == NULL)
-+ if (p == NULL)
- {
- *errnop = errno;
- return NSS_STATUS_TRYAGAIN;
-===================================================================
-RCS file: /cvs/glibc/libc/nis/nss_nisplus/nisplus-network.c,v
-retrieving revision 1.21
-retrieving revision 1.22
-diff -u -r1.21 -r1.22
---- libc/nis/nss_nisplus/nisplus-network.c 2005/12/03 22:35:12 1.21
-+++ libc/nis/nss_nisplus/nisplus-network.c 2006/03/25 20:59:19 1.22
-@@ -1,4 +1,4 @@
--/* Copyright (C) 1997,1998,2000-2003,2005 Free Software Foundation, Inc.
-+/* Copyright (C) 1997,1998,2000-2003,2005,2006 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
- Contributed by Thorsten Kukuk <kukuk@vt.uni-paderborn.de>, 1997.
-
-@@ -148,7 +148,7 @@
- static const char prefix[] = "networks.org_dir.";
-
- char *p = malloc (sizeof (prefix) + local_dir_len);
-- if (tablename_val == NULL)
-+ if (p == NULL)
- {
- *errnop = errno;
- return NSS_STATUS_TRYAGAIN;
-===================================================================
-RCS file: /cvs/glibc/libc/nis/nss_nisplus/nisplus-proto.c,v
-retrieving revision 1.20
-retrieving revision 1.21
-diff -u -r1.20 -r1.21
---- libc/nis/nss_nisplus/nisplus-proto.c 2005/12/03 19:33:09 1.20
-+++ libc/nis/nss_nisplus/nisplus-proto.c 2006/03/25 20:59:19 1.21
-@@ -1,4 +1,5 @@
--/* Copyright (C) 1997,1998,2001,2002,2003,2005 Free Software Foundation, Inc.
-+/* Copyright (C) 1997, 1998, 2001, 2002, 2003, 2005, 2006
-+ Free Software Foundation, Inc.
- This file is part of the GNU C Library.
- Contributed by Thorsten Kukuk <kukuk@vt.uni-paderborn.de>, 1997.
-
-@@ -147,7 +148,7 @@
- static const char prefix[] = "protocols.org_dir.";
-
- char *p = malloc (sizeof (prefix) + local_dir_len);
-- if (tablename_val == NULL)
-+ if (p == NULL)
- {
- *errnop = errno;
- return NSS_STATUS_TRYAGAIN;
-===================================================================
-RCS file: /cvs/glibc/libc/nis/nss_nisplus/nisplus-pwd.c,v
-retrieving revision 1.20
-retrieving revision 1.21
-diff -u -r1.20 -r1.21
---- libc/nis/nss_nisplus/nisplus-pwd.c 2005/12/03 20:39:34 1.20
-+++ libc/nis/nss_nisplus/nisplus-pwd.c 2006/03/25 20:59:19 1.21
-@@ -1,4 +1,5 @@
--/* Copyright (C) 1997,1999,2001,2002,2003,2005 Free Software Foundation, Inc.
-+/* Copyright (C) 1997, 1999, 2001, 2002, 2003, 2005, 2006
-+ Free Software Foundation, Inc.
- This file is part of the GNU C Library.
- Contributed by Thorsten Kukuk <kukuk@vt.uni-paderborn.de>, 1997.
-
-@@ -44,7 +45,7 @@
- static const char prefix[] = "passwd.org_dir.";
-
- char *p = malloc (sizeof (prefix) + local_dir_len);
-- if (pwd_tablename_val == NULL)
-+ if (p == NULL)
- {
- *errnop = errno;
- return NSS_STATUS_TRYAGAIN;
-===================================================================
-RCS file: /cvs/glibc/libc/nis/nss_nisplus/nisplus-rpc.c,v
-retrieving revision 1.20
-retrieving revision 1.21
-diff -u -r1.20 -r1.21
---- libc/nis/nss_nisplus/nisplus-rpc.c 2005/12/03 19:54:38 1.20
-+++ libc/nis/nss_nisplus/nisplus-rpc.c 2006/03/25 20:59:19 1.21
-@@ -1,4 +1,5 @@
--/* Copyright (C) 1997,1998,2001,2002,2003,2005 Free Software Foundation, Inc.
-+/* Copyright (C) 1997, 1998, 2001, 2002, 2003, 2005, 2006
-+ Free Software Foundation, Inc.
- This file is part of the GNU C Library.
- Contributed by Thorsten Kukuk <kukuk@vt.uni-paderborn.de>, 1997.
-
-@@ -144,7 +145,7 @@
- static const char prefix[] = "rpc.org_dir.";
-
- char *p = malloc (sizeof (prefix) + local_dir_len);
-- if (tablename_val == NULL)
-+ if (p == NULL)
- {
- *errnop = errno;
- return NSS_STATUS_TRYAGAIN;
-===================================================================
-RCS file: /cvs/glibc/libc/nis/nss_nisplus/nisplus-service.c,v
-retrieving revision 1.22
-retrieving revision 1.23
-diff -u -r1.22 -r1.23
---- libc/nis/nss_nisplus/nisplus-service.c 2005/12/03 20:11:34 1.22
-+++ libc/nis/nss_nisplus/nisplus-service.c 2006/03/25 20:59:19 1.23
-@@ -1,4 +1,5 @@
--/* Copyright (C) 1997-1999,2001,2002,2003,2005 Free Software Foundation, Inc.
-+/* Copyright (C) 1997, 1998, 1999, 2001, 2002, 2003, 2005, 2006
-+ Free Software Foundation, Inc.
- This file is part of the GNU C Library.
- Contributed by Thorsten Kukuk <kukuk@suse.de>, 1997.
-
-@@ -151,7 +152,7 @@
- static const char prefix[] = "services.org_dir.";
-
- char *p = malloc (sizeof (prefix) + local_dir_len);
-- if (tablename_val == NULL)
-+ if (p == NULL)
- {
- *errnop = errno;
- return NSS_STATUS_TRYAGAIN;