]> git.pld-linux.org Git - packages/glibc.git/commitdiff
separate dynamic linker instead of just ldconfig
authorJacek Konieczny <j.konieczny@eggsoft.pl>
Thu, 25 Oct 2018 10:34:50 +0000 (12:34 +0200)
committerJacek Konieczny <j.konieczny@eggsoft.pl>
Thu, 25 Oct 2018 10:39:23 +0000 (12:39 +0200)
/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

index 8ffa21d8dd2b9ee6b70bad6cc8a3a08fa90ac853..0ba07ad330c6aa309790a3c8415ef90cd9d63dde 100644 (file)
@@ -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
This page took 0.521849 seconds and 4 git commands to generate.