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)
8 %bcond_with grsec_kernel # build for kernel-grsecurity
10 %if %{with kernel} && %{with dist_kernel} && %{with grsec_kernel}
11 %define alt_kernel grsecurity
19 Summary: Filesystem in Userspace
20 Summary(pl): System plików w przestrzeni u¿ytkownika
26 Group: Applications/System
27 Source0: http://dl.sourceforge.net/fuse/fuse-%{version}.tar.gz
28 # Source0-md5: 13e1873086a1d7a95f470bbc7428c528
30 Patch0: kernel-misc-fuse-Makefile.am.patch
31 Patch1: %{name}-link.patch
32 URL: http://fuse.sourceforge.net/
33 BuildRequires: autoconf
34 BuildRequires: automake
35 BuildRequires: libtool
36 BuildRequires: sed >= 4.0
38 %{?with_dist_kernel:BuildRequires: kernel%{_alt_kernel}-module-build >= 3:2.6.9}
39 BuildRequires: rpmbuild(macros) >= 1.330
42 BuildRequires: libselinux-devel
44 Requires(postun): /sbin/ldconfig
45 Requires(postun): /usr/sbin/groupdel
46 Requires(pre): /usr/bin/getgid
47 Requires(pre): /usr/sbin/groupadd
48 Buildroot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
51 %undefine with_dist_kernel
55 FUSE (Filesystem in Userspace) is a simple interface for userspace
56 programs to export a virtual filesystem to the Linux kernel. FUSE also
57 aims to provide a secure method for non privileged users to create and
58 mount their own filesystem implementations.
60 This package contains a shared library.
63 FUSE stanowi prosty interfejs dla programów dzia³aj±cych w przestrzeni
64 u¿ytkownika eksportuj±cy wirtualny system plików do j±dra Linuksa.
65 FUSE ma równie¿ na celu udostêpnienie bezpiecznej metody tworzenia i
66 montowania w³asnych implementacji systemów plików przez zwyk³ych
67 (nieuprzywilejowanych) u¿ytkowników.
69 Ten pakiet zawiera bibliotekê wspó³dzielon±.
72 Summary: Filesytem in Userspace - Development header files
73 Summary(pl): System plików w przestrzeni u¿ytkownika - pliki nag³ówkowe
74 Group: Development/Libraries
75 Requires: %{name} = %{epoch}:%{version}-%{_rel}
78 Libfuse library header files.
80 %description devel -l pl
81 Pliki nag³ówkowe biblioteki libfuse.
84 Summary: Filesytem in Userspace - static library
85 Summary(pl): System plików w przestrzeni u¿ytkownika - biblioteka statyczna
86 Group: Development/Libraries
87 Requires: libfuse-devel = %{epoch}:%{version}-%{_rel}
90 Static libfuse libraries.
92 %description static -l pl
93 Statyczna biblioteka libfuse.
95 %package -n kernel%{_alt_kernel}-misc-fuse
96 Summary: Filesystem in Userspace
97 Summary(pl): System plików w przestrzeni u¿ytkownika
98 Release: %{_rel}@%{_kernel_ver_str}
101 Requires(post,postun): /sbin/depmod
102 %if %{with dist_kernel}
103 %requires_releq_kernel_up
104 Requires(postun): %releq_kernel_up
106 %if "%{_alt_kernel}" != "%{nil}"
107 Provides: kernel-misc-fuse
110 %description -n kernel%{_alt_kernel}-misc-fuse
111 FUSE (Filesystem in Userspace) is a simple interface for userspace
112 programs to export a virtual filesystem to the Linux kernel. FUSE also
113 aims to provide a secure method for non privileged users to create and
114 mount their own filesystem implementations.
116 %description -n kernel%{_alt_kernel}-misc-fuse -l pl
117 FUSE stanowi prosty interfejs dla programów dzia³aj±cych w przestrzeni
118 u¿ytkownika eksportuj±cy wirtualny system plików do j±dra Linuksa.
119 FUSE ma równie¿ na celu udostêpnienie bezpiecznej metody tworzenia i
120 montowania w³asnych implementacji systemów plików przez zwyk³ych
121 (nieuprzywilejowanych) u¿ytkowników.
123 %package -n kernel%{_alt_kernel}-smp-misc-fuse
124 Summary: Filesystem in Userspace
125 Summary(pl): System plików w przestrzeni u¿ytkownika
126 Release: %{_rel}@%{_kernel_ver_str}
129 Requires(post,postun): /sbin/depmod
130 %if %{with dist_kernel}
131 %requires_releq_kernel_smp
132 Requires(postun): %releq_kernel_smp
134 Provides: kernel-misc-fuse
136 %description -n kernel%{_alt_kernel}-smp-misc-fuse
137 FUSE (Filesystem in Userspace) is a simple interface for userspace
138 programs to export a virtual filesystem to the Linux kernel. FUSE also
139 aims to provide a secure method for non privileged users to create and
140 mount their own filesystem implementations.
142 %description -n kernel%{_alt_kernel}-smp-misc-fuse -l pl
143 FUSE stanowi prosty interfejs dla programów dzia³aj±cych w przestrzeni
144 u¿ytkownika eksportuj±cy wirtualny system plików do j±dra Linuksa.
145 FUSE ma równie¿ na celu udostêpnienie bezpiecznej metody tworzenia i
146 montowania w³asnych implementacji systemów plików przez zwyk³ych
147 (nieuprzywilejowanych) u¿ytkowników.
150 %setup -q -n fuse-%{version}
154 sed -i '/FUSERMOUNT_PROG/s,fusermount,%{_bindir}/fusermount,' lib/mount.c
163 --%{?with_kernel:en}%{!?with_kernel:dis}able-kernel-module \
166 %{?with_kernel:--with-kernel=%{_kernelsrcdir}}
168 %if %{with userspace}
169 cp kernel/fuse_kernel.h include/
170 for DIR in include lib util; do
176 %build_kernel_modules -m fuse -C kernel
180 rm -rf $RPM_BUILD_ROOT
181 install -d $RPM_BUILD_ROOT{%{_pkgconfigdir},%{_sysconfdir}}
183 %if %{with userspace}
184 for DIR in include lib util; do
185 %{__make} -C $DIR install \
186 DESTDIR=$RPM_BUILD_ROOT
189 install fuse.pc $RPM_BUILD_ROOT%{_pkgconfigdir}
190 install %{SOURCE1} $RPM_BUILD_ROOT%{_sysconfdir}
194 %install_kernel_modules -m kernel/fuse -d kernel/fs
198 rm -rf $RPM_BUILD_ROOT
203 %post -p /sbin/ldconfig
206 if [ "$1" = "0" ] ; then
210 %post -n kernel%{_alt_kernel}-misc-fuse
211 %depmod %{_kernel_ver}
213 %postun -n kernel%{_alt_kernel}-misc-fuse
214 %depmod %{_kernel_ver}
216 %post -n kernel%{_alt_kernel}-smp-misc-fuse
217 %depmod %{_kernel_ver}smp
219 %postun -n kernel%{_alt_kernel}-smp-misc-fuse
220 %depmod %{_kernel_ver}smp
222 %if %{with userspace}
224 %defattr(644,root,root,755)
225 %doc README NEWS ChangeLog AUTHORS doc/*
226 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/fuse.conf
227 %attr(4754,root,fuse) %{_bindir}/fusermount
228 %attr(755,root,root) %{_bindir}/ulockmgr_server
229 %attr(755,root,root) /sbin/mount.fuse
230 %attr(755,root,root) %{_libdir}/lib*.so.*.*.*
233 %defattr(644,root,root,755)
234 %attr(755,root,root) %{_libdir}/lib*.so
237 %{_includedir}/ulockmgr.h
238 %{_pkgconfigdir}/fuse.pc
241 %defattr(644,root,root,755)
246 %files -n kernel%{_alt_kernel}-misc-fuse
247 %defattr(644,root,root,755)
248 /lib/modules/%{_kernel_ver}/kernel/fs/fuse.ko*
250 %if %{with smp} && %{with dist_kernel}
251 %files -n kernel%{_alt_kernel}-smp-misc-fuse
252 %defattr(644,root,root,755)
253 /lib/modules/%{_kernel_ver}smp/kernel/fs/fuse.ko*