X-Git-Url: http://git.pld-linux.org/?p=packages%2Fglibc.git;a=blobdiff_plain;f=glibc.spec;h=8dbcf6efcb04062e6af5c17b1d9ac0817fc34ee1;hp=891a6274e6e67a3bcce5e38374acbcea53c244fd;hb=feca75cccd6a06db84a233a3de2a6aad3e76f4d0;hpb=dc4eddab4c0bf35d689137d0a879b7fc2ec07ccc diff --git a/glibc.spec b/glibc.spec index 891a627..8dbcf6e 100644 --- a/glibc.spec +++ b/glibc.spec @@ -8,7 +8,7 @@ %bcond_with kernelheaders # use headers from kernel-headers instead of # linux-libc-headers (evil, breakage etc., don't use) %bcond_without dist_kernel # for above, allow non-distribution kernel -%bcond_with nptl # use nptl instead of linuxthreads +%bcond_with nptl # use nptl instead of linuxthreads (implies tls) %bcond_with tls # use tls %bcond_with tests # perform "make test" @@ -16,33 +16,37 @@ # TODO: # - localedb-gen man pages(?) # - fix what trojan broke while upgreading (getaddrinfo-workaround) -# -# 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 +# NPTL requires TLS +%define with_tls 1 %else -%undefine with_nptl +%undefine with_nptl %endif %endif %if %{with tls} -%ifnarch %{ix86} amd64 ia64 s390 s390x sparc sparcv9 ppc ppc64 -%undefine with_tls +%ifnarch %{ix86} amd64 ia64 alpha s390 s390x sparc sparcv9 ppc ppc64 +%undefine with_tls +%endif %endif + +%ifarch sparc64 +%undefine with_memusage %endif -%define llh_version 7:2.6.4.0 -%define _snap 20040603 +%define llh_version 7:2.6.6.0 +%define _snap 20040722 Summary: GNU libc Summary(de): GNU libc @@ -55,13 +59,13 @@ Summary(tr): 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 @@ -92,18 +96,21 @@ Patch12: %{name}-no_opt_override.patch Patch13: %{name}-kernel_includes.patch Patch14: %{name}-includes.patch Patch15: %{name}-soinit-EH_FRAME.patch -Patch17: %{name}-sparc-errno_fix.patch -Patch18: %{name}-make.patch -Patch20: %{name}-tests-noproc.patch -Patch21: %{name}-linuxthreads-ppc-fix.patch -Patch23: %{name}-new-charsets.patch -Patch26: %{name}-sr_CS.patch +Patch16: %{name}-sparc-errno_fix.patch +Patch17: %{name}-csu-quotes.patch +Patch18: %{name}-tests-noproc.patch +Patch19: %{name}-new-charsets.patch +Patch20: %{name}-sr_CS.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 URL: http://www.gnu.org/software/libc/ BuildRequires: automake -BuildRequires: binutils >= 2.13.90.0.2 +BuildRequires: binutils >= 2.15.90.0.3 BuildRequires: gcc >= 3.2 %{?with_memusage:BuildRequires: gd-devel >= 2.0.1} BuildRequires: gettext-devel >= 0.10.36 @@ -136,10 +143,11 @@ BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n) %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) @@ -157,14 +165,15 @@ national language (locale) support and timezone databases. Can be used on: Linux kernel >= %{min_kernel}. %description -l es -Contiene las bibliotecas estándared que son usadas por varios programas -del sistema. Para ahorrar el espacio en el disco y la memoria, igual que -para facilitar actualizaciones, código común del sistema se guarda en un -sitio y es compartido entre los programas. Este paquete contiene las -bibliotecas compartidas más importantes, es decir la biblioteca C estándar -y la biblioteca estándar de matemática. Sin éstas, un sistema Linux no -podrá funcionar. También está incluido soporte de idiomas nacionales -(locale) y bases de datos de zona de tiempo. +Contiene las bibliotecas estándared que son usadas por varios +programas del sistema. Para ahorrar el espacio en el disco y la +memoria, igual que para facilitar actualizaciones, código común del +sistema se guarda en un sitio y es compartido entre los programas. +Este paquete contiene las bibliotecas compartidas más importantes, es +decir la biblioteca C estándar y la biblioteca estándar de matemática. +Sin éstas, un sistema Linux no podrá funcionar. También está incluido +soporte de idiomas nacionales (locale) y bases de datos de zona de +tiempo. Puede usarse con: núcleo Linux >= %{min_kernel}. @@ -262,7 +271,7 @@ Summary: Utilities and data used by glibc 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. @@ -296,8 +305,8 @@ verwenden (also fast alle), ben und Objektdateien zum Erstellen der ausführbaren Programme. %description devel -l es -Para desarrollar programas que utilizan las bibliotecas C estándar -(lo cual hacen prácticamente todos los programas), el sistema necesita +Para desarrollar programas que utilizan las bibliotecas C estándar (lo +cual hacen prácticamente todos los programas), el sistema necesita disponer de estos ficheros de cabecera y de objetos para crear los ejecutables. @@ -357,11 +366,11 @@ nscd with 2.0 kernels, due to bugs in the kernel-side thread support. nscd happens to hit these bugs particularly hard. %description -n nscd -l es -nscd guarda las peticiones del servicio de nombres en una caché; eso puede -aumentar drásticamente las prestaciones de NIS+, y también puede ayudar -con DNS. No puede usar nscd con núcleos 2.0, por contener éstos errores -en el soporte de hilos. Resulta que estos errores impactan el nscd de manera -realmente grave. +nscd guarda las peticiones del servicio de nombres en una caché; eso +puede aumentar drásticamente las prestaciones de NIS+, y también puede +ayudar con DNS. No puede usar nscd con núcleos 2.0, por contener éstos +errores en el soporte de hilos. Resulta que estos errores impactan el +nscd de manera realmente grave. %description -n nscd -l ja Nscd ¤Ï¥Í¡¼¥à¥µ¡¼¥Ó¥¹»²¾È¤ò¥­¥ã¥Ã¥·¥å¤·¡¢NIS+ ¤Î¥Ñ¥Õ¥©¡¼¥Þ¥ó¥¹¤ò @@ -423,12 +432,12 @@ installing localedb-src and regenerating database using localedb-gen script (when database is generated, localedb-src can be uninstalled). %description localedb-all -l es -Este paquete contiene una base de datos de todos los locales soportados -por glibc. En glibc 2.3.x ése es un fichero grande (aprox. 39 MB) -- si -prefiere algo más pequeño, sólo con soporte de unos locales elegidos, -considérese instalar localedb-src y regenerar la base de datos usando -el escript localedb-gen (una vez que la base de datos esté creada, -localedb-src se podrá desinstalar). +Este paquete contiene una base de datos de todos los locales +soportados por glibc. En glibc 2.3.x ése es un fichero grande (aprox. +39 MB) -- si prefiere algo más pequeño, sólo con soporte de unos +locales elegidos, considérese instalar localedb-src y regenerar la +base de datos usando el escript localedb-gen (una vez que la base de +datos esté creada, localedb-src se podrá desinstalar). %description localedb-all -l pl Ten pakiet zawiera bazê danych locale dla wszystkich lokalizacji @@ -503,8 +512,8 @@ Summary(ru): GNU libc 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 @@ -556,10 +565,10 @@ composed of individual shared objects. This is used for creating a library which is a smaller subset of the standard libc shared library. %description pic -l es -El archivo PIC de la biblioteca glibc contiene una biblioteca archivada -(un fichero ar) compuesta de individuales objetos compartidos. Es usado -para crear una biblioteca que sea un subconjunto más pequeño de la -biblioteca libc compartida estándar. +El archivo PIC de la biblioteca glibc contiene una biblioteca +archivada (un fichero ar) compuesta de individuales objetos +compartidos. Es usado para crear una biblioteca que sea un subconjunto +más pequeño de la biblioteca libc compartida estándar. %description pic -l pl Archiwum PIC biblioteki GNU C zawiera archiwaln± bibliotekê (plik ar) @@ -658,7 +667,8 @@ Requires: %{name} = %{epoch}:%{version}-%{release} glibc NSS (Name Service Switch) module for NIS+ databases access. %description -n nss_nisplus -l es -Módulo NSS (Name Service Switch) de glibc para acceder las bases de datos NIS+. +Módulo NSS (Name Service Switch) de glibc para acceder las bases de +datos NIS+. %description -n nss_nisplus -l pl Modu³ glibc NSS (Name Service Switch) dostêpu do baz danych NIS+. @@ -732,8 +742,8 @@ Development files for 64-bit GNU libc libraries for 64bit architecture. %description -n %{name}64-devel -l es -Ficheros de desarrollo para las bibliotecas GNU libc de 64 bits para la -arquitectura 64bit. +Ficheros de desarrollo para las bibliotecas GNU libc de 64 bits para +la arquitectura 64bit. %description -n %{name}64-devel -l pl Pliki do programowania z u¿yciem 64-bitowych bibliotek GNU libc dla @@ -775,12 +785,15 @@ Statyczne 64-bitowe biblioteki GNU libc. %{?with_kernelheaders:%patch13} %{?!with_kernelheaders:%patch14 -p1} %patch15 -p1 -%patch17 +%patch16 -p0 +%patch17 -p1 %patch18 -p1 +%patch19 -p1 %patch20 -p1 %patch21 -p1 +%patch22 -p1 %patch23 -p1 -%patch26 -p1 +%patch24 -p1 %patch30 -p1 %patch31 -p1 @@ -789,8 +802,8 @@ chmod +x scripts/cpp %build # Build glibc -cp /usr/share/automake/config.sub . -cp /usr/share/automake/config.sub scripts +cp %{_datadir}/automake/config.sub . +cp %{_datadir}/automake/config.sub scripts %{__aclocal} %{__autoconf} # i786 (aka pentium4) hack @@ -814,10 +827,10 @@ LDFLAGS=" " ; export LDFLAGS %endif %if %{with kernelheaders} CPPFLAGS="-I%{_kernelsrcdir}/include" \ - --with-headers=%{_kernelsrcdir}/include + --with-headers=%{_kernelsrcdir}/include %else CPPFLAGS="-I%{_includedir}" \ - --with-headers=%{_includedir} + --with-headers=%{_includedir} %endif # problem compiling with --enable-bounded (must be reported to libc-alpha) @@ -829,7 +842,7 @@ env LANGUAGE=C LC_ALL=C \ %{__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); @@ -928,7 +941,7 @@ rm -f $RPM_BUILD_ROOT%{_libdir}/libnss_*.so # 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() @@ -963,15 +976,19 @@ done # 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 @@ -1010,6 +1027,13 @@ rm -rf $RPM_BUILD_ROOT /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 @@ -1045,8 +1069,10 @@ fi %ifnarch sparc64 %ifarch amd64 %files -n glibc64 +%defattr(644,root,root,755) %else -%files +%files +%defattr(644,root,root,755) %endif %defattr(644,root,root,755) %doc README NEWS FAQ BUGS @@ -1084,7 +1110,7 @@ fi %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