%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
%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
%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
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
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
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
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)
%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.
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
ÔÁ ÏÂ'¤ËÔΦ ÆÁÊÌÉ, ÝÏ Í¦ÓÔÑÔØÓÑ × ÃØÏÍÕ ÐÁËÅÔ¦, ÃÏ ÓÔ×ÏÒÀ×ÁÔÉ
×ÉËÏÎÕ×ÁΦ ÆÁÊÌÉ.
+%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
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
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)
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
%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
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
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
Summary(pl): Zabawka
Group: Applications
Requires: %{name} = %{epoch}:%{version}-%{release}
-Requires: gd
%description memusage
A toy.
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.
%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
%patch4 -p1
%patch5 -p1
%patch6 -p1
-%patch7 -p1
+#%patch7 -p1 UPDATE/DROP (which kernels cause problems?)
%patch8 -p1
%patch9 -p1
%patch10 -p1
%patch26 -p1
%patch27 -p1
%{?with_cross:%patch28 -p1}
+%{?with_pax:%patch29 -p1}
+%patch30 -p1
+%patch31 -p1
+%patch32 -p1
chmod +x scripts/cpp
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}
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 \
#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
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
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/_.*//'`
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
# 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
/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
[ ! -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
%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
%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);
# 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*
%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
%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*
%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/*
%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*
%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
%{_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
%{_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*
%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/*
%{_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)
%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