]> git.pld-linux.org Git - packages/glibc.git/blobdiff - glibc.spec
- added boot64 bcond
[packages/glibc.git] / glibc.spec
index 82211e7b5177e3baae87a7b75472bda9ef9e3760..8860fb6252e27c509d326975f7220c52919e40a1 100644 (file)
@@ -16,6 +16,8 @@
 %bcond_with    tests_nptl      # perform NPTL tests on dual build (requires 2.6.x kernel)
 %bcond_without localedb        # don't build localedb-all (is time consuming)
 %bcond_with    cross           # build using crossgcc (without libgcc_eh)
+%bcond_with    boot64          # bootstrap *64 using cross* (sparc64 currently)
+%bcond_with    pax             # apply PaX hack
 #
 # TODO:
 # - look at locale fixes/updates in bugzilla
@@ -37,7 +39,7 @@
 
 %if %{with tls}
 # sparc temporarily removed (broken)
-%ifnarch %{ix86} amd64 ia64 alpha s390 s390x
+%ifnarch %{ix86} %{x8664} ia64 alpha s390 s390x
 # sparc64 sparcv9 ppc ppc64  -- disabled in AC (gcc < 3.4)
 %undefine      with_tls
 %endif
@@ -46,7 +48,7 @@
 %if %{with nptl}
 # on x86 uses cmpxchgl (available since i486)
 # on sparc only sparcv9 is supported
-%ifnarch i486 i586 i686 pentium3 pentium4 athlon amd64 ia64 alpha s390 s390x
+%ifnarch i486 i586 i686 pentium3 pentium4 athlon %{x8664} ia64 alpha s390 s390x
 # sparc64 sparcv9 ppc ppc64  -- disabled in AC (gcc < 3.4)
 %undefine      with_nptl
 %else
 %ifarch sparc64
 %undefine      with_memusage
 %endif
+%if %{with boot64}
+%define                with_cross      1
+%ifarch sparc64
+%define                __cc    sparc64-pld-linux-gcc
+%endif
+%endif
 
 %if %{with linuxthreads} && %{with nptl}
 %define                with_dual       1
@@ -76,25 +84,24 @@ Summary(ru):        GNU libc 
 Summary(tr):   GNU libc
 Summary(uk):   GNU libc ×ÅÒÓ¦§ 2.3
 Name:          glibc
-Version:       2.3.5
-Release:       0.2
+Version:       2.3.6
+Release:       2.9
 Epoch:         6
 License:       LGPL
 Group:         Libraries
 Source0:       ftp://sources.redhat.com/pub/glibc/releases/%{name}-%{version}.tar.bz2
-# Source0-md5: 93d9c51850e0513aa4846ac0ddcef639
+# Source0-md5: bfdce99f82d6dbcb64b7f11c05d6bc96
 Source1:       ftp://sources.redhat.com/pub/glibc/releases/%{name}-linuxthreads-%{version}.tar.bz2
