# _without_fp build without frame pointer (pass --enable-omitfp)
# _without_memusage build without memusage
#
+# _with_kernheaders use "kernheaders" as user-space kernel headers
+# (instead of copying from kernel-headers 2.4.x)
+# [broken at the moment]
+#
# TODO:
# - localedb-gen man pages(?)
# - serious problem with upgrade (changing zoneinfo/posix/* dirs into symlinks)
# are there any other solutions than revert???
#
+# WARNING:
+# posix zoneinfo dir removed, /etc/rc.d/init.d/timezone must be changed
+# in order to use this version!
+#
+%bcond_with nptl # enable new posix thread library (req: kernel 2.5/2.6)
+ # instead of linuxthreads
+
+%if %{with nptl}
+%define min_kernel 2.5.65
+%endif
+
%{!?min_kernel:%define min_kernel 2.2.0}
+%define rel 2.19
Summary: GNU libc
Summary(de): GNU libc
Summary(fr): GNU libc
Summary(uk): GNU libc ×ÅÒÓ¦§ 2.3
Name: glibc
Version: 2.3.2
-Release: 2.9
+Release: %{rel}
Epoch: 6
License: LGPL
Group: Libraries
# borrowed from util-linux
Source7: sln.8
Source8: %{name}-localedb-gen
+# Kernel headers for userspace
+Source9: %{name}-kernheaders.tar.bz2
+# Source9-md5: b48fec281f854627d6b8781cd1dd72d2
+Source10: ftp://people.redhat.com/drepper/nptl/nptl-0.57.tar.bz2
+# Source10-md5: 82472303a736b53812906f97548e54f1
Patch0: %{name}-info.patch
Patch2: %{name}-pld.patch
Patch3: %{name}-crypt-blowfish.patch
Patch18: %{name}-lthrds_noomit.patch
Patch19: %{name}-no_opt_override.patch
Patch20: %{name}-gcc33.patch
+#Patch21: %{name}-sanity.patch
+Patch22: %{name}-secureexec.patch
+Patch23: %{name}-kernel_includes.patch
+Patch24: %{name}-sparc64_pause.patch
+Patch25: %{name}-linuxthreads.patch
URL: http://www.gnu.org/software/libc/
BuildRequires: binutils >= 2.13.90.0.2
BuildRequires: gcc >= 3.2
%{!?_without_memusage:BuildRequires: gd-devel >= 2.0.1}
-%{!?_without_memusage:BuildRequires: XFree86-devel}
-%{!?_without_memusage:BuildRequires: libpng-devel}
BuildRequires: gettext-devel >= 0.10.36
-%{!?_without_dist_kernel:BuildRequires: kernel-headers}
+%if 0%{!?_with_kernheaders:1}
+%{!?_without_dist_kernel:BuildRequires: kernel-headers < 2.5}
+%endif
BuildRequires: perl-base
BuildRequires: rpm-build >= 4.0.2-46
BuildRequires: rpm-perlprov
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
%define debugcflags -O1 -g
+%ifarch sparc64
+%define _without_memusage 1
+%define specflags_sparc64 -mvis -fcall-used-g6
+%endif
%description
Contains the standard libraries that are used by multiple programs on
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}.
+Can be used on: Linux kernel >= %{min_kernel}.
%description -l de
Enthält die Standard-Libraries, die von verschiedenen Programmen im
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}.
+Can be used on: Linux kernel >= %{min_kernel}.
%description -l fr
Contient les bibliothèques standards utilisées par de nombreux
langues nationales (locales) et les bases de données des zones
horaires.
-Compiled on: Linux kernel %{_kernel_ver_str}. Can be used on: Linux
-kernel >= %{min_kernel}.
+Can be used on: Linux kernel >= %{min_kernel}.
%description -l ja
glibc
¥Ñ¥Ã¥±¡¼¥¸¤Ï¤Þ¤¿ÃÏ°è¸À¸ì (locale) ¥µ¥Ý¡¼¥È¤È¥¿¥¤¥à¥¾¡¼¥ó¥Ç¡¼¥¿¥Ù¡¼¥¹
¥µ¥Ý¡¼¥È¤ò¤Õ¤¯¤ß¤Þ¤¹¡£
+Can be used on: Linux kernel >= %{min_kernel}.
+
%description -l pl
W pakiecie znajduj± siê podstawowe biblioteki, u¿ywane przez ró¿ne
programy w Twoim systemie. U¿ywanie przez programy bibliotek z tego
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
óÏÄÅÒÖÉÔ ÓÔÁÎÄÁÒÔÎÙÅ ÂÉÂÌÉÏÔÅËÉ, ÉÓÐÏÌØÚÕÅÍÙÅ ÍÎÏÇÏÞÉÓÌÅÎÎÙÍÉ
ÐÁËÅÔ ÓÏÄÅÒÖÉÔ ÐÏÄÄÅÒÖËÕ ÎÁÃÉÏÎÁÌØÎÙÈ ÑÚÙËÏ× (locale) É ÂÁÚÙ ÄÁÎÎÙÈ
×ÒÅÍÅÎÎÙÈ ÚÏÎ (timezone databases).
-Compiled on: Linux kernel %{_kernel_ver_str}. Can be used on: Linux
-kernel >= %{min_kernel}.
+Can be used on: Linux kernel >= %{min_kernel}.
%description -l tr
Bu paket, birçok programýn kullandýðý standart kitaplýklarý içerir.
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}.
+Can be used on: Linux kernel >= %{min_kernel}.
%description -l uk
í¦ÓÔÉÔØ ÓÔÁÎÄÁÒÔΦ ¦Â̦ÏÔÅËÉ, ËÏÔÒ¦ ×ÉËÏÒÉÓÔÏ×ÕÀÔØÓÑ ÞÉÓÌÅÎÎÉÍÉ
ôÁËÏÖ ÐÁËÅÔ Í¦ÓÔÉÔØ Ð¦ÄÔÒÉÍËÕ ÎÁæÏÎÁÌØÎÉÈ ÍÏ× (locale) ÔÁ ÂÁÚÉ ÄÁÎÎÉÈ
ÞÁÓÏ×ÉÈ ÚÏÎ (timezone databases).
-Compiled on: Linux kernel %{_kernel_ver_str}. Can be used on: Linux
-kernel >= %{min_kernel}.
+Can be used on: Linux kernel >= %{min_kernel}.
%package devel
Summary: Additional libraries required to compile
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
%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(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
%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
%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} = %{version}
+Requires: %{name} = %{epoch}:%{version}
%description localedb-all
This package contains locale database for all locales supported by
%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
+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.
Modu³ tradycyjnych plikowych baz danych NSS glibc.
%package -n nss_hesiod
-Summary: Hesiod NSS glibc module
+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
%package zoneinfo_right
Summary: Non-POSIX (real) time zones
Summary(pl): Nie-POSIX-owe (prawdziwe) strefy czasowe
+Release: %{rel}
Group: Libraries
-Requires: %{name} = %{version}
+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
%prep
-%setup -q -a 1
+%setup -q -a 9
+%if %{with nptl}
+%{__tar} xfj %{SOURCE10}
+%else
+%{__tar} xfj %{SOURCE1}
+%endif
%patch0 -p1
%patch2 -p1
%patch3 -p1
%patch4 -p1
-%patch5 -p1
-%patch6 -p1
%patch9 -p1
%patch10 -p1
#%%patch11 -p1
%patch14 -p1
%patch16 -p1
%patch17 -p1
-%patch18 -p1
# don't know, if it is good idea, for brave ones
#%patch19 -p1
%patch20 -p1
+#%patch21 -p1
+%patch22 -p1
+%{!?_with_kernheaders:%patch23}
+%patch24 -p1
+# updated - lt
+
+%if %{without nptl}
+%patch5 -p1
+%patch6 -p1
+%patch25 -p1
+%patch18 -p1
+%endif
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
+# 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 \
- --enable-add-ons=linuxthreads \
--enable-kernel="%{?kernel:%{kernel}}%{!?kernel:%{min_kernel}}" \
--enable-profile \
--%{?_without_fp:en}%{!?_without_fp:dis}able-omitfp \
+%if %{with nptl}
+ CPPFLAGS="-I%{_kernelsrcdir}/include" \
+ --with-headers=%{_kernelsrcdir}/include
+ --enable-add-ons=nptl \
+%else
+ --enable-add-ons=linuxthreads \
+%if 0%{!?_with_kernheaders:1}
+ CPPFLAGS="-I%{_kernelsrcdir}/include" \
--with-headers=%{_kernelsrcdir}/include
+%else
+ CPPFLAGS="-I$_headers_dir" \
+ --with-headers=$_headers_dir
+%endif
+%endif
# problem compiling with --enable-bounded (must be reported to libc-alpha)
%{__make} %{?parallelmkflags}
rm -rf $RPM_BUILD_ROOT
install -d $RPM_BUILD_ROOT{/etc/{logrotate.d,rc.d/init.d,sysconfig},%{_mandir}/man{3,8},/var/log}
+_headers_dir=`pwd`/usr/include; export _headers_dir;
+
cd builddir
env LANGUAGE=C LC_ALL=C \
install elf/postshell $RPM_BUILD_ROOT/sbin
-%{!?_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}
+%{!?_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,posix/*}
-cd $RPM_BUILD_ROOT%{_datadir}/zoneinfo
-for i in [A-Z]*; do
- ln -s ../$i posix
-done
-cd -
+#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
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):
-%{!?debug:strip -g -R .comment -R .note $RPM_BUILD_ROOT/lib/ld-%{version}.so}
+%{!?debug:strip -g -R .comment -R .note $RPM_BUILD_ROOT/lib*/ld-%{version}.so}
# 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
# list of long %%lang values we do support
- for j in de_AT de_BE de_CH de_LU es_AR ja_JP.SJIS ko_KR.utf8 pt_BR \
+ for j in de_AT de_BE de_CH de_LU es_AR es_MX ja_JP.SJIS ko_KR.utf8 pt_BR \
zh_CN zh_CN.gbk zh_HK zh_TW ; do
if [ $j = "$lang" ]; then
twochar=
done
# XXX: to be added when become supported by glibc
# am,bn,ml (present in sources, but incomplete and disabled) (used by GNOME)
-# kn,mn,ia (used by GNOME)
+# ia,kn,li,mn,sr@Latn (used by GNOME)
+# note: GNOME2 uses sr as cyrillic!
# 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 yi zh_CN ; do
+for i in af ar az be bg br bs cy de_AT el en en_AU eo es_AR es_MX 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 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/_.*//'`
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}
%{__mkdir} -p $RPM_BUILD_ROOT%{_includedir}
%{__cp} -Hr %{_kernelsrcdir}/include/{asm,linux} $RPM_BUILD_ROOT%{_includedir}
+if [ -d %{_kernelsrcdir}/include/asm-generic ] ; then
+ %{__cp} -Hr %{_kernelsrcdir}/include/asm-generic $RPM_BUILD_ROOT%{_includedir}
+fi
+%else
+%{__cp} -Hr $_headers_dir/{asm,linux} $RPM_BUILD_ROOT%{_includedir}
+%endif
%clean
rm -rf $RPM_BUILD_ROOT
%post -n nscd
/sbin/chkconfig --add nscd
-touch /var/log/nscd && (chmod 000 /var/log/nscd; chown root.root /var/log/nscd; chmod 640 /var/log/nscd)
+touch /var/log/nscd
+chmod 000 /var/log/nscd
+chown root:root /var/log/nscd
+chmod 640 /var/log/nscd
if [ -f /var/lock/subsys/nscd ]; then
/etc/rc.d/init.d/nscd restart 1>&2
else
%attr(755,root,root) %{_sbindir}/zdump
%attr(755,root,root) %{_sbindir}/zic
-%attr(755,root,root) /lib/ld-*
-%attr(755,root,root) /lib/libanl*
-%attr(755,root,root) /lib/libdl*
-%attr(755,root,root) /lib/libnsl*
-%attr(755,root,root) /lib/lib[BScmprtu]*
+%attr(755,root,root) /lib*/ld-*
+%attr(755,root,root) /lib*/libanl*
+%attr(755,root,root) /lib*/libdl*
+%attr(755,root,root) /lib*/libnsl*
+%attr(755,root,root) /lib*/lib[BScmprtu]*
%dir %{_datadir}/locale
%{_datadir}/locale/locale.alias
%{_datadir}/zoneinfo
%exclude %{_datadir}/zoneinfo/right
-%dir %{_libdir}/locale
+%dir %{_libdir}*/locale
%{_mandir}/man1/[!lsg]*
%{_mandir}/man1/getent.1*
#%files -n nss_dns
%defattr(644,root,root,755)
-%attr(755,root,root) /lib/libnss_dns*.so*
+%attr(755,root,root) /lib*/libnss_dns*.so*
#%files -n nss_files
%defattr(644,root,root,755)
-%attr(755,root,root) /lib/libnss_files*.so*
+%attr(755,root,root) /lib*/libnss_files*.so*
%files zoneinfo_right
%defattr(644,root,root,755)
%files -n nss_compat
%defattr(644,root,root,755)
-%attr(755,root,root) /lib/libnss_compat*.so*
+%attr(755,root,root) /lib*/libnss_compat*.so*
%files -n nss_hesiod
%defattr(644,root,root,755)
-%attr(755,root,root) /lib/libnss_hesiod*.so*
+%attr(755,root,root) /lib*/libnss_hesiod*.so*
%files -n nss_nis
%defattr(644,root,root,755)
-%attr(755,root,root) /lib/libnss_nis.so.*
-%attr(755,root,root) /lib/libnss_nis-*.so
+%attr(755,root,root) /lib*/libnss_nis.so.*
+%attr(755,root,root) /lib*/libnss_nis-*.so
%files -n nss_nisplus
%defattr(644,root,root,755)
-%attr(755,root,root) /lib/libnss_nisplus*.so*
+%attr(755,root,root) /lib*/libnss_nisplus*.so*
%if %{?_without_memusage:0}%{!?_without_memusage:1}
%files memusage
%defattr(644,root,root,755)
%attr(755,root,root) %{_bindir}/memusage*
-%attr(755,root,root) %{_libdir}/libmemusage*
+%attr(755,root,root) %{_libdir}*/libmemusage*
%endif
%files devel
%{_infodir}/libc.info*
-%attr(755,root,root) %{_libdir}/lib[!m]*.so
-%attr(755,root,root) %{_libdir}/libm.so
-%attr(755,root,root) %{_libdir}/*crt*.o
-%{_libdir}/libbsd-compat.a
-%{_libdir}/libbsd.a
-%{_libdir}/libc_nonshared.a
-%{_libdir}/libg.a
-%{_libdir}/libieee.a
-%{_libdir}/libpthread_nonshared.a
-%{_libdir}/librpcsvc.a
+%attr(755,root,root) %{_libdir}*/lib[!m]*.so
+%attr(755,root,root) %{_libdir}*/libm.so
+%attr(755,root,root) %{_libdir}*/*crt*.o
+%{_libdir}*/libbsd-compat.a
+%{_libdir}*/libbsd.a
+%{_libdir}*/libc_nonshared.a
+%{_libdir}*/libg.a
+%{_libdir}*/libieee.a
+%{_libdir}*/libpthread_nonshared.a
+%{_libdir}*/librpcsvc.a
%{_mandir}/man1/getconf*
%{_mandir}/man1/sprof*
%files kernel-headers
%defattr(644,root,root,755)
-%{_includedir}/asm
+%{_includedir}/asm*
%{_includedir}/linux
%files -n nscd
%files localedb-all
%defattr(644,root,root,755)
-%{_libdir}/locale/locale-archive
+%{_libdir}*/locale/locale-archive
%files -n iconv
%defattr(644,root,root,755)
%attr(755,root,root) %{_sbindir}/iconvconfig
-%dir %{_libdir}/gconv
-%{_libdir}/gconv/gconv-modules
-%attr(755,root,root) %{_libdir}/gconv/*.so
+%dir %{_libdir}*/gconv
+%{_libdir}*/gconv/gconv-modules
+%attr(755,root,root) %{_libdir}*/gconv/*.so
%files static
%defattr(644,root,root,755)
-%{_libdir}/libanl.a
-%{_libdir}/libBrokenLocale.a
-%{_libdir}/libc.a
-%{_libdir}/libcrypt.a
-%{_libdir}/libdl.a
-%{_libdir}/libm.a
-%{_libdir}/libmcheck.a
-%{_libdir}/libnsl.a
-%{_libdir}/libpthread.a
-%{_libdir}/libresolv.a
-%{_libdir}/librt.a
-%{_libdir}/libutil.a
+%{_libdir}*/libanl.a
+%{_libdir}*/libBrokenLocale.a
+%{_libdir}*/libc.a
+%{_libdir}*/libcrypt.a
+%{_libdir}*/libdl.a
+%{_libdir}*/libm.a
+%{_libdir}*/libmcheck.a
+%{_libdir}*/libnsl.a
+%{_libdir}*/libpthread.a
+%{_libdir}*/libresolv.a
+%{_libdir}*/librt.a
+%{_libdir}*/libutil.a
%files profile
%defattr(644,root,root,755)
-%{_libdir}/lib*_p.a
+%{_libdir}*/lib*_p.a
%files pic
%defattr(644,root,root,755)
-%{_libdir}/lib*_pic.a
-%{_libdir}/lib*.map
-%{_libdir}/soinit.o
-%{_libdir}/sofini.o
+%{_libdir}*/lib*_pic.a
+%{_libdir}*/lib*.map
+%{_libdir}*/soinit.o
+%{_libdir}*/sofini.o