This spec is for fuse (filesystem in userspace). It builds the kernel
module and puts it into a separate package called fuse-kernel.
David Johnston
-------------- next part --------------
Name: fuse
Version: 2.5.3
Release: 2%{?dist}
Summary: File System in Userspace (FUSE) utilities
Group: System Environment/Base
License: GPL
URL: http://fuse.sf.net
Source0: http://dl.sourceforge.net/sourceforge/fuse/%{name}-%{version}.tar.gz
Source1: fuse-udev.nodes
Source2: fuse-makedev.d-fuse
Source3: fuse-README.fedora
Patch0: fuse-udev_rules.patch
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
Requires: kernel >= 2.6.9-34
Requires(pre): %{_sbindir}/groupadd
Requires(post): /sbin/MAKEDEV
Requires(postun): %{_sbindir}/groupdel
BuildRequires: kernel-devel, coreutils, gawk, gcc = 3.4.5-2, binutils, sed
%description
With FUSE it is possible to implement a fully functional filesystem in a
userspace program. This package contains the FUSE userspace tools to
mount a FUSE filesystem.
Note: For security reasons only members of the group "fuse" are allowed to
(u)mount fuse filesystems. You can find more details on this issue in
%{_docdir}/%{name}-%{version}/README.fedora
%package libs
Summary: File System in Userspace (FUSE) libraries
Group: System Environment/Libraries
License: LGPL
%description libs
Devel With FUSE it is possible to implement a fully functional filesystem in a
userspace program. This package contains the FUSE libraries.
%package devel
Summary: File System in Userspace (FUSE) devel files
Group: Development/Libraries
Requires: %{name}-libs = %{version}-%{release}
Requires: pkgconfig
License: LGPL
%description devel
With FUSE it is possible to implement a fully functional filesystem in a
userspace program. This package contains development files (headers,
pgk-config) to develop FUSE based applications/filesystems.
%package kernel
Summary: File System in Userspace (FUSE) kernel module
Group: System Environment/Base
Requires: %{name}-libs = %{version}-%{release}
License: LGPL
%description kernel
With FUSE it is possible to implement a fully functional filesystem in a
userspace program. This package contains the kernel module for FUSE.
%prep
%setup -q
#disable device creation during build/install
sed -i 's|mknod|echo Disabled: mknod |g' util/Makefile.in
%patch0 -b .patch0
cp %{SOURCE3} README.fedora
%build
%configure \
--prefix=/usr \
--disable-static \
--enable-kernel-module \
--enable-lib \
--enable-util \
--enable-example
# --disable-kernel-module
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 {} ';'
install -D -p -m 644 %{SOURCE1} $RPM_BUILD_ROOT/%{_sysconfdir}/udev/makedev.d/60-fuse.nodes
install -D -p -m 644 %{SOURCE2} $RPM_BUILD_ROOT/%{_sysconfdir}/makedev.d/z-fuse
# change from 4755 to 0755 to allow stripping -- fixed later in files
chmod 0755 $RPM_BUILD_ROOT/%{_bindir}/fusermount
%clean
rm -rf $RPM_BUILD_ROOT
%pre
if [ $1 -eq 1 ]; then
%{_sbindir}/groupadd -r fuse &>/dev/null || :
fi
%post
/sbin/MAKEDEV fuse
%post kernel -p /sbin/depmod
%postun
if [ $1 = 0 ]; then
%{_sbindir}/groupdel fuse || :
fi
%post libs -p /sbin/ldconfig
%postun libs -p /sbin/ldconfig
%postun kernel -p /sbin/depmod
%files
%defattr(-,root,root,-)
%doc AUTHORS ChangeLog COPYING FAQ Filesystems NEWS README README.NFS README.fedora
/sbin/mount.fuse
%attr(4754,root,fuse) %{_bindir}/fusermount
%{_sysconfdir}/makedev.d/z-fuse
%{_sysconfdir}/udev/rules.d/60-fuse.rules
%{_sysconfdir}/udev/makedev.d/60-fuse.nodes
%files libs
%doc COPYING.LIB
%{_libdir}/libfuse.so.*
%files devel
%defattr(-,root,root,-)
%{_libdir}/libfuse.so
%{_libdir}/pkgconfig/*.pc
%{_includedir}/fuse.h
%{_includedir}/fuse
%files kernel
%defattr(0744,root,root,-)
/lib/modules/2.6.9-34.EL/kernel/fs/fuse/fuse.ko
%changelog
* Wed Apr 26 2006 David Johnston <david at littlebald.com> 2.5.3-2%{?dist}
- Pass several parameters to configure
- Added -kernel subpackage since the Centos kernel doesn't support FUSE.
* Wed Apr 26 2006 David Johnston <david at littlebald.com> 2.5.3-1%{?dist}
- Added -kernel subpackage since the Centos kernel doesn't support FUSE.
- Added defattr to %files to control ownership
* Wed Apr 26 2006 David Johnston <david at littlebald.com> 2.5.3-0%{?dist}
- Used Peter Lemenkov's spec to package 2.5.3 for Centos
* Thu Mar 30 2006 Peter Lemenkov <lemenkov at newmail.ru> 2.5.2-4%{?dist}
- rebuild
* Mon Feb 13 2006 Peter Lemenkov <lemenkov at newmail.ru> - 2.5.2-3
- Proper udev rule
* Mon Feb 13 2006 Peter Lemenkov <lemenkov at newmail.ru> - 2.5.2-2
- Added missing requires
* Tue Feb 07 2006 Peter Lemenkov <lemenkov at newmail.ru> - 2.5.2-1
- Update to 2.5.2
- Dropped fuse-mount.fuse.patch
* Wed Nov 23 2005 Thorsten Leemhuis <fedora[AT]leemhuis[DOT]info> - 2.4.2-1
- Use dist
* Wed Nov 23 2005 Thorsten Leemhuis <fedora[AT]leemhuis[DOT]info> - 2.4.2-1
- Update to 2.4.2 (solves CVE-2005-3531)
- Update README.fedora
* Sat Nov 12 2005 Thorsten Leemhuis <fedora[AT]leemhuis[DOT]info> - 2.4.1-3
- Add README.fedora
- Add hint to README.fedora and that you have to be member of the group "fuse"
in the description
- Use groupadd instead of fedora-groupadd
* Fri Nov 04 2005 Thorsten Leemhuis <fedora[AT]leemhuis[DOT]info> - 2.4.1-2
- Rename packages a bit
- use makedev.d/40-fuse.nodes
- fix /sbin/mount.fuse
- Use a fuse group to restict access to fuse-filesystems
* Fri Oct 28 2005 Thorsten Leemhuis <fedora[AT]leemhuis[DOT]info> - 2.4.1-1
- Initial RPM release.