]> git.pld-linux.org Git - packages/glibc.git/blobdiff - glibc.spec
- small mistake fixed
[packages/glibc.git] / glibc.spec
index 2c8b8be6bd06fd1ed8d75b61002c933fc337f265..7988f9b87f828fa82d99337d99097ab01b940704 100644 (file)
@@ -2,6 +2,7 @@
 # You can define min_kernel macro by "rpm --define 'min_kernel version'"
 # default is 2.2.0 (no changes up to 2.3.25)
 #
+# 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)
 #                      (instead of copying from kernel-headers 2.4.x)
 #                      [broken at the moment]
 #
+%bcond_with    idn     # build with included libidn
+#
 # TODO:
 # - localedb-gen man pages(?)
-# - serious problem with upgrade (changing zoneinfo/posix/* dirs into symlinks)
-#   are there any other solutions than revert???
 # - fix what trojan broke while upgreading (getaddrinfo-workaround)
 #
 #
 #      posix zoneinfo dir removed, /etc/rc.d/init.d/timezone must be changed
 #      in order to use this version!
 #
-%bcond_with    idn
-
-%{!?min_kernel:%define         min_kernel      2.2.0}
-%define                rel 4
+%{!?min_kernel:%global         min_kernel      2.2.0}
 Summary:       GNU libc
 Summary(de):   GNU libc
+Summary(es):   GNU libc
 Summary(fr):   GNU libc
 Summary(ja):   GNU libc ¥é¥¤¥Ö¥é¥ê
 Summary(pl):   GNU libc
@@ -36,6 +35,7 @@ Summary(tr):  GNU libc
 Summary(uk):   GNU libc ×ÅÒÓ¦§ 2.3
 Name:          glibc
 Version:       2.3.2
+%define                rel 7
 Release:       %{rel}
 Epoch:         6
 License:       LGPL
@@ -60,6 +60,7 @@ Source9:      %{name}-kernheaders.tar.bz2
 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
@@ -95,14 +96,14 @@ BuildRequires:      rpm-build >= 4.0.2-46
 BuildRequires: rpm-perlprov
 BuildRequires: sed >= 4.0.5
 BuildRequires: texinfo
+PreReq:                basesystem
 Provides:      ld.so.2
 Provides:      ldconfig
 Provides:      /sbin/ldconfig
 Obsoletes:     %{name}-common
 Obsoletes:     %{name}-debug
 Obsoletes:     ldconfig
-Autoreq:       false
-PreReq:                basesystem
+AutoReq:       false
 BuildRoot:     %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
 Conflicts:     kernel < %{min_kernel}
 Conflicts:     ld.so < 1.9.9-10
@@ -113,8 +114,14 @@ Conflicts: rpm < 4.1
 %define                debugcflags     -O1 -g
 %ifarch sparc64
 %define                _without_memusage       1
-%define        specflags_sparc64       -mvis -fcall-used-g6
-%define                _libdir                 /usr/lib64
+%endif
+
+
+# Define to build a biarch package
+%global with_biarch    0
+%ifarch x86_64 sparc64
+%{!?min_kernel:%global          min_kernel      2.4.10}
+%global with_biarch    1
 %endif
 
 %description
@@ -128,6 +135,18 @@ 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.
+
+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
@@ -220,6 +239,7 @@ Can be used on: Linux kernel >= %{min_kernel}.
 %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
@@ -239,6 +259,12 @@ Bei der Entwicklung von Programmen, die die Standard-C-Libraries
 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
@@ -255,7 +281,7 @@ glibc-devel 
 %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
@@ -277,6 +303,7 @@ kitapl
 
 %package kernel-headers
 Summary:       Kernel header files the glibc has been built with
+Summary(es):   Los ficheros de cabecera del núcleo con los que se ha construido glibc
 Summary(pl):   Pliki nag³ówkowe j±dra, z którymi zosta³a zbudowana ta wersja glibc
 Release:       %{rel}
 Group:         Development/Libraries
@@ -284,11 +311,15 @@ Group:            Development/Libraries
 %description kernel-headers
 Kernel header files for userspace.
 
+%description kernel-headers -l es
+Los ficheros de cabecera del núcleo para el espacio del usuario.
+
 %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):   ëÜÛÉÒÕÀÝÉÊ ÄÅÍÏΠÓÅÒ×ÉÓÏ× ÉÍÅÎ
@@ -306,6 +337,13 @@ performance with NIS+, and may help with DNS as well. You cannot use
 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
@@ -330,6 +368,7 @@ nscd 
 
 %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
@@ -339,6 +378,11 @@ Requires:  %{name} = %{epoch}:%{version}
 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
@@ -346,6 +390,7 @@ libc.
 
 %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
@@ -358,6 +403,14 @@ 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).
+
 %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
@@ -368,6 +421,7 @@ pakiet localedb-src mo
 
 %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
@@ -375,10 +429,17 @@ Requires: %{name} = %{epoch}:%{version}
 
 %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ê
