Summary(uk.UTF-8): GNU libc версії
Name: glibc
Version: 2.7
-Release: 7
+Release: 8.2
Epoch: 6
License: LGPL v2.1+
Group: Libraries
%else
BuildRequires: binutils >= 2:2.15.90.0.3
%endif
-BuildRequires: gcc >= 5:3.4
+AutoReq: false
+%{!?with_cross:BuildRequires: dietlibc-static}
BuildRequires: gawk
+BuildRequires: gcc >= 5:3.4
%{?with_memusage:BuildRequires: gd-devel >= 2.0.1}
BuildRequires: gettext-devel >= 0.10.36
-%{!?with_cross:BuildRequires: dietlibc-static}
%{?with_selinux:BuildRequires: libselinux-devel >= 1.18}
BuildRequires: linux-libc-headers >= %{llh_version}
BuildRequires: perl-base
BuildRequires: rpm-build >= 4.3-0.20030610.28
BuildRequires: rpm-perlprov
-BuildRequires: rpmbuild(macros) >= 1.396
+BuildRequires: rpmbuild(macros) >= 1.412
BuildRequires: sed >= 4.0.5
BuildRequires: texinfo
-AutoReq: false
+Requires(post): ldconfig = %{epoch}:%{version}-%{release}
Requires: %{name}-misc = %{epoch}:%{version}-%{release}
Requires: basesystem
Requires: uname(release) >= %{min_kernel}
-Provides: /sbin/ldconfig
Provides: glibc(nptl)
Provides: glibc(tls)
-Provides: ldconfig
Provides: rtld(GNU_HASH)
Obsoletes: glibc-common
Obsoletes: glibc-debug
-Obsoletes: ldconfig
%ifarch %{x8664} sparc64 ppc64
Provides: glibc64
Obsoletes: glibc64
%endif
+Conflicts: SysVinit < 2.86-11
Conflicts: kernel < %{min_kernel}
Conflicts: kernel24
Conflicts: kernel24-smp
%define filterout_ld (-Wl,)?-[sS] (-Wl,)?--strip.*
%define specflags_sparc64 -mcpu=ultrasparc -mvis -fcall-used-g6
+# ld.so needs not to be stripped to work
+# gdb needs unstripped libpthread for some threading support
+# ...but we can strip at least debuginfo from them
+%define _autostripdebug .*/ld-[0-9.]*so\|.*/libpthread-[0-9.]*so
+
# -m from CFLAGS or even LDFLAGS is not propagated to some *.o linking
%ifarch sparc sparcv9
%{expand:%%define __cc %{__cc} -m32}
Summary(pl.UTF-8): Narzędzia i dane używane przez glibc
Group: Applications/System
AutoReq: false
-Requires(pre): %{name} = %{epoch}:%{version}-%{release}
Requires: %{name} = %{epoch}:%{version}-%{release}
%description misc
%description misc -l pl.UTF-8
Narzędzia i dane używane przez glibc.
+%package -n ldconfig
+Summary: Create shared library cache and maintains symlinks
+Summary(de.UTF-8): Erstellt ein shared library cache und verwaltet symlinks
+Summary(fr.UTF-8): Crée un cache de bibliothčque partagée et gčre *.so
+Summary(pl.UTF-8): Tworzenie cache'u bibliotek dynamicznych i ich dowiązań symbolicznych
+Summary(tr.UTF-8): Ortak kitaplýk önbelleđi yaratýr ve bađlantýlarý kurar
+Group: Applications/System
+# This is needed because previous package (glibc) had autoreq false and had
+# provided this manually. Probably poldek bug that have to have it here.
+Provides: /sbin/ldconfig
+
+%description -n ldconfig
+ldconfig scans a running system and sets up the symbolic links that
+are used to load shared libraries properly. It also creates
+/etc/ld.so.cache which speeds the loading programs which use shared
+libraries.
+
+%description -n ldconfig -l de.UTF-8
+ldconfig scannt ein laufendes System und richtet die symbolischen
+Verknüpfungen zum Laden der gemeinsam genutzten Libraries ein.
+Außerdem erstellt es /etc/ld.so.cache, was das Laden von Programmen
+mit gemeinsam genutzten Libraries beschleunigt.
+
+%description -n ldconfig -l fr.UTF-8
+ldconfig analyse un systčme et configure les liens symboliques
+utilisés pour charger correctement les bibliothčques partagées. Il
+crée aussi /etc/ld.so.cache qui accélčre le chargement des programmes
+utilisant les bibliothčques partagées.
+
+%description -n ldconfig -l pl.UTF-8
+ldconfig testuje uruchominy system i tworzy dowiązania symboliczne,
+które są następnie używane do poprawnego ładowania bibliotek
+dynamicznych. Program ten tworzy plik /etc/ld.so.cache, który
+przyśpiesza ładowanie programów korzystających z bibliotek
+dynamicznych.
+
+%description -n ldconfig -l tr.UTF-8
+ldconfig, çalýţmakta olan sistemi araţtýrýr ve ortak kitaplýklarýn
+düzgün bir ţekilde yüklenmesi için gereken simgesel bađlantýlarý
+kurar. Ayrýca ortak kitaplýklarý kullanan programlarýn yüklenmesini
+hýzlandýran /etc/ld.so.cache dosyasýný yaratýr.
+
%package devel
Summary: Additional libraries required to compile
Summary(de.UTF-8): Weitere Libraries zum Kompilieren
Summary(pl.UTF-8): Demon zapamiętujący odpowiedzi serwisów nazw
Summary(ru.UTF-8): Кэширующий демон сервисов имен
Summary(uk.UTF-8): Кешуючий демон севісів імен
-Group: Networking/Daemons
License: GPL v2
+Group: Networking/Daemons
Requires(post): fileutils
Requires(post,preun): /sbin/chkconfig
Requires(postun): /usr/sbin/groupdel
done
%endif
-%if !%{with cross}
-diet %{__cc} %{SOURCE7} %{rpmcflags} -Os -static -o glibc-postinst
+%if %{without cross}
+CC="%{__cc}"
+diet ${CC#*ccache } %{SOURCE7} %{rpmcflags} -Os -static -o glibc-postinst
%endif
%install
install elf/sofini.os $RPM_BUILD_ROOT%{_libdir}/sofini.o
cd ..
-%if !%{with cross}
+%if %{without cross}
install glibc-postinst $RPM_BUILD_ROOT/sbin
%endif
%{?with_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}
-rm -f $RPM_BUILD_ROOT%{_sysconfdir}/localtime
# moved to tzdata package
+rm -f $RPM_BUILD_ROOT%{_sysconfdir}/localtime
rm -rf $RPM_BUILD_ROOT%{_datadir}/zoneinfo
ln -sf libbsd-compat.a $RPM_BUILD_ROOT%{_libdir}/libbsd.a
# make symlinks across top-level directories absolute
for l in anl BrokenLocale crypt dl m nsl resolv rt thread_db util ; do
+ test -L $RPM_BUILD_ROOT%{_libdir}/lib${l}.so || exit 1
rm -f $RPM_BUILD_ROOT%{_libdir}/lib${l}.so
- ln -sf /%{_lib}/`cd $RPM_BUILD_ROOT/%{_lib} ; echo lib${l}.so.*` $RPM_BUILD_ROOT%{_libdir}/lib${l}.so
+ ln -sf /%{_lib}/$(basename $RPM_BUILD_ROOT/%{_lib}/lib${l}.so.*) $RPM_BUILD_ROOT%{_libdir}/lib${l}.so
done
+# linking nss modules directly is not supported
+rm -f $RPM_BUILD_ROOT%{_libdir}/libnss_*.so
+
install %{SOURCE2} $RPM_BUILD_ROOT/etc/rc.d/init.d/nscd
install %{SOURCE3} $RPM_BUILD_ROOT/etc/sysconfig/nscd
install %{SOURCE4} $RPM_BUILD_ROOT/etc/logrotate.d/nscd
done
cp -f crypt/README.ufc-crypt ChangeLog* documentation
-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-*.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/* ; 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 es_MX pt_BR \
- zh_CN zh_CN.gbk zh_HK zh_TW ; do
- if [ $j = "$lang" ]; then
- twochar=
- fi
- done
- if [ -n "$twochar" ]; then
- if [ `echo $lang | sed "s,_.*,,"` = "zh" ]; then
- lang=`echo $lang | sed "s,\..*,,"`
- else
- lang=`echo $lang | sed "s,_.*,,"`
- fi
- fi
- dir=`echo $i | sed "s#$RPM_BUILD_ROOT##"`
+ lang=$(basename $i)
+ dir="${i#$RPM_BUILD_ROOT}"
echo "%lang($lang) $dir" >> glibc.lang
fi
done
wo xh yi yo zh_HK 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/_.*//'`
+ # use lang() tags with ll_CC@variant (stripping charset and @quot|@boldquot)
+ lang=`echo $i | sed -e 's/@quot\>\|@boldquot\>//'`
+ echo "%lang($lang) %{_datadir}/locale/$i" >> glibc.lang
+ fi
+done
+
+# LC_TIME category, used for localized date formats (at least by coreutils)
+for i in af be bg ca cs da de el es et eu fi fr ga gl hu it ja ko ms nb nl pl \
+ pt pt_BR ru rw sk sl sv tr zh_CN zh_TW ; do
+ if [ ! -d $RPM_BUILD_ROOT%{_datadir}/locale/$i ]; then
echo "%lang($lang) %{_datadir}/locale/$i" >> glibc.lang
fi
+ install -d $RPM_BUILD_ROOT%{_datadir}/locale/$i/LC_TIME
done
# localedb-gen infrastructure
# don't run iconvconfig in %%postun -n iconv because iconvconfig doesn't exist
# when %%postun is run
-%if !%{with cross}
+%if %{without cross}
%post -p /sbin/postshell
/sbin/glibc-postinst /%{_lib}/%{_host_cpu} /%{_lib}/tls
/sbin/ldconfig
--/sbin/telinit u
%postun -p /sbin/postshell
/sbin/ldconfig
--/sbin/telinit u
%triggerpostun -p /sbin/postshell -- glibc-misc < 6:2.3.5-7.6
-/bin/cp -f /etc/ld.so.conf /etc/ld.so.conf.rpmsave
%if !%{with cross}
%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);
-# NOTE: postshell is now linked statically with diet
-# ld-*.so SONAME is:
+# ld*.so SONAME is:
# 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 x86_64
# ld-linux.so.2 on other archs
+# TODO: package ldconfig symlinks as %ghost
%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]*
%{?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
%defattr(644,root,root,755)
%defattr(644,root,root,755)
%attr(755,root,root) /%{_lib}/libnss_files*.so*
+%files -n ldconfig
+%defattr(644,root,root,755)
+%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/ld.so.conf
+%dir %{_sysconfdir}/ld.so.conf.d
+%ghost %{_sysconfdir}/ld.so.cache
+%attr(755,root,root) /sbin/ldconfig
+%{_mandir}/man8/ldconfig.8*
+%lang(es) %{_mandir}/es/man8/ldconfig.8*
+%lang(fr) %{_mandir}/fr/man8/ldconfig.8*
+%lang(hu) %{_mandir}/hu/man8/ldconfig.8*
+%lang(ja) %{_mandir}/ja/man8/ldconfig.8*
+%lang(pl) %{_mandir}/pl/man8/ldconfig.8*
+%lang(pt) %{_mandir}/pt/man8/ldconfig.8*
+%lang(ru) %{_mandir}/ru/man8/ldconfig.8*
+
%files misc -f %{name}.lang
%defattr(644,root,root,755)
%{_mandir}/man5/nsswitch.conf.5*
%{_mandir}/man5/tzfile.5*
%{_mandir}/man7/*
-%{_mandir}/man8/ld*.8*
+%{_mandir}/man8/ld-linux.8*
+%{_mandir}/man8/ld-linux.so.8*
+%{_mandir}/man8/ld.so.8*
%{_mandir}/man8/sln.8*
%{_mandir}/man8/tzselect.8*
%{_mandir}/man8/zdump.8*
%lang(es) %{_mandir}/es/man5/nsswitch.conf.5*
%lang(es) %{_mandir}/es/man5/tzfile.5*
%lang(es) %{_mandir}/es/man7/*
-%lang(es) %{_mandir}/es/man8/ld*.8*
+%lang(es) %{_mandir}/es/man8/ld-linux.8*
+%lang(es) %{_mandir}/es/man8/ld-linux.so.8*
+%lang(es) %{_mandir}/es/man8/ld.do.8*
%lang(es) %{_mandir}/es/man8/tzselect.8*
%lang(es) %{_mandir}/es/man8/zdump.8*
%lang(es) %{_mandir}/es/man8/zic.8*
%lang(fr) %{_mandir}/fr/man5/nsswitch.conf.5*
%lang(fr) %{_mandir}/fr/man5/tzfile.5*
%lang(fr) %{_mandir}/fr/man7/*
-%lang(fr) %{_mandir}/fr/man8/ld*.8*
+%lang(fr) %{_mandir}/fr/man8/ld-linux.8*
+%lang(fr) %{_mandir}/fr/man8/ld-linux.so.8*
+%lang(fr) %{_mandir}/fr/man8/ld.so.8*
%lang(fr) %{_mandir}/fr/man8/tzselect.8*
%lang(fr) %{_mandir}/fr/man8/zdump.8*
%lang(fr) %{_mandir}/fr/man8/zic.8*
%lang(hu) %{_mandir}/hu/man1/ldd.1*
%lang(hu) %{_mandir}/hu/man7/*
-%lang(hu) %{_mandir}/hu/man8/ld*.8*
+%lang(hu) %{_mandir}/hu/man8/ld-linux.8*
+%lang(hu) %{_mandir}/hu/man8/ld-linux.so.8*
+%lang(hu) %{_mandir}/hu/man8/ld.so.8*
%lang(hu) %{_mandir}/hu/man8/zdump.8*
%lang(it) %{_mandir}/it/man5/locale.5*
%lang(it) %{_mandir}/it/man7/*
%lang(ja) %{_mandir}/ja/man5/nsswitch.conf.5*
%lang(ja) %{_mandir}/ja/man5/tzfile.5*
%lang(ja) %{_mandir}/ja/man7/*
-%lang(ja) %{_mandir}/ja/man8/ld*.8*
+%lang(ja) %{_mandir}/ja/man8/ld-linux.8*
+%lang(ja) %{_mandir}/ja/man8/ld-linux.so.8*
+%lang(ja) %{_mandir}/ja/man8/ld.so.8*
%lang(ja) %{_mandir}/ja/man8/sln.8*
%lang(ja) %{_mandir}/ja/man8/tzselect.8*
%lang(ja) %{_mandir}/ja/man8/zdump.8*
%lang(pl) %{_mandir}/pl/man1/ldd.1*
%lang(pl) %{_mandir}/pl/man5/locale.5*
%lang(pl) %{_mandir}/pl/man7/*
-%lang(pl) %{_mandir}/pl/man8/ld*.8*
+%lang(pl) %{_mandir}/pl/man8/ld-linux.8*
+%lang(pl) %{_mandir}/pl/man8/ld-linux.so.8*
+%lang(pl) %{_mandir}/pl/man8/ld.so.8*
%lang(pt) %{_mandir}/pt/man5/locale.5*
%lang(pt) %{_mandir}/pt/man5/nsswitch.conf.5*
%lang(pt) %{_mandir}/pt/man5/tzfile.5*
%lang(pt) %{_mandir}/pt/man7/*
-%lang(pt) %{_mandir}/pt/man8/ld*.8*
%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/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/ld-linux.so.8*
+%lang(ru) %{_mandir}/ru/man8/ld.so.8*
%lang(ru) %{_mandir}/ru/man8/tzselect.8*
%lang(ru) %{_mandir}/ru/man8/zdump.8*
%lang(ru) %{_mandir}/ru/man8/zic.8*