[nss-softokn] install everything in /usr

Harald Hoyer harald at fedoraproject.org
Wed Jan 25 13:21:59 UTC 2012


commit 0c76bbde47d3c254ad35eae1fbaa8b61692ecded
Author: Harald Hoyer <harald at redhat.com>
Date:   Wed Jan 25 14:19:03 2012 +0100

    install everything in /usr
    
    This patch is needed for the /usr-move feature
    https://fedoraproject.org/wiki/Features/UsrMove
    
    This package requires now 'filesystem' >= 3, which is only installable
    on a system which has /bin, /sbin, /lib, /lib64 as symlinks to /usr and
    not regular directories. The 'filesystem' package acts as a guard, to
    prevent *this* package to be installed on old unconverted systems.
    
    New installations will have the 'filesystem' >=3 layout right away, old
    installations need to be converted with anaconda or dracut first; only
    after that, the 'filesystem' package, and also *this* package can be
    installed.
    
    Packages *should* not install files in /bin, /sbin, /lib, /lib64, but
    only in the corresponding directories in /usr. Packages *must* not
    install conflicting files with the same names in the corresponding
    directories in / and /usr. Especially compatibilty symlinks must not be
    installed.
    
    Feel free to modify any of the changes to the spec file, but keep the
    above in mind.

 nss-softokn.spec |   30 ++++++++----------------------
 1 files changed, 8 insertions(+), 22 deletions(-)
---
diff --git a/nss-softokn.spec b/nss-softokn.spec
index 0a12c2e..6437b45 100644
--- a/nss-softokn.spec
+++ b/nss-softokn.spec
@@ -10,14 +10,14 @@
     %{__arch_install_post} \
     %{__os_install_post} \
     $RPM_BUILD_ROOT/%{unsupported_tools_directory}/shlibsign -i $RPM_BUILD_ROOT/%{_libdir}/libsoftokn3.so \
-    $RPM_BUILD_ROOT/%{unsupported_tools_directory}/shlibsign -i $RPM_BUILD_ROOT/%{_lib}/libfreebl3.so \
+    $RPM_BUILD_ROOT/%{unsupported_tools_directory}/shlibsign -i $RPM_BUILD_ROOT/%{_libdir}/libfreebl3.so \
     $RPM_BUILD_ROOT/%{unsupported_tools_directory}/shlibsign -i $RPM_BUILD_ROOT/%{_libdir}/libnssdbm3.so \
 %{nil}
 
 Summary:          Network Security Services Softoken Module
 Name:             nss-softokn
 Version:          3.13.1
-Release:          17%{?dist}
+Release:          18%{?dist}
 License:          MPLv1.1 or GPLv2+ or LGPLv2+
 URL:              http://www.mozilla.org/projects/security/pki/nss/
 Group:            System Environment/Libraries
@@ -71,6 +71,7 @@ Summary:          Freebl library for the Network Security Services
 Group:            System Environment/Base
 Conflicts:        nss < 3.12.2.99.3-5
 Conflicts:        prelink < 0.4.3
+#Conflicts:        filesystem < 3
 
 %description freebl
 NSS Softoken Cryptographic Module Freelb Library
@@ -269,32 +270,16 @@ echo "test suite completed"
 %{__mkdir_p} $RPM_BUILD_ROOT/%{_includedir}/nss3
 %{__mkdir_p} $RPM_BUILD_ROOT/%{_bindir}
 %{__mkdir_p} $RPM_BUILD_ROOT/%{_libdir}
-%{__mkdir_p} $RPM_BUILD_ROOT/%{_lib}
 %{__mkdir_p} $RPM_BUILD_ROOT/%{unsupported_tools_directory}
 %{__mkdir_p} $RPM_BUILD_ROOT/%{_libdir}/pkgconfig
 %{__mkdir_p} $RPM_BUILD_ROOT/%{saved_files_dir}
 
 # Copy the binary libraries we want
-for file in libsoftokn3.so libnssdbm3.so
+for file in libsoftokn3.so libnssdbm3.so libfreebl3.so
 do
   %{__install} -p -m 755 mozilla/dist/*.OBJ/lib/$file $RPM_BUILD_ROOT/%{_libdir}
 done
 
-# Because libcrypt depends on libfreebl3.so, it is special
-# so we install it in /lib{64}, keeping a symbolic link to it
-# back in /usr/lib{64} to keep everyone else working
-for file in libfreebl3.so
-do
-  %{__install} -p -m 755 mozilla/dist/*.OBJ/lib/$file $RPM_BUILD_ROOT/%{_lib}
-  ln -sf ../../%{_lib}/libfreebl3.so $RPM_BUILD_ROOT/%{_libdir}/libfreebl3.so
-done
-
-# Make sure chk files can be found in both places
-for file in libfreebl3.chk
-do
-  ln -s ../../%{_lib}/$file $RPM_BUILD_ROOT/%{_libdir}/$file
-done
-
 # Copy the binaries we ship as unsupported
 for file in shlibsign
 do
@@ -346,9 +331,6 @@ done
 
 %files freebl
 %defattr(-,root,root)
-/%{_lib}/libfreebl3.so
-/%{_lib}/libfreebl3.chk
-# and these symbolic links
 %{_libdir}/libfreebl3.so
 %{_libdir}/libfreebl3.chk
 
@@ -383,6 +365,10 @@ done
 %{_includedir}/nss3/shsign.h
 
 %changelog
+* Wed Jan 25 2012 Harald Hoyer <harald at redhat.com> 3.13.1-18
+- install everything in /usr
+  https://fedoraproject.org/wiki/Features/UsrMove
+
 * Fri Jan 13 2012 Elio Maldonado Batiz <emaldona at redhat.com> - 3.13.1-17
 - Remove unneeded prelink patch afterthe nss update to 3.13.1
 


More information about the scm-commits mailing list