3 %bcond_without dist_kernel # without distribution kernel
4 %bcond_without kernel # don't build kernel modules
5 %bcond_without smp # without smp packages
6 %bcond_without userspace # don't build userspace tools
7 %bcond_with verbose # verbose build (V=1)
14 Summary: Filesystem in Userspace
15 Summary(pl): System plików w przestrzeni u¿ytkownika
21 Group: Applications/System
22 Source0: http://dl.sourceforge.net/fuse/fuse-%{version}.tar.gz
23 # Source0-md5: 9c7e8b6606b9f158ae20b8521ba2867c
25 Patch0: kernel-misc-fuse-Makefile.am.patch
26 Patch1: %{name}-ac-LIBTOOL.patch
27 URL: http://fuse.sourceforge.net/
28 BuildRequires: autoconf
29 BuildRequires: automake
31 %{?with_dist_kernel:BuildRequires: kernel-module-build >= 3:2.6.7}
32 BuildRequires: rpmbuild(macros) >= 1.217
34 BuildRequires: libtool
35 BuildRequires: sed >= 4.0
36 Requires(postun): /sbin/ldconfig
37 Requires(postun): /usr/sbin/groupdel
38 Requires(pre): /usr/bin/getgid
39 Requires(pre): /usr/sbin/groupadd
40 Buildroot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
43 %undefine with_dist_kernel
47 FUSE (Filesystem in Userspace) is a simple interface for userspace
48 programs to export a virtual filesystem to the Linux kernel. FUSE also
49 aims to provide a secure method for non privileged users to create and
50 mount their own filesystem implementations.
52 This package contains a shared library.
55 FUSE stanowi prosty interfejs dla programów dzia³aj±cych w przestrzeni
56 u¿ytkownika eksportuj±cy wirtualny system plików do j±dra Linuksa.
57 FUSE ma równie¿ na celu udostêpnienie bezpiecznej metody tworzenia i
58 montowania w³asnych implementacji systemów plików przez zwyk³ych
59 (nieuprzywilejowanych) u¿ytkowników.
61 Ten pakiet zawiera bibliotekê wspó³dzielon±.
64 Summary: Filesytem in Userspace - Development header files
65 Summary(pl): System plików w przestrzeni u¿ytkownika - pliki nag³ówkowe
66 Group: Development/Libraries
67 Requires: %{name} = %{epoch}:%{version}-%{_rel}
70 Libfuse library header files.
72 %description devel -l pl
73 Pliki nag³ówkowe biblioteki libfuse.
76 Summary: Filesytem in Userspace - static library
77 Summary(pl): System plików w przestrzeni u¿ytkownika - biblioteka statyczna
79 Group: Development/Libraries
80 Requires: libfuse-devel = %{epoch}:%{version}-%{_rel}
83 Static libfuse libraries.
85 %description static -l pl
86 Statyczna biblioteka libfuse.
88 %package -n kernel-misc-fuse
89 Summary: Filesystem in Userspace
90 Summary(pl): System plików w przestrzeni u¿ytkownika
91 Release: %{_rel}@%{_kernel_ver_str}
94 Requires(post,postun): /sbin/depmod
95 %if %{with dist_kernel}
96 %requires_releq_kernel_up
97 Requires(postun): %releq_kernel_up
100 %description -n kernel-misc-fuse
101 FUSE (Filesystem in Userspace) is a simple interface for userspace
102 programs to export a virtual filesystem to the Linux kernel. FUSE also
103 aims to provide a secure method for non privileged users to create and
104 mount their own filesystem implementations.
106 %description -n kernel-misc-fuse -l pl
107 FUSE stanowi prosty interfejs dla programów dzia³aj±cych w przestrzeni
108 u¿ytkownika eksportuj±cy wirtualny system plików do j±dra Linuksa.
109 FUSE ma równie¿ na celu udostêpnienie bezpiecznej metody tworzenia i
110 montowania w³asnych implementacji systemów plików przez zwyk³ych
111 (nieuprzywilejowanych) u¿ytkowników.
113 %package -n kernel-smp-misc-fuse
114 Summary: Filesystem in Userspace
115 Summary(pl): System plików w przestrzeni u¿ytkownika
116 Release: %{_rel}@%{_kernel_ver_str}
119 Requires(post,postun): /sbin/depmod
120 Provides: kernel-misc-fuse
121 %if %{with dist_kernel}
122 %requires_releq_kernel_smp
123 Requires(postun): %releq_kernel_smp
126 %description -n kernel-smp-misc-fuse
127 FUSE (Filesystem in Userspace) is a simple interface for userspace
128 programs to export a virtual filesystem to the Linux kernel. FUSE also
129 aims to provide a secure method for non privileged users to create and
130 mount their own filesystem implementations.
132 %description -n kernel-smp-misc-fuse -l pl
133 FUSE stanowi prosty interfejs dla programów dzia³aj±cych w przestrzeni
134 u¿ytkownika eksportuj±cy wirtualny system plików do j±dra Linuksa.
135 FUSE ma równie¿ na celu udostêpnienie bezpiecznej metody tworzenia i
136 montowania w³asnych implementacji systemów plików przez zwyk³ych
137 (nieuprzywilejowanych) u¿ytkowników.
140 %setup -q -n fuse-%{version}
144 sed -i '/FUSERMOUNT_PROG/s,fusermount,%{_bindir}/fusermount,' lib/mount.c
153 --%{?with_kernel:en}%{!?with_kernel:dis}able-kernel-module \
156 %{?with_kernel:--with-kernel=%{_kernelsrcdir}}
158 %if %{with userspace}
159 cp kernel/fuse_kernel.h include/
160 for DIR in include lib util; do
167 for cfg in %{?with_dist_kernel:%{?with_smp:smp} up}%{!?with_dist_kernel:nondist}; do
168 if [ ! -r "%{_kernelsrcdir}/config-$cfg" ]; then
171 install -d o/include/linux
172 ln -sf %{_kernelsrcdir}/config-$cfg o/.config
173 ln -sf %{_kernelsrcdir}/Module.symvers-$cfg o/Module.symvers
174 ln -sf %{_kernelsrcdir}/include/linux/autoconf-$cfg.h o/include/linux/autoconf.h
175 %if %{with dist_kernel}
176 %{__make} -C %{_kernelsrcdir} O=$PWD/o prepare scripts
178 install -d o/include/config
179 touch o/include/config/MARKER
180 ln -sf %{_kernelsrcdir}/scripts o/scripts
182 %{__make} -C %{_kernelsrcdir} clean \
183 RCS_FIND_IGNORE="-name '*.ko' -o" \
184 SYSSRC=%{_kernelsrcdir} \
188 %{__make} -C %{_kernelsrcdir} modules \
189 CC="%{__cc}" CPP="%{__cpp}" \
190 SYSSRC=%{_kernelsrcdir} \
195 mv fuse.ko fuse-$cfg.ko
201 rm -rf $RPM_BUILD_ROOT
202 install -d $RPM_BUILD_ROOT{%{_pkgconfigdir},%{_sysconfdir}}
204 %if %{with userspace}
205 for DIR in include lib util; do
206 %{__make} -C $DIR install \
207 DESTDIR=$RPM_BUILD_ROOT
210 install fuse.pc $RPM_BUILD_ROOT%{_pkgconfigdir}
211 install %{SOURCE1} $RPM_BUILD_ROOT%{_sysconfdir}
216 install -d $RPM_BUILD_ROOT/lib/modules/%{_kernel_ver}{,smp}/kernel/fs
217 install fuse-%{?with_dist_kernel:up}%{!?with_dist_kernel:nondist}.ko \
218 $RPM_BUILD_ROOT/lib/modules/%{_kernel_ver}/kernel/fs/fuse.ko
219 %if %{with smp} && %{with dist_kernel}
220 install fuse-smp.ko \
221 $RPM_BUILD_ROOT/lib/modules/%{_kernel_ver}smp/kernel/fs/fuse.ko
226 rm -rf $RPM_BUILD_ROOT
231 %post -p /sbin/ldconfig
234 if [ "$1" == "0" ] ; then
238 %post -n kernel-misc-fuse
239 %depmod %{_kernel_ver}
241 %postun -n kernel-misc-fuse
242 %depmod %{_kernel_ver}
244 %post -n kernel-smp-misc-fuse
245 %depmod %{_kernel_ver}smp
247 %postun -n kernel-smp-misc-fuse
248 %depmod %{_kernel_ver}smp
250 %if %{with userspace}
252 %defattr(644,root,root,755)
253 %doc README NEWS ChangeLog AUTHORS doc/*
254 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/fuse.conf
255 %attr(4750,root,fuse) %{_bindir}/fusermount
256 %attr(755,root,root) /sbin/mount.fuse
257 %attr(755,root,root) %{_libdir}/libfuse.so.*.*.*
260 %defattr(644,root,root,755)
261 %attr(755,root,root) %{_libdir}/libfuse.so
262 %{_libdir}/libfuse.la
264 %{_pkgconfigdir}/fuse.pc
267 %defattr(644,root,root,755)
272 %files -n kernel-misc-fuse
273 %defattr(644,root,root,755)
274 /lib/modules/%{_kernel_ver}/kernel/fs/fuse.ko*
276 %if %{with smp} && %{with dist_kernel}
277 %files -n kernel-smp-misc-fuse
278 %defattr(644,root,root,755)
279 /lib/modules/%{_kernel_ver}smp/kernel/fs/fuse.ko*