X-Git-Url: http://git.pld-linux.org/?a=blobdiff_plain;f=glibc.spec;h=8709777887fdcb61607a3d5811a61065a910b004;hb=fb75f6677f5bfa27fe57963cb51b80f0fb0e56c6;hp=02eafcab68a51948ebcc1159348000abe9a8adcc;hpb=742b2751b746abcb4813096cc49a715ed5313e00;p=packages%2Fglibc.git diff --git a/glibc.spec b/glibc.spec index 02eafca..8709777 100644 --- a/glibc.spec +++ b/glibc.spec @@ -3,24 +3,49 @@ # default is 2.4.6 # # Conditional build: -%bcond_without fp # build without frame pointer (pass \--enable-omitfp) +%bcond_with omitfp # build without frame pointer (pass \--enable-omitfp) %bcond_without memusage # don't build memusage utility %bcond_with kernelheaders # use headers from kernel-headers instead of - # glibc-kernel-headers (evil, breakage etc., don't use) + # linux-libc-headers (evil, breakage etc., don't use) %bcond_without dist_kernel # for above, allow non-distribution kernel -%bcond_with idn # build with included libidn -%bcond_without tests # do not perform "make test" +%bcond_with nptl # use nptl instead of linuxthreads (implies tls) +%bcond_with tls # use tls +%bcond_with tests # perform "make test" + # # 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! -# -%{!?min_kernel:%global min_kernel 2.4.6} -%define gkh_version 7:2.6.0.3 + +%{!?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 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 +%endif +%endif + +%if %{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.6.0 +%define _snap 20040707 + Summary: GNU libc Summary(de): GNU libc Summary(es): GNU libc @@ -31,84 +56,89 @@ Summary(ru): GNU libc Summary(tr): GNU libc Summary(uk): GNU libc ×ÅÒÓ¦§ 2.3 Name: glibc -Version: 2.3.3 -Release: 0.20040101.1 +Version: 2.3.4 +Release: 0.%{_snap}.1%{?with_nptl:+nptl}%{!?with_nptl:%{?with_tls:+tls}} Epoch: 6 License: LGPL Group: Libraries -# 20040101 snapshot #Source0: ftp://sources.redhat.com/pub/glibc/releases/%{name}-%{version}.tar.bz2 -Source0: %{name}-%{version}.tar.bz2 -# Source0-md5: b4e3f037a0b36afc705af344033a91c7 +Source0: %{name}-%{_snap}.tar.bz2 +# Source0-md5: 7768ef6077b979c52f3c3bfd6da20c53 #Source1: ftp://sources.redhat.com/pub/glibc/releases/%{name}-linuxthreads-%{version}.tar.bz2 -Source1: %{name}-linuxthreads-%{version}.tar.bz2 -# Source1-md5: 97c30992592f854a67107579dcef61dd +#Source1: %{name}-linuxthreads-2.3.3.tar.bz2 Source2: nscd.init Source3: nscd.sysconfig Source4: nscd.logrotate -Source5: http://www.mif.pg.gda.pl/homepages/ankry/man-PLD/%{name}-man-pages.tar.bz2 -# Source5-md5: ddba280857330dabba4d8c16d24a6dfd -Source6: http://www.mif.pg.gda.pl/homepages/ankry/man-PLD/%{name}-non-english-man-pages.tar.bz2 -# Source6-md5: 2e3992c2e1bc94212c2cd33236de6058 +#Source5: http://www.mif.pg.gda.pl/homepages/ankry/man-PLD/%{name}-man-pages.tar.bz2 +Source5: %{name}-man-pages.tar.bz2 +# Source5-md5: 03bee93e9786b3e7dad2570ccb0cbc5c +#Source6: http://www.mif.pg.gda.pl/homepages/ankry/man-PLD/%{name}-non-english-man-pages.tar.bz2 +Source6: %{name}-non-english-man-pages.tar.bz2 +# Source6-md5: 6159f0a9b6426b5f6fc1b0d8d21b9b76 # borrowed from util-linux -Source7: sln.8 -Source8: %{name}-localedb-gen +Source7: %{name}-localedb-gen Patch0: %{name}-info.patch -Patch1: %{name}-initgroups-overflow.patch +Patch1: %{name}-pl.po-update.patch Patch2: %{name}-pld.patch Patch3: %{name}-crypt-blowfish.patch -Patch4: %{name}-string2-pointer-arith.patch -Patch5: %{name}-linuxthreads-lock.patch -Patch6: %{name}-pthread_create-manpage.patch -Patch9: %{name}-paths.patch -Patch10: %{name}-vaargs.patch -Patch11: %{name}-getaddrinfo-workaround.patch -Patch12: %{name}-postshell.patch -Patch14: %{name}-missing-nls.patch -Patch16: %{name}-java-libc-wait.patch -Patch18: %{name}-lthrds_noomit.patch -Patch19: %{name}-no_opt_override.patch -Patch23: %{name}-kernel_includes.patch -Patch24: %{name}-includes.patch -Patch26: %{name}-alpha-fix-as-syntax.patch -Patch27: %{name}-soinit-EH_FRAME.patch -Patch30: %{name}-sparc-errno_fix.patch -Patch31: %{name}-make.patch +Patch4: %{name}-linuxthreads-lock.patch +Patch5: %{name}-pthread_create-manpage.patch +Patch6: %{name}-paths.patch +Patch7: %{name}-i786.patch +Patch8: %{name}-postshell.patch +Patch9: %{name}-missing-nls.patch +Patch10: %{name}-java-libc-wait.patch +Patch11: %{name}-lthrds_noomit.patch +Patch12: %{name}-no_opt_override.patch +# this is broken (hardcoded /usr/src/linux) +Patch13: %{name}-kernel_includes.patch +Patch14: %{name}-includes.patch +Patch15: %{name}-soinit-EH_FRAME.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 +# 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 %if %{with kernelheaders} %{?with_dist_kernel:BuildRequires: kernel-headers < 2.5} %else -BuildRequires: glibc-kernel-headers >= %{gkh_version} +BuildRequires: linux-libc-headers >= %{llh_version} %endif BuildRequires: perl-base BuildRequires: rpm-build >= 4.3-0.20030610.28 BuildRequires: rpm-perlprov BuildRequires: sed >= 4.0.5 BuildRequires: texinfo +AutoReq: false PreReq: basesystem +Requires: glibc-misc = %{epoch}:%{version}-%{release} +%{?with_tls:Provides: glibc(tls)} Provides: ld.so.2 Provides: ldconfig Provides: /sbin/ldconfig Obsoletes: %{name}-common Obsoletes: %{name}-debug Obsoletes: ldconfig -AutoReq: false -Requires: glibc-misc = %{epoch}:%{version}-%{release} -BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n) Conflicts: kernel < %{min_kernel} Conflicts: ld.so < 1.9.9-10 Conflicts: man-pages < 1.43 Conflicts: rc-scripts < 0.3.1-13 Conflicts: rpm < 4.1 +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 @@ -129,14 +159,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}. @@ -233,7 +264,8 @@ Can be used on: Linux kernel >= %{min_kernel}. Summary: Utilities and data used by glibc Summary(pl): Narzêdzia i dane u¿ywane przez glibc Group: Development/Libraries -Requires: %{name} = %{epoch}:%{version}-%{release} +AutoReq: false +PreReq: %{name} = %{epoch}:%{version}-%{release} %description misc Utilities and data used by glibc. @@ -253,7 +285,8 @@ Summary(tr): Geli Summary(uk): äÏÄÁÔËÏצ ¦Â̦ÏÔÅËÉ, ÐÏÔÒ¦ÂΦ ÄÌÑ ËÏÍЦÌÑæ§ Group: Development/Libraries Requires: %{name} = %{epoch}:%{version}-%{release} -%{!?with_kernelheaders:Requires: glibc-kernel-headers >= %{gkh_version}} +%{!?with_kernelheaders:Requires: linux-libc-headers >= %{llh_version}} +Obsoletes: libiconv-devel %description devel To develop programs which use the standard C libraries (which nearly @@ -266,8 +299,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. @@ -327,11 +360,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+ ¤Î¥Ñ¥Õ¥©¡¼¥Þ¥ó¥¹¤ò @@ -361,6 +394,7 @@ Summary(es): C Summary(pl): Kod ¼ród³owy bazy locale Group: Daemons Requires: %{name} = %{epoch}:%{version}-%{release} +Requires: sed %description -n localedb-src This add-on package contains the data needed to build the locale data @@ -381,27 +415,28 @@ Summary: locale database for all locales supported by glibc Summary(es): Base de datos de todos los locales soportados por glibc Summary(pl): Baza danych locale dla wszystkich lokalizacji obs³ugiwanych przez glibc Group: Libraries +Requires: iconv = %{epoch}:%{version}-%{release} Requires: %{name} = %{epoch}:%{version}-%{release} %description localedb-all This package contains locale database for all locales supported by -glibc. In glibc 2.3.x it's one large file (about 19MB) - if you want +glibc. In glibc 2.3.x it's one large file (about 39MB) - if you want something smaller with support for chosen locales only, consider 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. 19 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 obs³ugiwanych przez glibc. W glibc 2.3.x jest to jeden du¿y plik -(oko³o 19MB); aby mieæ co¶ mniejszego, z obs³ug± tylko wybranych +(oko³o 39MB); aby mieæ co¶ mniejszego, z obs³ug± tylko wybranych lokalizacji, nale¿y zainstalowaæ pakiet localedb-src i przegenerowaæ bazê danych przy u¿yciu skryptu localedb-gen (po wygenerowaniu bazy pakiet localedb-src mo¿na odinstalowaæ). @@ -442,6 +477,7 @@ Summary(ru): Summary(uk): óÔÁÔÉÞΦ ¦Â̦ÏÔÅËÉ glibc Group: Development/Libraries Requires: %{name}-devel = %{epoch}:%{version}-%{release} +Obsoletes: libiconv-static %description static GNU libc static libraries. @@ -470,8 +506,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 @@ -523,10 +559,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) @@ -625,7 +661,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+. @@ -673,18 +710,19 @@ Summary(pl): GNU libc - biblioteki 64-bitowe Group: Libraries %ifarch amd64 Provides: glibc = %{epoch}:%{version}-%{release} +Requires: glibc-misc = %{epoch}:%{version}-%{release} %else Requires: %{name} = %{epoch}:%{version}-%{release} %endif %description -n %{name}64 -64-bit GNU libc libraries for sparc64 architecture. +64-bit GNU libc libraries for 64bit architecture. %description -n %{name}64 -l es -Bibliotecas GNU libc de 64 bits para la arquitectura sparc64. +Bibliotecas GNU libc de 64 bits para la arquitectura 64bit. %description -n %{name}64 -l pl -Biblioteki 64-bitowe GNU libc dla architektury sparc64. +Biblioteki 64-bitowe GNU libc dla architektury 64bit. %package -n %{name}64-devel Summary: Development files for 64-bit GNU libc libraries @@ -694,16 +732,16 @@ Group: Development/Libraries Requires: %{name}-devel = %{epoch}:%{version}-%{release} %description -n %{name}64-devel -Development files for 64-bit GNU libc libraries for sparc64 +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 sparc64. +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 -architektury sparc64. +architektury 64bit. %package -n %{name}64-static Summary: Static 64-bit GNU libc libraries @@ -722,44 +760,63 @@ Bibliotecas est Statyczne 64-bitowe biblioteki GNU libc. %prep -%setup -q -a 1 +#setup -q -a 1 -n libc +%setup -q -n libc %patch0 -p1 +%patch1 -p1 %patch2 -p1 %patch3 -p1 %patch4 -p1 %patch5 -p1 %patch6 -p1 +%patch7 -p1 +%patch8 -p1 %patch9 -p1 %patch10 -p1 -#%%patch11 -p1 -%patch12 -p1 -%patch14 -p1 -%patch16 -p1 -%patch18 -p1 +%patch11 -p1 # don't know, if it is good idea, for brave ones -#%patch19 -p1 -%{?with_kernelheaders:%patch23} -%{?!with_kernelheaders:%patch24 -p1} -%patch26 -p1 -%patch27 -p1 -%patch30 +#%patch12 -p1 +%{?with_kernelheaders:%patch13} +%{?!with_kernelheaders:%patch14 -p1} +%patch15 -p1 +%patch16 -p0 +%patch17 -p1 +%patch18 -p1 +%patch19 -p1 +%patch20 -p1 +%patch21 -p1 +%patch22 -p1 + +%patch30 -p1 %patch31 -p1 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 +cd nptl/sysdeps/i386 && ln -s i686 i786 && cd - +cd nptl/sysdeps/unix/sysv/linux/i386 && ln -s i686 i786 && cd - +# [ -d builddir ] || mkdir builddir cd builddir # avoid stripping ld.so by -s in rpmldflags LDFLAGS=" " ; export LDFLAGS ../%configure \ - --enable-add-ons=linuxthreads \ --enable-kernel="%{min_kernel}" \ + --%{?with_omitfp:en}%{!?with_omitfp:dis}able-omitfp \ + %{?with_tls:--with-tls} \ +%if %{with nptl} + --enable-add-ons=nptl \ + --disable-profile \ +%else + --enable-add-ons=linuxthreads \ --enable-profile \ - --%{!?with_fp:en}%{?with_fp:dis}able-omitfp \ +%endif %if %{with kernelheaders} CPPFLAGS="-I%{_kernelsrcdir}/include" \ --with-headers=%{_kernelsrcdir}/include @@ -772,11 +829,24 @@ LDFLAGS=" " ; export LDFLAGS %{__make} %{?parallelmkflags} -%{?with_tests:%{__make} tests} +%if %{with tests} +env LANGUAGE=C LC_ALL=C \ +%{__make} tests 2>&1 | awk ' +BEGIN { file = "" } +{ + if (($0 ~ /\*\*\* \[.*\.out\] Error/) && (file == "")) { + file=$0; + gsub(/.*\[/, NIL, file); + gsub(/\].*/, NIL, file); + } + print $0; +} +END { if (file != "") { print "ERROR OUTPUT FROM " file; system("cat " file); exit(1); } }' +%endif %install rm -rf $RPM_BUILD_ROOT -install -d $RPM_BUILD_ROOT{/etc/{logrotate.d,rc.d/init.d,sysconfig},%{_mandir}/man{3,8},/var/log} +install -d $RPM_BUILD_ROOT{/etc/{logrotate.d,rc.d/init.d,sysconfig},%{_mandir}/man{3,8},/var/log,/var/run/nscd} cd builddir @@ -800,17 +870,17 @@ install $PICFILES $RPM_BUILD_ROOT%{_libdir} install elf/soinit.os $RPM_BUILD_ROOT%{_libdir}/soinit.o install elf/sofini.os $RPM_BUILD_ROOT%{_libdir}/sofini.o -install elf/postshell $RPM_BUILD_ROOT/%{_lib} -mv $RPM_BUILD_ROOT/sbin/ldconfig $RPM_BUILD_ROOT/%{_lib} -ln -s /%{_lib}/ldconfig $RPM_BUILD_ROOT/sbin +install elf/postshell $RPM_BUILD_ROOT/sbin %{?with_memusage:mv -f $RPM_BUILD_ROOT/%{_lib}/libmemusage.so $RPM_BUILD_ROOT%{_libdir}} %ifnarch sparc64 mv -f $RPM_BUILD_ROOT/%{_lib}/libpcprofile.so $RPM_BUILD_ROOT%{_libdir} %endif +%if %{without nptl} %{__make} -C ../linuxthreads/man install ../linuxthreads/man/*.3thr $RPM_BUILD_ROOT%{_mandir}/man3 +%endif rm -rf $RPM_BUILD_ROOT%{_datadir}/zoneinfo/{localtime,posixtime,posixrules,posix/*} @@ -850,9 +920,11 @@ rm -f $RPM_BUILD_ROOT%{_mandir}/hu/man7/man.7 rm -rf ../documentation install -d ../documentation +%if %{without nptl} cp -f ../linuxthreads/ChangeLog ../documentation/ChangeLog.threads cp -f ../linuxthreads/Changes ../documentation/Changes.threads cp -f ../linuxthreads/README ../documentation/README.threads +%endif cp -f ../crypt/README.ufc-crypt ../documentation/ cp -f ../ChangeLog* ../documentation @@ -861,7 +933,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() @@ -890,23 +962,24 @@ for i in $RPM_BUILD_ROOT%{_datadir}/locale/* $RPM_BUILD_ROOT%{_libdir}/locale/* fi done # XXX: to be added when become supported by glibc -# am,bn,ml (present in sources, but incomplete and disabled) (used by GNOME) -# ia,kn,li,mn,sr@Latn (used by GNOME) -# note: GNOME2 uses sr as cyrillic! -# nso,ss,ven,xh,zu (used by KDE) -for i in af ar az be bg br bs cy de_AT el en en_AU eo es_AR es_MX et eu fa fi \ - ga gr he hi hr hu id is ja_JP.SJIS ka lg lt lv mk ms mt nn pt ro ru \ - se sl sq sr sr@cyrillic ta tg th uk uz vi wa yi zh_CN ; do +# ia,li (used by GNOME) +# nso,ss,ven (used by KDE) +# NOTES: +# 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 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 -install %{SOURCE7} $RPM_BUILD_ROOT%{_mandir}/man8 # localedb-gen infrastructure -install %{SOURCE8} $RPM_BUILD_ROOT%{_bindir}/localedb-gen +install %{SOURCE7} $RPM_BUILD_ROOT%{_bindir}/localedb-gen install ../localedata/SUPPORTED $RPM_BUILD_ROOT%{_datadir}/i18n # shutup check-files @@ -916,6 +989,8 @@ rm -f $RPM_BUILD_ROOT%{_infodir}/dir # we don't support kernel without ptys support rm -f $RPM_BUILD_ROOT%{_libdir}/pt_chown +# no longer supported (/dev/null has the same, but expected behaviour) +rm -f $RPM_BUILD_ROOT%{_bindir}/glibcbug %clean rm -rf $RPM_BUILD_ROOT @@ -925,21 +1000,28 @@ rm -rf $RPM_BUILD_ROOT %ifnarch sparc64 %ifarch amd64 -%post -n %{name}64 -p /%{_lib}/postshell +%post -n %{name}64 -p /sbin/postshell %else -%post -p /%{_lib}/postshell +%post -p /sbin/postshell %endif -/%{_lib}/ldconfig +/sbin/ldconfig -/sbin/telinit u %ifarch amd64 -%postun -n %{name}64 -p /%{_lib}/postshell +%postun -n %{name}64 -p /sbin/postshell %else -%postun -p /%{_lib}/postshell +%postun -p /sbin/postshell %endif -/%{_lib}/ldconfig +/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 @@ -975,21 +1057,26 @@ 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 +%attr(755,root,root) /sbin/postshell +%attr(755,root,root) /sbin/ldconfig # ld* and libc.so.6 SONAME symlinks must be in package because of # chicken-egg problem (postshell is dynamically linked with libc); # ld-*.so SONAME is ld.so.1 on ppc, ld-linux.so.2 on other archs -%attr(755,root,root) /%{_lib}/postshell %attr(755,root,root) /%{_lib}/ld* %attr(755,root,root) /%{_lib}/libanl* %attr(755,root,root) /%{_lib}/libdl* %attr(755,root,root) /%{_lib}/libnsl* %attr(755,root,root) /%{_lib}/lib[BScmprtu]* %dir %{_libdir}/locale +%config(noreplace) %verify(not md5 size mtime) %{_sysconfdir}/ld.so.conf +%ghost %{_sysconfdir}/ld.so.cache #%files -n nss_dns %defattr(644,root,root,755) @@ -1003,18 +1090,15 @@ fi %files misc -f %{name}.lang %defattr(644,root,root,755) -%config(noreplace) %verify(not md5 size mtime) %{_sysconfdir}/ld.so.conf %config(noreplace) %verify(not md5 size mtime) %{_sysconfdir}/nsswitch.conf %config %{_sysconfdir}/rpc -%ghost %{_sysconfdir}/ld.so.cache -%attr(755,root,root) /sbin/* +%attr(755,root,root) /sbin/sln %attr(755,root,root) %{_bindir}/catchsegv %attr(755,root,root) %{_bindir}/getent -%attr(755,root,root) %{_bindir}/glibcbug %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 @@ -1030,39 +1114,94 @@ fi %{_datadir}/zoneinfo %exclude %{_datadir}/zoneinfo/right - -%{_mandir}/man1/[!lsg]* +%{_mandir}/man1/catchsegv.1* %{_mandir}/man1/getent.1* -%{_mandir}/man1/locale.1* +%{_mandir}/man1/iconv.1* %{_mandir}/man1/ldd.1* -%{_mandir}/man5/???[!d]* +%{_mandir}/man1/locale.1* +%{_mandir}/man1/rpcgen.1* +%{_mandir}/man5/locale.5* +%{_mandir}/man5/nsswitch.conf.5* +%{_mandir}/man5/tzfile.5* %{_mandir}/man7/* -%{_mandir}/man8/[!n]* -%lang(cs) %{_mandir}/cs/man[578]/* -%lang(de) %{_mandir}/de/man[578]/* -%lang(es) %{_mandir}/es/man[578]/* +%{_mandir}/man8/ld*.8* +%{_mandir}/man8/rpcinfo.8* +%{_mandir}/man8/sln.8* +%{_mandir}/man8/tzselect.8* +%{_mandir}/man8/zdump.8* +%{_mandir}/man8/zic.8* +%lang(cs) %{_mandir}/cs/man7/* +%lang(de) %{_mandir}/de/man5/tzfile.5* +%lang(de) %{_mandir}/de/man7/* +%lang(es) %{_mandir}/es/man5/locale.5* +%lang(es) %{_mandir}/es/man5/nsswitch.conf.5* +%lang(es) %{_mandir}/es/man5/tzfile.5* +%lang(es) %{_mandir}/es/man7/* +%lang(es) %{_mandir}/es/man8/ld*.8* +%lang(es) %{_mandir}/es/man8/tzselect.8* +%lang(es) %{_mandir}/es/man8/zdump.8* +%lang(es) %{_mandir}/es/man8/zic.8* %lang(fi) %{_mandir}/fi/man1/ldd.1* %lang(fr) %{_mandir}/fr/man1/ldd.1* -%lang(fr) %{_mandir}/fr/man[578]/* +%lang(fr) %{_mandir}/fr/man5/locale.5* +%lang(fr) %{_mandir}/fr/man5/nsswitch.conf.5* +%lang(fr) %{_mandir}/fr/man5/tzfile.5* +%lang(fr) %{_mandir}/fr/man7/* +%lang(fr) %{_mandir}/fr/man8/ld*.8* +%lang(fr) %{_mandir}/fr/man8/tzselect.8* +%lang(fr) %{_mandir}/fr/man8/zdump.8* +%lang(fr) %{_mandir}/fr/man8/zic.8* %lang(hu) %{_mandir}/hu/man1/ldd.1* -%lang(hu) %{_mandir}/hu/man[578]/* -%lang(it) %{_mandir}/it/man[578]/* -%lang(ja) %{_mandir}/ja/man1/[!lsg]* +%lang(hu) %{_mandir}/hu/man7/* +%lang(hu) %{_mandir}/hu/man8/ld*.8* +%lang(hu) %{_mandir}/hu/man8/zdump.8* +%lang(it) %{_mandir}/it/man5/locale.5* +%lang(it) %{_mandir}/it/man7/* +%lang(it) %{_mandir}/it/man8/tzselect.8* +%lang(it) %{_mandir}/it/man8/zdump.8* %lang(ja) %{_mandir}/ja/man1/ldd.1* -%lang(ja) %{_mandir}/ja/man5/???[!d]* +%lang(ja) %{_mandir}/ja/man1/rpcgen.1* +%lang(ja) %{_mandir}/ja/man5/locale.5* +%lang(ja) %{_mandir}/ja/man5/nsswitch.conf.5* +%lang(ja) %{_mandir}/ja/man5/tzfile.5* %lang(ja) %{_mandir}/ja/man7/* -%lang(ja) %{_mandir}/ja/man8/[!n]* -%lang(ko) %{_mandir}/ko/man[578]/* -# %lang(nl) %{_mandir}/nl/man[578]/* +%lang(ja) %{_mandir}/ja/man8/ld*.8* +%lang(ja) %{_mandir}/ja/man8/rpcinfo.8* +%lang(ja) %{_mandir}/ja/man8/sln.8* +%lang(ja) %{_mandir}/ja/man8/tzselect.8* +%lang(ja) %{_mandir}/ja/man8/zdump.8* +%lang(ja) %{_mandir}/ja/man8/zic.8* +%lang(ko) %{_mandir}/ko/man5/nsswitch.conf.5* +%lang(ko) %{_mandir}/ko/man5/tzfile.5* +%lang(ko) %{_mandir}/ko/man7/* +%lang(ko) %{_mandir}/ko/man8/tzselect.8* +%lang(ko) %{_mandir}/ko/man8/zdump.8* %lang(pl) %{_mandir}/pl/man1/ldd.1* -%lang(pl) %{_mandir}/pl/man[578]/* -%lang(pt) %{_mandir}/pt/man5/???[!d]* +%lang(pl) %{_mandir}/pl/man5/locale.5* +%lang(pl) %{_mandir}/pl/man7/* +%lang(pl) %{_mandir}/pl/man8/ld*.8* +%lang(pt) %{_mandir}/pt/man5/locale.5* +%lang(pt) %{_mandir}/pt/man5/nsswitch.conf.5* +%lang(pt) %{_mandir}/pt/man5/tzfile.5* %lang(pt) %{_mandir}/pt/man7/* -%lang(pt) %{_mandir}/pt/man8/[!n]* -%lang(pt_BR) %{_mandir}/pt_BR/man5/???[!d]* -%lang(pt_BR) %{_mandir}/pt_BR/man7/* -%lang(pt_BR) %{_mandir}/pt_BR/man8/[!n]* -%lang(ru) %{_mandir}/ru/man[578]/* +%lang(pt) %{_mandir}/pt/man8/ld*.8* +%lang(pt) %{_mandir}/pt/man8/tzselect.8* +%lang(pt) %{_mandir}/pt/man8/zdump.8* +%lang(pt) %{_mandir}/pt/man8/zic.8* +%lang(ru) %{_mandir}/ru/man5/nsswitch.conf.5* +%lang(ru) %{_mandir}/ru/man5/tzfile.5* +%lang(ru) %{_mandir}/ru/man7/* +%lang(ru) %{_mandir}/ru/man8/tzselect.8* +%lang(ru) %{_mandir}/ru/man8/zdump.8* +%lang(ru) %{_mandir}/ru/man8/zic.8* +%lang(zh_CN) %{_mandir}/zh_CN/man1/iconv.1* +%lang(zh_CN) %{_mandir}/zh_CN/man1/ldd.1* +%lang(zh_CN) %{_mandir}/zh_CN/man5/locale.5* +%lang(zh_CN) %{_mandir}/zh_CN/man5/tzfile.5* +%lang(zh_CN) %{_mandir}/zh_CN/man7/* +%lang(zh_CN) %{_mandir}/zh_CN/man8/tzselect.8* +%lang(zh_CN) %{_mandir}/zh_CN/man8/zdump.8* +%lang(zh_CN) %{_mandir}/zh_CN/man8/zic.8* %files zoneinfo_right %defattr(644,root,root,755) @@ -1137,22 +1276,23 @@ fi %{_libdir}/libpthread_nonshared.a %{_libdir}/librpcsvc.a -%{_mandir}/man1/getconf* -%{_mandir}/man1/sprof* +%{_mandir}/man1/getconf.1* +%{_mandir}/man1/sprof.1* %{_mandir}/man3/* %lang(cs) %{_mandir}/cs/man3/* %lang(de) %{_mandir}/de/man3/* %lang(es) %{_mandir}/es/man3/* %lang(fr) %{_mandir}/fr/man3/* %lang(hu) %{_mandir}/hu/man3/* -# %lang(it) %{_mandir}/it/man3/* +%lang(it) %{_mandir}/it/man3/* %lang(ja) %{_mandir}/ja/man3/* %lang(ko) %{_mandir}/ko/man3/* %lang(nl) %{_mandir}/nl/man3/* %lang(pl) %{_mandir}/pl/man3/* %lang(pt) %{_mandir}/pt/man3/* -%lang(pt_BR) %{_mandir}/pt_BR/man3/* %lang(ru) %{_mandir}/ru/man3/* +%lang(uk) %{_mandir}/uk/man3/* +%lang(zh_CN) %{_mandir}/zh_CN/man3/* %files -n nscd %defattr(644,root,root,755) @@ -1162,21 +1302,23 @@ fi %attr(755,root,root) %{_sbindir}/nscd* %attr(640,root,root) /etc/logrotate.d/nscd %attr(640,root,root) %ghost /var/log/nscd -%{_mandir}/man5/nscd.conf* -%{_mandir}/man8/nscd* -%lang(ja) %{_mandir}/ja/man5/nscd.conf* -%lang(ja) %{_mandir}/ja/man8/nscd* -%lang(pt) %{_mandir}/pt/man5/nscd.conf* -%lang(pt) %{_mandir}/pt/man8/nscd* -%lang(pt_BR) %{_mandir}/pt_BR/man5/nscd.conf* -%lang(pt_BR) %{_mandir}/pt_BR/man8/nscd* +%dir /var/run/nscd +%{_mandir}/man5/nscd.conf.5* +%{_mandir}/man8/nscd.8* +%{_mandir}/man8/nscd_nischeck.8* +%lang(fr) %{_mandir}/fr/man5/nscd.conf.5* +%lang(fr) %{_mandir}/fr/man8/nscd.8* +%lang(ja) %{_mandir}/ja/man5/nscd.conf.5* +%lang(ja) %{_mandir}/ja/man8/nscd.8* +%lang(pt) %{_mandir}/pt/man5/nscd.conf.5* +%lang(pt) %{_mandir}/pt/man8/nscd.8* %files -n localedb-src %defattr(644,root,root,755) %attr(755,root,root) %{_bindir}/localedef %attr(755,root,root) %{_bindir}/localedb-gen %{_datadir}/i18n -%{_mandir}/man1/localedef* +%{_mandir}/man1/localedef.1* %files localedb-all %defattr(644,root,root,755) @@ -1204,9 +1346,11 @@ fi %{_libdir}/librt.a %{_libdir}/libutil.a +%if %{without nptl} %files profile %defattr(644,root,root,755) %{_libdir}/lib*_p.a +%endif %files pic %defattr(644,root,root,755)