[fuse] install everything in /usr
Harald Hoyer
harald at fedoraproject.org
Wed Jan 25 19:46:31 UTC 2012
commit f52f1ca0790463b4a79cb6596b91eec9d65ff7a9
Author: Harald Hoyer <harald at redhat.com>
Date: Wed Jan 25 18:37: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.
fuse.spec | 44 ++++++++++++++++++--------------------------
1 files changed, 18 insertions(+), 26 deletions(-)
---
diff --git a/fuse.spec b/fuse.spec
index 9b55278..f938c8b 100644
--- a/fuse.spec
+++ b/fuse.spec
@@ -1,6 +1,6 @@
Name: fuse
Version: 2.8.6
-Release: 2%{?dist}
+Release: 3%{?dist}
Summary: File System in Userspace (FUSE) utilities
Group: System Environment/Base
@@ -14,6 +14,7 @@ Patch2: fuse-0002-More-parentheses.patch
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
Requires: kernel >= 2.6.14
Requires: which
+Conflicts: filesystem < 3
BuildRequires: libselinux-devel
Requires(preun): chkconfig
@@ -28,6 +29,7 @@ mount a FUSE filesystem.
Summary: File System in Userspace (FUSE) libraries
Group: System Environment/Libraries
License: LGPLv2+
+Conflicts: filesystem < 3
%description libs
Devel With FUSE it is possible to implement a fully functional filesystem in a
@@ -40,6 +42,7 @@ Group: Development/Libraries
Requires: %{name}-libs = %{version}-%{release}
Requires: pkgconfig
License: LGPLv2+
+Conflicts: filesystem < 3
%description devel
With FUSE it is possible to implement a fully functional filesystem in a
@@ -56,34 +59,22 @@ sed -i 's|mknod|echo Disabled: mknod |g' util/Makefile.in
%build
# Can't pass --disable-static here, or else the utils don't build
-CFLAGS="%{optflags} -D_GNU_SOURCE" %configure \
- --libdir=/%{_lib} \
- --bindir=/bin \
- --exec-prefix=/
+export MOUNT_FUSE_PATH="%{_sbindir}"
+CFLAGS="%{optflags} -D_GNU_SOURCE" %configure
make %{?_smp_mflags}
-
%install
rm -rf $RPM_BUILD_ROOT
make install DESTDIR=$RPM_BUILD_ROOT
find $RPM_BUILD_ROOT -type f -name "*.la" -exec rm -f {} ';'
# change from 4755 to 0755 to allow stripping -- fixed later in files
-chmod 0755 $RPM_BUILD_ROOT/bin/fusermount
-# Put pc file in correct place
-mkdir -p $RPM_BUILD_ROOT%{_libdir}
-mv $RPM_BUILD_ROOT/%{_lib}/pkgconfig $RPM_BUILD_ROOT%{_libdir}
+chmod 0755 $RPM_BUILD_ROOT/%{_bindir}/fusermount
# Get rid of static libs
-rm -f $RPM_BUILD_ROOT/%{_lib}/*.a
+rm -f $RPM_BUILD_ROOT/%{_libdir}/*.a
# No need to create init-script
rm -f $RPM_BUILD_ROOT%{_sysconfdir}/init.d/fuse
-# Compatibility symlinks
-mkdir -p $RPM_BUILD_ROOT%{_bindir}
-cd $RPM_BUILD_ROOT%{_bindir}
-ln -s /bin/fusermount fusermount
-ln -s /bin/ulockmgr_server ulockmgr_server
-
# Install config-file
install -p -m 0644 %{SOURCE1} $RPM_BUILD_ROOT%{_sysconfdir}
@@ -105,11 +96,8 @@ fi
%files
%defattr(-,root,root,-)
%doc AUTHORS ChangeLog COPYING FAQ Filesystems NEWS README README.NFS
-/sbin/mount.fuse
-%attr(4755,root,root) /bin/fusermount
-/bin/ulockmgr_server
-# Compat symlinks
-%{_bindir}/fusermount
+%{_sbindir}/mount.fuse
+%attr(4755,root,root) %{_bindir}/fusermount
%{_bindir}/ulockmgr_server
%config %{_sysconfdir}/udev/rules.d/99-fuse.rules
%config(noreplace) %{_sysconfdir}/%{name}.conf
@@ -117,19 +105,23 @@ fi
%files libs
%defattr(-,root,root,-)
%doc COPYING.LIB
-/%{_lib}/libfuse.so.*
-/%{_lib}/libulockmgr.so.*
+%{_libdir}/libfuse.so.*
+%{_libdir}/libulockmgr.so.*
%files devel
%defattr(-,root,root,-)
-/%{_lib}/libfuse.so
-/%{_lib}/libulockmgr.so
+%{_libdir}/libfuse.so
+%{_libdir}/libulockmgr.so
%{_libdir}/pkgconfig/*.pc
%{_includedir}/fuse.h
%{_includedir}/ulockmgr.h
%{_includedir}/fuse
%changelog
+* Wed Jan 25 2012 Harald Hoyer <harald at redhat.com> 2.8.6-3
+- install everything in /usr
+ https://fedoraproject.org/wiki/Features/UsrMove
+
* Fri Jan 13 2012 Fedora Release Engineering <rel-eng at lists.fedoraproject.org> - 2.8.6-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_17_Mass_Rebuild
More information about the scm-commits
mailing list