@@ -389,6 +450,7 @@ umo
 
 %package static
 Summary:       Static libraries
+Summary(es):   Bibliotecas estáticas
 Summary(pl):   Biblioteki statyczne
 Summary(ru):   óÔÁÔÉÞÅÓËÉÅ ÂÉÂÌÉÏÔÅËÉ glibc
 Summary(uk):   óÔÁÔÉÞΦ Â¦Â̦ÏÔÅËÉ glibc
@@ -399,6 +461,9 @@ Requires:   %{name}-devel = %{epoch}:%{version}
 %description static
 GNU libc static libraries.
 
+%description static -l es
+Bibliotecas estáticas de GNU libc.
+
 %description static -l pl
 Biblioteki statyczne GNU libc.
 
@@ -413,6 +478,7 @@ 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 Ó ÐÏÄÄÅÒÖËÏÊ ÐÒÏÆÁÊÌÅÒÁ
@@ -424,7 +490,7 @@ Obsoletes:  libc-profile
 Requires:      %{name}-devel = %{epoch}:%{version}
 
 %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.
 
@@ -432,6 +498,11 @@ 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
@@ -457,6 +528,7 @@ kitapl
 
 %package pic
 Summary:       glibc PIC archive
+Summary(es):   Archivo PIC de glibc
 Summary(pl):   Archiwum PIC glibc
 Release:       %{rel}
 Group:         Development/Libraries/Libc
@@ -467,6 +539,12 @@ 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
@@ -475,6 +553,7 @@ biblioteki wsp
 
 %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
@@ -483,11 +562,15 @@ Requires: %{name} = %{epoch}:%{version}
 %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
@@ -496,11 +579,15 @@ Requires: %{name} = %{epoch}:%{version}
 %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
@@ -509,11 +596,15 @@ Requires: %{name} = %{epoch}:%{version}
 %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
@@ -522,11 +613,15 @@ Requires: %{name} = %{epoch}:%{version}
 %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
@@ -535,24 +630,32 @@ Requires: %{name} = %{epoch}:%{version}
 %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}
 
 %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
@@ -562,11 +665,15 @@ 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
@@ -576,52 +683,72 @@ Requires: %{name} = %{epoch}:%{version}
 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:       %{name} - 64bit libraries
-Summary(pl):   %{name} - biblioteki 64 bitowe
+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}
 
 %description -n %{name}64
-GNU libc 64bit libraries for sparc64.
+64-bit GNU libc libraries for sparc64 architecture.
+
+%description -n %{name}64 -l es
+Bibliotecas GNU libc de 64 bits para la arquitectura sparc64.
 
-%description -l pl -n %{name}64
-GNU libc biblioteki 64 dla sparc64.
+%description -n %{name}64 -l pl
+Biblioteki 64-bitowe GNU libc dla architektury sparc64.
 
 %package -n %{name}64-devel
-Summary:       %{name}
-Summary(pl):   %{name}
+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:         Libraries
+Group:         Development/Libraries
 Requires:      %{name}-devel = %{epoch}:%{version}
 
 %description -n %{name}64-devel
-GNU libc 64bit development libraries for sparc64.
+Development files for 64-bit GNU libc libraries for sparc64
+architecture.
+
+%description -n %{name}64-devel -l es
+Ficheros de desarrollo para las bibliotecas GNU libc de 64 bits para la
+arquitectura sparc64.
 
-%description -l pl -n %{name}64-devel
-GNU libc 64bit bibliotekai rozwojowe dla sparca64.
+%description -n %{name}64-devel -l pl
+Pliki do programowania z u¿yciem 64-bitowych bibliotek GNU libc dla
+architektury sparc64.
 
 %package -n %{name}64-static
