# # spec file for package fuse (Version 2.8.4) # # Copyright (c) 2010 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/ # # norootforbuild Name: fuse Summary: User space File System Version: 2.8.4 Release: 1 License: GPLv2+ ; LGPLv2.1+ Group: System/Filesystems # http://prdownloads.sourceforge.net/fuse/fuse-2.X/%{version}/fuse-%{version}.tar.gz Source: %{name}-%{version}.tar.bz2 Source1: boot.fuse Source2: fuse.rpmlintrc Source3: baselibs.conf Patch: fuse-install-fix.diff Patch2: fuse-pc-remove-libdir-from-Libs.diff Url: http://fuse.sourceforge.net BuildRoot: %{_tmppath}/%{name}-%{version}-build Requires: licenses BuildRequires: licenses %if 0%{?suse_version} %if 0%{?suse_version} >= 1000 Supplements: filesystem(fuse) %endif %endif PreReq: %insserv_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 Authors: -------- Miklos Szeredi %package -n libfuse2 License: GPLv2+ ; LGPLv2.1+ 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. 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) After installing fuse-devel, administrators can compile and install other user space file systems which can be found at http://fuse.sourceforge.net/wiki Authors: -------- Miklos Szeredi %package devel License: GPLv2+ ; LGPLv2.1+ Summary: Development package for FUSE (userspace filesystem) modules Group: Development/Languages/C and C++ Requires: fuse = %{version} libfuse2 = %{version} glibc-devel %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. Many user space file systems are already provided as packages for installation: - 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) With fuse-devel, administrators can compile and install other user space file systems which can be found at http://fuse.sourceforge.net/wiki Authors: -------- Miklos Szeredi %package devel-static License: GPLv2+ ; LGPLv2.1+ 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. Many user space file systems are already provided as packages for installation: - 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) With fuse-devel, administrators can compile and install other user space file systems which can be found at http://fuse.sourceforge.net/wiki Authors: -------- Miklos Szeredi %prep %setup -q %patch %if "%{_exec_prefix}" == "/" || "%{_exec_prefix}" == "/usr" %patch2 %endif %build export CFLAGS="$RPM_OPT_FLAGS -fno-strict-aliasing" %configure --with-pic \ --with-pkgconfigdir=%{_libdir}/pkgconfig \ --exec-prefix=/ \ --libdir=/%{_lib} \ --disable-kernel-module \ --enable-lib \ --enable-util \ --enable-example %{__make} %{?jobs:-j%jobs} %install make DESTDIR="$RPM_BUILD_ROOT" install rm -rf $RPM_BUILD_ROOT/%{_sysconfdir}/init.d install -m755 -D %{S:1} $RPM_BUILD_ROOT/%{_sysconfdir}/init.d/boot.fuse ln -sf /usr/share/doc/licenses/md5/$(md5sum COPYING | sed 's/ .*//') COPYING ln -sf /usr/share/doc/licenses/md5/$(md5sum COPYING.LIB | sed 's/ .*//') COPYING.LIB # 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 for libname in libfuse libulockmgr;do %{__ln_s} -v /%{_lib}/$(readlink %{buildroot}/%{_lib}/$libname.so) %{buildroot}%{_libdir}/$libname.so %{__rm} -v %{buildroot}/%{_lib}/$libname.{so,la} %{__mv} -v %{buildroot}/%{_lib}/$libname.a %{buildroot}%{_libdir} done %{__rm} -f %{buildroot}%{_libdir}/*.la # not needed for fuse, might reappar in separate package: %{__rm} -f %{buildroot}/%{_bindir}/ulockmgr_server %{__rm} -f %{buildroot}/%{_libdir}/libulockmgr.* %{__rm} -f %{buildroot}/%{_lib}/libulockmgr.so.* %{__rm} -f %{buildroot}/%{_includedir}/ulockmgr.h %post %{insserv_force_if_yast boot.fuse} %run_permissions %verifyscript %verify_permissions -e %{usrbindir}/fusermount %preun if ! test -f /.buildenv ; then %stop_on_removal boot.fuse fi %postun %insserv_cleanup %post -n libfuse2 -p /sbin/ldconfig %postun -n libfuse2 -p /sbin/ldconfig %clean rm -rf $RPM_BUILD_ROOT %files %defattr(-,root,root) %config %{_sysconfdir}/init.d/boot.fuse %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 /sbin/mount.fuse %files -n libfuse2 %defattr(-,root,root) /%{_lib}/libfuse.so.2* %files devel %defattr(-,root,root) %{_libdir}/libfuse.so %{_includedir}/fuse.h %{_includedir}/fuse %{_libdir}/pkgconfig/*.pc %files devel-static %defattr(-,root,root) %{_libdir}/libfuse.a %changelog