blob: 375b13df25ae03d8bdd67b554b9c3576968cede4 [file] [log] [blame]
Miklos Szeredif782fc42002-01-14 08:48:46 +00001%define kernelversion %(uname -r)
2%define fusemoduledir /lib/modules/%{kernelversion}/kernel/fs/fuse
3
Miklos Szeredi84838472003-06-02 06:12:27 +00004%define kernelrel %(uname -r | sed -e s/-/_/g)
5%define real_release 6
Miklos Szeredia9b2f262003-03-04 09:37:20 +00006
Miklos Szeredif782fc42002-01-14 08:48:46 +00007Name: fuse
Miklos Szeredic0226bb2003-02-19 16:05:06 +00008Version: 1.0
Miklos Szeredi941ae4c2003-03-05 08:29:58 +00009Release: kernel_%{kernelrel}_%{real_release}
Miklos Szeredif782fc42002-01-14 08:48:46 +000010Summary: Filesystem in Userspace
11Source: %{name}-%{version}.tar.gz
12Copyright: GPL
13Group: Utilities/System
14URL: http://sourceforge.net/projects/avf
15Buildroot: %{_tmppath}/%{name}-root
16Prefix: /usr
Miklos Szeredia9b2f262003-03-04 09:37:20 +000017Packager: Achim Settelmeier <fuse-rpm@sirlab.de>
Miklos Szeredi941ae4c2003-03-05 08:29:58 +000018# some parts of this specfile are taken from Ian Pilcher's specfile
19
20# don't restrict to RedHat kernels but also allow compilation with
21# vanilla kernels, too.
22#Requires: kernel = %{kernelrel}, redhat-release >= 7
23#BuildRequires: kernel-source = %{kernelrel}
24
Miklos Szeredif782fc42002-01-14 08:48:46 +000025
26%description
27FUSE (Filesystem in Userspace) is a simple interface for userspace
28programs to export a virtual filesystem to the linux kernel. FUSE
29also aims to provide a secure method for non privileged users to
30create and mount their own filesystem implementations.
31
32
33%clean
34case "$RPM_BUILD_ROOT" in *-root) rm -rf $RPM_BUILD_ROOT ;; esac
35
36%prep
37%setup
Miklos Szeredif782fc42002-01-14 08:48:46 +000038
39%build
Miklos Szeredi21c282b2003-05-26 07:12:57 +000040# invoke configure with the --with-kernel option in case we attempt to
41# compile for a different kernel and hope the path is right :-)
42if [ "%{kernelversion}" != $(uname -r) ]; then
Miklos Szeredi84838472003-06-02 06:12:27 +000043 for dir in /lib/modules/%{kernelversion}/build \
44 /usr/src/linux-%{kernelversion} \
45 /usr/local/src/linux-%{kernelversion} ; do
46 if [ -d "$dir" ]; then
47 WITH_KERNEL="--with-kernel=$dir"
48 break
49 fi
50 done
Miklos Szeredi21c282b2003-05-26 07:12:57 +000051fi
52
Miklos Szeredif782fc42002-01-14 08:48:46 +000053./configure \
Miklos Szeredi21c282b2003-05-26 07:12:57 +000054 --prefix=%{prefix} \
55 $WITH_KERNEL
Miklos Szeredif782fc42002-01-14 08:48:46 +000056make
Miklos Szeredia9b2f262003-03-04 09:37:20 +000057make check
Miklos Szeredif782fc42002-01-14 08:48:46 +000058
Miklos Szeredi941ae4c2003-03-05 08:29:58 +000059## Now build the library as a shared object
60#cd lib
61#gcc -fPIC -DHAVE_CONFIG_H -I../include -Wall -W -g -O2 -c *.c
62#gcc -shared -Wl,-soname,libfuse.so.%{major_ver} -o libfuse.so.%{version} *.o
63#cd ..
64
65
Miklos Szeredif782fc42002-01-14 08:48:46 +000066%install
67case "$RPM_BUILD_ROOT" in *-root) rm -rf $RPM_BUILD_ROOT ;; esac
68make install \
69 prefix=$RPM_BUILD_ROOT%{prefix} \
70 fusemoduledir=$RPM_BUILD_ROOT%{fusemoduledir}
71
Miklos Szeredia9b2f262003-03-04 09:37:20 +000072install -d $RPM_BUILD_ROOT%{prefix}/lib/fuse/example
73install -s -m 755 example/{fusexmp,hello,null} $RPM_BUILD_ROOT%{prefix}/lib/fuse/example/
74
Miklos Szeredif782fc42002-01-14 08:48:46 +000075# remove binaries form example folder so we can include it
76# as a form of documentation into the package
77make -C example clean
Miklos Szeredia9b2f262003-03-04 09:37:20 +000078rm -rf example/.deps/
Miklos Szeredif782fc42002-01-14 08:48:46 +000079
80%post
Miklos Szeredi941ae4c2003-03-05 08:29:58 +000081/sbin/depmod -aq
82
83%preun
84/sbin/modprobe -r fuse
Miklos Szeredif782fc42002-01-14 08:48:46 +000085
86%postun
Miklos Szeredi941ae4c2003-03-05 08:29:58 +000087/sbin/depmod -aq
88
89
Miklos Szeredif782fc42002-01-14 08:48:46 +000090
91%files
92%defattr(-,root,root)
Miklos Szeredia9b2f262003-03-04 09:37:20 +000093%doc README TODO NEWS INSTALL ChangeLog AUTHORS COPYING COPYING.LIB
Miklos Szeredi941ae4c2003-03-05 08:29:58 +000094%doc example/
95%doc patch/
Miklos Szeredif782fc42002-01-14 08:48:46 +000096
97%{fusemoduledir}
98%{prefix}/lib/libfuse.a
99%{prefix}/include/fuse.h
Miklos Szeredia9b2f262003-03-04 09:37:20 +0000100%{prefix}/lib/fuse/
Miklos Szeredif782fc42002-01-14 08:48:46 +0000101
102# you want to install fusermount SUID root?
103# Then uncomment the "%attr()"-line in favour of the line after it.
104#%attr(4500,root,root) %{prefix}/bin/fusermount
105%{prefix}/bin/fusermount
Miklos Szeredia9b2f262003-03-04 09:37:20 +0000106
Miklos Szeredi941ae4c2003-03-05 08:29:58 +0000107
108
109%changelog
110
Miklos Szeredi21c282b2003-05-26 07:12:57 +0000111* Sun May 25 2003 Achim Settelmeier <fuse-rpm@sirlab.de>
112- don't add --with-kernel in case we compile for the standard kernel
113
Miklos Szeredi941ae4c2003-03-05 08:29:58 +0000114* Tue Mar 04 2003 Achim Settelmeier <fuse-rpm@sirlab.de>
115- "Merged" the specfile by Ian Pilcher (Ian Pilcher <pilchman@attbi.com>)
116 and this specfile into one. Both are provided by fuse-1.0.tar.gz.
117
118* Mon Mar 03 2003 Achim Settelmeier <fuse-rpm@sirlab.de>
119- Updated specfile for RedHat 8.0 systems
120