From d8e1573f9c8c28f6390791c329512045f0c52868 Mon Sep 17 00:00:00 2001 From: Colin Walters Date: Wed, 3 Jan 2018 15:56:50 -0500 Subject: [PATCH] Stop shipping /usr/sbin/sln A whole lot has changed since `sln` was introduced into glibc upstream with this comment: ``` 1998-07-21 07:10 H.J. Lu * elf/sln.c: New file. ``` Upstream glibc commit 9d141cae00c957096045d08fe504b4a2be66ab75 ``` Author: Ulrich Drepper AuthorDate: Thu Aug 13 19:44:05 1998 +0000 ``` Among other things for example, dynamic linking has been in use for the nearly 20 years that have passed and is now quite reliable. Further, many Fedora systems now use an initramfs (dracut) which is basically a large filesystem of utilities as a single blob; while it would require rebooting, one can easily make hardlinks there. Futher of course there's the increasing use of ostree in Fedora which which consistently captures *all* of userspace and supports rollback, and additionaly its presents a "read only" nature to admin tools and other processes that adds significantly to system resilience. The failure scenarios that could be recovered via `sln` seem to me to be very small. Applying this patch allows dropping a downstream Fedora patch to hardlink `sln` to `ldconfig`, which was the source of a tricky bug: https://github.com/projectatomic/rpm-ostree/pull/1173#issuecomment-355014583 that also impacts rpm-ostree. In practice today SELinux policy is fixed in updates, but given there's no real reason for this binary to exist anymore, let's drop it. --- glibc.spec | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/glibc.spec b/glibc.spec index 5510013..80844ed 100644 --- a/glibc.spec +++ b/glibc.spec @@ -216,9 +216,6 @@ Patch2031: glibc-rh1070416.patch # extend_alloca removal, BZ 18023 Patch2037: glibc-rh1315108.patch -# sln implemented by ldconfig, to conserve disk space. -Patch2112: glibc-rh1315476-2.patch - ############################################################################## # End of glibc patches. ############################################################################## @@ -736,7 +733,6 @@ microbenchmark tests on the system. %patch0053 -p1 %patch0059 -p1 %patch2037 -p1 -%patch2112 -p1 ############################################################################## # %%prep - Additional prep required... @@ -1134,6 +1130,12 @@ rm -f $RPM_BUILD_ROOT%{_sbindir}/rpcinfo rm -f ${RPM_BUILD_ROOT}/%{_lib}/libnss1-* rm -f ${RPM_BUILD_ROOT}/%{_lib}/libnss-*.so.1 +# This statically linked binary is no longer necessary in a world where +# the default Fedora install uses an initramfs, and further we have rpm-ostree +# which captures the whole userspace FS tree. +# Further, see https://github.com/projectatomic/rpm-ostree/pull/1173#issuecomment-355014583 +rm -f ${RPM_BUILD_ROOT}/{usr/,}sbin/sln + ############################################################################## # Install info files ##############################################################################