# # spec file for package fuse # # Copyright (c) 2013 SUSE LINUX Products GmbH, Nuernberg, Germany. # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed # upon. The license for this file, and modifications and additions to the # file, is the same license as for the pristine package itself (unless the # license for the pristine package is not an Open Source License, in which # case the license is the MIT License). An "Open Source License" is a # license that conforms to the Open Source Definition (Version 1.9) # published by the Open Source Initiative. # Please submit bugfixes or comments via http://bugs.opensuse.org/ # Name: fuse Summary: User space File System License: GPL-2.0+ and LGPL-2.1+ Group: System/Filesystems Version: 2.9.0 Release: 0 # http://downloads.sf.net/fuse/fuse-%%version.tar.gz Source: %{name}-%{version}.tar.gz Source2: fuse.rpmlintrc Source3: baselibs.conf Patch: fuse-install-fix.diff Patch3: fuse-gnu_source.patch Patch4: fusermount-compile-as-pie.patch Patch5: fix-pthread-in-fuse.pc.patch Url: http://fuse.sourceforge.net BuildRoot: %{_tmppath}/%{name}-%{version}-build %if 0%{?suse_version} > 1130 Requires: util-linux >= 2.18 %else Requires: util-linux(fake+no-canonicalize) %endif BuildRequires: pkgconfig %if 0%{?suse_version} >= 1000 Supplements: filesystem(fuse) %endif PreReq: permissions %description With FUSE, a user space program can export a file system through the kernel-default (Linux kernel). User space file systems which are implemented using FUSE are provided by the following packages: - curlftpfs (mount FTP servers), - encfs (layered file encryption), - fuseiso (mount iso, img, bin, mdf and nrg CD-ROM images), - fusepod (mount iPods), - fusesmb (mount a fully browseable network neighborhood), - gphotofs (mount gphoto-supported cameras), - ntfs-3g (mount NTFS volumes read-write), - obexfs (mount of bluetooth devices), - sshfs (mount over ssh), - wdfs (mount of WebDAV shares) This package contains the mount binaries for fuse (might not be needed by some FUSE filesystems like ntfs-3g) and the documentation for FUSE. After installing fuse-devel, administrators can compile and install other user space file systems which can be found at http://fuse.sourceforge.net/wiki %package -n libulockmgr1 Summary: Library of FUSE, the User space File System for GNU/Linux and BSD Group: System/Filesystems %description -n libulockmgr1 With FUSE, a user space program can export a file system through the kernel-default (Linux kernel). %package -n libfuse2 Summary: Library of FUSE, the User space File System for GNU/Linux and BSD Group: System/Filesystems %description -n libfuse2 With FUSE, a user space program can export a file system through the kernel-default (Linux kernel). A FUSE file system which only needs libfuse2 is ntfs-3g, other FUSE file systems might need the fuse package in addition to have fusermount and /sbin/mount.fuse. After installing fuse-devel, administrators can compile and install other user space file systems which can be found at http://fuse.sourceforge.net/wiki %package devel Summary: Development package for FUSE (userspace filesystem) modules Group: Development/Languages/C and C++ Requires: fuse = %{version} Requires: glibc-devel Requires: libfuse2 = %{version} Requires: libulockmgr1 = %{version} %description devel This package contains all include files, libraries and configuration files needed to develop programs that use the fuse (FUSE) library to implement kernel-default (Linux) file systems in user space. With fuse-devel, administrators can compile and install other user space file systems which can be found at http://fuse.sourceforge.net/wiki %package devel-static Summary: Development package for FUSE (userspace filesystem) modules Group: Development/Languages/C and C++ Requires: fuse-devel = %{version} Provides: fuse-devel:%{_libdir}/libfuse.a %description devel-static This package contains all include files, libraries and configuration files needed to develop programs that use the fuse (FUSE) library to implement kernel-default (Linux) file systems in user space. With fuse-devel, administrators can compile and install other user space file systems which can be found at http://fuse.sourceforge.net/wiki %prep %setup -q %patch %patch3 %patch4 -p1 %patch5 -p1 %build export CFLAGS="$RPM_OPT_FLAGS -g -fno-strict-aliasing" export MOUNT_FUSE_PATH=%{_sbindir} %configure --with-pic \ --with-pkgconfigdir=%{_libdir}/pkgconfig \ --enable-lib \ --enable-util \ --enable-example make %{?_smp_mflags} %install %make_install rm -rf $RPM_BUILD_ROOT/%{_sysconfdir}/init.d # Needed for OpenSUSE buildservice %if %suse_version <= 1020 install -m644 -D util/udev.rules $RPM_BUILD_ROOT/%{_sysconfdir}/udev/rules.d/99-fuse.rules %endif %{__rm} -f %{buildroot}%{_libdir}/*.la # not needed for fuse, might reappar in separate package: %{__rm} -f %{buildroot}/%{_libdir}/libulockmgr.a #UsrMerge mkdir $RPM_BUILD_ROOT/sbin mkdir $RPM_BUILD_ROOT/%{_lib} %{__ln_s} -v %{_sbindir}/mount.fuse $RPM_BUILD_ROOT/sbin pushd $RPM_BUILD_ROOT/%{_libdir} for libname in $(ls *.so.*);do %{__ln_s} -v /%{_libdir}/$libname %{buildroot}/%{_lib} done popd #EndUsrMerge (cd example && %{__make} clean) %{__rm} -rf example/.deps example/Makefile.am example/Makefile.in %{__rm} -rf doc/Makefile.am doc/Makefile.in doc/Makefile %post %if 0%{?suse_version} >= 1140 %set_permissions %{_bindir}/fusermount %else %run_permissions %endif %verifyscript %verify_permissions -e %{_bindir}/fusermount %post -n libfuse2 -p /sbin/ldconfig %postun -n libfuse2 -p /sbin/ldconfig %post -n libulockmgr1 -p /sbin/ldconfig %postun -n libulockmgr1 -p /sbin/ldconfig %files %defattr(-,root,root) %doc AUTHORS ChangeLog FAQ NEWS README* COPYING* %if %suse_version <= 1020 %dir %{_sysconfdir}/udev %dir %{_sysconfdir}/udev/rules.d %{_sysconfdir}/udev/rules.d/99-fuse.rules %endif %verify(not mode) %attr(4750,root,trusted) %{_bindir}/fusermount #UsrMerge /sbin/mount.fuse #EndUsrMerge %{_sbindir}/mount.fuse %{_bindir}/ulockmgr_server %{_mandir}/man1/fusermount.1.* %{_mandir}/man1/ulockmgr_server.1.* %{_mandir}/man8/mount.fuse.8.* %files -n libfuse2 %defattr(-,root,root) #UsrMerge /%{_lib}/libfuse.so.2* #EndUsrMerge %{_libdir}/libfuse.so.2* %files -n libulockmgr1 %defattr(-,root,root) #UsrMerge /%{_lib}/libulockmgr.so.* #EndUsrMerge %{_libdir}/libulockmgr.so.* %files devel %defattr(-,root,root) %doc example doc %{_libdir}/libfuse.so %{_libdir}/libulockmgr.so %{_includedir}/fuse.h %{_includedir}/fuse %{_libdir}/pkgconfig/*.pc %{_includedir}/ulockmgr.h %files devel-static %defattr(-,root,root) %{_libdir}/libfuse.a %changelog