# 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.17
+%define rel 2.19
Summary: GNU libc
Summary(de): GNU libc
Summary(fr): GNU libc
# 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
#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
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
%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 = %{epoch}:%{version}
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
http://sources.redhat.com/ml/libc-alpha/2000-12/msg00068.html
%prep
-%setup -q -a 1 -a 9
+%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
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
CPPFLAGS="-I$_headers_dir" \
--with-headers=$_headers_dir
%endif
-
+%endif
# problem compiling with --enable-bounded (must be reported to libc-alpha)
%{__make} %{?parallelmkflags}
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
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
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}
%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 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