#
# You can define min_kernel macro by "rpm --define 'min_kernel version'"
-# default is 2.2.0 (no changes up to 2.3.25)
+# default is 2.4.6
#
# Conditional build:
-# _without_dist_kernel build without kernel from the distribution;
-# headers will be searched in %_kernelsrcdir/include.
-# _without_fp build without frame pointer (pass --enable-omitfp)
-# _without_memusage build without memusage
-#
-# _with_kernheaders use "kernheaders" as user-space kernel headers
-# (instead of copying from kernel-headers 2.4.x)
-# [broken at the moment]
-#
-%bcond_with idn # build with included libidn
+%bcond_without fp # 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)
+%bcond_without dist_kernel # for above, allow non-distribution kernel
+%bcond_with idn # build with included libidn
+%bcond_with nptl # use nptl instead of linuxthreads
+%bcond_without tls # do not use tls
+%bcond_without tests # do not 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:%define min_kernel 2.2.0}
-%define rel 4
+
+%{!?min_kernel:%global min_kernel 2.4.6}
+
+%if %{with nptl}
+%ifarch i686 athlon amd64 ia64 s390 s390x sparcv9 ppc ppc64
+%if "%{min_kernel}" < "2.6.0"
+%global min_kernel 2.6.0
+%endif
+%else
+%undefine with_nptl
+%endif
+%endif
+
+%if %{with tls}
+%ifnarch i686 athlon amd64 ia64 s390 s390x alpha alphaev6 sparc sparcv9 ppc ppc64
+%undefine with_tls
+%endif
+%endif
+
+%define gkh_version 7:2.6.0.3
Summary: GNU libc
Summary(de): GNU libc
+Summary(es): GNU libc
Summary(fr): GNU libc
Summary(ja): GNU libc ¥é¥¤¥Ö¥é¥ê
Summary(pl): GNU libc
Summary(tr): GNU libc
Summary(uk): GNU libc ×ÅÒÓ¦§ 2.3
Name: glibc
-Version: 2.3.2
-Release: %{rel}
+Version: 2.3.3
+Release: 0.20040101.3%{?with_nptl:+nptl}
Epoch: 6
License: LGPL
Group: Libraries
-Source0: ftp://sources.redhat.com/pub/glibc/releases/%{name}-%{version}.tar.bz2
-# Source0-md5: ede969aad568f48083e413384f20753c
-Source1: ftp://sources.redhat.com/pub/glibc/releases/%{name}-linuxthreads-%{version}.tar.bz2
-# Source1-md5: 894b8969cfbdf787c73e139782167607
+# 20040101 snapshot
+#Source0: ftp://sources.redhat.com/pub/glibc/releases/%{name}-%{version}.tar.bz2
+Source0: %{name}-%{version}.tar.bz2
+# Source0-md5: b4e3f037a0b36afc705af344033a91c7
+#Source1: ftp://sources.redhat.com/pub/glibc/releases/%{name}-linuxthreads-%{version}.tar.bz2
+Source1: %{name}-linuxthreads-%{version}.tar.bz2
+# Source1-md5: 97c30992592f854a67107579dcef61dd
Source2: nscd.init
Source3: nscd.sysconfig
Source4: nscd.logrotate
# borrowed from util-linux
Source7: sln.8
Source8: %{name}-localedb-gen
-# Kernel headers for userspace
-Source9: %{name}-kernheaders.tar.bz2
-# Source9-md5: b48fec281f854627d6b8781cd1dd72d2
-Source10: http://josefsson.org/libidn/releases/libidn-0.3.0rc3.tar.gz
-# Source10-md5: ded0b439efe16dd29ce5a24d3d3dcebf
Patch0: %{name}-info.patch
+Patch1: %{name}-initgroups-overflow.patch
Patch2: %{name}-pld.patch
Patch3: %{name}-crypt-blowfish.patch
Patch4: %{name}-string2-pointer-arith.patch
Patch10: %{name}-vaargs.patch
Patch11: %{name}-getaddrinfo-workaround.patch
Patch12: %{name}-postshell.patch
-Patch13: %{name}-pl.po-update.patch
Patch14: %{name}-missing-nls.patch
Patch16: %{name}-java-libc-wait.patch
-Patch17: %{name}-morelocales.patch
Patch18: %{name}-lthrds_noomit.patch
Patch19: %{name}-no_opt_override.patch
-Patch20: %{name}-gcc33.patch
-#Patch21: %{name}-sanity.patch
-Patch22: %{name}-secureexec.patch
Patch23: %{name}-kernel_includes.patch
-Patch24: %{name}-sparc64_pause.patch
-Patch25: %{name}-linuxthreads.patch
+Patch24: %{name}-includes.patch
Patch26: %{name}-alpha-fix-as-syntax.patch
+Patch27: %{name}-soinit-EH_FRAME.patch
+Patch28: %{name}-fix-asserts.patch
+Patch30: %{name}-sparc-errno_fix.patch
+Patch31: %{name}-make.patch
+Patch32: %{name}-tests-io-tmp.patch
URL: http://www.gnu.org/software/libc/
+BuildRequires: automake
BuildRequires: binutils >= 2.13.90.0.2
BuildRequires: gcc >= 3.2
-%{!?_without_memusage:BuildRequires: gd-devel >= 2.0.1}
+%{?with_memusage:BuildRequires: gd-devel >= 2.0.1}
BuildRequires: gettext-devel >= 0.10.36
-%if 0%{!?_with_kernheaders:1}
-%{!?_without_dist_kernel:BuildRequires: kernel-headers < 2.5}
+%if %{with kernelheaders}
+%{?with_dist_kernel:BuildRequires: kernel-headers < 2.5}
+%else
+BuildRequires: glibc-kernel-headers >= %{gkh_version}
%endif
BuildRequires: perl-base
-BuildRequires: rpm-build >= 4.0.2-46
+BuildRequires: rpm-build >= 4.3-0.20030610.28
BuildRequires: rpm-perlprov
BuildRequires: sed >= 4.0.5
BuildRequires: texinfo
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
%define debugcflags -O1 -g
%ifarch sparc64
-%define _without_memusage 1
+%undefine with_memusage
%define specflags_sparc64 -mvis -fcall-used-g6
%define _libdir /usr/lib64
%endif
+# 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)
+%define _hack_dontneed_PartialHardlinkSets 1
%description
Contains the standard libraries that are used by multiple programs on
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.
+
+Puede usarse con: núcleo Linux >= %{min_kernel}.
+
%description -l de
Enthält die Standard-Libraries, die von verschiedenen Programmen im
System benutzt werden. Um Festplatten- und Arbeitsspeicher zu sparen
Can be used on: Linux kernel >= %{min_kernel}.
+%package misc
+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}
+
+%description misc
+Utilities and data used by glibc.
+
+%description misc -l pl
+Narzêdzia i dane u¿ywane przez glibc.
+
%package devel
Summary: Additional libraries required to compile
Summary(de): Weitere Libraries zum Kompilieren
+Summary(es): Bibliotecas adicionales necesarias para la compilación
Summary(fr): Librairies supplémentaires nécessaires à la compilation
Summary(ja): ɸ½à C ¥é¥¤¥Ö¥é¥ê¤Ç»È¤ï¤ì¤ë¥Ø¥Ã¥À¡¼¤È¥ª¥Ö¥¸¥§¥¯¥È¥Õ¥¡¥¤¥ë
Summary(pl): Dodatkowe biblioteki wymagane podczas kompilacji
Summary(tr): Geliþtirme için gerekli diðer kitaplýklar
Summary(uk): äÏÄÁÔËÏצ ¦Â̦ÏÔÅËÉ, ÐÏÔÒ¦ÂΦ ÄÌÑ ËÏÍЦÌÑæ§
Group: Development/Libraries
-Requires: %{name} = %{epoch}:%{version}
+Requires: %{name} = %{epoch}:%{version}-%{release}
+%{!?with_kernelheaders:Requires: glibc-kernel-headers >= %{gkh_version}}
%description devel
To develop programs which use the standard C libraries (which nearly
verwenden (also fast alle), benötigt das System diese Standard-Header-
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
+disponer de estos ficheros de cabecera y de objetos para crear los
+ejecutables.
+
%description devel -l fr
Pour développer des programmes utilisant les bibliothèques standard du
C (ce que presque tous les programmes font), le système doit posséder
%description devel -l pl
Pakiet ten jest niezbêdny przy tworzeniu w³asnych programów
korzystaj±cych ze standardowej biblioteki C. Znajduj± siê tutaj pliki
-nag³ówkowe oraz pliki objektowe, niezbêdne do kompilacji programów
+nag³ówkowe oraz pliki obiektowe, niezbêdne do kompilacji programów
wykonywalnych i innych bibliotek.
%description devel -l ru
ÔÁ ÏÂ'¤ËÔΦ ÆÁÊÌÉ, ÝÏ Í¦ÓÔÑÔØÓÑ × ÃØÏÍÕ ÐÁËÅÔ¦, ÃÏ ÓÔ×ÏÒÀ×ÁÔÉ
×ÉËÏÎÕ×ÁΦ ÆÁÊÌÉ.
-%package kernel-headers
-Summary: Kernel header files the glibc has been built with
-Summary(pl): Pliki nag³ówkowe j±dra, z którymi zosta³a zbudowana ta wersja glibc
-Release: %{rel}
-Group: Development/Libraries
-
-%description kernel-headers
-Kernel header files for userspace.
-
-%description kernel-headers -l pl
-Pliki nag³ówkowe j±dra dla przestrzeni u¿ytkownika
-
%package -n nscd
Summary: Name Service Caching Daemon
+Summary(es): Demonio de caché del servicio de nombres
Summary(ja): ¥Í¡¼¥à¥µ¡¼¥Ó¥¹¥¥ã¥Ã¥·¥ó¥°¥Ç¡¼¥â¥ó (nacd)
Summary(pl): Demon zapamiêtuj±cy odpowiedzi serwisów nazw
Summary(ru): ëÜÛÉÒÕÀÝÉÊ ÄÅÍÏÎ ÓÅÒ×ÉÓÏ× ÉÍÅÎ
Summary(uk): ëÅÛÕÀÞÉÊ ÄÅÍÏÎ ÓÅ×¦Ó¦× ¦ÍÅÎ
-Release: %{rel}
Group: Networking/Daemons
PreReq: rc-scripts >= 0.2.0
Requires(post,preun): /sbin/chkconfig
Requires(post): fileutils
-Requires: %{name} = %{epoch}:%{version}
+Requires: %{name} = %{epoch}:%{version}-%{release}
%description -n nscd
nscd caches name service lookups; it can dramatically improve
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.
+
%description -n nscd -l ja
Nscd ¤Ï¥Í¡¼¥à¥µ¡¼¥Ó¥¹»²¾È¤ò¥¥ã¥Ã¥·¥å¤·¡¢NIS+ ¤Î¥Ñ¥Õ¥©¡¼¥Þ¥ó¥¹¤ò
¥É¥é¥Þ¥Æ¥£¥Ã¥¯¤Ë²þÁ±¤¹¤ë¤³¤È¤¬¤Ç¤¡¢DNS ¤òƱÍͤËÊä½õ¤·¤Þ¤¹¡£ 2.0
%package -n localedb-src
Summary: locale database source code
+Summary(es): Código fuente de la base de datos de los locales
Summary(pl): Kod ¼ród³owy bazy locale
-Release: %{rel}
Group: Daemons
-Requires: %{name} = %{epoch}:%{version}
+Requires: %{name} = %{epoch}:%{version}-%{release}
%description -n localedb-src
This add-on package contains the data needed to build the locale data
files to use the internationalization features of the GNU libc.
+%description -n localedb-src -l es
+Este paquete adicional contiene los datos necesarios para construir
+los ficheros de locale, imprescindibles para usar las cualidades de
+internacionalización de GNU libc.
+
%description -n localedb-src -l pl
Pakiet ten zawiera dane niezbêdne do zbudowania binarnych plików
lokalizacyjnych, by móc wykorzystaæ mo¿liwo¶ci oferowane przez GNU
%package localedb-all
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
-Release: %{rel}
Group: Libraries
-Requires: %{name} = %{epoch}:%{version}
+Requires: %{name} = %{epoch}:%{version}-%{release}
%description localedb-all
This package contains locale database for all locales supported by
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).
+
%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
%package -n iconv
Summary: Convert encoding of given files from one encoding to another
+Summary(es): Convierte entre varias codificaciones de los ficheros dados
Summary(pl): Program do konwersji plików tekstowych z jednego kodowania do innego
-Release: %{rel}
Group: Applications/Text
-Requires: %{name} = %{epoch}:%{version}
+Requires: %{name} = %{epoch}:%{version}-%{release}
%description -n iconv
Convert encoding of given files from one encoding to another. You need
-this package if you want to convert some documet from one encoding to
+this package if you want to convert some document from one encoding to
another or if you have installed some programs which use Generic
Character Set Conversion Interface.
+%description -n iconv -l es
+Convierte la codificación de dados ficheros. Necesita este paquete si
+quiere convertir un documento entre una codificación (juego de
+caracteres) y otra, o si tiene instalado algún programa que usa el
+Generic Character Set Conversion Interface (interfaz genérica de
+conversión de juegos de caracteres).
+
%description -n iconv -l pl
Program do konwersji plików tekstowych z jednego kodowania do innego.
Musisz mieæ zainstalowany ten pakiet je¿eli wykonujesz konwersjê
%package static
Summary: Static libraries
+Summary(es): Bibliotecas estáticas
Summary(pl): Biblioteki statyczne
Summary(ru): óÔÁÔÉÞÅÓËÉÅ ÂÉÂÌÉÏÔÅËÉ glibc
Summary(uk): óÔÁÔÉÞΦ ¦Â̦ÏÔÅËÉ glibc
-Release: %{rel}
Group: Development/Libraries
-Requires: %{name}-devel = %{epoch}:%{version}
+Requires: %{name}-devel = %{epoch}:%{version}-%{release}
%description static
GNU libc static libraries.
+%description static -l es
+Bibliotecas estáticas de GNU libc.
+
%description static -l pl
Biblioteki statyczne GNU libc.
%package profile
Summary: glibc with profiling support
Summary(de): glibc mit Profil-Unterstützung
+Summary(es): glibc con soporte de perfilamiento
Summary(fr): glibc avec support pour profiling
Summary(pl): glibc ze wsparciem dla profilowania
Summary(ru): GNU libc Ó ÐÏÄÄÅÒÖËÏÊ ÐÒÏÆÁÊÌÅÒÁ
Summary(tr): Ölçüm desteði olan glibc
Summary(uk): GNU libc Ú Ð¦ÄÔÒÉÍËÏÀ ÐÒÏÆÁÊÌÅÒÁ
-Release: %{rel}
Group: Development/Libraries/Libc
Obsoletes: libc-profile
-Requires: %{name}-devel = %{epoch}:%{version}
+Requires: %{name}-devel = %{epoch}:%{version}-%{release}
%description profile
-When programs are being profiled used gprof, they must use these
+When programs are being profiled using gprof, they must use these
libraries instead of the standard C libraries for gprof to be able to
profile them correctly.
Damit Programmprofile mit gprof richtig erstellt werden, müssen diese
Libraries anstelle der üblichen C-Libraries verwendet werden.
+%description profile -l es
+Cuando programas son perfilidas usando gprof, tienen que usar estas
+biblioteces en vez de las estándares para que gprof pueda perfilarlas
+correctamente.
+
%description profile -l pl
Programy profilowane za pomoc± gprof musz± u¿ywaæ tych bibliotek
zamiast standardowych bibliotek C, aby gprof móg³ odpowiednio je
%package pic
Summary: glibc PIC archive
+Summary(es): Archivo PIC de glibc
Summary(pl): Archiwum PIC glibc
-Release: %{rel}
Group: Development/Libraries/Libc
-Requires: %{name}-devel = %{epoch}:%{version}
+Requires: %{name}-devel = %{epoch}:%{version}-%{release}
%description pic
GNU C Library PIC archive contains an archive library (ar file)
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.
+
%description pic -l pl
Archiwum PIC biblioteki GNU C zawiera archiwaln± bibliotekê (plik ar)
z³o¿on± z pojedyñczych obiektów wspó³dzielonych. U¿ywana jest do
%package -n nss_compat
Summary: Old style NYS NSS glibc module
+Summary(es): El antiguo módulo NYS NSS de glibc
Summary(pl): Stary modu³ NYS NSS glibc
-Release: %{rel}
Group: Base
-Requires: %{name} = %{epoch}:%{version}
+Requires: %{name} = %{epoch}:%{version}-%{release}
%description -n nss_compat
Old style NYS NSS glibc module.
+%description -n nss_compat -l es
+El antiguo módulo NYS NSS de glibc
+
%description -n nss_compat -l pl
Stary modu³ NYS NSS glibc.
%package -n nss_dns
Summary: BIND NSS glibc module
+Summary(es): Módulo BIND NSS de glibc
Summary(pl): Modu³ BIND NSS glibc
-Release: %{rel}
Group: Base
-Requires: %{name} = %{epoch}:%{version}
+Requires: %{name} = %{epoch}:%{version}-%{release}
%description -n nss_dns
BIND NSS glibc module.
+%description -n nss_dns -l es
+Módulo BIND NSS de glibc.
+
%description -n nss_dns -l pl
Modu³ BIND NSS glibc.
%package -n nss_files
Summary: Traditional files databases NSS glibc module
+Summary(es): Módulo de tradicionales bases de datos en ficheros para glibc
Summary(pl): Modu³ tradycyjnych plikowych baz danych NSS glibc
-Release: %{rel}
Group: Base
-Requires: %{name} = %{epoch}:%{version}
+Requires: %{name} = %{epoch}:%{version}-%{release}
%description -n nss_files
Traditional files databases NSS glibc module.
+%description -n nss_files -l es
+Módulo de tradicionales bases de datos en ficheros para glibc.
+
%description -n nss_files -l pl
Modu³ tradycyjnych plikowych baz danych NSS glibc.
%package -n nss_hesiod
Summary: hesiod NSS glibc module
+Summary(es): Módulo hesiod NSS de glibc
Summary(pl): Modu³ hesiod NSS glibc
-Release: %{rel}
Group: Base
-Requires: %{name} = %{epoch}:%{version}
+Requires: %{name} = %{epoch}:%{version}-%{release}
%description -n nss_hesiod
glibc NSS (Name Service Switch) module for databases access.
+%description -n nss_hesiod -l es
+Módulo hesiod NSS de glibc.
+
%description -n nss_hesiod -l pl
Modu³ glibc NSS (Name Service Switch) dostêpu do baz danych.
%package -n nss_nis
Summary: NIS(YP) NSS glibc module
+Summary(es): Módulo NIS(YP) NSS de glibc
Summary(pl): Modu³ NIS(YP) NSS glibc
-Release: %{rel}
Group: Base
-Requires: %{name} = %{epoch}:%{version}
+Requires: %{name} = %{epoch}:%{version}-%{release}
%description -n nss_nis
glibc NSS (Name Service Switch) module for NIS(YP) databases access.
+%description -n nss_nis -l es
+Módulo NSS de glibc para acceder las bases de datos NIS(YP).
+
%description -n nss_nis -l pl
Modu³ glibc NSS (Name Service Switch) dostêpu do baz danych NIS(YP).
%package -n nss_nisplus
Summary: NIS+ NSS module
+Summary(es): Módulo NIS+ NSS
Summary(pl): Modu³ NIS+ NSS
-Release: %{rel}
Group: Base
-Requires: %{name} = %{epoch}:%{version}
+Requires: %{name} = %{epoch}:%{version}-%{release}
%description -n nss_nisplus
-glibc NSS (Name Service Switch) module for NIS+ databases accesa.
+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+.
%description -n nss_nisplus -l pl
Modu³ glibc NSS (Name Service Switch) dostêpu do baz danych NIS+.
%package memusage
Summary: A toy
+Summary(es): Un juguete
Summary(pl): Zabawka
-Release: %{rel}
Group: Applications
-Requires: %{name} = %{epoch}:%{version}
+Requires: %{name} = %{epoch}:%{version}-%{release}
Requires: gd
%description memusage
A toy.
+%description memusage -l es
+Un juguete.
+
%description memusage -l pl
Zabawka.
%package zoneinfo_right
Summary: Non-POSIX (real) time zones
+Summary(es): Zonas de tiempo reales (no de POSIX)
Summary(pl): Nie-POSIX-owe (prawdziwe) strefy czasowe
-Release: %{rel}
Group: Libraries
-Requires: %{name} = %{epoch}:%{version}
+Requires: %{name} = %{epoch}:%{version}-%{release}
%description zoneinfo_right
You don't want this. Details at:
http://sources.redhat.com/ml/libc-alpha/2000-12/msg00068.html
+%description zoneinfo_right -l es
+No lo necesita. Encontrará los detalles en:
+http://sources.redhat.com/ml/libc-alpha/2000-12/msg00068.html
+
%description zoneinfo_right -l pl
Nie potrzebujesz tego. Szczegó³y pod:
http://sources.redhat.com/ml/libc-alpha/2000-12/msg00068.html
%package -n %{name}64
Summary: GNU libc - 64-bit libraries
+Summary(es): GNU libc - bibliotecas de 64 bits
Summary(pl): GNU libc - biblioteki 64-bitowe
-Release: %{rel}
Group: Libraries
-Requires: %{name} = %{epoch}:%{version}
+%ifarch amd64
+Provides: glibc = %{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 64bit.
-%description -l pl -n %{name}64
-Biblioteki 64-bitowe GNU libc dla architektury sparc64.
+%description -n %{name}64 -l pl
+Biblioteki 64-bitowe GNU libc dla architektury 64bit.
%package -n %{name}64-devel
Summary: Development files for 64-bit GNU libc libraries
+Summary(es): Ficheros de desarrollo para bibliotecas GNU libc de 64 bits
Summary(pl): Pliki do programowania z u¿yciem 64-bitowych bibliotek GNU libc
-Release: %{rel}
Group: Development/Libraries
-Requires: %{name}-devel = %{epoch}:%{version}
+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 -l pl -n %{name}64-devel
+%description -n %{name}64-devel -l es
+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
+Summary(es): Bibliotecas estáticas GNU libc de 64 bits
Summary(pl): Statyczne 64-bitowe biblioteki GNU libc
-Release: %{rel}
Group: Development/Libraries
-Requires: %{name}64-devel = %{epoch}:%{version}
+Requires: %{name}64-devel = %{epoch}:%{version}-%{release}
%description -n %{name}64-static
Static 64-bit GNU libc libraries.
-%description -l pl -n %{name}64-static
+%description -n %{name}64-static -l es
+Bibliotecas estáticas GNU libc de 64 bits.
+
+%description -n %{name}64-static -l pl
Statyczne 64-bitowe biblioteki GNU libc.
%prep
-%setup -q -a 1 -a 9 -a 10
+%setup -q -a 1
%patch0 -p1
%patch2 -p1
%patch3 -p1
%patch10 -p1
#%%patch11 -p1
%patch12 -p1
-%patch13 -p1
%patch14 -p1
%patch16 -p1
-%patch17 -p1
%patch18 -p1
# don't know, if it is good idea, for brave ones
#%patch19 -p1
-%patch20 -p1
-#%patch21 -p1
-%patch22 -p1
-%{!?_with_kernheaders:%patch23}
-%patch24 -p1
-# updated - lt
-%ifnarch alpha
-%patch25 -p1
-%endif
+%{?with_kernelheaders:%patch23}
+%{?!with_kernelheaders:%patch24 -p1}
%patch26 -p1
+%patch27 -p1
+%patch28 -p1
+%patch30
+%patch31 -p1
+%patch32 -p1
chmod +x scripts/cpp
-# standardize name
-mv -f localedata/locales/{lug_UG,lg_UG}
-
-%if %{with idn}
-cp -r libidn-*/lib libidn
-cp libidn-*/libc/{Makefile,configure,Banner,Versions} libidn/
-cp libidn-*/lib/*.{c,h} libidn/
-sed -e 's/idn-int.h/stdint.h/g' libidn-*/lib/idna.h > libidn/idna.h
-ln -sf ../libidn/idna.h include/idna.h
-sed -e 's/idn-int.h/stdint.h/g' libidn-*/lib/stringprep.h > libidn/stringprep.h
-sed -e 's/idn-int.h/stdint.h/g' libidn-*/lib/punycode.h > libidn/punycode.h
-sed -e 's/stringprep_generic/rfc3454/g' libidn-*/libc/Makefile > libidn/Makefile
-
-#cp libidn-*/libc/getaddrinfo.c sysdeps/posix/
-#cp libidn-*/libc/netdb.h resolv/
-
-cp libidn-*/libc/*.patch libc-idn.patch
-patch -p0 < libc-idn.patch
-
-touch libidn/libidn.texi
-%endif
-
-#make proper symlink for asm in headers
-#cd usr/include
-#%ifarch %{ix86}
-#ln -s asm-i386 asm
-#%endif
-#cd ../..
-
%build
-# Prepare kernel headers
-TARGET_CPU=$(echo "%{_target_cpu}" | sed -e s/i.86/i386/ -e s/sun4u/sparc64/ \
- -e s/athlon/i386/ -e s/arm.*/arm/ \
- -e s/sa110/arm/ -e s/s390x/s390/)
-_headers_dir=`pwd`/usr/include; export _headers_dir;
-(cd $_headers_dir && ln -s asm-${TARGET_CPU} asm)
-
# Build glibc
-mkdir builddir
+cp /usr/share/automake/config.sub .
+cp /usr/share/automake/config.sub scripts
+[ -d builddir ] || mkdir builddir
cd builddir
# avoid stripping ld.so by -s in rpmldflags
LDFLAGS=" " ; export LDFLAGS
-#CFLAGS="-I $_headers_dir %{rpmcflags}"; export CFLAGS
../%configure \
- --enable-add-ons=linuxthreads%{?with_idn:,libidn} \
- --enable-kernel="%{?kernel:%{kernel}}%{!?kernel:%{min_kernel}}" \
+ --enable-kernel="%{min_kernel}" \
+ --%{!?with_fp:en}%{?with_fp:dis}able-omitfp \
+%if %{with nptl}
+ --enable-add-ons=nptl \
+ --with-tls \
+ --disable-profile \
+%else
+ %{?with_tls:--with-tls} \
+ --enable-add-ons=linuxthreads \
--enable-profile \
- --%{?_without_fp:en}%{!?_without_fp:dis}able-omitfp \
-%if 0%{!?_with_kernheaders:1}
+%endif
+%if %{with kernelheaders}
CPPFLAGS="-I%{_kernelsrcdir}/include" \
- --with-headers=%{_kernelsrcdir}/include
+ --with-headers=%{_kernelsrcdir}/include
%else
- CPPFLAGS="-I$_headers_dir" \
- --with-headers=$_headers_dir
+ CPPFLAGS="-I%{_includedir}" \
+ --with-headers=%{_includedir}
%endif
# problem compiling with --enable-bounded (must be reported to libc-alpha)
%{__make} %{?parallelmkflags}
+%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}
-_headers_dir=`pwd`/usr/include; export _headers_dir;
-
cd builddir
env LANGUAGE=C LC_ALL=C \
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/sbin
+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
-%{!?_without_memusage:mv -f $RPM_BUILD_ROOT/lib/libmemusage.so $RPM_BUILD_ROOT%{_libdir}}
+%{?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}
+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/*}
# make symlinks across top-level directories absolute
for l in anl BrokenLocale crypt dl m nsl pthread resolv rt thread_db util ; do
rm -f $RPM_BUILD_ROOT%{_libdir}/lib${l}.so
- ln -sf /lib/`cd $RPM_BUILD_ROOT/lib ; echo lib${l}.so.*` $RPM_BUILD_ROOT%{_libdir}/lib${l}.so
+ ln -sf /%{_lib}/`cd $RPM_BUILD_ROOT/%{_lib} ; echo lib${l}.so.*` $RPM_BUILD_ROOT%{_libdir}/lib${l}.so
done
install %{SOURCE2} $RPM_BUILD_ROOT/etc/rc.d/init.d/nscd
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
-rm -f $RPM_BUILD_ROOT%{_libdir}*/libnss_*.so
+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-%{version}.so}
%endif
# Collect locale files and mark them with %%lang()
rm -f ../glibc.lang
echo '%defattr(644,root,root,755)' > ../glibc.lang
-for i in $RPM_BUILD_ROOT%{_datadir}/locale/* $RPM_BUILD_ROOT%{_libdir}*/locale/* ; do
+for i in $RPM_BUILD_ROOT%{_datadir}/locale/* $RPM_BUILD_ROOT%{_libdir}/locale/* ; do
if [ -d $i ]; then
lang=`echo $i | sed -e 's/.*locale\///' -e 's/\/.*//'`
twochar=1
# localedb-gen infrastructure
install %{SOURCE8} $RPM_BUILD_ROOT%{_bindir}/localedb-gen
-cat > $RPM_BUILD_ROOT/etc/sysconfig/localedb <<EOF
-# list of supported locales
-#SUPPORTED_LOCALES="pl_PL/ISO-8859-2 de_DE/ISO-8859-2 en_GB/ISO-8859-1 en_US/ISO-8859-1"
-EOF
install ../localedata/SUPPORTED $RPM_BUILD_ROOT%{_datadir}/i18n
# shutup check-files
rm -f $RPM_BUILD_ROOT%{_mandir}/diff.*
rm -f $RPM_BUILD_ROOT%{_infodir}/dir
# we don't support kernel without ptys support
-rm -f $RPM_BUILD_ROOT%{_libdir}*/pt_chown
-
-# copy actual kernel headers for glibc-kernel-headers
-%if 0%{!?_with_kernheaders:1}
-%{__mkdir} -p $RPM_BUILD_ROOT%{_includedir}
-%{__cp} -Hr %{_kernelsrcdir}/include/{asm,linux} $RPM_BUILD_ROOT%{_includedir}
-if [ -d %{_kernelsrcdir}/include/asm-generic ] ; then
- %{__cp} -Hr %{_kernelsrcdir}/include/asm-generic $RPM_BUILD_ROOT%{_includedir}
-fi
-%else
-%{__cp} -Hr $_headers_dir/{asm,linux} $RPM_BUILD_ROOT%{_includedir}
-%endif
+rm -f $RPM_BUILD_ROOT%{_libdir}/pt_chown
+
%clean
rm -rf $RPM_BUILD_ROOT
# when %%postun is run
%ifnarch sparc64
-%post -p /sbin/postshell
-/sbin/ldconfig
+%ifarch amd64
+%post -n %{name}64 -p /%{_lib}/postshell
+%else
+%post -p /%{_lib}/postshell
+%endif
+/%{_lib}/ldconfig
-/sbin/telinit u
-%postun -p /sbin/postshell
-/sbin/ldconfig
+%ifarch amd64
+%postun -n %{name}64 -p /%{_lib}/postshell
+%else
+%postun -p /%{_lib}/postshell
+%endif
+/%{_lib}/ldconfig
-/sbin/telinit u
%post memusage -p /sbin/ldconfig
%post devel
[ ! -x /usr/sbin/fix-info-dir ] || /usr/sbin/fix-info-dir -c %{_infodir} >/dev/null 2>&1
-echo "Please install glibc-kernel-headers or, if you are a brave man,"
-echo "make appropriate links in /usr/include pointing to an already"
-echo "installed previously chosen kernel-headers package or other"
-echo "kernel headers you have."
%postun devel
[ ! -x /usr/sbin/fix-info-dir ] || /usr/sbin/fix-info-dir -c %{_infodir} >/dev/null 2>&1
-%pre kernel-headers
-# useful if these are symlinks
-if [ -h %{_includedir}/asm ]; then rm -f %{_includedir}/asm; fi
-if [ -h %{_includedir}/linux ]; then rm -f %{_includedir}/linux; fi
-
%post -n nscd
/sbin/chkconfig --add nscd
touch /var/log/nscd
%endif
%ifnarch sparc64
-%files -f %{name}.lang
+%ifarch amd64
+%files -n glibc64
+%else
+%files
+%endif
%defattr(644,root,root,755)
%doc README NEWS FAQ BUGS
+# 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
+
+#%files -n nss_dns
+%defattr(644,root,root,755)
+%attr(755,root,root) /%{_lib}/libnss_dns*.so*
+
+#%files -n nss_files
+%defattr(644,root,root,755)
+%attr(755,root,root) /%{_lib}/libnss_files*.so*
+
+
+%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
%attr(755,root,root) %{_bindir}/glibcbug
%attr(755,root,root) %{_bindir}/iconv
%attr(755,root,root) %{_bindir}/ldd
-%ifnarch alpha sparc sparc64 ppc
+%ifnarch alpha ppc sparc64 amd64
%attr(755,root,root) %{_bindir}/lddlibc4
%endif
%attr(755,root,root) %{_bindir}/locale
%attr(755,root,root) %{_sbindir}/zdump
%attr(755,root,root) %{_sbindir}/zic
-%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 %{_datadir}/locale
%{_datadir}/locale/locale.alias
%{_datadir}/zoneinfo
%exclude %{_datadir}/zoneinfo/right
-%dir %{_libdir}*/locale
%{_mandir}/man1/[!lsg]*
%{_mandir}/man1/getent.1*
%lang(pt_BR) %{_mandir}/pt_BR/man8/[!n]*
%lang(ru) %{_mandir}/ru/man[578]/*
-#%files -n nss_dns
-%defattr(644,root,root,755)
-%attr(755,root,root) /lib/libnss_dns*.so*
-
-#%files -n nss_files
-%defattr(644,root,root,755)
-%attr(755,root,root) /lib/libnss_files*.so*
-
%files zoneinfo_right
%defattr(644,root,root,755)
%{_datadir}/zoneinfo/right
%files -n nss_compat
%defattr(644,root,root,755)
-%attr(755,root,root) /lib/libnss_compat*.so*
+%attr(755,root,root) /%{_lib}/libnss_compat*.so*
%files -n nss_hesiod
%defattr(644,root,root,755)
-%attr(755,root,root) /lib/libnss_hesiod*.so*
+%attr(755,root,root) /%{_lib}/libnss_hesiod*.so*
%files -n nss_nis
%defattr(644,root,root,755)
-%attr(755,root,root) /lib/libnss_nis.so.*
-%attr(755,root,root) /lib/libnss_nis-*.so
+%attr(755,root,root) /%{_lib}/libnss_nis.so.*
+%attr(755,root,root) /%{_lib}/libnss_nis-*.so
%files -n nss_nisplus
%defattr(644,root,root,755)
-%attr(755,root,root) /lib/libnss_nisplus*.so*
+%attr(755,root,root) /%{_lib}/libnss_nisplus*.so*
-%if %{?_without_memusage:0}%{!?_without_memusage:1}
+%if %{with memusage}
%files memusage
%defattr(644,root,root,755)
%attr(755,root,root) %{_bindir}/memusage*
-%attr(755,root,root) %{_libdir}/libmemusage*
+%attr(755,root,root) %{_libdir}/libmemusage.so
%endif
%files devel
%attr(755,root,root) %{_bindir}/*trace
%{_includedir}/*.h
+%ifarch alpha
+%{_includedir}/alpha
+%endif
%{_includedir}/arpa
%{_includedir}/bits
%{_includedir}/gnu
%lang(pt_BR) %{_mandir}/pt_BR/man3/*
%lang(ru) %{_mandir}/ru/man3/*
-%files kernel-headers
-%defattr(644,root,root,755)
-%{_includedir}/asm*
-%{_includedir}/linux
-
%files -n nscd
%defattr(644,root,root,755)
%attr(640,root,root) %config %verify(not md5 size mtime) /etc/sysconfig/nscd
%attr(755,root,root) %{_bindir}/localedb-gen
%{_datadir}/i18n
%{_mandir}/man1/localedef*
-%config(noreplace) %verify(not size mtime md5) /etc/sysconfig/localedb
%files localedb-all
%defattr(644,root,root,755)
%{_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)