#
# _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
+#
+# TODO:
+# - localedb-gen man pages(?)
+# - serious problem with upgrade (changing zoneinfo/posix/* dirs into symlinks)
+# are there any other solutions than revert???
#
-
%{!?min_kernel:%define min_kernel 2.2.0}
-
+%define rel 2.14
Summary: GNU libc
Summary(de): GNU libc
Summary(fr): GNU libc
+Summary(ja): GNU libc ¥é¥¤¥Ö¥é¥ê
Summary(pl): GNU libc
Summary(ru): GNU libc ×ÅÒÓÉÉ 2.3
Summary(tr): GNU libc
Summary(uk): GNU libc ×ÅÒÓ¦§ 2.3
Name: glibc
Version: 2.3.2
-Release: 2
+Release: %{rel}
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
Source2: nscd.init
Source3: nscd.sysconfig
Source4: nscd.logrotate
Source5: http://www.mif.pg.gda.pl/homepages/ankry/man-PLD/%{name}-man-pages.tar.bz2
+# Source5-md5: ddba280857330dabba4d8c16d24a6dfd
Source6: http://www.mif.pg.gda.pl/homepages/ankry/man-PLD/%{name}-non-english-man-pages.tar.bz2
+# Source6-md5: 2e3992c2e1bc94212c2cd33236de6058
# borrowed from util-linux
Source7: sln.8
+Source8: %{name}-localedb-gen
+# Kernel headers for userspace
+Source9: %{name}-kernheaders.tar.bz2
+# Source9-md5: b48fec281f854627d6b8781cd1dd72d2
Patch0: %{name}-info.patch
Patch2: %{name}-pld.patch
Patch3: %{name}-crypt-blowfish.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
URL: http://www.gnu.org/software/libc/
BuildRequires: binutils >= 2.13.90.0.2
BuildRequires: gcc >= 3.2
-BuildRequires: gd-devel >= 2.0.1
+%{!?_without_memusage:BuildRequires: gd-devel >= 2.0.1}
BuildRequires: gettext-devel >= 0.10.36
-%{!?_without_dist_kernel:BuildRequires: kernel-headers}
-BuildRequires: libpng-devel
-BuildRequires: perl
+%{!?_without_dist_kernel:BuildRequires: glibc-kernheaders}
+BuildRequires: perl-base
BuildRequires: rpm-build >= 4.0.2-46
BuildRequires: rpm-perlprov
BuildRequires: sed >= 4.0.5
Conflicts: rpm < 4.1
%define debugcflags -O1 -g
-#define parallelmkflags PARALLELMFLAGS="-j 4"
-%define parallelmkflags %{nil}
%description
Contains the standard libraries that are used by multiple programs on
libraries, the standard C library and the standard math library.
Without these, a Linux system will not function. It also contains
national language (locale) support and timezone databases.
-
-Compiled on: Linux kernel %{_kernel_ver_str}.
Can be used on: Linux kernel >= %{min_kernel}.
%description -l de
Standard-Math-Library, ohne die das Linux-System nicht funktioniert.
Ferner enthält es den Support für die verschiedenen Sprachgregionen
(locale) und die Zeitzonen-Datenbank.
-
-Compiled on: Linux kernel %{_kernel_ver_str}.
Can be used on: Linux kernel >= %{min_kernel}.
%description -l fr
système Linux ne peut fonctionner. Il contient aussi la gestion des
langues nationales (locales) et les bases de données des zones
horaires.
+Can be used on: Linux kernel >= %{min_kernel}.
-Compiled on: Linux kernel %{_kernel_ver_str}.
+%description -l ja
+glibc
+¥Ñ¥Ã¥±¡¼¥¸¤Ï¥·¥¹¥Æ¥à¾å¤ÎÊ£¿ô¤Î¥×¥í¥°¥é¥à¤Ç»È¤ï¤ì¤ëɸ½à¥é¥¤¥Ö¥é¥ê¤ò
+¤Õ¤¯¤ß¤Þ¤¹¡£¥Ç¥£¥¹¥¯¥¹¥Ú¡¼¥¹¤È¥á¥â¥ê¤òÀáÌó¤·¤¿¤ê¡¢¥¢¥Ã¥×¥°¥ì¡¼¥É¤ò
+ÍѰդˤ¹¤ë¤¿¤á¤Ë¡¢¶¦Ä̤Υ·¥¹¥Æ¥à¥³¡¼¥É¤Ï°ì¤Ä¤Î¾ì½ê¤Ë¤ª¤«¤ì¡¢¥×¥í¥°¥é¥à
+´Ö¤Ç¶¦Í¤µ¤ì¤Þ¤¹¡£¤³¤ÎÉôʬŪ¤Ê¥Ñ¥Ã¥±¡¼¥¸¤Ï¥·¥§¥¢¥É¥é¥¤¥Ö¥é¥ê¤Î¤«¤Ê¤ê
+½ÅÍפʥ»¥Ã¥È¤ò¤Õ¤¯¤ß¤Þ¤¹: ɸ½à C ¥é¥¤¥Ö¥é¥ê¤Èɸ½à¿ôÃͥ饤¥Ö¥é¥ê¤Ç¤¹¡£
+¤³¤ÎÆó¤Ä¤Î¥é¥¤¥Ö¥é¥êÈ´¤¤Ç¤Ï¡¢Linux ¥·¥¹¥Æ¥à¤Ïµ¡Ç½¤·¤Þ¤»¤ó¡£ glibc
+¥Ñ¥Ã¥±¡¼¥¸¤Ï¤Þ¤¿ÃÏ°è¸À¸ì (locale) ¥µ¥Ý¡¼¥È¤È¥¿¥¤¥à¥¾¡¼¥ó¥Ç¡¼¥¿¥Ù¡¼¥¹
+¥µ¥Ý¡¼¥È¤ò¤Õ¤¯¤ß¤Þ¤¹¡£
Can be used on: Linux kernel >= %{min_kernel}.
%description -l pl
matematycznych. Bez glibc system Linux nie jest w stanie funkcjonowaæ.
Znajduj± siê tutaj równie¿ definicje ró¿nych informacji dla wielu
jêzyków (locale) oraz definicje stref czasowych.
-
-Pakiet skompilowano na nag³ówkach j±dra Linuksa %{_kernel_ver_str}.
-Mo¿na go u¿ywaæ na j±drach Linuksa >= %{min_kernel}.
+Przeznaczony dla j±dra Linux >= %{min_kernel}.
%description -l ru
óÏÄÅÒÖÉÔ ÓÔÁÎÄÁÒÔÎÙÅ ÂÉÂÌÉÏÔÅËÉ, ÉÓÐÏÌØÚÕÅÍÙÅ ÍÎÏÇÏÞÉÓÌÅÎÎÙÍÉ
ÍÁÔÅÍÁÔÉËÉ. âÅÚ ÜÔÉÈ ÂÉÂÌÉÏÔÅË Linux ÆÕÎËÃÉÏÎÉÒÏ×ÁÔØ ÎÅ ÂÕÄÅÔ. ôÁËÖÅ
ÐÁËÅÔ ÓÏÄÅÒÖÉÔ ÐÏÄÄÅÒÖËÕ ÎÁÃÉÏÎÁÌØÎÙÈ ÑÚÙËÏ× (locale) É ÂÁÚÙ ÄÁÎÎÙÈ
×ÒÅÍÅÎÎÙÈ ÚÏÎ (timezone databases).
-
-Compiled on: Linux kernel %{_kernel_ver_str}.
Can be used on: Linux kernel >= %{min_kernel}.
%description -l tr
kitaplýklarý, standart C kitaplýðýný ve standart matematik kitaplýðýný
içerir. Bu kitaplýklar olmadan Linux sistemi çalýþmayacaktýr. Yerel
dil desteði ve zaman dilimi veri tabaný da bu pakette yer alýr.
-
-Compiled on: Linux kernel %{_kernel_ver_str}.
Can be used on: Linux kernel >= %{min_kernel}.
%description -l uk
¦Â̦ÏÔÅËÕ ÍÁÔÅÍÁÔÉËÉ. âÅÚ ÃÉÈ Â¦Â̦ÏÔÅË Linux ÆÕÎËæÏÎÕ×ÁÔÉ ÎÅ ÂÕÄÅ.
ôÁËÏÖ ÐÁËÅÔ Í¦ÓÔÉÔØ Ð¦ÄÔÒÉÍËÕ ÎÁæÏÎÁÌØÎÉÈ ÍÏ× (locale) ÔÁ ÂÁÚÉ ÄÁÎÎÉÈ
ÞÁÓÏ×ÉÈ ÚÏÎ (timezone databases).
-
-Compiled on: Linux kernel %{_kernel_ver_str}.
Can be used on: Linux kernel >= %{min_kernel}.
%package devel
Summary: Additional libraries required to compile
Summary(de): Weitere Libraries zum Kompilieren
Summary(fr): Librairies supplémentaires nécessaires à la compilation
+Summary(ja): ɸ½à C ¥é¥¤¥Ö¥é¥ê¤Ç»È¤ï¤ì¤ë¥Ø¥Ã¥À¡¼¤È¥ª¥Ö¥¸¥§¥¯¥È¥Õ¥¡¥¤¥ë
Summary(pl): Dodatkowe biblioteki wymagane podczas kompilacji
Summary(ru): äÏÐÏÌÎÉÔÅÌØÎÙÅ ÂÉÂÌÉÏÔÅËÉ, ÎÅÏÂÈÏÄÉÍÙÅ ÄÌÑ ËÏÍÐÉÌÑÃÉÉ
Summary(tr): Geliþtirme için gerekli diðer kitaplýklar
Summary(uk): äÏÄÁÔËÏצ ¦Â̦ÏÔÅËÉ, ÐÏÔÒ¦ÂΦ ÄÌÑ ËÏÍЦÌÑæ§
Group: Development/Libraries
-Requires: %{name} = %{version}
+Requires: %{name} = %{epoch}:%{version}
%description devel
To develop programs which use the standard C libraries (which nearly
C (ce que presque tous les programmes font), le système doit posséder
ces fichiers en-têtes et objets standards pour créer les exécutables.
+%description devel -l ja
+glibc-devel ¥Ñ¥Ã¥±¡¼¥¸¤Ï(¤Û¤È¤ó¤É¤¹¤Ù¤Æ¤Î¥×¥í¥°¥é¥à¤Ç»È¤ï¤ì¤ë)ɸ½à C
+¥é¥¤¥Ö¥é¥ê¤ò»ÈÍѤ·¤¿¥×¥í¥°¥é¥à¤ò³«È¯¤¹¤ë¤¿¤á¤Î¥Ø¥Ã¥À¡¼¤È¥ª¥Ö¥¸¥§¥¯¥È
+¥Õ¥¡¥¤¥ë¤ò´Þ¤ß¤Þ¤¹¡£¤â¤·É¸½à C
+¥é¥¤¥Ö¥é¥ê¤ò»ÈÍѤ¹¤ë¥×¥í¥°¥é¥à¤ò³«È¯¤¹¤ë¤Ê¤é
+¼Â¹Ô¥Õ¥¡¥¤¥ë¤òºîÀ®¤¹¤ëÌÜŪ¤Ç¤³¤ì¤é¤Îɸ½à¥Ø¥Ã¥À¤È¥ª¥Ö¥¸¥§¥¯¥È¥Õ¥¡¥¤¥ë
+¤¬»ÈÍѤǤ¤Þ¤¹¡£
+
%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
ÔÁ ÏÂ'¤ËÔΦ ÆÁÊÌÉ, ÝÏ Í¦ÓÔÑÔØÓÑ × ÃØÏÍÕ ÐÁËÅÔ¦, ÃÏ ÓÔ×ÏÒÀ×ÁÔÉ
×ÉËÏÎÕ×ÁΦ ÆÁÊÌÉ.
-
%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 the glibc has been built with (Linux %{_kernel_ver_str}).
+Kernel header files for userspace.
%description kernel-headers -l pl
-Pliki nag³ówkowe j±dra, z którymi zosta³a zbudowana ta wersja glibc (Linux %{_kernel_ver_str}).
+Pliki nag³ówkowe j±dra dla przestrzeni u¿ytkownika
%package -n nscd
Summary: Name Service Caching Daemon
+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} = %{version}
+Requires: %{name} = %{epoch}:%{version}
%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 ja
+Nscd ¤Ï¥Í¡¼¥à¥µ¡¼¥Ó¥¹»²¾È¤ò¥¥ã¥Ã¥·¥å¤·¡¢NIS+ ¤Î¥Ñ¥Õ¥©¡¼¥Þ¥ó¥¹¤ò
+¥É¥é¥Þ¥Æ¥£¥Ã¥¯¤Ë²þÁ±¤¹¤ë¤³¤È¤¬¤Ç¤¡¢DNS ¤òƱÍͤËÊä½õ¤·¤Þ¤¹¡£ 2.0
+¥«¡¼¥Í¥ë¤Ç nscd ¤ò»ÈÍѤ¹¤ë¤³¤È¤Ï¤Ç¤¤Ê¤¤¤³¤È¤ËÃí°Õ¤·¤Æ¤¯¤À¤µ¤¤¡£
+¤½¤ì¤Ï¡¢¥«¡¼¥Í¥ë¦¤Î¥¹¥ì¥Ã¥É¥µ¥Ý¡¼¥È¤Ë¥Ð¥°¤¬¤¢¤ë¤«¤é¤Ç¤¹¡£ÉÔ¹¬¤Ê¤³¤È¤Ë¡¢
+nscd ¤Ï¤³¤ì¤é¤Î¥Ð¥°¤ËÆäˤϤ²¤·¤¯¤¢¤¿¤Ã¤Æ¤·¤Þ¤¤¤Þ¤¹¡£
+
%description -n nscd -l pl
nscd zapamiêtuje zapytania i odpowiedzi NIS oraz DNS. Pozwala
drastycznie poprawiæ szybko¶æ dzia³ania NIS+. Nie jest mo¿liwe
%package -n localedb-src
Summary: locale database source code
Summary(pl): Kod ¼ród³owy bazy locale
+Release: %{rel}
Group: Daemons
-Requires: %{name} = %{version}
+Requires: %{name} = %{epoch}:%{version}
%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. glibc
-package contains standard set of locale binary database so you need
-this package only when you want to build some non-standard locale
-database.
+files to use the internationalization features of the 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
-libc. glibc zawiera standardowy zestaw binarnych baz lokalizacyjnych,
-w zwi±zku z czym ten pakiet jest potrzebny tylko w sytuacji budowania
-jakiej¶ niestandardowej bazy.
+libc.
+
+%package localedb-all
+Summary: locale database for all locales supported by glibc
+Summary(pl): Baza danych locale dla wszystkich lokalizacji obs³ugiwanych przez glibc
+Release: %{rel}
+Group: Libraries
+Requires: %{name} = %{epoch}:%{version}
+
+%description localedb-all
+This package contains locale database for all locales supported by
+glibc. In glibc 2.3.x it's one large file (about 19MB) - if you want
+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 pl
+Ten pakiet zawiera bazê danych locale dla wszystkich lokalizacji
+obs³ugiwanych przez glibc. W glibc 2.3.x jest to jeden du¿y plik
+(oko³o 19MB); aby mieæ co¶ mniejszego, z obs³ug± tylko wybranych
+lokalizacji, nale¿y zainstalowaæ pakiet localedb-src i przegenerowaæ
+bazê danych przy u¿yciu skryptu localedb-gen (po wygenerowaniu bazy
+pakiet localedb-src mo¿na odinstalowaæ).
%package -n iconv
Summary: Convert encoding of given files from one encoding to another
Summary(pl): Program do konwersji plików tekstowych z jednego kodowania do innego
+Release: %{rel}
Group: Applications/Text
-Requires: %{name} = %{version}
+Requires: %{name} = %{epoch}:%{version}
%description -n iconv
Convert encoding of given files from one encoding to another. You need
Summary(pl): Biblioteki statyczne
Summary(ru): óÔÁÔÉÞÅÓËÉÅ ÂÉÂÌÉÏÔÅËÉ glibc
Summary(uk): óÔÁÔÉÞΦ ¦Â̦ÏÔÅËÉ glibc
+Release: %{rel}
Group: Development/Libraries
-Requires: %{name}-devel = %{version}
+Requires: %{name}-devel = %{epoch}:%{version}
%description static
GNU libc static libraries.
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 = %{version}
+Requires: %{name}-devel = %{epoch}:%{version}
%description profile
When programs are being profiled used gprof, they must use these
%package pic
Summary: glibc PIC archive
Summary(pl): archiwum PIC glibc
+Release: %{rel}
Group: Development/Libraries/Libc
-Requires: %{name}-devel = %{version}
+Requires: %{name}-devel = %{epoch}:%{version}
%description pic
GNU C Library PIC archive contains an archive library (ar file)
%package -n nss_compat
Summary: Old style NYS NSS glibc module
Summary(pl): Stary modu³ NYS NSS glibc
+Release: %{rel}
Group: Base
-Requires: %{name} = %{version}
+Requires: %{name} = %{epoch}:%{version}
%description -n nss_compat
Old style NYS NSS glibc module.
%package -n nss_dns
Summary: BIND NSS glibc module
Summary(pl): Modu³ BIND NSS glibc
+Release: %{rel}
Group: Base
-Requires: %{name} = %{version}
+Requires: %{name} = %{epoch}:%{version}
%description -n nss_dns
BIND NSS glibc module.
%package -n nss_files
Summary: Traditional files databases NSS glibc module
Summary(pl): Modu³ tradycyjnych plikowych baz danych NSS glibc
+Release: %{rel}
Group: Base
-Requires: %{name} = %{version}
+Requires: %{name} = %{epoch}:%{version}
%description -n nss_files
Traditional files databases NSS glibc module.
%package -n nss_hesiod
Summary: Hesiod NSS glibc module
Summary(pl): Modu³ hesiod NSS glibc
+Release: %{rel}
Group: Base
-Requires: %{name} = %{version}
+Requires: %{name} = %{epoch}:%{version}
%description -n nss_hesiod
glibc NSS (Name Service Switch) module for databases access.
%package -n nss_nis
Summary: NIS(YP) NSS glibc module
Summary(pl): Modu³ NIS(YP) NSS glibc
+Release: %{rel}
Group: Base
-Requires: %{name} = %{version}
+Requires: %{name} = %{epoch}:%{version}
%description -n nss_nis
glibc NSS (Name Service Switch) module for NIS(YP) databases access.
%package -n nss_nisplus
Summary: NIS+ NSS module
Summary(pl): Modu³ NIS+ NSS
+Release: %{rel}
Group: Base
-Requires: %{name} = %{version}
+Requires: %{name} = %{epoch}:%{version}
%description -n nss_nisplus
glibc NSS (Name Service Switch) module for NIS+ databases accesa.
%package memusage
Summary: A toy
Summary(pl): Zabawka
+Release: %{rel}
Group: Applications
-Requires: %{name} = %{version}
+Requires: %{name} = %{epoch}:%{version}
Requires: gd
%description memusage
%description memusage -l pl
Zabawka.
+%package zoneinfo_right
+Summary: Non-POSIX (real) time zones
+Summary(pl): Nie-POSIX-owe (prawdziwe) strefy czasowe
+Release: %{rel}
+Group: Libraries
+Requires: %{name} = %{epoch}:%{version}
+
+%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 pl
+Nie potrzebujesz tego. Szczegó³y pod:
+http://sources.redhat.com/ml/libc-alpha/2000-12/msg00068.html
+
%prep
%setup -q -a 1
%patch0 -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
chmod +x scripts/cpp
# standardize name
mv -f localedata/locales/{lug_UG,lg_UG}
+#make proper symlink for asm in headers
+#cd usr/include
+#%ifarch %{ix86}
+#ln -s asm-i386 asm
+#%endif
+#cd ../..
+
%build
+#_headers_dir=`pwd`/usr/include; export _headers_dir;
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 \
--enable-kernel="%{?kernel:%{kernel}}%{!?kernel:%{min_kernel}}" \
--enable-profile \
- --disable-omitfp \
- --with-headers=%{_kernelsrcdir}/include
+ --%{?_without_fp:en}%{!?_without_fp:dis}able-omitfp \
+# --with-headers=$_headers_dir
# problem compiling with --enable-bounded (must be reported to libc-alpha)
-%{__make} %{parallelmkflags}
+%{__make} %{?parallelmkflags}
%install
rm -rf $RPM_BUILD_ROOT
env LANGUAGE=C LC_ALL=C \
%{__make} install \
- %{parallelmkflags} \
+ %{?parallelmkflags} \
install_root=$RPM_BUILD_ROOT \
infodir=%{_infodir} \
mandir=%{_mandir}
env LANGUAGE=C LC_ALL=C \
%{__make} localedata/install-locales \
- %{parallelmkflags} \
+ %{?parallelmkflags} \
install_root=$RPM_BUILD_ROOT
PICFILES="libc_pic.a libc.map
install elf/postshell $RPM_BUILD_ROOT/sbin
-mv -f $RPM_BUILD_ROOT/lib/libmemusage.so $RPM_BUILD_ROOT%{_libdir}
+%{!?_without_memusage:mv -f $RPM_BUILD_ROOT/lib/libmemusage.so $RPM_BUILD_ROOT%{_libdir}}
mv -f $RPM_BUILD_ROOT/lib/libpcprofile.so $RPM_BUILD_ROOT%{_libdir}
%{__make} -C ../linuxthreads/man
install ../linuxthreads/man/*.3thr $RPM_BUILD_ROOT%{_mandir}/man3
-rm -rf $RPM_BUILD_ROOT%{_datadir}/zoneinfo/{localtime,posixtime,posixrules}
+rm -rf $RPM_BUILD_ROOT%{_datadir}/zoneinfo/{localtime,posixtime,posixrules,posix/*}
+
+cd $RPM_BUILD_ROOT%{_datadir}/zoneinfo
+for i in [A-Z]*; do
+ ln -s ../$i posix
+done
+cd -
ln -sf %{_sysconfdir}/localtime $RPM_BUILD_ROOT%{_datadir}/zoneinfo/localtime
ln -sf localtime $RPM_BUILD_ROOT%{_datadir}/zoneinfo/posixtime
lang=`echo $lang | sed "s,\..*,,"`
else
lang=`echo $lang | sed "s,_.*,,"`
- fi
- fi
+ fi
+ fi
dir=`echo $i | sed "s#$RPM_BUILD_ROOT##"`
echo "%lang($lang) $dir" >> ../glibc.lang
fi
done
# XXX: to be added when become supported by glibc
-# am,bn (present in sources, but incomplete and disabled) (used by GNOME)
+# am,bn,ml (present in sources, but incomplete and disabled) (used by GNOME)
# kn,mn,ia (used by GNOME)
# nso,ss,ven,xh,zu (used by KDE)
for i in af ar az be bg br bs cy de_AT el en eo es_AR et eu fa fi ga gr he hi \
hr hu id is ja_JP.SJIS ka lg lt lv mk ms mt nn pt ro ru se sl sq sr \
- sr@cyrillic ta tg th uk uz vi wa zh_CN ; do
+ sr@cyrillic ta tg th uk uz vi wa yi zh_CN ; 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/_.*//'`
done
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
rm -f $RPM_BUILD_ROOT%{_mandir}/README.*
rm -f $RPM_BUILD_ROOT%{_mandir}/diff.*
rm -f $RPM_BUILD_ROOT%{_libdir}/pt_chown
# copy actual kernel headers for glibc-kernel-headers
-%{__mkdir} -p $RPM_BUILD_ROOT%{_includedir}
-%{__cp} -Hr %{_kernelsrcdir}/include/{asm,linux} $RPM_BUILD_ROOT%{_includedir}
+#%{__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
%clean
rm -rf $RPM_BUILD_ROOT
/sbin/ldconfig
-/sbin/telinit u
-%postun -p /sbin/postshell
+%postun -p /sbin/postshell
/sbin/ldconfig
-/sbin/telinit u
%postun devel
[ ! -x /usr/sbin/fix-info-dir ] || /usr/sbin/fix-info-dir -c %{_infodir} >/dev/null 2>&1
-%pre kernel-headers
+#%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
+#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
%dir %{_datadir}/locale
%{_datadir}/locale/locale.alias
%{_datadir}/zoneinfo
+%exclude %{_datadir}/zoneinfo/right
%dir %{_libdir}/locale
-%{_libdir}/locale/locale-archive
%{_mandir}/man1/[!lsg]*
%{_mandir}/man1/getent.1*
%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*
%defattr(644,root,root,755)
%attr(755,root,root) /lib/libnss_nisplus*.so*
+%if %{?_without_memusage:0}%{!?_without_memusage:1}
%files memusage
%defattr(644,root,root,755)
%attr(755,root,root) %{_bindir}/memusage*
%attr(755,root,root) %{_libdir}/libmemusage*
+%endif
%files devel
%defattr(644,root,root,755)
%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 kernel-headers
+#%defattr(644,root,root,755)
+#%{_includedir}/asm*
+#%{_includedir}/linux
%files -n nscd
%defattr(644,root,root,755)
%files -n localedb-src
%defattr(644,root,root,755)
%attr(755,root,root) %{_bindir}/localedef
+%attr(755,root,root) %{_bindir}/localedb-gen
%{_datadir}/i18n
%{_mandir}/man1/localedef*
+%config(noreplace) %verify(not size mtime md5) /etc/sysconfig/localedb
+
+%files localedb-all
+%defattr(644,root,root,755)
+%{_libdir}/locale/locale-archive
%files -n iconv
%defattr(644,root,root,755)