[packages/glibc] separate dynamic linker instead of just ldconfig
jajcus
jajcus at pld-linux.org
Thu Oct 25 13:27:12 CEST 2018
commit 4139e8458f99923b5290c8ce523d5d801c135ced
Author: Jacek Konieczny <j.konieczny at eggsoft.pl>
Date: Thu Oct 25 12:34:50 2018 +0200
separate dynamic linker instead of just ldconfig
/sbin/ldconfig is needed by any shared library package, including glibc
itself, but it is tightly coupled with the dynamic linker provided with
glibc. More then the linker to the library.
glibc.spec | 147 +++++++++++++++++++++++++++----------------------------------
1 file changed, 64 insertions(+), 83 deletions(-)
---
diff --git a/glibc.spec b/glibc.spec
index 8ffa21d..0ba07ad 100644
--- a/glibc.spec
+++ b/glibc.spec
@@ -45,7 +45,7 @@ Summary(tr.UTF-8): GNU libc
Summary(uk.UTF-8): GNU libc версії
Name: glibc
Version: %{core_version}
-Release: 6
+Release: 6.1
Epoch: 6
License: LGPL v2.1+
Group: Libraries
@@ -117,7 +117,7 @@ BuildRequires: rpm-build >= 4.3-0.20030610.28
BuildRequires: rpmbuild(macros) >= 1.567
BuildRequires: sed >= 4.0.5
BuildRequires: texinfo
-Requires(post): ldconfig = %{epoch}:%{version}-%{release}
+Requires(post): %{name}-ld = %{epoch}:%{version}-%{release}
Requires: filesystem
Requires: uname(release) >= %{min_kernel}
Provides: %{name}(%{_target_cpu}) = %{epoch}:%{version}-%{release}
@@ -126,7 +126,6 @@ Provides: %{name}(ix86) = %{epoch}:%{version}-%{release}
%endif
Provides: glibc(nptl)
Provides: glibc(tls)
-Provides: rtld(GNU_HASH)
Obsoletes: glibc-common
Obsoletes: glibc-debug
%ifarch %{x8664} sparc64 ppc64
@@ -332,50 +331,25 @@ glibc library for crypt(3).
%description libcrypt -l pl.UTF-8
Biblioteka glibc z funkcją crypt(3).
-%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
+%package ld
+Summary: Dynamic linker
Group: Applications/System
Requires: uname(release) >= %{min_kernel}
# 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: rtld(GNU_HASH)
Provides: /sbin/ldconfig
+Provides: ldconfig = %{epoch}:%{version}-%{release}
+Obsoletes: ldconfig < 6:2.28-6.1
# we want FHS being installed before ldconfig, altho they are both unrelated to each-other.
Requires: FHS
-%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.
+%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.
%package -n nss_compat
Summary: Old style NYS NSS glibc module
@@ -1320,11 +1294,18 @@ rm -rf $RPM_BUILD_ROOT
%if %{without cross}
%post -p /sbin/postshell
/sbin/glibc-postinst /%{_lib}/%{_host_cpu} /%{_lib}/tls
-/sbin/ldconfig
+-/sbin/ldconfig
-%postun -p /sbin/ldconfig
+%postun -p /sbin/postshell
+-/sbin/ldconfig
-%triggerpostun -p /sbin/postshell -- glibc-misc < 6:2.3.5-7.6
+%post ld -p /sbin/postshell
+-/sbin/ldconfig
+
+%postun ld -p /sbin/postshell
+-/sbin/ldconfig
+
+%triggerpostun ld -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,27 +1381,7 @@ fi
%if %{without cross}
%attr(755,root,root) /sbin/glibc-postinst
%endif
-# TODO: package ldconfig symlinks as %ghost
-%attr(755,root,root) /%{_lib}/ld-%{core_version}.so
# wildly arch-dependent ld.so SONAME symlink
-%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
-%ifnarch %{ix86} sparc sparcv9 sparc64 alpha sh ia64 %{x8664} x32 ppc64 s390x %{arm}
-%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
@@ -1538,9 +1499,6 @@ 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*
@@ -1574,9 +1532,6 @@ 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/man5/locale.5*
@@ -1594,9 +1549,6 @@ 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/zdump.8*
%lang(fr) %{_mandir}/fr/man8/zic.8*
%lang(hu) %{_mandir}/hu/man7/ascii.7*
@@ -1607,9 +1559,6 @@ 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*
@@ -1649,9 +1598,6 @@ 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*
@@ -1676,9 +1622,6 @@ 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*
@@ -1715,8 +1658,6 @@ 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*
@@ -1772,19 +1713,59 @@ fi
%attr(755,root,root) %ghost /%{_lib}/libcrypt.so.1
%endif
-%files -n ldconfig
+%files ld
%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
+%ifnarch %{ix86} sparc sparcv9 sparc64 alpha sh ia64 %{x8664} x32 ppc64 s390x %{arm}
+%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
================================================================
---- gitweb:
http://git.pld-linux.org/gitweb.cgi/packages/glibc.git/commitdiff/4139e8458f99923b5290c8ce523d5d801c135ced
More information about the pld-cvs-commit
mailing list