diff --git a/package/base/glibc/config-400.hlp b/package/base/glibc/config-400.hlp new file mode 100644 index 000000000..48cfa44f0 --- /dev/null +++ b/package/base/glibc/config-400.hlp @@ -0,0 +1,35 @@ +# --- ROCK-COPYRIGHT-NOTE-BEGIN --- +# +# This copyright note is auto-generated by ./scripts/Create-CopyPatch. +# Please add additional copyright information _after_ the line containing +# the ROCK-COPYRIGHT-NOTE-END tag. Otherwise it might get removed by +# the ./scripts/Create-CopyPatch script. Do not edit this copyright text! +# +# ROCK Linux: rock-src/package/base/glibc/config-400.hlp +# ROCK Linux is Copyright (C) 1998 - 2004 Clifford Wolf +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. A copy of the GNU General Public +# License can be found at Documentation/COPYING. +# +# Many people helped and are helping developing ROCK Linux. Please +# have a look at http://www.rocklinux.org/ and the Documentation/TEAM +# file for details. +# +# --- ROCK-COPYRIGHT-NOTE-END --- + +MENU_PKG_GLIBC + Even more options for glibc. + +MENU_PKG_GLIBC + Several different versions of the glibc library may be built. + Among the shared and static version a special profiling version + is available. Enabling it will result in a library libc_p.a + suitable to profile glibc calls. It will also result in a longer + built-time for glibc. Most people don't need this library. + +ROCKCFG_PKG_GLIBC22_USEIT + Please check here if you want to use the old glibc Version 2.2. + diff --git a/package/base/glibc/config-400.in b/package/base/glibc/config-400.in new file mode 100644 index 000000000..41a8a0d39 --- /dev/null +++ b/package/base/glibc/config-400.in @@ -0,0 +1,52 @@ +# --- ROCK-COPYRIGHT-NOTE-BEGIN --- +# +# This copyright note is auto-generated by ./scripts/Create-CopyPatch. +# Please add additional copyright information _after_ the line containing +# the ROCK-COPYRIGHT-NOTE-END tag. Otherwise it might get removed by +# the ./scripts/Create-CopyPatch script. Do not edit this copyright text! +# +# ROCK Linux: rock-src/package/base/glibc/config-400.in +# ROCK Linux is Copyright (C) 1998 - 2004 Clifford Wolf +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. A copy of the GNU General Public +# License can be found at Documentation/COPYING. +# +# Many people helped and are helping developing ROCK Linux. Please +# have a look at http://www.rocklinux.org/ and the Documentation/TEAM +# file for details. +# +# --- ROCK-COPYRIGHT-NOTE-END --- + +if pkgcheck glibc X +then + menu_begin MENU_PKG_GLIBC 'Glibc (GNU C Library) Options' + + bool 'Enable profile library' ROCKCFG_PKG_GLIBC_ENABLE_PROFILE 0 " + Several different versions of the glibc library may be built. + Among the shared and static version a special profiling version + is available. Enabling it will result in a library libc_p.a + suitable to profile glibc calls. It will also result in a longer + built-time for glibc. Most people don't need this library." + + if [ "$ROCKCFG_DEFAULT_CC" = "gcc2" ] ; then + comment '- Glibc 2.2.5 must be used if gcc2 is the c-compiler' + ROCKCFGSET_PKG_GLIBC22_USEIT=1 + fi + + bool 'Use glibc-2.2.5 instead of new glibc-2.3.x' \ + ROCKCFG_PKG_GLIBC22_USEIT 0 + + if [ "$ROCKCFG_PKG_GLIBC22_USEIT" = 1 ] ; then + pkgfork glibc glibc22 + pkgremove glibc + else + pkgfork glibc glibc23 + pkgremove glibc + fi + + menu_end +fi + diff --git a/package/base/glibc/glibc.conf b/package/base/glibc/glibc.conf new file mode 100644 index 000000000..2e6d150aa --- /dev/null +++ b/package/base/glibc/glibc.conf @@ -0,0 +1,336 @@ + +# --- ROCK-COPYRIGHT-NOTE-BEGIN --- +# +# This copyright note is auto-generated by ./scripts/Create-CopyPatch. +# Please add additional copyright information _after_ the line containing +# the ROCK-COPYRIGHT-NOTE-END tag. Otherwise it might get removed by +# the ./scripts/Create-CopyPatch script. Do not edit this copyright text! +# +# ROCK Linux: rock-src/package/base/glibc/glibc.conf +# ROCK Linux is Copyright (C) 1998 - 2004 Clifford Wolf +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. A copy of the GNU General Public +# License can be found at Documentation/COPYING. +# +# Many people helped and are helping developing ROCK Linux. Please +# have a look at http://www.rocklinux.org/ and the Documentation/TEAM +# file for details. +# +# --- ROCK-COPYRIGHT-NOTE-END --- + + +pkg_glibc_version=${xpkg#glibc} +pkg_glibc_target=${arch_target} +pkg_glibc_cross="" + +case "$xpkg" in + glibc??-cross-*) + pkg_glibc_cross="${xpkg#glibc*-cross-}" + pkg_glibc_version=${pkg_glibc_version%-cross-*} + pkg_glibc_target="${pkg_glibc_cross}-unknown-linux-gnu" + echo_status "Preparing to build a cross-glibc package for $pkg_glibc_cross." + ;; + glibc??) + ;; + *) + echo_error "Not supported $pkg package name: $xpkg" + exit 1 + ;; +esac + + +#--------------------------------- +if [ $pkg_glibc_version = 22 ]; then + +glibc_custmain() { + cat > configparms <<- EOF + prefix = /usr + slibdir = /lib + sysconfdir = /etc + install_root = $root + CC = $CC + BUILD_CC = $BUILDCC + AR = $AR + RANLIB = $RANLIB + EOF + + # Disable glibc internal debuging but build debuging and profile + # code so we can use this glibc to debug other programs. + CFLAGS="$CFLAGS -g -DNDEBUG=1" ./configure --with-gnu-binutils \ + --enable-add-ons --enable-profile \ + --with-headers=$root/usr/include/linux \ + --with-gd=/usr \ + --with-gd-lib=/usr/lib \ + --with-gd-include=/usr/include \ + --build=${arch_build} ${arch_target} + + echo $BUILDCC elf/sln.c -o elf/dyn_sln + $BUILDCC elf/sln.c -o elf/dyn_sln + eval $MAKE symbolic-link-prog=elf/dyn_sln all install + + # Misc. stuff + # + if [ "$crossnative" = native ] ; then + eval $MAKE install-locales -C localedata + mkdir -p $root/usr/share/man/man3 + if [ -f /usr/bin/perl ] ; then + eval $MAKE -C linuxthreads/man \ + MANDIR=$root/usr/share/man/man3 all install + fi + fi + ln -sf libbsd-compat.a $root/usr/lib/libbsd.a + + # copy linuxthreads and crypt documentation + # + cp linuxthreads/ChangeLog $docdir/ChangeLog.threads + cp linuxthreads/Changes $docdir/Changes.threads + cp linuxthreads/README $docdir/README.threads + cp linuxthreads/FAQ.html $docdir/FAQ-threads.html + cp -r linuxthreads/Examples $docdir/examples.threads + cp crypt/README.ufc-crypt $docdir/README.crypt + + # NSCD Init script and config + # + cp $confdir/nscd.conf $confdir/nsswitch.conf $root/etc/ + install_init nscd $confdir/nscd.init + + # No absolute path in libc.so if cross-compileing + # + if [ $crossnative = cross ] ; then + libcso=$root/usr/lib/libc.so + for x in 1 2 3 4 5 ; do + sed -i 's,/[a-z/]*/,,' $libcso + done + fi + + # Install ld.so.conf + # + { + echo "/usr/lib" + echo "/usr/X11/lib" + echo "/usr/local/lib" + echo "/opt/*/lib" + } > $root/etc/ld.so.conf + if [ -f $root/usr/sbin/ldconfig ] ; then + ln -sf ../usr/sbin/ldconfig $root/sbin/ + fi +} + +fi +#--------------------------------- + + +#--------------------------------- +if [ $pkg_glibc_version = 23 ]; then + +glibc_custmain() { + # check whether profiling is enabled + if [ $ROCKCFG_PKG_GLIBC_ENABLE_PROFILE = 1 ] ; then + G_PROFILE=--enable-profile + else + G_PROFILE=--disable-profile + fi + + # Let's use an 'objdir' directory for building glibc + mkdir -p objdir; cd objdir + + # Disable glibc internal debuging but build debuging and profile + # code so we can use this glibc to debug other programs. + CFLAGS="$CFLAGS -g -DNDEBUG=1" ../configure --prefix=$root/$prefix \ + --with-gnu-binutils --enable-add-ons"$ADDONS" $G_PROFILE \ + --with-headers=$root/$prefix/include --with-gd=/$prefix \ + --with-gd-lib=/$prefix/lib --with-gd-include=/$prefix/include \ + --build=${arch_build} --host=${arch_target} + + eval $MAKE prefix=/usr slibdir=/lib sysconfdir=/etc all + if [ -z "$pkg_glibc_cross" ] + then + eval $MAKE prefix=/$prefix slibdir=/lib \ + sysconfdir=/etc install_root=$root install + else + eval $MAKE prefix=/$prefix install_root=$root install + fi + ln -sf libbsd-compat.a $root/$prefix/lib/libbsd.a + + # Misc. stuff + # + if [ $stagelevel -gt 1 -a -z "$pkg_glibc_cross" ] + then + # install locales and linuxthread manpages + # + eval $MAKE localedata/install-locales + cp ../localedata/SUPPORTED $root/usr/share/i18n/ + mkdir -p $root/usr/share/man/man3 + if [ -f /usr/bin/perl ] ; then + eval $MAKE -C ../linuxthreads/man \ + MANDIR=$root/usr/share/man/man3 all install + fi + + # copy linuxthreads and crypt documentation + # + cp ../linuxthreads/ChangeLog $docdir/ChangeLog.threads + cp ../linuxthreads/Changes $docdir/Changes.threads + cp ../linuxthreads/README $docdir/README.threads + cp ../linuxthreads/FAQ.html $docdir/FAQ-threads.html + cp -r ../linuxthreads/Examples $docdir/examples.threads + cp ../crypt/README.ufc-crypt $docdir/README.crypt + + # NSCD Init script and config + # + cp $confdir/nscd.conf $confdir/nsswitch.conf $root/etc/ + install_init nscd $confdir/nscd.init + fi + + # No wrong absolute path in libc.so + # + if [ $stagelevel -le 1 ] + then + libcso=$root/$prefix/lib/libc.so + sed 's,/[^ ]*/,,g' < $libcso > $libcso.new + mv $libcso.new $libcso + fi + + # Install ld.so.conf + # + if [ ! -f $root/etc/ld.so.conf -a -z "$pkg_glibc_cross" ] + then + { echo "/usr/lib" ; echo "/usr/X11/lib" + echo "/usr/local/lib" ; echo "/opt/*/lib" + } > $root/etc/ld.so.conf + fi + + # Move 'ldconfig' and 'sln' binaries + # + if [ -z "$pkg_glibc_cross" ] + then + if [ -f "$root/usr/sbin/ldconfig" ]; then + mv -v $root/usr/sbin/ldconfig $root/sbin/ldconfig + fi + if [ -f "$root/usr/sbin/sln" ]; then + mv -v $root/usr/sbin/sln $root/sbin/sln + fi + fi + + # Create /lib/ld-lsb.so.1 symlink + # + if [ -z "$pkg_glibc_cross" ] + then + if [ -f $root/lib/ld-linux-$arch_machine.so.2 ]; then + ln -vfs ld-linux-$arch_machine.so.2 $root/lib/ld-lsb.so.1 + elif [ -f $root/lib/ld-linux.so.2 ]; then + ln -vfs ld-linux.so.2 $root/lib/ld-lsb.so.1 + fi + fi +} + +fi +#--------------------------------- + + +glibc_prepatch() { + tarball="`echo $desc_D | grep linuxthreads | \ + sed 's/.* \(.*\.linuxthreads.*\) .*/\1/'`" + if [ "$tarball" ] ; then + tar $taropt $archdir/$tarball + fi +} + +glibc_stage0() { + if [ $pkg_glibc_version = 23 ] + then + mkdir -p objdir; cd objdir + + confopt="${confopt% --target=*}" + + var_append confopt " " "--enable-add-ons"$ADDONS" --build=\$arch_build \ + --host=\$arch_target" + + # due to assembler check - and we do not yet have as ... + [ $arch = hppa ] && var_append confopt " " "--enable-hacker-mode" + + eval "../configure --enable-add-ons"$ADDONS" $confopt" + + make -k cross-compiling=yes install-headers || true + cp -v ../include/features.h $root/$prefix/include + fi + if [ $pkg_glibc_version = 22 ] + then + eval "./configure --enable-add-ons $confopt" + make cross-compiling=yes install-headers + cp -v include/features.h $root/$prefix/include + + fi + + mkdir -p $root/$prefix/include/gnu + touch $root/$prefix/include/gnu/stubs.h + cp -v bits/stdio_lim.h $root/$prefix/include/bits +} + + +patchfiles="`ls $confdir/glibc$pkg_glibc_version/*.patch \ + $confdir/glibc$pkg_glibc_version/*.patch.$arch 2>/dev/null | tr '\n' ' '` $patchfiles" + +if [ $stagelevel -le 1 ]; then + patchfiles="`ls $patchfiles $confdir/glibc$pkg_glibc_version/*.patch.cross \ + $confdir/glibc$pkg_glibc_version/*.patch.cross.$arch 2>/dev/null | tr '\n' ' '`" +fi + + +if [ $pkg_glibc_version = 22 ] ; then + # auto-detect for the old glibc + ADDONS="" +else + # prevent the utilisation of nptl (...) - and enable it later + # if a 2.5/6 kernel is used + ADDONS="=linuxthreads" +fi + + +threadsver="$ver" +prepatch="glibc_prepatch" + +if [ -z "$pkg_glibc_cross" ] +then + if [ $stagelevel -eq 0 ] + then + custmain="glibc_stage0" + else + custmain="glibc_custmain" + fi +else + if [ $pkg_glibc_version = 22 ]; then + echo_error "Cross-packages are not supported for glibc22!" + exit 1 + fi + + arch_target="$pkg_glibc_target" + arch_machine="${arch_target/-*/}" + prefix="$prefix/$pkg_glibc_target" + set_confopt + + if [ -z "$( type -p $pkg_glibc_target-gcc )" ] + then + echo_status "Building only cross-headers because there is no cross-gcc (yet)." + custmain="glibc_stage0" + else + export CC=$pkg_glibc_target-gcc + export AS=$pkg_glibc_target-as + export LD=$pkg_glibc_target-ld + export AR=$pkg_glibc_target-ar + export NM=$pkg_glibc_target-nm + export GASP=$pkg_glibc_target-gasp + export STRIP=$pkg_glibc_target-strip + export RANLIB=$pkg_glibc_target-ranlib + export CFLAGS="-O2" + custmain="glibc_custmain" + fi +fi + +if [ $stagelevel -eq 1 -a -f $confdir/glibc$pkg_glibc_version/no_path_in_glibcso.diff ] +then + var_append patchfiles " " $confdir/glibc$pkg_glibc_version/no_path_in_glibcso.diff +fi + diff --git a/package/base/glibc/glibc.desc b/package/base/glibc/glibc.desc new file mode 100644 index 000000000..9ba40b150 --- /dev/null +++ b/package/base/glibc/glibc.desc @@ -0,0 +1,57 @@ + +[COPY] --- ROCK-COPYRIGHT-NOTE-BEGIN --- +[COPY] +[COPY] This copyright note is auto-generated by ./scripts/Create-CopyPatch. +[COPY] Please add additional copyright information _after_ the line containing +[COPY] the ROCK-COPYRIGHT-NOTE-END tag. Otherwise it might get removed by +[COPY] the ./scripts/Create-CopyPatch script. Do not edit this copyright text! +[COPY] +[COPY] ROCK Linux: rock-src/package/base/glibc/glibc.desc +[COPY] ROCK Linux is Copyright (C) 1998 - 2004 Clifford Wolf +[COPY] +[COPY] This program is free software; you can redistribute it and/or modify +[COPY] it under the terms of the GNU General Public License as published by +[COPY] the Free Software Foundation; either version 2 of the License, or +[COPY] (at your option) any later version. A copy of the GNU General Public +[COPY] License can be found at Documentation/COPYING. +[COPY] +[COPY] Many people helped and are helping developing ROCK Linux. Please +[COPY] have a look at http://www.rocklinux.org/ and the Documentation/TEAM +[COPY] file for details. +[COPY] +[COPY] --- ROCK-COPYRIGHT-NOTE-END --- + +[I] The GNU C library. + +[T] GNU C library (glibc) defines the ``system calls'' and other +[T] basic facilities such as open, malloc, printf, +[T] exit... It is used by almost all C programs and provides +[T] the most essential program interface. + +[U] http://www.gnu.org/software/libc/ The GLibc2 Homepage + +[A] The GNU Project / FSF +[M] Clifford Wolf + +[C] base/library +[E] group libc +[E] del libgd + +[L] GPL +[S] Stable +[V] 0000 +[P] X 01---5---9 101.600 + +#if xpkg == glibc22.* +[V] 2.2.5 +[D] 3668701206 glibc-2.2.5.tar.gz ftp://ftp.gnu.org/pub/gnu/glibc/ +[D] 235742415 glibc-linuxthreads-2.2.5.tar.gz ftp://ftp.gnu.org/pub/gnu/glibc/ +#endif + +#if xpkg == glibc23.* +[V] 2.3.4-2004-05-01 +#[D] 305952084 glibc-2.3.2.tar.bz2 ftp://sources.redhat.com/pub/glibc/releases/ +#[D] 4056606041 glibc-linuxthreads-2.3.2.tar.bz2 ftp://sources.redhat.com/pub/glibc/releases/ +[D] X glibc-2.3.4-2004-05-01.tar.bz2 cvs://pserver:anoncvs@sources.redhat.com:/cvs/glibc::libc/!2004-05-01/ +#endif + diff --git a/package/base/glibc/glibc22/glibc-2.2.2-mtrace-intl-perl.patch b/package/base/glibc/glibc22/glibc-2.2.2-mtrace-intl-perl.patch new file mode 100644 index 000000000..f38760ead --- /dev/null +++ b/package/base/glibc/glibc22/glibc-2.2.2-mtrace-intl-perl.patch @@ -0,0 +1,43 @@ +# --- ROCK-COPYRIGHT-NOTE-BEGIN --- +# +# This copyright note is auto-generated by ./scripts/Create-CopyPatch. +# Please add additional copyright information _after_ the line containing +# the ROCK-COPYRIGHT-NOTE-END tag. Otherwise it might get removed by +# the ./scripts/Create-CopyPatch script. Do not edit this copyright text! +# +# ROCK Linux: rock-src/package/base/glibc22/glibc-2.2.2-mtrace-intl-perl.patch +# ROCK Linux is Copyright (C) 1998 - 2003 Clifford Wolf +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. A copy of the GNU General Public +# License can be found at Documentation/COPYING. +# +# Many people helped and are helping developing ROCK Linux. Please +# have a look at http://www.rocklinux.org/ and the Documentation/TEAM +# file for details. +# +# --- ROCK-COPYRIGHT-NOTE-END --- + + +Don't run this check if no perl is found on the system + +--- ./intl/Makefile~ Fri Feb 9 19:04:07 2001 ++++ ./intl/Makefile Mon Apr 30 14:21:10 2001 +@@ -53,6 +53,7 @@ + + ifeq (no,$(cross-compiling)) + ifeq (yes,$(build-shared)) ++ifneq (no,$(PERL)) + ifneq ($(strip $(MSGFMT)),:) + tests: $(objpfx)mtrace-tst-gettext $(objpfx)tst-translit.out \ + $(objpfx)tst-gettext2.out +@@ -65,6 +66,7 @@ + $(SHELL) -e $< $(common-objpfx) $(common-objpfx)intl/ + $(objpfx)tst-gettext2.out: tst-gettext2.sh $(objpfx)tst-gettext2 + $(SHELL) -e $< $(common-objpfx) $(common-objpfx)intl/ ++endif + endif + endif + endif diff --git a/package/base/glibc/glibc22/glibc-2.2.2-test-lfs-timeout.patch b/package/base/glibc/glibc22/glibc-2.2.2-test-lfs-timeout.patch new file mode 100644 index 000000000..ae1cb076d --- /dev/null +++ b/package/base/glibc/glibc22/glibc-2.2.2-test-lfs-timeout.patch @@ -0,0 +1,36 @@ +# --- ROCK-COPYRIGHT-NOTE-BEGIN --- +# +# This copyright note is auto-generated by ./scripts/Create-CopyPatch. +# Please add additional copyright information _after_ the line containing +# the ROCK-COPYRIGHT-NOTE-END tag. Otherwise it might get removed by +# the ./scripts/Create-CopyPatch script. Do not edit this copyright text! +# +# ROCK Linux: rock-src/package/base/glibc22/glibc-2.2.2-test-lfs-timeout.patch +# ROCK Linux is Copyright (C) 1998 - 2003 Clifford Wolf +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. A copy of the GNU General Public +# License can be found at Documentation/COPYING. +# +# Many people helped and are helping developing ROCK Linux. Please +# have a look at http://www.rocklinux.org/ and the Documentation/TEAM +# file for details. +# +# --- ROCK-COPYRIGHT-NOTE-END --- + + +set the timeout for Reiserfs to 120 seconds + +--- ./io/test-lfs.c~ Fri Feb 9 18:04:07 2001 ++++ ./io/test-lfs.c Sat Feb 17 04:30:18 2001 +@@ -34,7 +34,7 @@ + #define PREPARE do_prepare + + /* We might need a bit longer timeout. */ +-#define TIMEOUT 20 /* sec */ ++#define TIMEOUT 120 /* sec */ + + /* This defines the `main' function and some more. */ + #include diff --git a/package/base/glibc/glibc22/glibc-2.2.3-string2.patch b/package/base/glibc/glibc22/glibc-2.2.3-string2.patch new file mode 100644 index 000000000..4fd8237c5 --- /dev/null +++ b/package/base/glibc/glibc22/glibc-2.2.3-string2.patch @@ -0,0 +1,67 @@ +# --- ROCK-COPYRIGHT-NOTE-BEGIN --- +# +# This copyright note is auto-generated by ./scripts/Create-CopyPatch. +# Please add additional copyright information _after_ the line containing +# the ROCK-COPYRIGHT-NOTE-END tag. Otherwise it might get removed by +# the ./scripts/Create-CopyPatch script. Do not edit this copyright text! +# +# ROCK Linux: rock-src/package/base/glibc22/glibc-2.2.3-string2.patch +# ROCK Linux is Copyright (C) 1998 - 2003 Clifford Wolf +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. A copy of the GNU General Public +# License can be found at Documentation/COPYING. +# +# Many people helped and are helping developing ROCK Linux. Please +# have a look at http://www.rocklinux.org/ and the Documentation/TEAM +# file for details. +# +# --- ROCK-COPYRIGHT-NOTE-END --- + + +Add explicit casts to make sure that "+ 2" and "+ 4" increments +to pointer byte-wise (and not 4-byte words or whatever else). + +--- ./string/bits/string2.h.old Tue Jun 12 12:52:46 2001 ++++ ./string/bits/string2.h Tue Jun 12 12:53:51 2001 +@@ -415,7 +415,7 @@ + break; + case 3: + __u->__usi = __src0_2; +- __u = __extension__ ((void *) __u + 2); ++ __u = __extension__ (void *)((char *) __u + 2); + __u->__uc = '\0'; + break; + case 4: +@@ -423,24 +423,24 @@ + break; + case 5: + __u->__ui = __src0_4; +- __u = __extension__ ((void *) __u + 4); ++ __u = __extension__ (void *)((char *) __u + 4); + __u->__uc = '\0'; + break; + case 6: + __u->__ui = __src0_4; +- __u = __extension__ ((void *) __u + 4); ++ __u = __extension__ (void *)((char *) __u + 4); + __u->__usi = __src4_2; + break; + case 7: + __u->__ui = __src0_4; +- __u = __extension__ ((void *) __u + 4); ++ __u = __extension__ (void *)((char *) __u + 4); + __u->__usi = __src4_2; +- __u = __extension__ ((void *) __u + 2); ++ __u = __extension__ (void *)((char *) __u + 2); + __u->__uc = '\0'; + break; + case 8: + __u->__ui = __src0_4; +- __u = __extension__ ((void *) __u + 4); ++ __u = __extension__ (void *)((char *) __u + 4); + __u->__ui = __src4_4; + break; + } diff --git a/package/base/glibc/glibc22/glibc-2.2.5-weak-alias-order.patch b/package/base/glibc/glibc22/glibc-2.2.5-weak-alias-order.patch new file mode 100644 index 000000000..99ab23f98 --- /dev/null +++ b/package/base/glibc/glibc22/glibc-2.2.5-weak-alias-order.patch @@ -0,0 +1,36 @@ +# --- ROCK-COPYRIGHT-NOTE-BEGIN --- +# +# This copyright note is auto-generated by ./scripts/Create-CopyPatch. +# Please add additional copyright information _after_ the line containing +# the ROCK-COPYRIGHT-NOTE-END tag. Otherwise it might get removed by +# the ./scripts/Create-CopyPatch script. Do not edit this copyright text! +# +# ROCK Linux: rock-src/package/base/glibc22/glibc-2.2.5-weak-alias-order.patch +# ROCK Linux is Copyright (C) 1998 - 2003 Clifford Wolf +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. A copy of the GNU General Public +# License can be found at Documentation/COPYING. +# +# Many people helped and are helping developing ROCK Linux. Please +# have a look at http://www.rocklinux.org/ and the Documentation/TEAM +# file for details. +# +# --- ROCK-COPYRIGHT-NOTE-END --- + + weak alias must precede definition in gcc-3.1.1 + +--- ./sysdeps/unix/sysv/linux/errlist.c.orig 2001-07-23 20:57:12.000000000 +0300 ++++ ./sysdeps/unix/sysv/linux/errlist.c 2002-08-13 22:46:25.000000000 +0300 +@@ -37,8 +37,8 @@ + + const int __old_sys_nerr = OLD_ERRLIST_SIZE; + +-strong_alias (__old_sys_nerr, _old_sys_nerr); + weak_alias (__old_sys_nerr, _old_sys_nerr) ++strong_alias (__old_sys_nerr, _old_sys_nerr); + compat_symbol (libc, __old_sys_nerr, _sys_nerr, GLIBC_2_0); + compat_symbol (libc, _old_sys_nerr, sys_nerr, GLIBC_2_0); + weak_alias (__old_sys_errlist, _old_sys_errlist); diff --git a/package/base/glibc/glibc22/initfini-ccwrapper.patch b/package/base/glibc/glibc22/initfini-ccwrapper.patch new file mode 100644 index 000000000..8f28b218b --- /dev/null +++ b/package/base/glibc/glibc22/initfini-ccwrapper.patch @@ -0,0 +1,46 @@ +# --- ROCK-COPYRIGHT-NOTE-BEGIN --- +# +# This copyright note is auto-generated by ./scripts/Create-CopyPatch. +# Please add additional copyright information _after_ the line containing +# the ROCK-COPYRIGHT-NOTE-END tag. Otherwise it might get removed by +# the ./scripts/Create-CopyPatch script. Do not edit this copyright text! +# +# ROCK Linux: rock-src/package/base/glibc22/initfini-ccwrapper.patch +# ROCK Linux is Copyright (C) 1998 - 2003 Clifford Wolf +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. A copy of the GNU General Public +# License can be found at Documentation/COPYING. +# +# Many people helped and are helping developing ROCK Linux. Please +# have a look at http://www.rocklinux.org/ and the Documentation/TEAM +# file for details. +# +# --- ROCK-COPYRIGHT-NOTE-END --- + + +Make sure that the ROCK Linux CC Wrapper is not removing the CFLAGS +stored in CFLAGS-initfini.s and CFLAGS-pt-initfini.s. + +--- ./csu/Makefile.orig 2001-07-23 20:53:37.000000000 +0300 ++++ ./csu/Makefile 2002-06-23 09:25:47.000000000 +0300 +@@ -98,5 +98,6 @@ + + $(objpfx)initfini.s: initfini.c +- $(compile.c) -S $(CFLAGS-initfini.s) -finhibit-size-directive \ ++ CC_WRAPPER_APPEND="$$CC_WRAPPER_APPEND $(CFLAGS-initfini.s)" \ ++ $(compile.c) -S -finhibit-size-directive \ + $(patsubst -f%,-fno-%,$(exceptions)) -o $@ + +--- ./linuxthreads/Makefile.orig 2002-01-21 05:21:14.000000000 +0200 ++++ ./linuxthreads/Makefile 2002-06-23 12:25:10.000000000 +0300 +@@ -105,5 +105,6 @@ + + $(objpfx)pt-initfini.s: pt-initfini.c +- $(compile.c) -S $(CFLAGS-pt-initfini.s) -finhibit-size-directive \ ++ CC_WRAPPER_APPEND="$$CC_WRAPPER_APPEND $(CFLAGS-pt-initfini.s)" \ ++ $(compile.c) -S -finhibit-size-directive \ + $(patsubst -f%,-fno-%,$(exceptions)) -o $@ + diff --git a/package/base/glibc/glibc22/ldconfig-glob.patch b/package/base/glibc/glibc22/ldconfig-glob.patch new file mode 100644 index 000000000..679259397 --- /dev/null +++ b/package/base/glibc/glibc22/ldconfig-glob.patch @@ -0,0 +1,105 @@ +# --- ROCK-COPYRIGHT-NOTE-BEGIN --- +# +# This copyright note is auto-generated by ./scripts/Create-CopyPatch. +# Please add additional copyright information _after_ the line containing +# the ROCK-COPYRIGHT-NOTE-END tag. Otherwise it might get removed by +# the ./scripts/Create-CopyPatch script. Do not edit this copyright text! +# +# ROCK Linux: rock-src/package/base/glibc22/ldconfig-glob.patch +# ROCK Linux is Copyright (C) 1998 - 2003 Clifford Wolf +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. A copy of the GNU General Public +# License can be found at Documentation/COPYING. +# +# Many people helped and are helping developing ROCK Linux. Please +# have a look at http://www.rocklinux.org/ and the Documentation/TEAM +# file for details. +# +# --- ROCK-COPYRIGHT-NOTE-END --- + +--- ./elf/ldconfig.c.orig 2002-09-14 12:12:51.000000000 +0200 ++++ ./elf/ldconfig.c 2002-09-14 12:52:50.000000000 +0200 +@@ -23,6 +23,7 @@ + #include + #include + #include ++#include + #include + #include + #include +@@ -302,8 +303,10 @@ + { + char *equal_sign; + struct dir_entry *entry; ++ struct dir_entry *real_entry; + unsigned int i; + struct stat64 stat_buf; ++ glob_t globres; + + entry = xmalloc (sizeof (struct dir_entry)); + entry->next = NULL; +@@ -338,19 +341,50 @@ + --i; + } + +- if (stat64 (entry->path, &stat_buf)) +- { +- if (opt_verbose) +- error (0, errno, _("Can't stat %s"), entry->path); +- free (entry->path); +- free (entry); +- return; +- } ++ if ( glob(entry->path, GLOB_ONLYDIR, NULL, &globres) == 0 ) ++ { ++ for (i=0; ipath = xstrdup (globres.gl_pathv[i]); + +- entry->ino = stat_buf.st_ino; +- entry->dev = stat_buf.st_dev; ++ if (stat64 (real_entry->path, &stat_buf)) ++ { ++ if (opt_verbose) ++ error (0, errno, _("Can't stat %s"), real_entry->path); ++ free (real_entry->path); ++ free (real_entry); ++ } ++ else ++ { ++ real_entry->ino = stat_buf.st_ino; ++ real_entry->dev = stat_buf.st_dev; ++ ++ add_single_dir (real_entry, 1); ++ } ++ } ++ globfree (&globres); ++ free (entry->path); ++ free (entry); ++ } ++ else ++ { ++ if (stat64 (entry->path, &stat_buf)) ++ { ++ if (opt_verbose) ++ error (0, errno, _("Can't stat %s"), entry->path); ++ free (entry->path); ++ free (entry); ++ } ++ else ++ { ++ entry->ino = stat_buf.st_ino; ++ entry->dev = stat_buf.st_dev; + +- add_single_dir (entry, 1); ++ add_single_dir (entry, 1); ++ } ++ } + } + + diff --git a/package/base/glibc/glibc22/no_rquota_x.patch b/package/base/glibc/glibc22/no_rquota_x.patch new file mode 100644 index 000000000..196d1de53 --- /dev/null +++ b/package/base/glibc/glibc22/no_rquota_x.patch @@ -0,0 +1,36 @@ +# --- ROCK-COPYRIGHT-NOTE-BEGIN --- +# +# This copyright note is auto-generated by ./scripts/Create-CopyPatch. +# Please add additional copyright information _after_ the line containing +# the ROCK-COPYRIGHT-NOTE-END tag. Otherwise it might get removed by +# the ./scripts/Create-CopyPatch script. Do not edit this copyright text! +# +# ROCK Linux: rock-src/package/base/glibc22/no_rquota_x.patch +# ROCK Linux is Copyright (C) 1998 - 2003 Clifford Wolf +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. A copy of the GNU General Public +# License can be found at Documentation/COPYING. +# +# Many people helped and are helping developing ROCK Linux. Please +# have a look at http://www.rocklinux.org/ and the Documentation/TEAM +# file for details. +# +# --- ROCK-COPYRIGHT-NOTE-END --- + + +A newer (better) rquota.x / rquota.h comes with the 'quota' package. + +--- ./sunrpc/Makefile.orig 2003-01-08 11:58:25.000000000 +0100 ++++ ./sunrpc/Makefile 2003-01-08 11:58:40.000000000 +0100 +@@ -46,7 +46,7 @@ + + rpcsvc = bootparam_prot.x nlm_prot.x rstat.x \ + yppasswd.x klm_prot.x rex.x sm_inter.x mount.x \ +- rusers.x spray.x nfs_prot.x rquota.x key_prot.x ++ rusers.x spray.x nfs_prot.x key_prot.x + headers = $(addprefix rpc/,auth.h auth_unix.h clnt.h netdb.h pmap_clnt.h \ + pmap_prot.h pmap_rmt.h rpc.h rpc_msg.h svc.h \ + svc_auth.h types.h xdr.h auth_des.h \ diff --git a/package/base/glibc/glibc23/attribute_hidden.patch b/package/base/glibc/glibc23/attribute_hidden.patch new file mode 100644 index 000000000..1cc84ddbb --- /dev/null +++ b/package/base/glibc/glibc23/attribute_hidden.patch @@ -0,0 +1,35 @@ +# --- ROCK-COPYRIGHT-NOTE-BEGIN --- +# +# This copyright note is auto-generated by ./scripts/Create-CopyPatch. +# Please add additional copyright information _after_ the line containing +# the ROCK-COPYRIGHT-NOTE-END tag. Otherwise it might get removed by +# the ./scripts/Create-CopyPatch script. Do not edit this copyright text! +# +# ROCK Linux: rock-src/package/base/glibc23/attribute_hidden.patch +# ROCK Linux is Copyright (C) 1998 - 2003 Clifford Wolf +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. A copy of the GNU General Public +# License can be found at Documentation/COPYING. +# +# Many people helped and are helping developing ROCK Linux. Please +# have a look at http://www.rocklinux.org/ and the Documentation/TEAM +# file for details. +# +# --- ROCK-COPYRIGHT-NOTE-END --- + +--- ./libio/libio.h.orig Wed Nov 6 16:49:18 2002 ++++ ./libio/libio.h Wed Nov 6 16:51:19 2002 +@@ -102,6 +102,10 @@ + # endif + #endif + ++#ifndef attribute_hidden ++# define attribute_hidden ++#endif ++ + #define _IOS_INPUT 1 + #define _IOS_OUTPUT 2 + #define _IOS_ATEND 4 diff --git a/package/base/glibc/glibc23/divdi3.patch.mips b/package/base/glibc/glibc23/divdi3.patch.mips new file mode 100644 index 000000000..e237346a4 --- /dev/null +++ b/package/base/glibc/glibc23/divdi3.patch.mips @@ -0,0 +1,36 @@ +# --- ROCK-COPYRIGHT-NOTE-BEGIN --- +# +# This copyright note is auto-generated by ./scripts/Create-CopyPatch. +# Please add additional copyright information _after_ the line containing +# the ROCK-COPYRIGHT-NOTE-END tag. Otherwise it might get removed by +# the ./scripts/Create-CopyPatch script. Do not edit this copyright text! +# +# ROCK Linux: rock-src/package/base/glibc23/divdi3.patch.mips +# ROCK Linux is Copyright (C) 1998 - 2003 Clifford Wolf +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. A copy of the GNU General Public +# License can be found at Documentation/COPYING. +# +# Many people helped and are helping developing ROCK Linux. Please +# have a look at http://www.rocklinux.org/ and the Documentation/TEAM +# file for details. +# +# --- ROCK-COPYRIGHT-NOTE-END --- + +--- ./sysdeps/mips/Makefile.orig Wed Sep 11 21:41:07 2002 ++++ ./sysdeps/mips/Makefile Wed Sep 11 21:44:54 2002 +@@ -6,3 +6,11 @@ + ifeq ($(subdir),setjmp) + sysdep_routines += setjmp_aux + endif ++ ++ifeq ($(subdir),csu) ++ifeq (yes,$(build-shared)) ++# Compatibility ++sysdep_routines += divdi3 ++shared-only-routines += divdi3 ++endif ++endif diff --git a/package/base/glibc/glibc23/fl_wrapper_testfix.patch b/package/base/glibc/glibc23/fl_wrapper_testfix.patch new file mode 100644 index 000000000..0b5dda95c --- /dev/null +++ b/package/base/glibc/glibc23/fl_wrapper_testfix.patch @@ -0,0 +1,32 @@ +# --- ROCK-COPYRIGHT-NOTE-BEGIN --- +# +# This copyright note is auto-generated by ./scripts/Create-CopyPatch. +# Please add additional copyright information _after_ the line containing +# the ROCK-COPYRIGHT-NOTE-END tag. Otherwise it might get removed by +# the ./scripts/Create-CopyPatch script. Do not edit this copyright text! +# +# ROCK Linux: rock-src/package/base/glibc23/fl_wrapper_testfix.patch +# ROCK Linux is Copyright (C) 1998 - 2003 Clifford Wolf +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. A copy of the GNU General Public +# License can be found at Documentation/COPYING. +# +# Many people helped and are helping developing ROCK Linux. Please +# have a look at http://www.rocklinux.org/ and the Documentation/TEAM +# file for details. +# +# --- ROCK-COPYRIGHT-NOTE-END --- + +--- ./scripts/test-installation.pl.gv Fri Nov 15 13:20:48 2002 ++++ ./scripts/test-installation.pl Fri Nov 15 13:21:07 2002 +@@ -156,6 +156,7 @@ + open LDD, "ldd /tmp/test-prg$$ |" + or die ("Couldn't execute ldd"); + while () { ++ next if (/fl_wrapper/); + if (/^\s*lib/) { + ($name, $version1, $version2) = + /^\s*lib(\w*)\.so\.([0-9\.]*)\s*=>.*\.so\.([0-9\.]*)/; diff --git a/package/base/glibc/glibc23/gcc2_is_ok.patch.cross b/package/base/glibc/glibc23/gcc2_is_ok.patch.cross new file mode 100644 index 000000000..a348c1fc6 --- /dev/null +++ b/package/base/glibc/glibc23/gcc2_is_ok.patch.cross @@ -0,0 +1,31 @@ + +Glibc enforces the useage of gcc-3.x - unfortunately for header generation +dufing a cross toolchain build gcc-2 is also pretty fine. So flatten gcc-3 +only assumptions for cross builds. + + - Rene Rebe + +diff -u glibc-2.3.4-2004-05-01/Makeconfig glibc-2.3.4-2004-05-01-fixed/Makeconfig +--- glibc-2.3.4-2004-05-01/Makeconfig 2004-04-18 00:38:24.000000000 +0200 ++++ glibc-2.3.4-2004-05-01-fixed/Makeconfig 2004-05-02 19:52:24.000000000 +0200 +@@ -580,7 +580,7 @@ + # The -MP flag tells GCC >= 3.2 (which we now require) to produce dummy + # targets for headers so that removed headers don't break the build. + ifndef +mkdep +-+mkdep = $(CC) -M -MP +++mkdep = $(CC) -M + endif + + # The program that makes Emacs-style TAGS files. +diff -u glibc-2.3.4-2004-05-01/configure glibc-2.3.4-2004-05-01-fixed/configure +--- glibc-2.3.4-2004-05-01/configure 2004-04-18 00:39:58.000000000 +0200 ++++ glibc-2.3.4-2004-05-01-fixed/configure 2004-05-02 19:50:10.000000000 +0200 +@@ -4044,7 +4044,7 @@ + '') ac_prog_version="v. ?.??, bad"; ac_verc_fail=yes;; + 3.[2-9]*) + ac_prog_version="$ac_prog_version, ok"; ac_verc_fail=no;; +- *) ac_prog_version="$ac_prog_version, bad"; ac_verc_fail=yes;; ++ *) ac_prog_version="$ac_prog_version, bad (ignore)"; ac_verc_fail=no;; + + esac + echo "$as_me:$LINENO: result: $ac_prog_version" >&5 diff --git a/package/base/glibc/glibc23/gcc3.patch b/package/base/glibc/glibc23/gcc3.patch new file mode 100644 index 000000000..b82ed0386 --- /dev/null +++ b/package/base/glibc/glibc23/gcc3.patch @@ -0,0 +1,19 @@ + +Older gcc (<3.4) are not able to honor the .rodata .section specification +correctly: + +../sysdeps/i386/i686/memcmp.S: Assembler messages: +../sysdeps/i386/i686/memcmp.S:390: Error: can't resolve `.rodata' + + Rene Rebe + +--- ./sysdeps/i386/i686/memcmp.S~ 2004-04-02 01:28:37.000000000 +0200 ++++ ./sysdeps/i386/i686/memcmp.S 2004-05-22 21:27:39.000000000 +0200 +@@ -351,7 +351,6 @@ + popl %esi + RETURN + +- .section .rodata + ALIGN (2) + L(table_32bytes) : + .long L(0bytes) - . + 0x0 diff --git a/package/base/glibc/glibc23/gcc33-hotfix.patch b/package/base/glibc/glibc23/gcc33-hotfix.patch new file mode 100644 index 000000000..93605110d --- /dev/null +++ b/package/base/glibc/glibc23/gcc33-hotfix.patch @@ -0,0 +1,35 @@ +# --- ROCK-COPYRIGHT-NOTE-BEGIN --- +# +# This copyright note is auto-generated by ./scripts/Create-CopyPatch. +# Please add additional copyright information _after_ the line containing +# the ROCK-COPYRIGHT-NOTE-END tag. Otherwise it might get removed by +# the ./scripts/Create-CopyPatch script. Do not edit this copyright text! +# +# ROCK Linux: rock-src/package/base/glibc23/gcc33-hotfix.patch +# ROCK Linux is Copyright (C) 1998 - 2003 Clifford Wolf +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. A copy of the GNU General Public +# License can be found at Documentation/COPYING. +# +# Many people helped and are helping developing ROCK Linux. Please +# have a look at http://www.rocklinux.org/ and the Documentation/TEAM +# file for details. +# +# --- ROCK-COPYRIGHT-NOTE-END --- + +Clifford: The soinit.c thing is a workaroung for an x86_64 ICE. + +--- ./elf/soinit.c.orig Tue Feb 24 15:55:00 2004 ++++ ./elf/soinit.c Tue Feb 24 16:31:08 2004 +@@ -25,7 +25,7 @@ + } + + #ifdef HAVE_DWARF2_UNWIND_INFO +-static char __EH_FRAME_BEGIN__[] ++const static char __EH_FRAME_BEGIN__[] + __attribute__ ((section (".eh_frame"))) + = { }; + # ifdef HAVE_DWARF2_UNWIND_INFO_STATIC diff --git a/package/base/glibc/glibc23/gcc_eh.patch.cross b/package/base/glibc/glibc23/gcc_eh.patch.cross new file mode 100644 index 000000000..a655b551a --- /dev/null +++ b/package/base/glibc/glibc23/gcc_eh.patch.cross @@ -0,0 +1,29 @@ + +A GCC cross compiler does not yield a libgcc_eh.so. The GCC and GlibC team +should smoke their good stuff together (and the GlibC freaks be fet with a +book about release management ...). + + - Rene Rebe + +--- glibc-2.3.4-2004-05-01/Makeconfig 2004-04-18 00:38:24.000000000 +0200 ++++ glibc-2.3.4-2004-05-01-fixed/Makeconfig 2004-05-03 23:25:31.000000000 +0200 +@@ -518,16 +518,16 @@ + + ifndef gnulib + ifneq ($(have-as-needed),yes) +- libgcc_eh := -lgcc_eh ++ libgcc_eh := + else + libgcc_eh := -Wl,--as-needed -lgcc_s -Wl,--no-as-needed + endif + ifneq ($(have-cc-with-libunwind),yes) + gnulib := -lgcc $(libgcc_eh) +- static-gnulib := -lgcc -lgcc_eh ++ static-gnulib := -lgcc $(libgcc_eh) + else + gnulib := -lgcc $(libgcc_eh) -lunwind +- static-gnulib := -lgcc -lgcc_eh -lunwind ++ static-gnulib := -lgcc $(libgcc_eh) -lunwind + endif + endif + ifeq ($(elf),yes) diff --git a/package/base/glibc/glibc23/glibc-2.2.2-mtrace-intl-perl.patch b/package/base/glibc/glibc23/glibc-2.2.2-mtrace-intl-perl.patch new file mode 100644 index 000000000..45c42fd57 --- /dev/null +++ b/package/base/glibc/glibc23/glibc-2.2.2-mtrace-intl-perl.patch @@ -0,0 +1,43 @@ +# --- ROCK-COPYRIGHT-NOTE-BEGIN --- +# +# This copyright note is auto-generated by ./scripts/Create-CopyPatch. +# Please add additional copyright information _after_ the line containing +# the ROCK-COPYRIGHT-NOTE-END tag. Otherwise it might get removed by +# the ./scripts/Create-CopyPatch script. Do not edit this copyright text! +# +# ROCK Linux: rock-src/package/base/glibc23/glibc-2.2.2-mtrace-intl-perl.patch +# ROCK Linux is Copyright (C) 1998 - 2003 Clifford Wolf +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. A copy of the GNU General Public +# License can be found at Documentation/COPYING. +# +# Many people helped and are helping developing ROCK Linux. Please +# have a look at http://www.rocklinux.org/ and the Documentation/TEAM +# file for details. +# +# --- ROCK-COPYRIGHT-NOTE-END --- + + +Don't run this check if no perl is found on the system + +--- ./intl/Makefile~ Fri Feb 9 19:04:07 2001 ++++ ./intl/Makefile Mon Apr 30 14:21:10 2001 +@@ -53,6 +53,7 @@ + + ifeq (no,$(cross-compiling)) + ifeq (yes,$(build-shared)) ++ifneq (no,$(PERL)) + ifneq ($(strip $(MSGFMT)),:) + tests: $(objpfx)mtrace-tst-gettext $(objpfx)tst-translit.out \ + $(objpfx)tst-gettext2.out +@@ -65,6 +66,7 @@ + $(SHELL) -e $< $(common-objpfx) $(common-objpfx)intl/ + $(objpfx)tst-gettext2.out: tst-gettext2.sh $(objpfx)tst-gettext2 + $(SHELL) -e $< $(common-objpfx) $(common-objpfx)intl/ ++endif + endif + endif + endif diff --git a/package/base/glibc/glibc23/glibc-2.2.2-test-lfs-timeout.patch b/package/base/glibc/glibc23/glibc-2.2.2-test-lfs-timeout.patch new file mode 100644 index 000000000..847404c9a --- /dev/null +++ b/package/base/glibc/glibc23/glibc-2.2.2-test-lfs-timeout.patch @@ -0,0 +1,36 @@ +# --- ROCK-COPYRIGHT-NOTE-BEGIN --- +# +# This copyright note is auto-generated by ./scripts/Create-CopyPatch. +# Please add additional copyright information _after_ the line containing +# the ROCK-COPYRIGHT-NOTE-END tag. Otherwise it might get removed by +# the ./scripts/Create-CopyPatch script. Do not edit this copyright text! +# +# ROCK Linux: rock-src/package/base/glibc23/glibc-2.2.2-test-lfs-timeout.patch +# ROCK Linux is Copyright (C) 1998 - 2003 Clifford Wolf +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. A copy of the GNU General Public +# License can be found at Documentation/COPYING. +# +# Many people helped and are helping developing ROCK Linux. Please +# have a look at http://www.rocklinux.org/ and the Documentation/TEAM +# file for details. +# +# --- ROCK-COPYRIGHT-NOTE-END --- + + +set the timeout for Reiserfs to 120 seconds + +--- ./io/test-lfs.c~ Fri Feb 9 18:04:07 2001 ++++ ./io/test-lfs.c Sat Feb 17 04:30:18 2001 +@@ -34,7 +34,7 @@ + #define PREPARE do_prepare + + /* We might need a bit longer timeout. */ +-#define TIMEOUT 20 /* sec */ ++#define TIMEOUT 120 /* sec */ + + /* This defines the `main' function and some more. */ + #include diff --git a/package/base/glibc/glibc23/glibc-2.2.3-string2.patch b/package/base/glibc/glibc23/glibc-2.2.3-string2.patch new file mode 100644 index 000000000..fce45a87a --- /dev/null +++ b/package/base/glibc/glibc23/glibc-2.2.3-string2.patch @@ -0,0 +1,67 @@ +# --- ROCK-COPYRIGHT-NOTE-BEGIN --- +# +# This copyright note is auto-generated by ./scripts/Create-CopyPatch. +# Please add additional copyright information _after_ the line containing +# the ROCK-COPYRIGHT-NOTE-END tag. Otherwise it might get removed by +# the ./scripts/Create-CopyPatch script. Do not edit this copyright text! +# +# ROCK Linux: rock-src/package/base/glibc23/glibc-2.2.3-string2.patch +# ROCK Linux is Copyright (C) 1998 - 2003 Clifford Wolf +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. A copy of the GNU General Public +# License can be found at Documentation/COPYING. +# +# Many people helped and are helping developing ROCK Linux. Please +# have a look at http://www.rocklinux.org/ and the Documentation/TEAM +# file for details. +# +# --- ROCK-COPYRIGHT-NOTE-END --- + + +Add explicit casts to make sure that "+ 2" and "+ 4" increments +to pointer byte-wise (and not 4-byte words or whatever else). + +--- ./string/bits/string2.h.old Tue Jun 12 12:52:46 2001 ++++ ./string/bits/string2.h Tue Jun 12 12:53:51 2001 +@@ -415,7 +415,7 @@ + break; + case 3: + __u->__usi = __src0_2; +- __u = __extension__ ((void *) __u + 2); ++ __u = __extension__ (void *)((char *) __u + 2); + __u->__uc = '\0'; + break; + case 4: +@@ -423,24 +423,24 @@ + break; + case 5: + __u->__ui = __src0_4; +- __u = __extension__ ((void *) __u + 4); ++ __u = __extension__ (void *)((char *) __u + 4); + __u->__uc = '\0'; + break; + case 6: + __u->__ui = __src0_4; +- __u = __extension__ ((void *) __u + 4); ++ __u = __extension__ (void *)((char *) __u + 4); + __u->__usi = __src4_2; + break; + case 7: + __u->__ui = __src0_4; +- __u = __extension__ ((void *) __u + 4); ++ __u = __extension__ (void *)((char *) __u + 4); + __u->__usi = __src4_2; +- __u = __extension__ ((void *) __u + 2); ++ __u = __extension__ (void *)((char *) __u + 2); + __u->__uc = '\0'; + break; + case 8: + __u->__ui = __src0_4; +- __u = __extension__ ((void *) __u + 4); ++ __u = __extension__ (void *)((char *) __u + 4); + __u->__ui = __src4_4; + break; + } diff --git a/package/base/glibc/glibc23/glibc-2.3.1-timezone.patch b/package/base/glibc/glibc23/glibc-2.3.1-timezone.patch new file mode 100644 index 000000000..c2e8f9923 --- /dev/null +++ b/package/base/glibc/glibc23/glibc-2.3.1-timezone.patch @@ -0,0 +1,33 @@ +# --- ROCK-COPYRIGHT-NOTE-BEGIN --- +# +# This copyright note is auto-generated by ./scripts/Create-CopyPatch. +# Please add additional copyright information _after_ the line containing +# the ROCK-COPYRIGHT-NOTE-END tag. Otherwise it might get removed by +# the ./scripts/Create-CopyPatch script. Do not edit this copyright text! +# +# ROCK Linux: rock-src/package/base/glibc23/glibc-2.3.1-timezone.patch +# ROCK Linux is Copyright (C) 1998 - 2003 Clifford Wolf +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. A copy of the GNU General Public +# License can be found at Documentation/COPYING. +# +# Many people helped and are helping developing ROCK Linux. Please +# have a look at http://www.rocklinux.org/ and the Documentation/TEAM +# file for details. +# +# --- ROCK-COPYRIGHT-NOTE-END --- + +--- ./timezone/solar87.orig 2002-12-16 22:50:28.000000000 +0100 ++++ ./timezone/solar87 2002-12-16 22:46:40.000000000 +0100 +@@ -382,7 +382,7 @@ + + # Zone NAME GMTOFF RULES/SAVE FORMAT [UNTIL] + Zone Asia/Riyadh87 3:07:04 - ?? 1987 +- 3:07:04 sol87 ?? 1988 ++# 3:07:04 sol87 ?? 1988 + 3:07:04 - ?? + # For backward compatibility... + Link Asia/Riyadh87 Mideast/Riyadh87 diff --git a/package/base/glibc/glibc23/initfini-ccwrapper.patch b/package/base/glibc/glibc23/initfini-ccwrapper.patch new file mode 100644 index 000000000..fcee17e00 --- /dev/null +++ b/package/base/glibc/glibc23/initfini-ccwrapper.patch @@ -0,0 +1,46 @@ +# --- ROCK-COPYRIGHT-NOTE-BEGIN --- +# +# This copyright note is auto-generated by ./scripts/Create-CopyPatch. +# Please add additional copyright information _after_ the line containing +# the ROCK-COPYRIGHT-NOTE-END tag. Otherwise it might get removed by +# the ./scripts/Create-CopyPatch script. Do not edit this copyright text! +# +# ROCK Linux: rock-src/package/base/glibc23/initfini-ccwrapper.patch +# ROCK Linux is Copyright (C) 1998 - 2003 Clifford Wolf +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. A copy of the GNU General Public +# License can be found at Documentation/COPYING. +# +# Many people helped and are helping developing ROCK Linux. Please +# have a look at http://www.rocklinux.org/ and the Documentation/TEAM +# file for details. +# +# --- ROCK-COPYRIGHT-NOTE-END --- + + +Make sure that the ROCK Linux CC Wrapper is not removing the CFLAGS +stored in CFLAGS-initfini.s and CFLAGS-pt-initfini.s. + +--- ./csu/Makefile.orig 2001-07-23 20:53:37.000000000 +0300 ++++ ./csu/Makefile 2002-06-23 09:25:47.000000000 +0300 +@@ -98,5 +98,6 @@ + + $(objpfx)initfini.s: initfini.c +- $(compile.c) -S $(CFLAGS-initfini.s) -finhibit-size-directive \ ++ CC_WRAPPER_APPEND="$$CC_WRAPPER_APPEND $(CFLAGS-initfini.s)" \ ++ $(compile.c) -S -finhibit-size-directive \ + $(patsubst -f%,-fno-%,$(exceptions)) -o $@ + +--- ./linuxthreads/Makefile.orig 2002-01-21 05:21:14.000000000 +0200 ++++ ./linuxthreads/Makefile 2002-06-23 12:25:10.000000000 +0300 +@@ -105,5 +105,6 @@ + + $(objpfx)pt-initfini.s: pt-initfini.c +- $(compile.c) -S $(CFLAGS-pt-initfini.s) -finhibit-size-directive \ ++ CC_WRAPPER_APPEND="$$CC_WRAPPER_APPEND $(CFLAGS-pt-initfini.s)" \ ++ $(compile.c) -S -finhibit-size-directive \ + $(patsubst -f%,-fno-%,$(exceptions)) -o $@ + diff --git a/package/base/glibc/glibc23/ldconfig-glob.patch b/package/base/glibc/glibc23/ldconfig-glob.patch new file mode 100644 index 000000000..c11c856a3 --- /dev/null +++ b/package/base/glibc/glibc23/ldconfig-glob.patch @@ -0,0 +1,105 @@ +# --- ROCK-COPYRIGHT-NOTE-BEGIN --- +# +# This copyright note is auto-generated by ./scripts/Create-CopyPatch. +# Please add additional copyright information _after_ the line containing +# the ROCK-COPYRIGHT-NOTE-END tag. Otherwise it might get removed by +# the ./scripts/Create-CopyPatch script. Do not edit this copyright text! +# +# ROCK Linux: rock-src/package/base/glibc23/ldconfig-glob.patch +# ROCK Linux is Copyright (C) 1998 - 2003 Clifford Wolf +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. A copy of the GNU General Public +# License can be found at Documentation/COPYING. +# +# Many people helped and are helping developing ROCK Linux. Please +# have a look at http://www.rocklinux.org/ and the Documentation/TEAM +# file for details. +# +# --- ROCK-COPYRIGHT-NOTE-END --- + +--- ./elf/ldconfig.c.orig 2002-09-14 12:12:51.000000000 +0200 ++++ ./elf/ldconfig.c 2002-09-14 12:52:50.000000000 +0200 +@@ -23,6 +23,7 @@ + #include + #include + #include ++#include + #include + #include + #include +@@ -302,8 +303,10 @@ + { + char *equal_sign; + struct dir_entry *entry; ++ struct dir_entry *real_entry; + unsigned int i; + struct stat64 stat_buf; ++ glob_t globres; + + entry = xmalloc (sizeof (struct dir_entry)); + entry->next = NULL; +@@ -338,19 +341,50 @@ + --i; + } + +- if (stat64 (entry->path, &stat_buf)) +- { +- if (opt_verbose) +- error (0, errno, _("Can't stat %s"), entry->path); +- free (entry->path); +- free (entry); +- return; +- } ++ if ( glob(entry->path, GLOB_ONLYDIR, NULL, &globres) == 0 ) ++ { ++ for (i=0; ipath = xstrdup (globres.gl_pathv[i]); + +- entry->ino = stat_buf.st_ino; +- entry->dev = stat_buf.st_dev; ++ if (stat64 (real_entry->path, &stat_buf)) ++ { ++ if (opt_verbose) ++ error (0, errno, _("Can't stat %s"), real_entry->path); ++ free (real_entry->path); ++ free (real_entry); ++ } ++ else ++ { ++ real_entry->ino = stat_buf.st_ino; ++ real_entry->dev = stat_buf.st_dev; ++ ++ add_single_dir (real_entry, 1); ++ } ++ } ++ globfree (&globres); ++ free (entry->path); ++ free (entry); ++ } ++ else ++ { ++ if (stat64 (entry->path, &stat_buf)) ++ { ++ if (opt_verbose) ++ error (0, errno, _("Can't stat %s"), entry->path); ++ free (entry->path); ++ free (entry); ++ } ++ else ++ { ++ entry->ino = stat_buf.st_ino; ++ entry->dev = stat_buf.st_dev; + +- add_single_dir (entry, 1); ++ add_single_dir (entry, 1); ++ } ++ } + } + + diff --git a/package/base/glibc/glibc23/make_shlib_link.patch b/package/base/glibc/glibc23/make_shlib_link.patch new file mode 100644 index 000000000..855e63c6f --- /dev/null +++ b/package/base/glibc/glibc23/make_shlib_link.patch @@ -0,0 +1,46 @@ +# --- ROCK-COPYRIGHT-NOTE-BEGIN --- +# +# This copyright note is auto-generated by ./scripts/Create-CopyPatch. +# Please add additional copyright information _after_ the line containing +# the ROCK-COPYRIGHT-NOTE-END tag. Otherwise it might get removed by +# the ./scripts/Create-CopyPatch script. Do not edit this copyright text! +# +# ROCK Linux: rock-src/package/base/glibc23/make_shlib_link.patch +# ROCK Linux is Copyright (C) 1998 - 2003 Clifford Wolf +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. A copy of the GNU General Public +# License can be found at Documentation/COPYING. +# +# Many people helped and are helping developing ROCK Linux. Please +# have a look at http://www.rocklinux.org/ and the Documentation/TEAM +# file for details. +# +# --- ROCK-COPYRIGHT-NOTE-END --- + +--- ./Makerules.orig 2002-10-12 11:52:02.000000000 +0200 ++++ ./Makerules 2002-10-12 11:55:26.000000000 +0200 +@@ -820,8 +820,7 @@ + endif + ifndef make-shlib-link + define make-shlib-link +-rm -f $@ +-$(LN_S) $( $@.new + mv -f $@.new $@ diff --git a/package/base/glibc/glibc23/no_rquota_x.patch b/package/base/glibc/glibc23/no_rquota_x.patch new file mode 100644 index 000000000..7a3b6beed --- /dev/null +++ b/package/base/glibc/glibc23/no_rquota_x.patch @@ -0,0 +1,36 @@ +# --- ROCK-COPYRIGHT-NOTE-BEGIN --- +# +# This copyright note is auto-generated by ./scripts/Create-CopyPatch. +# Please add additional copyright information _after_ the line containing +# the ROCK-COPYRIGHT-NOTE-END tag. Otherwise it might get removed by +# the ./scripts/Create-CopyPatch script. Do not edit this copyright text! +# +# ROCK Linux: rock-src/package/base/glibc23/no_rquota_x.patch +# ROCK Linux is Copyright (C) 1998 - 2003 Clifford Wolf +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. A copy of the GNU General Public +# License can be found at Documentation/COPYING. +# +# Many people helped and are helping developing ROCK Linux. Please +# have a look at http://www.rocklinux.org/ and the Documentation/TEAM +# file for details. +# +# --- ROCK-COPYRIGHT-NOTE-END --- + + +A newer (better) rquota.x / rquota.h comes with the 'quota' package. + +--- ./sunrpc/Makefile.orig 2003-01-08 11:55:19.000000000 +0100 ++++ ./sunrpc/Makefile 2003-01-08 11:55:22.000000000 +0100 +@@ -46,7 +46,7 @@ + + rpcsvc = bootparam_prot.x nlm_prot.x rstat.x \ + yppasswd.x klm_prot.x rex.x sm_inter.x mount.x \ +- rusers.x spray.x nfs_prot.x rquota.x key_prot.x ++ rusers.x spray.x nfs_prot.x key_prot.x + headers = $(addprefix rpc/,auth.h auth_unix.h clnt.h netdb.h pmap_clnt.h \ + pmap_prot.h pmap_rmt.h rpc.h rpc_msg.h svc.h \ + svc_auth.h types.h xdr.h auth_des.h \ diff --git a/package/base/glibc/glibc23/pentium23_fix.patch b/package/base/glibc/glibc23/pentium23_fix.patch new file mode 100644 index 000000000..cc1804fdf --- /dev/null +++ b/package/base/glibc/glibc23/pentium23_fix.patch @@ -0,0 +1,37 @@ +# --- ROCK-COPYRIGHT-NOTE-BEGIN --- +# +# This copyright note is auto-generated by ./scripts/Create-CopyPatch. +# Please add additional copyright information _after_ the line containing +# the ROCK-COPYRIGHT-NOTE-END tag. Otherwise it might get removed by +# the ./scripts/Create-CopyPatch script. Do not edit this copyright text! +# +# ROCK Linux: rock-src/package/base/glibc23/pentium23_fix.patch +# ROCK Linux is Copyright (C) 1998 - 2003 Clifford Wolf +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. A copy of the GNU General Public +# License can be found at Documentation/COPYING. +# +# Many people helped and are helping developing ROCK Linux. Please +# have a look at http://www.rocklinux.org/ and the Documentation/TEAM +# file for details. +# +# --- ROCK-COPYRIGHT-NOTE-END --- + +--- ./sysdeps/unix/sysv/linux/i386/sysdep.h.orig 2003-01-08 12:38:31.000000000 +0100 ++++ ./sysdeps/unix/sysv/linux/i386/sysdep.h 2003-01-08 12:41:09.000000000 +0100 +@@ -35,6 +35,12 @@ + + #ifdef __ASSEMBLER__ + ++/* __i686 is used in assembler code below as normal text within a statement. ++ When optimizing for pentium2 or pentium3, gcc defines __i686 as cpp macro ++ which destroys the code below. Glibc is only using the cpp macro __i686__, ++ so we can savely undefine __i686 here. - Clifford Wolf */ ++#undef __i686 ++ + /* Linux uses a negative return value to indicate syscall errors, + unlike most Unices, which use the condition codes' carry flag. + diff --git a/package/base/glibc/glibc23/sparc-gdb_fix.patch b/package/base/glibc/glibc23/sparc-gdb_fix.patch new file mode 100644 index 000000000..c2dbc96c2 --- /dev/null +++ b/package/base/glibc/glibc23/sparc-gdb_fix.patch @@ -0,0 +1,39 @@ +# --- ROCK-COPYRIGHT-NOTE-BEGIN --- +# +# This copyright note is auto-generated by ./scripts/Create-CopyPatch. +# Please add additional copyright information _after_ the line containing +# the ROCK-COPYRIGHT-NOTE-END tag. Otherwise it might get removed by +# the ./scripts/Create-CopyPatch script. Do not edit this copyright text! +# +# ROCK Linux: rock-src/package/base/glibc23/sparc-gdb_fix.patch +# ROCK Linux is Copyright (C) 1998 - 2003 Clifford Wolf +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. A copy of the GNU General Public +# License can be found at Documentation/COPYING. +# +# Many people helped and are helping developing ROCK Linux. Please +# have a look at http://www.rocklinux.org/ and the Documentation/TEAM +# file for details. +# +# --- ROCK-COPYRIGHT-NOTE-END --- + +--- glibc-2.3.2/sysdeps/unix/sysv/linux/sparc/sys/ucontext.h.orig 2003-08-03 19:45:12.000000000 +0000 ++++ glibc-2.3.2/sysdeps/unix/sysv/linux/sparc/sys/ucontext.h 2003-08-03 19:47:29.000000000 +0000 +@@ -19,6 +19,8 @@ + #ifndef _SYS_UCONTEXT_H + #define _SYS_UCONTEXT_H 1 + ++#ifdef __GLIBC__ ++ + #include + #include + #include +@@ -267,4 +269,5 @@ + } ucontext_t; + + #endif /* __WORDSIZE == 32 */ ++#endif /* __GLIBC__ */ + #endif /* sys/ucontext.h */ diff --git a/package/base/glibc/nscd.conf b/package/base/glibc/nscd.conf new file mode 100644 index 000000000..66f828059 --- /dev/null +++ b/package/base/glibc/nscd.conf @@ -0,0 +1,63 @@ +# +# --- ROCK-COPYRIGHT-NOTE-BEGIN --- +# +# This copyright note is auto-generated by ./scripts/Create-CopyPatch. +# Please add additional copyright information _after_ the line containing +# the ROCK-COPYRIGHT-NOTE-END tag. Otherwise it might get removed by +# the ./scripts/Create-CopyPatch script. Do not edit this copyright text! +# +# ROCK Linux: rock-src/package/base/glibc23/nscd.conf +# ROCK Linux is Copyright (C) 1998 - 2003 Clifford Wolf +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. A copy of the GNU General Public +# License can be found at Documentation/COPYING. +# +# Many people helped and are helping developing ROCK Linux. Please +# have a look at http://www.rocklinux.org/ and the Documentation/TEAM +# file for details. +# +# --- ROCK-COPYRIGHT-NOTE-END --- +# +# An example Name Service Cache config file. This file is needed by nscd. +# +# Legal entries are: +# +# logfile +# debug-level +# threads <#threads to use> +# +# enable-cache +# positive-time-to-live