-# Source1-md5: 77011b0898393c56b799bc011a0f37bf
+# Source1-md5: d4eeda37472666a15cc1f407e9c987a9
 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:       %{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
-Source7:       %{name}-localedb-gen
+Source5:       http://qboosh.cs.net.pl/man/%{name}-man-pages.tar.bz2
+# Source5-md5: f464eadf3cf06761f65639e44a179e6b
+Source6:       %{name}-localedb-gen
+Source7:       %{name}-LD-path.c
+Source8:       postshell.c
 Patch0:                %{name}-info.patch
 Patch1:                %{name}-pl.po-update.patch
 Patch2:                %{name}-pld.patch
@@ -102,7 +109,7 @@ Patch3:             %{name}-crypt-blowfish.patch
 Patch4:                %{name}-linuxthreads-lock.patch
 Patch5:                %{name}-pthread_create-manpage.patch
 Patch6:                %{name}-paths.patch
-Patch7:                %{name}-postshell.patch
+Patch7:                %{name}-dl-execstack.patch
 Patch8:                %{name}-missing-nls.patch
 Patch9:                %{name}-java-libc-wait.patch
 Patch10:       %{name}-lthrds_noomit.patch
@@ -122,14 +129,19 @@ Patch23:  %{name}-locale_fixes.patch
 Patch24:       %{name}-ZA_collate.patch
 Patch25:       %{name}-tls_fix.patch
 Patch26:       %{name}-iconvconfig-nxstack.patch
-Patch27:       %{name}-execvp.patch
+Patch27:       %{name}-sys-kd.patch
 Patch28:       %{name}-cross-gcc_eh.patch
-# PaX hack (dropped)
-#PatchX:       %{name}-pax_dl-execstack.patch
+Patch29:       %{name}-pax_dl-execstack.patch
+Patch30:       %{name}-large_collate_tables.patch
+Patch31:       %{name}-ctype-compat.patch
+Patch32:       %{name}-sparc-mman.h.patch
 URL:           http://www.gnu.org/software/libc/
+%{?with_selinux:BuildRequires: audit-libs-devel}
+BuildRequires: autoconf
 BuildRequires: automake
 BuildRequires: binutils >= 2:2.15.90.0.3
-BuildRequires: gcc >= 3.2
+%{!?with_cross:BuildRequires:  dietlibc-static}
+BuildRequires: gcc >= 5:3.2
 %ifarch ppc ppc64 sparc sparcv9 sparc64
 %if %{with nptl} || %{with __thread}
 BuildRequires: gcc >= 5:3.4
@@ -144,21 +156,22 @@ BuildRequires:    linux-libc-headers >= %{llh_version}
 BuildRequires: perl-base
 BuildRequires: rpm-build >= 4.3-0.20030610.28
 BuildRequires: rpm-perlprov
-BuildRequires: rpmbuild(macros) >= 1.159
+BuildRequires: rpmbuild(macros) >= 1.213
 BuildRequires: sed >= 4.0.5
 BuildRequires: texinfo
 AutoReq:       false
-PreReq:                basesystem
-Requires:      glibc-misc = %{epoch}:%{version}-%{release}
+Requires:      %{name}-misc = %{epoch}:%{version}-%{release}
+Requires:      basesystem
 %{?with_tls:Provides:  glibc(tls)}
 Provides:      ldconfig
 Provides:      /sbin/ldconfig
-Obsoletes:     %{name}-common
-Obsoletes:     %{name}-debug
+Obsoletes:     glibc-common
+Obsoletes:     glibc-debug
 Obsoletes:     ldconfig
 Conflicts:     kernel < %{min_kernel}
 Conflicts:     ld.so < 1.9.9-10
 Conflicts:     man-pages < 1.43
+Conflicts:     poldek < 0.18.8-5
 Conflicts:     rc-scripts < 0.3.1-13
 Conflicts:     rpm < 4.1
 BuildRoot:     %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
@@ -296,9 +309,10 @@ 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
+Group:         Applications/System
 AutoReq:       false
-PreReq:                %{name} = %{epoch}:%{version}-%{release}
+Requires(pre): %{name} = %{epoch}:%{version}-%{release}
+Requires:      %{name} = %{epoch}:%{version}-%{release}
 
 %description misc
 Utilities and data used by glibc.
@@ -318,9 +332,10 @@ Summary(tr):       Geli
 Summary(uk):   äÏÄÁÔËÏצ Â¦Â̦ÏÔÅËÉ, ÐÏÔÒ¦ÂΦ ÄÌÑ ËÏÍЦÌÑæ§
 Group:         Development/Libraries
 Requires:      %{name} = %{epoch}:%{version}-%{release}
-%{!?with_kernelheaders:Requires:       linux-libc-headers >= %{llh_version}}
+Requires:      %{name}-headers = %{epoch}:%{version}-%{release}
+Requires:      %{name}-devel-utils = %{epoch}:%{version}-%{release}
+Provides:      %{name}-devel(%{_target_cpu}) = %{epoch}:%{version}-%{release}
 Obsoletes:     libiconv-devel
-Obsoletes:     glibc-headers
 
 %description devel
 To develop programs which use the standard C libraries (which nearly
@@ -374,6 +389,142 @@ kitapl
 ÔÁ ÏÂ'¤ËÔΦ ÆÁÊÌÉ, ÝϠͦÓÔÑÔØÓÑ × ÃØÏÍÕ ÐÁËÅÔ¦, ÃÏ ÓÔ×ÏÒÀ×ÁÔÉ
 ×ÉËÏÎÕ×ÁΦ ÆÁÊÌÉ.
 
+%package headers
+Summary:       Header files for development using standard C libraries
+Summary(pl):   Pliki nag³ówkowe do tworzenia programów przy u¿yciu standardowych bibliotek C
+Group:         Development/Building
+Provides:      %{name}-headers(%{_target_cpu}) = %{epoch}:%{version}-%{release}
+%ifarch %{x8664}
+# If both -m32 and -m64 is to be supported on AMD64, x86_64 package
+# have to be installed, not ix86 one.
+Obsoletes:     %{name}-headers(i386)
+Obsoletes:     %{name}-headers(i486)
+Obsoletes:     %{name}-headers(i586)
+Obsoletes:     %{name}-headers(i686)
+Obsoletes:     %{name}-headers(athlon)
+Obsoletes:     %{name}-headers(pentium3)
+Obsoletes:     %{name}-headers(pentium4)
+%endif
+%ifarch ppc64
+Obsoletes:     %{name}-headers(ppc)
+%endif
+%ifarch s390x
+Obsoletes:     %{name}-headers(s390)
+%endif
+%ifarch sparc64
+Obsoletes:     %{name}-headers(sparc)
+%endif
+%{!?with_kernelheaders:Requires:       linux-libc-headers >= %{llh_version}}
+
+%description headers
+The glibc-headers package contains the header files necessary for
+developing programs which use the standard C libraries (which are used
+by nearly all programs). If you are developing programs which will use
+the standard C libraries, your system needs to have these standard
+header files available in order to create the executables.
+
+Install glibc-headers if you are going to develop programs which will
+use the standard C libraries.
+
+%description headers -l pl
+Pakiet glibc-headers zawiera pliki nag³ówkowe niezbêdne do rozwijania
+programów u¿ywaj±cych standardowych bibliotek C (u¿ywanych przez
+prawie wszystkie programy). Je¶li tworzymy programy korzystaj±ce ze
+standardowych bibliotek C, system wymaga dostêpno¶ci tych
+standardowych plików nag³ówkowych do tworzenia programów
+wykonywalnych.
+
+Ten pakiet nale¿y zainstalowaæ je¶li zamierzamy tworzyæ programy
+korzystaj±ce ze standardowych bibliotek C.
+
+%package devel-utils
+Summary:       Utilities needed for development using standard C libraries
+Summary(pl):   Narzêdzia do tworzenia programów przy u¿yciu standardowych bibliotek C
+Group:         Development/Libraries
+Provides:      %{name}-devel-utils(%{_target_cpu}) = %{epoch}:%{version}-%{release}
+%ifarch %{x8664}
+# If both -m32 and -m64 is to be supported on AMD64, x86_64 package
+# have to be installed, not ix86 one.
+Obsoletes:     %{name}-devel-utils(i386)
+Obsoletes:     %{name}-devel-utils(i486)
+Obsoletes:     %{name}-devel-utils(i586)
+Obsoletes:     %{name}-devel-utils(i686)
+Obsoletes:     %{name}-devel-utils(athlon)
+Obsoletes:     %{name}-devel-utils(pentium3)
+Obsoletes:     %{name}-devel-utils(pentium4)
+%endif
+%ifarch ppc64
+Obsoletes:     %{name}-devel-utils(ppc)
+%endif
+%ifarch s390x
+Obsoletes:     %{name}-devel-utils(s390)
+%endif
+%ifarch sparc64
+Obsoletes:     %{name}-devel-utils(sparc)
+%endif
+
+%description devel-utils
+The glibc-devel-utils package contains utilities necessary for
+developing programs which use the standard C libraries (which are used
+by nearly all programs). If you are developing programs which will use
+the standard C libraries, your system needs to have these utilities
+available.
+
+Install glibc-devel-utils if you are going to develop programs which
+will use the standard C libraries.
+
+%description devel-utils -l pl
+Pakiet glibc-devel-utils zawiera narzêdzia niezbêdne do rozwijania
+programów u¿ywaj±cych standardowych bibliotek C (u¿ywanych przez
+prawie wszystkie programy). Je¶li tworzymy programy korzystaj±ce ze
+standardowych bibliotek C, system wymaga dostêpno¶ci tych narzêdzi do
+tworzenia programów wykonywalnych.
+
+Ten pakiet nale¿y zainstalowaæ je¶li zamierzamy tworzyæ programy
+korzystaj±ce ze standardowych bibliotek C.
+
+%package devel-doc
+Summary:       Documentation needed for development using standard C libraries
+Summary(pl):   Dokumentacja do tworzenia programów przy u¿yciu standardowych bibliotek C
+Group:         Documentation
+Provides:      %{name}-devel-doc(%{_target_cpu}) = %{epoch}:%{version}-%{release}
+%ifarch %{x8664}
+# If both -m32 and -m64 is to be supported on AMD64, x86_64 package
+# have to be installed, not ix86 one.
+Obsoletes:     %{name}-devel-doc(i386)
+Obsoletes:     %{name}-devel-doc(i486)
+Obsoletes:     %{name}-devel-doc(i586)
+Obsoletes:     %{name}-devel-doc(i686)
+Obsoletes:     %{name}-devel-doc(athlon)
+Obsoletes:     %{name}-devel-doc(pentium3)
+Obsoletes:     %{name}-devel-doc(pentium4)
+%endif
+%ifarch ppc64
+Obsoletes:     %{name}-devel-doc(ppc)
+%endif
+%ifarch s390x
+Obsoletes:     %{name}-devel-doc(s390)
+%endif
+%ifarch sparc64
+Obsoletes:     %{name}-devel-doc(sparc)
+%endif
+
+%description devel-doc
+The glibc-devel-doc package contains info and manual pages necessary
+for developing programs which use the standard C libraries (which are
+used by nearly all programs).
+
+Install glibc-devel-doc if you are going to develop programs which
+will use the standard C libraries.
+
+%description devel-doc -l pl
+Pakiet glibc-devel-doc zawiera strony info i manuala przydatne do
+rozwijania programów u¿ywaj±cych standardowych bibliotek C (u¿ywanych
+przez prawie wszystkie programy).
+
+Ten pakiet nale¿y zainstalowaæ je¶li zamierzamy tworzyæ programy
+korzystaj±ce ze standardowych bibliotek C.
+
 %package -n nscd
 Summary:       Name Service Caching Daemon
 Summary(es):   Demonio de caché del servicio de nombres
@@ -382,7 +533,6 @@ Summary(pl):        Demon zapami
 Summary(ru):   ëÜÛÉÒÕÀÝÉÊ ÄÅÍÏΠÓÅÒ×ÉÓÏ× ÉÍÅÎ
 Summary(uk):   ëÅÛÕÀÞÉÊ ÄÅÍÏΠÓÅצӦנ¦ÍÅÎ
 Group:         Networking/Daemons
-PreReq:                rc-scripts >= 0.2.0
 Requires(pre): /bin/id
 Requires(pre): /usr/bin/getgid
 Requires(pre): /usr/sbin/groupadd
@@ -393,6 +543,7 @@ Requires(postun):   /usr/sbin/groupdel
 Requires(postun):      /usr/sbin/userdel
 Requires:      %{name} = %{epoch}:%{version}-%{release}
 %{?with_selinux:Requires:      libselinux >= 1.18}
+Requires:      rc-scripts >= 0.2.0
 Provides:      group(nscd)
 Provides:      user(nscd)
 
@@ -426,7 +577,7 @@ nscd 
 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
-Group:         Daemons
+Group:         Libraries
 Requires:      %{name} = %{epoch}:%{version}-%{release}
 Requires:      gzip
 Requires:      sed
@@ -479,8 +630,8 @@ 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
-Group:         Applications/Text
+Summary(pl):   Modu³y do konwersji plików tekstowych z jednego kodowania do innego
+Group:         Libraries
 Requires:      %{name} = %{epoch}:%{version}-%{release}
 
 %description -n iconv
@@ -497,12 +648,12 @@ Generic Character Set Conversion Interface (interfaz gen
 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ê
-dokumentów z jednego kodowania do innego lub je¿eli masz zainstalowane
-jakie¶ programy, które korzystaj± z Generic Character Set Conversion
-Interface w glibc, czyli z zestawu funkcji z tej biblioteki, które
-umo¿liwiaj± konwersjê kodowania danych z poziomu dowolnego programu.
+Modu³y do konwersji plików tekstowych z jednego kodowania do innego.
+Trzeba mieæ zainstalowany ten pakiet, aby wykonywaæ konwersjê
+dokumentów z jednego kodowania do innego lub do u¿ywania programów
+korzystaj±cych z Generic Character Set Conversion Interface w glibc,
+czyli z zestawu funkcji z tej biblioteki, które umo¿liwiaj± konwersjê
+kodowania danych z poziomu dowolnego programu.
 
 %package static
 Summary:       Static libraries
@@ -512,6 +663,7 @@ Summary(ru):        
 Summary(uk):   óÔÁÔÉÞΦ Â¦Â̦ÏÔÅËÉ glibc
 Group:         Development/Libraries
 Requires:      %{name}-devel = %{epoch}:%{version}-%{release}
+Provides:      %{name}-static(%{_target_cpu}) = %{epoch}:%{version}-%{release}
 Obsoletes:     libiconv-static
 
 %description static
@@ -708,7 +860,6 @@ Summary(es):        Un juguete
 Summary(pl):   Zabawka
 Group:         Applications
 Requires:      %{name} = %{epoch}:%{version}-%{release}
-Requires:      gd
 
 %description memusage
 A toy.
@@ -743,12 +894,20 @@ Summary:  GNU libc - 64-bit libraries
 Summary(es):   GNU libc - bibliotecas de 64 bits
 Summary(pl):   GNU libc - biblioteki 64-bitowe
 Group:         Libraries
-%ifarch amd64 ppc64 s390x sparc64
+Requires:      %{name}-misc = %{epoch}:%{version}-%{release}
+Requires:      basesystem
 Provides:      glibc = %{epoch}:%{version}-%{release}
-Requires:      glibc-misc = %{epoch}:%{version}-%{release}
-%else
-Requires:      %{name} = %{epoch}:%{version}-%{release}
-%endif
+%{?with_tls:Provides:  glibc(tls)}
+Provides:      ldconfig
+Obsoletes:     glibc-common
+Obsoletes:     glibc-debug
+Obsoletes:     ldconfig
+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
+Conflicts:     poldek < 0.18.8-4
 
 %description -n %{name}64
 64-bit GNU libc libraries for 64bit architecture.
@@ -759,41 +918,6 @@ Bibliotecas GNU libc de 64 bits para la arquitectura 64bit.
 %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
-Group:         Development/Libraries
-Requires:      %{name}-devel = %{epoch}:%{version}-%{release}
-
-%description -n %{name}64-devel
-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.
-
-%description -n %{name}64-devel -l pl
-Pliki do programowania z u¿yciem 64-bitowych bibliotek GNU libc dla
-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
-Group:         Development/Libraries
-Requires:      %{name}64-devel = %{epoch}:%{version}-%{release}
-
-%description -n %{name}64-static
-Static 64-bit GNU libc libraries.
-
-%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 -a1
 %patch0 -p1
@@ -803,7 +927,7 @@ Statyczne 64-bitowe biblioteki GNU libc.
 %patch4 -p1
 %patch5 -p1
 %patch6 -p1
-%patch7 -p1
+#%patch7 -p1 UPDATE/DROP (which kernels cause problems?)
 %patch8 -p1
 %patch9 -p1
 %patch10 -p1
@@ -826,6 +950,10 @@ Statyczne 64-bitowe biblioteki GNU libc.
 %patch26 -p1
 %patch27 -p1
 %{?with_cross:%patch28 -p1}
+%{?with_pax:%patch29 -p1}
+%patch30 -p1
+%patch31 -p1
+%patch32 -p1
 
 chmod +x scripts/cpp
 
@@ -900,6 +1028,12 @@ cd ..
 done
 %endif
 
+%if %{without cross}
+# compiling static using diet vs glibc saves 400k
+diet -Os %{__cc} %{SOURCE8} %{rpmcflags} -static -o postshell
+diet -Os %{__cc} %{SOURCE7} %{rpmcflags} -static -o glibc-postinst
+%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,/var/{lib,run}/nscd}
@@ -924,10 +1058,13 @@ PICFILES="libc_pic.a libc.map
 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/sbin
 cd ..
 
+%if %{without cross}
+install postshell                                      $RPM_BUILD_ROOT/sbin
+install glibc-postinst                         $RPM_BUILD_ROOT/sbin
+%endif
+
 %if %{with dual}
 env LANGUAGE=C LC_ALL=C \
 %{__make} -C builddir-nptl install \
@@ -977,6 +1114,31 @@ rm -rf $RPM_BUILD_ROOT%{_datadir}/zoneinfo/{localtime,posixtime,posixrules,posix
 #done
 #cd -
 
+%ifarch %{ix86} ppc s390 sparc sparcv9
+mv $RPM_BUILD_ROOT%{_includedir}/gnu/stubs.h $RPM_BUILD_ROOT%{_includedir}/gnu/stubs-32.h
+%endif
+
+%ifarch %{x8664} ppc64 s390x sparc64
+mv $RPM_BUILD_ROOT%{_includedir}/gnu/stubs.h $RPM_BUILD_ROOT%{_includedir}/gnu/stubs-64.h
+%endif
+
+%ifarch %{ix86} %{x8664} ppc ppc64 s390 s390x sparc sparcv9 sparc64
+cat <<EOF >$RPM_BUILD_ROOT%{_includedir}/gnu/stubs.h
+/* This file selects the right generated file of '__stub_FUNCTION' macros
+   based on the architecture being compiled for.  */
+
+#include <bits/wordsize.h>
+
+#if __WORDSIZE == 32
+# include <gnu/stubs-32.h>
+#elif __WORDSIZE == 64
+# include <gnu/stubs-64.h>
+#else
+# error "unexpected value for __WORDSIZE macro"
+#endif
+EOF
+%endif
+
 ln -sf %{_sysconfdir}/localtime        $RPM_BUILD_ROOT%{_datadir}/zoneinfo/localtime
 ln -sf localtime               $RPM_BUILD_ROOT%{_datadir}/zoneinfo/posixtime
 ln -sf localtime               $RPM_BUILD_ROOT%{_datadir}/zoneinfo/posixrules
@@ -997,9 +1159,9 @@ install nscd/nscd.conf     $RPM_BUILD_ROOT%{_sysconfdir}
 install nss/nsswitch.conf      $RPM_BUILD_ROOT%{_sysconfdir}
 
 bzip2 -dc %{SOURCE5} | tar xf - -C $RPM_BUILD_ROOT%{_mandir}
-bzip2 -dc %{SOURCE6} | tar xf - -C $RPM_BUILD_ROOT%{_mandir}
 > $RPM_BUILD_ROOT%{_sysconfdir}/ld.so.cache
-> $RPM_BUILD_ROOT%{_sysconfdir}/ld.so.conf
+install -d $RPM_BUILD_ROOT%{_sysconfdir}/ld.so.conf.d
+echo 'include ld.so.conf.d/*.conf'> $RPM_BUILD_ROOT%{_sysconfdir}/ld.so.conf
 rm -f $RPM_BUILD_ROOT%{_mandir}/hu/man7/man.7
 
 :> $RPM_BUILD_ROOT/var/log/nscd
@@ -1055,16 +1217,26 @@ for i in $RPM_BUILD_ROOT%{_datadir}/locale/* $RPM_BUILD_ROOT%{_libdir}/locale/*
        fi
 done
 # XXX: to be added when become supported by glibc
-# tk, yo (used by GNOME)
-# ven -> ve (used by KDE)
+# as (atk, gail)
+# az_IR (gtk+)
+# dv, kok, ps (iso-codes)
+# my (gaim)
+# tk, ug, yo (used by GNOME)
+#
 # NOTES:
-# bn is used for bn_BD or bn_IN?
+# bn is used for bn_BD or bn_IN? Assume bn_IN as nothing for bn_BD appeared
+#   till now
+#
 # 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 ang ar az bg bn br bs cy de_AT en en@boldquot en@quot en_AU \
-    en_CA en_US eo es_AR es_MX et eu fa fo ga gu he hi hsb ia id is ka kn \
-    leet lg li lo lt lv mi mk ml mn mr ms mt nds ne nn nso or pa pt ro ru se \
-    sl sq sr sr@Latn sr@ije ss ta tg th tlh uk uz ve vi wa xh yi zu ; do
+#   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 aa af am ang ar az bg bn br bs byn cy de_AT en en@boldquot en@quot \
+    en_AU en_CA en_US eo es_AR es_MX es_NI et eu fa fo fy ga gez gu gv he hi \
+    hsb hy ia id is it_CH iu ka kk kl kn ku kw ky leet lg li lo lt lv mi mk \
+    ml mn mr ms mt nds ne nl_BE nn nso oc om or pa pt rm ro ru rw sa se sid \
+    sl so sq sr sr@Latn sr@ije ss syr sw ta te tg th ti tig tl tlh tt uk ur \
+    uz ve vi wa wal 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/_.*//'`
@@ -1077,7 +1249,7 @@ ln -s zh_CN zh_HK
 cd -
 
 # localedb-gen infrastructure
-install %{SOURCE7} $RPM_BUILD_ROOT%{_bindir}/localedb-gen
+install %{SOURCE6} $RPM_BUILD_ROOT%{_bindir}/localedb-gen
 install localedata/SUPPORTED $RPM_BUILD_ROOT%{_datadir}/i18n
 
 # shutup check-files
@@ -1093,15 +1265,17 @@ rm -rf $RPM_BUILD_ROOT
 # don't run iconvconfig in %%postun -n iconv because iconvconfig doesn't exist
 # when %%postun is run
 
-%ifarch amd64 ppc64 s390x sparc64
+%if %{without cross}
+%ifarch %{x8664} ppc64 s390x sparc64
 %post  -n %{name}64 -p /sbin/postshell
 %else
 %post  -p /sbin/postshell
 %endif
+/sbin/glibc-postinst /%{_lib}/%{_host_cpu}
 /sbin/ldconfig
 -/sbin/telinit u
 
-%ifarch amd64 ppc64 s390x sparc64
+%ifarch %{x8664} ppc64 s390x sparc64
 %postun        -n %{name}64 -p /sbin/postshell
 %else
 %postun        -p /sbin/postshell
@@ -1109,13 +1283,22 @@ rm -rf $RPM_BUILD_ROOT
 /sbin/ldconfig
 -/sbin/telinit u
 
-%ifarch amd64 ppc64 s390x sparc64
+%ifarch %{x8664} ppc64 s390x sparc64
 %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
 
+%ifarch %{x8664} ppc64 s390x sparc64
+%triggerpostun -n %{name}64 -p /sbin/postshell -- %{name}64 < 6:2.3.5-7.6
+%else
+%triggerpostun -p /sbin/postshell -- %{name} < 6:2.3.5-7.6
+%endif
+-/bin/cp -f /etc/ld.so.conf /etc/ld.so.conf.rpmsave
+-/bin/sed -i -e '1iinclude ld.so.conf.d/*.conf' /etc/ld.so.conf
+%endif
+
 %post  memusage -p /sbin/ldconfig
 %postun memusage -p /sbin/ldconfig
 
@@ -1128,22 +1311,8 @@ rm -rf $RPM_BUILD_ROOT
 [ ! -x /usr/sbin/fix-info-dir ] || /usr/sbin/fix-info-dir -c %{_infodir} >/dev/null 2>&1
 
 %pre -n nscd
-if [ -n "`/usr/bin/getgid nscd`" ]; then
-       if [ "`/usr/bin/getgid nscd`" != "144" ]; then
-               echo "Error: group nscd doesn't have gid=144. Correct this before installing nscd." 1>&2
-               exit 1
-       fi
-else
-       /usr/sbin/groupadd -g 144 -r nscd
-fi
-if [ -n "`/bin/id -u nscd 2>/dev/null`" ]; then
-       if [ "`/bin/id -u nscd`" != "144" ]; then
-               echo "Error: user nscd doesn't have uid=144. Correct this before installing nscd." 1>&2
-               exit 1
-       fi
-else
-       /usr/sbin/useradd -u 144 -r -d /tmp -s /bin/false -c "nscd" -g nscd nscd 1>&2
-fi
+%groupadd -P nscd -g 144 -r nscd
+%useradd -P nscd -u 144 -r -d /tmp -s /bin/false -c "nscd" -g nscd nscd
 
 %post -n nscd
 /sbin/chkconfig --add nscd
@@ -1171,8 +1340,8 @@ if [ "$1" = "0" ]; then
        %groupremove nscd
 fi
 
-%ifarch amd64 ppc64 s390x sparc64
-%files -n glibc64
+%ifarch %{x8664} ppc64 s390x sparc64
+%files -n %{name}64
 %defattr(644,root,root,755)
 %else
 %files
@@ -1180,7 +1349,10 @@ fi
 %endif
 %defattr(644,root,root,755)
 %doc README NEWS FAQ BUGS
+%if %{without cross}
 %attr(755,root,root) /sbin/postshell
+%attr(755,root,root) /sbin/glibc-postinst
+%endif
 %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);
@@ -1188,7 +1360,7 @@ fi
 #   ld.so.1 on ppc
 #   ld64.so.1 on ppc64,s390x
 #   ld-linux-ia64.so.2 on ia64
-#   ld-linux-x86-64.so.2 on amd64
+#   ld-linux-x86-64.so.2 on x86_64
 #   ld-linux.so.2 on other archs
 %attr(755,root,root) /%{_lib}/ld*
 %attr(755,root,root) /%{_lib}/libanl*
@@ -1201,6 +1373,7 @@ fi
 %endif
 %{?with_localedb:%dir %{_libdir}/locale}
 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/ld.so.conf
+%dir %{_sysconfdir}/ld.so.conf.d
 %ghost %{_sysconfdir}/ld.so.cache
 
 #%files -n nss_dns
@@ -1262,6 +1435,7 @@ fi
 %lang(cs) %{_mandir}/cs/man7/*
 %lang(de) %{_mandir}/de/man5/tzfile.5*
 %lang(de) %{_mandir}/de/man7/*
+%lang(es) %{_mandir}/es/man1/ldd.1*
 %lang(es) %{_mandir}/es/man5/locale.5*
 %lang(es) %{_mandir}/es/man5/nsswitch.conf.5*
 %lang(es) %{_mandir}/es/man5/tzfile.5*
@@ -1300,6 +1474,7 @@ fi
 %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/man1/ldd.1*
 %lang(ko) %{_mandir}/ko/man5/nsswitch.conf.5*
 %lang(ko) %{_mandir}/ko/man5/tzfile.5*
 %lang(ko) %{_mandir}/ko/man7/*
@@ -1317,12 +1492,22 @@ fi
 %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/man1/getent.1*
+%lang(ru) %{_mandir}/ru/man1/iconv.1*
+%lang(ru) %{_mandir}/ru/man1/ldd.1*
+%lang(ru) %{_mandir}/ru/man1/locale.1*
+%lang(ru) %{_mandir}/ru/man1/rpcgen.1*
+%lang(ru) %{_mandir}/ru/man5/locale.5*
 %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/ld*.8*
+%lang(ru) %{_mandir}/ru/man8/rpcinfo.8*
 %lang(ru) %{_mandir}/ru/man8/tzselect.8*
 %lang(ru) %{_mandir}/ru/man8/zdump.8*
 %lang(ru) %{_mandir}/ru/man8/zic.8*
+%lang(tr) %{_mandir}/tr/man1/iconv.1*
+%lang(tr) %{_mandir}/tr/man1/ldd.1*
 %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*
@@ -1362,11 +1547,6 @@ fi
 
 %files devel
 %defattr(644,root,root,755)
-%doc documentation/* NOTES PROJECTS
-%attr(755,root,root) %{_bindir}/gencat
-%attr(755,root,root) %{_bindir}/*prof*
-%attr(755,root,root) %{_bindir}/*trace
-
 %attr(755,root,root) %{_libdir}/lib[!cmp]*.so
 %attr(755,root,root) %{_libdir}/libcrypt.so
 %attr(755,root,root) %{_libdir}/libm.so
@@ -1390,16 +1570,23 @@ fi
 %{_libdir}/nptl/libc.so
 %{_libdir}/nptl/libpthread.so
 %{_libdir}/nptl/libpthread_nonshared.a
-%{_includedir}/nptl
 %endif
 
+%ifarch %{ix86} %{x8664} ppc ppc64 s390 s390x sparc sparcv9 sparc64
+%{_includedir}/gnu/stubs-*.h
+%endif
+
+%files headers
+%defattr(644,root,root,755)
 %{_includedir}/*.h
 %ifarch alpha
 %{_includedir}/alpha
 %endif
 %{_includedir}/arpa
 %{_includedir}/bits
-%{_includedir}/gnu
+%dir %{_includedir}/gnu
+%{_includedir}/gnu/lib*.h
+%{_includedir}/gnu/stubs.h
 %{_includedir}/net
 %{_includedir}/netash
 %{_includedir}/netatalk
@@ -1417,6 +1604,19 @@ fi
 %{_includedir}/scsi
 %{_includedir}/sys
 
+%if %{with dual}
+%{_includedir}/nptl
+%endif
+
+%files devel-utils
+%defattr(644,root,root,755)
+%attr(755,root,root) %{_bindir}/gencat
+%attr(755,root,root) %{_bindir}/*prof*
+%attr(755,root,root) %{_bindir}/*trace
+
+%files devel-doc
+%defattr(644,root,root,755)
+%doc documentation/* NOTES PROJECTS
 %{_infodir}/libc.info*
 
 %{_mandir}/man1/sprof.1*
@@ -1432,7 +1632,9 @@ fi
 %lang(nl) %{_mandir}/nl/man3/*
 %lang(pl) %{_mandir}/pl/man3/*
 %lang(pt) %{_mandir}/pt/man3/*
+%lang(ru) %{_mandir}/ru/man1/sprof.1*
 %lang(ru) %{_mandir}/ru/man3/*
+%lang(tr) %{_mandir}/tr/man3/*
 %lang(uk) %{_mandir}/uk/man3/*
 %lang(zh_CN) %{_mandir}/zh_CN/man3/*
 
@@ -1452,12 +1654,17 @@ fi
 %{_mandir}/man5/nscd.conf.5*
 %{_mandir}/man8/nscd.8*
 %{_mandir}/man8/nscd_nischeck.8*
+%lang(es) %{_mandir}/es/man5/nscd.conf.5*
+%lang(es) %{_mandir}/es/man8/nscd.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*
+%lang(ru) %{_mandir}/ru/man5/nscd.conf.5*
+%lang(ru) %{_mandir}/ru/man8/nscd.8*
+%lang(zh_CN) %{_mandir}/zh_CN/man5/nscd.conf.5*
 
 %files -n localedb-src
 %defattr(644,root,root,755)
@@ -1465,6 +1672,7 @@ fi
 %attr(755,root,root) %{_bindir}/localedb-gen
 %{_datadir}/i18n
 %{_mandir}/man1/localedef.1*
+%lang(ru) %{_mandir}/ru/man1/localedef.1*
 
 %if %{with localedb}
 %files localedb-all
This page took 0.084991 seconds and 4 git commands to generate.