-Summary:       %{name}64-static
-Summary(pl):   %{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:         Libraries
+Group:         Development/Libraries
 Requires:      %{name}64-devel = %{epoch}:%{version}
 
 %description -n %{name}64-static
-GNU libc 64bit static libraries.
+Static 64-bit GNU libc libraries.
 
-%description -l pl -n %{name}64-static
-GNU libc 64 bitowe biblioteki statyczne.
+%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
 %patch0 -p1
+%patch1 -p1
 %patch2 -p1
 %patch3 -p1
 %patch4 -p1
@@ -656,8 +783,8 @@ 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/
+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
@@ -681,22 +808,65 @@ touch libidn/libidn.texi
 #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
-cd builddir
-# avoid stripping ld.so by -s in rpmldflags
-LDFLAGS=" " ; export LDFLAGS
-#CFLAGS="-I $_headers_dir %{rpmcflags}"; export CFLAGS
-../%configure \
+basedir=$(pwd)
+
+BuildGlibc() {
+  arch="$1"
+  shift
+
+  BuildCC="%{__cc}"
+  case "${arch}" in
+       i[3456]86 | athlon)
+               if [ "`uname -m`" = "x86_64" -o "`uname -m`" = "amd64" ]; then
+                       BuildCC="$BuildCC -m32"
+               fi
+               ;;
+       sparc64)
+               BuildCC="$BuildCC -m64"
+               BuildCCFlags="$BuildCCFlags -mvis -fcall-used-g6"
+               ;;
+       sparc | sparcv9)
+               BuildCC="$BuildCC -m32"
+               ;;
+  esac
+
+  # Library name
+  # Prepare kernel headers
+  _headers_dir=`pwd`/usr/include; export _headers_dir;
+  (cd $_headers_dir && rm asm)
+  (cd $_headers_dir && ln -s asm-`echo $arch | 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/` asm)
+
+  glibc_cv_cc_64bit_output=no
+  if echo ".text" | $BuildCC -c -o test.o -xassembler -; then
+       case `/usr/bin/file test.o` in
+               *"ELF 64"*)
+                       glibc_cv_cc_64bit_output=yes
+               ;;
+       esac
+  fi
+  rm -f test.o
+  case $arch:$glibc_cv_cc_64bit_output in
+       powerpc64:yes | s390x:yes | sparc64:yes | x86_64:yes | amd64:yes)
+               glibc_libname="lib64"
+       ;;
+       *:*)
+               glibc_libname="lib"
+       ;;
+  esac
+
+  # Build glibc
+  rm -rf builddir-${arch}
+  mkdir builddir-${arch}
+  cd builddir-${arch}
+  # avoid stripping ld.so by -s in rpmldflags
+  LDFLAGS=" " ; export LDFLAGS
+  #CFLAGS="-I $_headers_dir %{rpmcflags}"; export CFLAGS
+  ../%configure \
+       CC="${BuildCC}" \
+       --build=${arch}-%{_vendor}-%{_target_os} \
+       --libexecdir="%{_prefix}/$glibc_libname" \
        --enable-add-ons=linuxthreads%{?with_idn:,libidn} \
-       --enable-kernel="%{?kernel:%{kernel}}%{!?kernel:%{min_kernel}}" \
+       --enable-kernel="%{min_kernel}" \
        --enable-profile \
        --%{?_without_fp:en}%{!?_without_fp:dis}able-omitfp \
 %if 0%{!?_with_kernheaders:1}
@@ -707,17 +877,30 @@ LDFLAGS=" " ; export LDFLAGS
        --with-headers=$_headers_dir
 %endif
 
-# problem compiling with --enable-bounded (must be reported to libc-alpha)
+  # problem compiling with --enable-bounded (must be reported to libc-alpha)
+
+  %{__make} %{?parallelmkflags}
 
-%{__make} %{?parallelmkflags}
+  cd ${basedir}
+}
+
+# Build main glibc
+%if %{with_biarch}
+%ifarch x86_64
+BuildGlibc "athlon"
+%endif
+
+BuildGlibc "%{_target_cpu}"
+%endif
 
 %install
 rm -rf $RPM_BUILD_ROOT
+basedir=$(pwd)
 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
+cd builddir-%{_target_cpu}
 
 env LANGUAGE=C LC_ALL=C \
 %{__make} install \
@@ -794,7 +977,7 @@ 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
@@ -804,7 +987,7 @@ rm -f $RPM_BUILD_ROOT%{_libdir}*/libnss_*.so
 # 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
@@ -844,10 +1027,6 @@ install %{SOURCE7} $RPM_BUILD_ROOT%{_mandir}/man8
 
 # 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
@@ -855,7 +1034,7 @@ rm -f $RPM_BUILD_ROOT%{_mandir}/README.*
 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
+rm -f $RPM_BUILD_ROOT%{_libdir}/pt_chown
 
 # copy actual kernel headers for glibc-kernel-headers
 %if 0%{!?_with_kernheaders:1}
@@ -940,7 +1119,7 @@ fi
 %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
 %attr(755,root,root) %{_bindir}/lddlibc4
 %endif
 %attr(755,root,root) %{_bindir}/locale
@@ -951,7 +1130,10 @@ fi
 %attr(755,root,root) %{_sbindir}/zdump
 %attr(755,root,root) %{_sbindir}/zic
 
-%attr(755,root,root) /lib/ld-*
+# 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/ld*
 %attr(755,root,root) /lib/libanl*
 %attr(755,root,root) /lib/libdl*
 %attr(755,root,root) /lib/libnsl*
@@ -962,7 +1144,7 @@ fi
 %{_datadir}/zoneinfo
 %exclude %{_datadir}/zoneinfo/right
 
-%dir %{_libdir}*/locale
+%dir %{_libdir}/locale
 
 %{_mandir}/man1/[!lsg]*
 %{_mandir}/man1/getent.1*
@@ -1042,6 +1224,9 @@ fi
 %attr(755,root,root) %{_bindir}/*trace
 
 %{_includedir}/*.h
+%ifarch alpha
+%{_includedir}/alpha
+%endif
 %{_includedir}/arpa
 %{_includedir}/bits
 %{_includedir}/gnu
@@ -1120,7 +1305,6 @@ fi
 %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)
This page took 0.055027 seconds and 4 git commands to generate.