# TODO:
# - localedb-gen man pages(?)
# - fix what trojan broke while upgreading (getaddrinfo-workaround)
-# - fix ld.so.conf (while upgrading glibc it do NOW mv ld.so.conf ld.so.conf.rpmsave)
-#
-# WARNING:
-# posix zoneinfo dir removed, /etc/rc.d/init.d/timezone must be changed
-# in order to use this version!
+# - math/{test-fenv,test-tgmath,test-float,test-ifloat},
+# linuxthreads/tst-cancel8, debug/backtrace-tst(SEGV) fail on alpha
#
%{!?min_kernel:%global min_kernel 2.4.6}
%if %{with nptl}
# it seems that nptl uses cmpxchgl (available since i486) on x86
-%ifarch i486 i586 i686 pentium3 pentium4 athlon amd64 ia64 s390 s390x sparcv9 ppc ppc64
+%ifarch i486 i586 i686 pentium3 pentium4 athlon amd64 ia64 alpha s390 s390x sparcv9 ppc ppc64
%if "%{min_kernel}" < "2.6.0"
%global min_kernel 2.6.0
%endif
%endif
%if %{with tls}
-%ifnarch %{ix86} amd64 ia64 s390 s390x sparc sparcv9 ppc ppc64
+%ifnarch %{ix86} amd64 ia64 alpha s390 s390x sparc sparcv9 ppc ppc64
%undefine with_tls
%endif
%endif
-%define llh_version 7:2.6.4.0
-%define _snap 20040603
+%ifarch sparc64
+%undefine with_memusage
+%endif
+
+%define llh_version 7:2.6.6.0
+%define _snap 20040722
Summary: GNU libc
Summary(de): GNU libc
Summary(uk): GNU libc ×ÅÒÓ¦§ 2.3
Name: glibc
Version: 2.3.4
-Release: 0.%{_snap}.1%{?with_nptl:+nptl}
+Release: 0.%{_snap}.2%{?with_nptl:+nptl}%{!?with_nptl:%{?with_tls:+tls}}
Epoch: 6
License: LGPL
Group: Libraries
#Source0: ftp://sources.redhat.com/pub/glibc/releases/%{name}-%{version}.tar.bz2
Source0: %{name}-%{_snap}.tar.bz2
-# Source0-md5: 8564ff95873944201e4bb6317ea070d6
+# Source0-md5: 492f7dbecb7f8e5c03d48dd5443a1e88
#Source1: ftp://sources.redhat.com/pub/glibc/releases/%{name}-linuxthreads-%{version}.tar.bz2
#Source1: %{name}-linuxthreads-2.3.3.tar.bz2
Source2: nscd.init
Patch14: %{name}-includes.patch
Patch15: %{name}-soinit-EH_FRAME.patch
Patch16: %{name}-sparc-errno_fix.patch
-Patch17: %{name}-make.patch
+Patch17: %{name}-csu-quotes.patch
Patch18: %{name}-tests-noproc.patch
Patch19: %{name}-new-charsets.patch
Patch20: %{name}-sr_CS.patch
-Patch21: %{name}-alpha-div.patch
-Patch22: %{name}-alpha-relro.patch
+Patch21: %{name}-sparc64-dl-machine.patch
+Patch22: %{name}-tzfile-noassert.patch
+Patch23: %{name}-ifreq.patch
+Patch24: %{name}-morelocales.patch
# PaX
Patch30: %{name}-pax_iconvconfig.patch
Patch31: %{name}-pax_dl-execstack.patch
%define debugcflags -O1 -g
%ifarch sparc64
-%undefine with_memusage
%define specflags_sparc64 -mvis -fcall-used-g6
%define _libdir /usr/lib64
%endif
+# we don't want perl dependency in glibc-devel
+%define _noautoreqfiles %{_bindir}/mtrace
# hack: don't depend on rpmlib(PartialHardlinkSets) for easier upgrade from Ra
# (hardlinks here are unlikely to be "partial"... and rpm 4.0.2 from Ra was
# patched not to crash on partial hardlinks too)
Summary(pl): Narzêdzia i dane u¿ywane przez glibc
Group: Development/Libraries
AutoReq: false
-Requires: %{name} = %{epoch}:%{version}-%{release}
+PreReq: %{name} = %{epoch}:%{version}-%{release}
%description misc
Utilities and data used by glibc.
Summary(tr): Ölçüm desteði olan glibc
Summary(uk): GNU libc Ú Ð¦ÄÔÒÉÍËÏÀ ÐÒÏÆÁÊÌÅÒÁ
Group: Development/Libraries/Libc
-Obsoletes: libc-profile
Requires: %{name}-devel = %{epoch}:%{version}-%{release}
+Obsoletes: libc-profile
%description profile
When programs are being profiled using gprof, they must use these
%patch20 -p1
%patch21 -p1
%patch22 -p1
+%patch23 -p1
+%patch24 -p1
%patch30 -p1
%patch31 -p1
%{__make} tests 2>&1 | awk '
BEGIN { file = "" }
{
- if (($0 ~ /\*\*\* \[.*\.out\] Error/) && (file == "")) {
+ if (($0 ~ /\*\*\* \[.*\.out\] Error/) && ($0 !~ /annexc/) && (file == "")) {
file=$0;
gsub(/.*\[/, NIL, file);
gsub(/\].*/, NIL, file);
# strip ld.so with --strip-debug only (other ELFs are stripped by rpm):
%ifnarch sparc64
-%{!?debug:strip -g -R .comment -R .note $RPM_BUILD_ROOT/%{_lib}/ld-%{version}.so}
+%{!?debug:strip -g -R .comment -R .note $RPM_BUILD_ROOT/%{_lib}/ld-*.so}
%endif
# Collect locale files and mark them with %%lang()
# bn is used for bn_BD or bn_IN?
# omitted here - already existing (with libc.mo):
# be,ca,cs,da,de,el,en_GB,es,fi,fr,gl,hr,hu,it,ja,ko,nb,nl,pl,pt_BR,sk,sv,tr,zh_CN,zh_TW
-for i in af am ar az bg bn br bs cy de_AT en en_AU eo es_AR es_MX et eu fa ga \
- gr he hi id is ja_JP.SJIS ka kn lg lt lv mk ml mn ms mt nn pt ro ru \
- se sl sq sr sr@Latn ta tg th uk uz vi wa xh yi zu ; do
+for i in af am ar az bg bn br bs cy de_AT en en_AU en_CA en_US eo es_AR es_MX \
+ et eu fa fo ga gu he hi ia id is ja_JP.SJIS ka kn leet lg li lo lt lv mi \
+ mk ml mn mr ms mt nds ne nn pa pt ro ru se sl sq sr sr@Latn sr@ije ta tg \
+ th uk uz vi wa xh yi zh_HK zu ; do
if [ ! -d $RPM_BUILD_ROOT%{_datadir}/locale/$i/LC_MESSAGES ]; then
install -d $RPM_BUILD_ROOT%{_datadir}/locale/$i/LC_MESSAGES
lang=`echo $i | sed -e 's/_.*//'`
echo "%lang($lang) %{_datadir}/locale/$i" >> ../glibc.lang
fi
done
+cd $RPM_BUILD_ROOT%{_datadir}/locale
+ln -s zh_CN zh_SG
+cd -
# localedb-gen infrastructure
install %{SOURCE7} $RPM_BUILD_ROOT%{_bindir}/localedb-gen
/sbin/ldconfig
-/sbin/telinit u
+%ifarch amd64
+%triggerpostun -n %{name}64 -p /sbin/postshell -- glibc-misc < 6:2.3.4-0.20040505.1
+%else
+%triggerpostun -p /sbin/postshell -- glibc-misc < 6:2.3.4-0.20040505.1
+%endif
+-/bin/mv %{_sysconfdir}/ld.so.conf.rpmsave %{_sysconfdir}/ld.so.conf
+
%post memusage -p /sbin/ldconfig
%postun memusage -p /sbin/ldconfig
%attr(755,root,root) %{_bindir}/getent
%attr(755,root,root) %{_bindir}/iconv
%attr(755,root,root) %{_bindir}/ldd
-%ifnarch alpha ppc sparc64 amd64
+%ifnarch alpha amd64 ia64 ppc sparc64
%attr(755,root,root) %{_bindir}/lddlibc4
%endif
%attr(755,root,root) %{_bindir}/locale