X-Git-Url: http://git.pld-linux.org/?p=packages%2Fglibc.git;a=blobdiff_plain;f=glibc.spec;h=3b209b2d6011c13b79f3bbaa6dc8d622bccfdfed;hp=4b9786557490cfbb8d298e733791c2dca9944102;hb=66aa4e3;hpb=2703e7829e955b082a24c44fb2b2e1f7335f7049 diff --git a/glibc.spec b/glibc.spec index 4b97865..3b209b2 100644 --- a/glibc.spec +++ b/glibc.spec @@ -36,7 +36,7 @@ %undefine with_static_pie %endif -%define core_version 2.33 +%define core_version 2.34 %define llh_version 7:2.6.32.1-1 Summary: GNU libc @@ -50,12 +50,12 @@ Summary(tr.UTF-8): GNU libc Summary(uk.UTF-8): GNU libc версії Name: glibc Version: %{core_version} -Release: 1 +Release: 0.1 Epoch: 6 License: LGPL v2.1+ Group: Libraries Source0: https://ftp.gnu.org/gnu/glibc/%{name}-%{version}.tar.xz -# Source0-md5: 390bbd889c7e8e8a7041564cb6b27cca +# Source0-md5: 31998b53fb39cb946e96abc310af1c89 Source2: nscd.init Source3: nscd.sysconfig Source4: nscd.logrotate @@ -66,8 +66,8 @@ Source6: %{name}-localedb-gen Source7: %{name}-LD-path.c Source9: nscd.tmpfiles # use branch.sh to update glibc-git.patch -Patch0: glibc-git.patch -# Patch0-md5: 74fe5d1f0d652a5c4d46e4c52edd8694 +#Patch0: glibc-git.patch +# Patch0-md5: d41d8cd98f00b204e9800998ecf8427e # against GNU TP (libc domain) #Patch1: %{name}-pl.po-update.patch Patch2: %{name}-pld.patch @@ -123,8 +123,9 @@ BuildRequires: sed >= 4.0.5 BuildRequires: tar >= 1:1.22 BuildRequires: texinfo >= 4.7 BuildRequires: xz -Requires: %{name}-ld = %{epoch}:%{version}-%{release} +Requires(post): ldconfig = %{epoch}:%{version}-%{release} Requires: filesystem +Requires: ldconfig = %{epoch}:%{version}-%{release} Requires: uname(release) >= %{min_kernel} Provides: %{name}(%{_target_cpu}) = %{epoch}:%{version}-%{release} %ifarch %{ix86} @@ -132,8 +133,10 @@ Provides: %{name}(ix86) = %{epoch}:%{version}-%{release} %endif Provides: glibc(nptl) Provides: glibc(tls) +Provides: rtld(GNU_HASH) Obsoletes: glibc-common Obsoletes: glibc-debug +Obsoletes: glibc-ld < 6:2.33-2 %ifarch %{x8664} sparc64 ppc64 Provides: glibc64 Obsoletes: glibc64 @@ -153,7 +156,7 @@ Conflicts: rc-scripts < 0.3.1-13 Conflicts: rpm < 4.1 Conflicts: util-linux < 2.35.1-2 Conflicts: xorg-driver-video-nvidia-libs < 1:295.33 -ExclusiveArch: i486 i586 i686 pentium3 pentium4 athlon %{x8664} x32 ia64 alpha s390 s390x sparc sparc64 sparcv9 ppc ppc64 armv5tel armv6hl aarch64 +ExclusiveArch: i486 i586 i686 pentium3 pentium4 athlon %{x8664} x32 ia64 alpha s390 s390x sparc sparc64 sparcv9 ppc ppc64 armv5tel armv6hl armv7hl armv7hnl aarch64 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n) # avoid -s here (ld.so must not be stripped to allow any program debugging) @@ -189,8 +192,9 @@ BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n) %define _hack_dontneed_PartialHardlinkSets 1 %define _noautochrpath .*\\(ldconfig\\|sln\\) # private symbols +# don't generate deps for ldconfig to avoid loop and force rpm to install it before glibc %define _noautoprov .*\(GLIBC_PRIVATE\) -%define _noautoreq .*\(GLIBC_PRIVATE\) +%define _noautoreq .*\(GLIBC_PRIVATE\) /sbin/ldconfig # to avoid multi-arch conflicts on getconf/* files %define _libexecdir %{_libdir} @@ -339,9 +343,12 @@ glibc library for crypt(3). %description libcrypt -l pl.UTF-8 Biblioteka glibc z funkcją crypt(3). -%package ld -Summary: Dynamic linker -Summary(pl.UTF-8): Linker (konsolidator) dynamiczny +%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 Requires: uname(release) >= %{min_kernel} # we want FHS being installed before ldconfig, altho they are both unrelated to each-other. @@ -350,23 +357,38 @@ Provides: rtld(GNU_HASH) # 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 -Provides: ldconfig = %{epoch}:%{version}-%{release} -Obsoletes: ldconfig < 6:2.28-6.1 - -%description ld -The dynamic linker is used to load shared libraries used by -executables linked dynamically. - -The package also contains the ldconfig tool used to maintain shared -library cache for the linker. - -%description ld -l pl.UTF-8 -Linker (konsolidator) dynamiczny służy do ładowania bibliotek -współdzielonych używanych przez programy wykonywalne konsolidowane -dynamicznie. - -Pakiet zawiera także narzędzie ldconfig, służące do utrzymywania -pamięci podręcznej bibliotek współdzielonych dla linkera. +Conflicts: glibc-ld < 6:2.33-2 + +%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 uruchomiony 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 -n nss_compat Summary: Old style NYS NSS glibc module @@ -654,7 +676,7 @@ Summary: Documentation needed for development using standard C libraries Summary(pl.UTF-8): Dokumentacja do tworzenia programów przy użyciu standardowych bibliotek C Group: Documentation Conflicts: man-pages < 4.09 -%{?noarchpackage} +BuildArch: noarch %description devel-doc The glibc-devel-doc package contains info and manual pages necessary @@ -926,7 +948,7 @@ exit 1 #%patch0 -p1 %patch2 -p1 -%patch3 -p0 +%patch3 -p1 %{!?with_bash_nls:%patch4 -p1} %patch6 -p1 @@ -957,7 +979,6 @@ chmod +x scripts/cpp # glibc has its own way to remove PLT relocations. / H. J. Lu. unset LD_SYMBOLIC_FUNCTIONS || : -cp -f /usr/share/automake/config.sub scripts %{__aclocal} %{__autoconf} @@ -1068,11 +1089,11 @@ install -p glibc-postinst $RPM_BUILD_ROOT/sbin mv -f $RPM_BUILD_ROOT/%{_lib}/libpcprofile.so $RPM_BUILD_ROOT%{_libdir} # make symlinks across top-level directories absolute -for l in BrokenLocale anl %{?with_crypt:crypt} dl \ +for l in BrokenLocale anl %{?with_crypt:crypt} \ %ifarch %{x8664} x32 mvec \ %endif - resolv rt thread_db util; do + ; do test -L $RPM_BUILD_ROOT%{_libdir}/lib${l}.so || exit 1 %{__rm} $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 @@ -1313,18 +1334,11 @@ rm -rf $RPM_BUILD_ROOT %if %{without cross} %post -p /sbin/postshell /sbin/glibc-postinst /%{_lib}/%{_host_cpu} /%{_lib}/tls --/sbin/ldconfig - -%postun -p /sbin/postshell --/sbin/ldconfig - -%post ld -p /sbin/postshell --/sbin/ldconfig +/sbin/ldconfig -%postun ld -p /sbin/postshell --/sbin/ldconfig +%postun -p /sbin/ldconfig -%triggerpostun ld -p /sbin/postshell -- glibc-misc < 6:2.3.5-7.6 +%triggerpostun -p /sbin/postshell -- glibc-misc < 6:2.3.5-7.6 -/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 @@ -1400,7 +1414,33 @@ fi %if %{without cross} %attr(755,root,root) /sbin/glibc-postinst %endif -# wildly arch-dependent ld.so SONAME symlink +# TODO: package ldconfig symlinks as %ghost +%attr(755,root,root) /%{_lib}/ld-%{core_version}.so +%ifarch %{ix86} sparc sparcv9 sparc64 alpha sh +%attr(755,root,root) /%{_lib}/ld-linux.so.2 +%endif +%ifarch ia64 +%attr(755,root,root) /%{_lib}/ld-linux-ia64.so.2 +%endif +%ifarch %{x8664} +%attr(755,root,root) /%{_lib}/ld-linux-x86-64.so.2 +%endif +%ifarch x32 +%attr(755,root,root) /%{_lib}/ld-linux-x32.so.2 +%endif +%ifarch ppc64 s390x +%attr(755,root,root) /%{_lib}/ld64.so.1 +%endif +%ifarch aarch64 +%attr(755,root,root) /lib/ld-linux-aarch64.so.1 +%attr(755,root,root) /%{_lib}/ld-linux-aarch64.so.1 +%endif +%ifarch armv6hl armv7hl armv7hnl +%attr(755,root,root) /lib/ld-linux-armhf.so.3 +%endif +%ifnarch %{ix86} sparc sparcv9 sparc64 alpha sh ia64 %{x8664} x32 ppc64 s390x %{arm} aarch64 +%attr(755,root,root) /%{_lib}/ld.so.1 +%endif %attr(755,root,root) /%{_lib}/libBrokenLocale-%{core_version}.so %ifarch alpha %attr(755,root,root) /%{_lib}/libBrokenLocale.so.1.1 @@ -1515,6 +1555,9 @@ fi %{_mandir}/man7/unicode.7* %{_mandir}/man7/utf-8.7* %{_mandir}/man7/utf8.7* +%{_mandir}/man8/ld-linux.8* +%{_mandir}/man8/ld-linux.so.8* +%{_mandir}/man8/ld.so.8* %{_mandir}/man8/sln.8* %{_mandir}/man8/zdump.8* %{_mandir}/man8/zic.8* @@ -1548,6 +1591,9 @@ fi %lang(es) %{_mandir}/es/man7/unicode.7* %lang(es) %{_mandir}/es/man7/utf-8.7* %lang(es) %{_mandir}/es/man7/utf8.7* +%lang(es) %{_mandir}/es/man8/ld-linux.8* +%lang(es) %{_mandir}/es/man8/ld-linux.so.8* +%lang(es) %{_mandir}/es/man8/ld.so.8* %lang(es) %{_mandir}/es/man8/zdump.8* %lang(es) %{_mandir}/es/man8/zic.8* %lang(fr) %{_mandir}/fr/man1/getent.1* @@ -1572,6 +1618,9 @@ fi %lang(fr) %{_mandir}/fr/man7/unicode.7* %lang(fr) %{_mandir}/fr/man7/utf-8.7* %lang(fr) %{_mandir}/fr/man7/utf8.7* +%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/sln.8* %lang(fr) %{_mandir}/fr/man8/zdump.8* %lang(fr) %{_mandir}/fr/man8/zic.8* @@ -1583,6 +1632,9 @@ fi %lang(hu) %{_mandir}/hu/man7/locale.7* %lang(hu) %{_mandir}/hu/man7/utf-8.7* %lang(hu) %{_mandir}/hu/man7/utf8.7* +%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/ascii.7* @@ -1621,6 +1673,9 @@ fi %lang(ja) %{_mandir}/ja/man7/unicode.7* %lang(ja) %{_mandir}/ja/man7/utf-8.7* %lang(ja) %{_mandir}/ja/man7/utf8.7* +%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/zdump.8* %lang(ja) %{_mandir}/ja/man8/zic.8* @@ -1645,6 +1700,9 @@ fi %lang(pl) %{_mandir}/pl/man7/unicode.7* %lang(pl) %{_mandir}/pl/man7/utf-8.7* %lang(pl) %{_mandir}/pl/man7/utf8.7* +%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/rpc.5* @@ -1680,6 +1738,8 @@ fi %lang(ru) %{_mandir}/ru/man7/unicode.7* %lang(ru) %{_mandir}/ru/man7/utf-8.7* %lang(ru) %{_mandir}/ru/man7/utf8.7* +%lang(ru) %{_mandir}/ru/man8/ld-linux.so.8* +%lang(ru) %{_mandir}/ru/man8/ld.so.8* %lang(ru) %{_mandir}/ru/man8/zdump.8* %lang(ru) %{_mandir}/ru/man8/zic.8* %lang(tr) %{_mandir}/tr/man1/iconv.1* @@ -1750,66 +1810,19 @@ fi %endif %endif -%files ld +%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 -# TODO: package ldconfig symlinks as %ghost -%attr(755,root,root) /%{_lib}/ld-%{core_version}.so -%ifarch %{ix86} sparc sparcv9 sparc64 alpha sh -%attr(755,root,root) /%{_lib}/ld-linux.so.2 -%endif -%ifarch ia64 -%attr(755,root,root) /%{_lib}/ld-linux-ia64.so.2 -%endif -%ifarch %{x8664} -%attr(755,root,root) /%{_lib}/ld-linux-x86-64.so.2 -%endif -%ifarch x32 -%attr(755,root,root) /%{_lib}/ld-linux-x32.so.2 -%endif -%ifarch ppc64 s390x -%attr(755,root,root) /%{_lib}/ld64.so.1 -%endif -%ifarch aarch64 -%attr(755,root,root) /lib/ld-linux-aarch64.so.1 -%attr(755,root,root) /%{_lib}/ld-linux-aarch64.so.1 -%endif -%ifarch armv6hl -%attr(755,root,root) /lib/ld-linux-armhf.so.3 -%endif -%ifnarch %{ix86} sparc sparcv9 sparc64 alpha sh ia64 %{x8664} x32 ppc64 s390x %{arm} aarch64 -%attr(755,root,root) /%{_lib}/ld.so.1 -%endif %attr(755,root,root) /sbin/ldconfig -%{_mandir}/man8/ld-linux.8* -%{_mandir}/man8/ld-linux.so.8* -%{_mandir}/man8/ld.so.8* %{_mandir}/man8/ldconfig.8* -%lang(es) %{_mandir}/es/man8/ld-linux.8* -%lang(es) %{_mandir}/es/man8/ld-linux.so.8* -%lang(es) %{_mandir}/es/man8/ld.so.8* %lang(es) %{_mandir}/es/man8/ldconfig.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/ldconfig.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/ldconfig.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/ldconfig.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(pl) %{_mandir}/pl/man8/ldconfig.8* %lang(pt) %{_mandir}/pt/man8/ldconfig.8* -%lang(ru) %{_mandir}/ru/man8/ld-linux.so.8* -%lang(ru) %{_mandir}/ru/man8/ld.so.8* %lang(ru) %{_mandir}/ru/man8/ldconfig.8* %dir %attr(700,root,root) /var/cache/ldconfig %attr(600,root,root) %ghost /var/cache/ldconfig/aux-cache @@ -1870,7 +1883,7 @@ fi %ifarch alpha ppc sparc %{_libdir}/libnldbl_nonshared.a %endif -%ifarch %{ix86} %{x8664} x32 ppc ppc64 s390 s390x sparc sparcv9 sparc64 aarch64 armv6hl +%ifarch %{ix86} %{x8664} x32 ppc ppc64 s390 s390x sparc sparcv9 sparc64 aarch64 armv6hl armv7hl armv7hnl # ABI-dependent headers %{_includedir}/gnu/stubs-*.h %endif @@ -1923,6 +1936,7 @@ fi %doc documentation/* %{_infodir}/libc.info* +%{_mandir}/man2/getcwd.2* %{_mandir}/man3/* %{_mandir}/man7/aio.7* %{_mandir}/man7/attributes.7* @@ -1935,9 +1949,11 @@ fi %{_mandir}/man7/nptl.7* %{_mandir}/man7/posixoptions.7* %{_mandir}/man7/pthreads.7* +%{_mandir}/man7/queue.7* %{_mandir}/man7/rtld-audit.7* %{_mandir}/man7/sem_overview.7* %{_mandir}/man7/shm_overview.7* +%{_mandir}/man7/system_data_types.7* %lang(cs) %{_mandir}/cs/man3/* %lang(de) %{_mandir}/de/man3/* %lang(es) %{_mandir}/es/man3/* @@ -1958,6 +1974,7 @@ fi %lang(hu) %{_mandir}/hu/man3/* %lang(it) %{_mandir}/it/man3/* %lang(it) %{_mandir}/it/man7/glob.7* +%lang(ja) %{_mandir}/ja/man2/getcwd.2* %lang(ja) %{_mandir}/ja/man3/* %lang(ja) %{_mandir}/ja/man7/aio.7* %lang(ja) %{_mandir}/ja/man7/complex.7*