1 |
dpavlin |
4 |
%define kernelversion %(uname -r) |
2 |
|
|
%define fusemoduledir /lib/modules/%{kernelversion}/kernel/fs/fuse |
3 |
|
|
|
4 |
|
|
%define kernelrel %(uname -r | sed -e s/-/_/g) |
5 |
|
|
%define real_release 6 |
6 |
|
|
|
7 |
|
|
Name: fuse |
8 |
|
|
Version: 1.0 |
9 |
|
|
Release: kernel_%{kernelrel}_%{real_release} |
10 |
|
|
Summary: Filesystem in Userspace |
11 |
|
|
Source: %{name}-%{version}.tar.gz |
12 |
|
|
Copyright: GPL |
13 |
|
|
Group: Utilities/System |
14 |
|
|
URL: http://sourceforge.net/projects/avf |
15 |
|
|
Buildroot: %{_tmppath}/%{name}-root |
16 |
|
|
Prefix: /usr |
17 |
|
|
Packager: Achim Settelmeier <fuse-rpm@sirlab.de> |
18 |
|
|
# 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 |
|
|
|
25 |
|
|
|
26 |
|
|
%description |
27 |
|
|
FUSE (Filesystem in Userspace) is a simple interface for userspace |
28 |
|
|
programs to export a virtual filesystem to the linux kernel. FUSE |
29 |
|
|
also aims to provide a secure method for non privileged users to |
30 |
|
|
create and mount their own filesystem implementations. |
31 |
|
|
|
32 |
|
|
|
33 |
|
|
%clean |
34 |
|
|
case "$RPM_BUILD_ROOT" in *-root) rm -rf $RPM_BUILD_ROOT ;; esac |
35 |
|
|
|
36 |
|
|
%prep |
37 |
|
|
%setup |
38 |
|
|
|
39 |
|
|
%build |
40 |
|
|
# invoke configure with the --with-kernel option in case we attempt to |
41 |
|
|
# compile for a different kernel and hope the path is right :-) |
42 |
|
|
if [ "%{kernelversion}" != $(uname -r) ]; then |
43 |
|
|
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 |
51 |
|
|
fi |
52 |
|
|
|
53 |
|
|
./configure \ |
54 |
|
|
--prefix=%{prefix} \ |
55 |
|
|
$WITH_KERNEL |
56 |
|
|
make |
57 |
|
|
make check |
58 |
|
|
|
59 |
|
|
## 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 |
|
|
|
66 |
|
|
%install |
67 |
|
|
case "$RPM_BUILD_ROOT" in *-root) rm -rf $RPM_BUILD_ROOT ;; esac |
68 |
|
|
make install \ |
69 |
|
|
prefix=$RPM_BUILD_ROOT%{prefix} \ |
70 |
|
|
fusemoduledir=$RPM_BUILD_ROOT%{fusemoduledir} |
71 |
|
|
|
72 |
|
|
install -d $RPM_BUILD_ROOT%{prefix}/lib/fuse/example |
73 |
|
|
install -s -m 755 example/{fusexmp,hello,null} $RPM_BUILD_ROOT%{prefix}/lib/fuse/example/ |
74 |
|
|
|
75 |
|
|
# remove binaries form example folder so we can include it |
76 |
|
|
# as a form of documentation into the package |
77 |
|
|
make -C example clean |
78 |
|
|
rm -rf example/.deps/ |
79 |
|
|
|
80 |
|
|
%post |
81 |
|
|
/sbin/depmod -aq |
82 |
|
|
|
83 |
|
|
%preun |
84 |
|
|
/sbin/modprobe -r fuse |
85 |
|
|
|
86 |
|
|
%postun |
87 |
|
|
/sbin/depmod -aq |
88 |
|
|
|
89 |
|
|
|
90 |
|
|
|
91 |
|
|
%files |
92 |
|
|
%defattr(-,root,root) |
93 |
|
|
%doc README TODO NEWS INSTALL ChangeLog AUTHORS COPYING COPYING.LIB |
94 |
|
|
%doc example/ |
95 |
|
|
%doc patch/ |
96 |
|
|
|
97 |
|
|
%{fusemoduledir} |
98 |
|
|
%{prefix}/lib/libfuse.a |
99 |
|
|
%{prefix}/include/fuse.h |
100 |
|
|
%{prefix}/lib/fuse/ |
101 |
|
|
|
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 |
106 |
|
|
|
107 |
|
|
|
108 |
|
|
|
109 |
|
|
%changelog |
110 |
|
|
|
111 |
|
|
* 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 |
|
|
|
114 |
|
|
* 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 |
|
|
|