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: fa3837fa6bc920303b02fb3820606964
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
37 BuildRequires: sed >= 4.0
39 %{?with_dist_kernel:BuildRequires: kernel%{_alt_kernel}-module-build >= 3:2.6.9}
40 BuildRequires: rpmbuild(macros) >= 1.330
43 BuildRequires: libselinux-devel
45 Requires(postun): /sbin/ldconfig
46 Requires(postun): /usr/sbin/groupdel
47 Requires(pre): /usr/bin/getgid
48 Requires(pre): /usr/sbin/groupadd
49 Buildroot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
52 %undefine with_dist_kernel
56 FUSE (Filesystem in Userspace) is a simple interface for userspace
57 programs to export a virtual filesystem to the Linux kernel. FUSE also
58 aims to provide a secure method for non privileged users to create and
59 mount their own filesystem implementations.
61 This package contains a shared library.
64 FUSE stanowi prosty interfejs dla programów dzia³aj±cych w przestrzeni
65 u¿ytkownika eksportuj±cy wirtualny system plików do j±dra Linuksa.
66 FUSE ma równie¿ na celu udostêpnienie bezpiecznej metody tworzenia i
67 montowania w³asnych implementacji systemów plików przez zwyk³ych
68 (nieuprzywilejowanych) u¿ytkowników.
70 Ten pakiet zawiera bibliotekê wspó³dzielon±.
73 Summary: Filesytem in Userspace - Development header files
74 Summary(pl): System plików w przestrzeni u¿ytkownika - pliki nag³ówkowe
75 Group: Development/Libraries
76 Requires: %{name} = %{epoch}:%{version}-%{_rel}
79 Libfuse library header files.
81 %description devel -l pl
82 Pliki nag³ówkowe biblioteki libfuse.
85 Summary: Filesytem in Userspace - static library
86 Summary(pl): System plików w przestrzeni u¿ytkownika - biblioteka statyczna
87 Group: Development/Libraries
88 Requires: libfuse-devel = %{epoch}:%{version}-%{_rel}
91 Static libfuse libraries.
93 %description static -l pl
94 Statyczna biblioteka libfuse.
96 %package -n kernel%{_alt_kernel}-misc-fuse
97 Summary: Filesystem in Userspace
98 Summary(pl): System plików w przestrzeni u¿ytkownika
99 Release: %{_rel}@%{_kernel_ver_str}
102 Requires(post,postun): /sbin/depmod
103 %if %{with dist_kernel}
104 %requires_releq_kernel_up
105 Requires(postun): %releq_kernel_up
107 %if "%{_alt_kernel}" != "%{nil}"
108 Provides: kernel-misc-fuse
111 %description -n kernel%{_alt_kernel}-misc-fuse
112 FUSE (Filesystem in Userspace) is a simple interface for userspace
113 programs to export a virtual filesystem to the Linux kernel. FUSE also
114 aims to provide a secure method for non privileged users to create and
115 mount their own filesystem implementations.
117 %description -n kernel%{_alt_kernel}-misc-fuse -l pl
118 FUSE stanowi prosty interfejs dla programów dzia³aj±cych w przestrzeni
119 u¿ytkownika eksportuj±cy wirtualny system plików do j±dra Linuksa.
120 FUSE ma równie¿ na celu udostêpnienie bezpiecznej metody tworzenia i
121 montowania w³asnych implementacji systemów plików przez zwyk³ych
122 (nieuprzywilejowanych) u¿ytkowników.
124 %package -n kernel%{_alt_kernel}-smp-misc-fuse
125 Summary: Filesystem in Userspace
126 Summary(pl): System plików w przestrzeni u¿ytkownika
127 Release: %{_rel}@%{_kernel_ver_str}
130 Requires(post,postun): /sbin/depmod
131 %if %{with dist_kernel}
132 %requires_releq_kernel_smp
133 Requires(postun): %releq_kernel_smp
135 Provides: kernel-misc-fuse
137 %description -n kernel%{_alt_kernel}-smp-misc-fuse
138 FUSE (Filesystem in Userspace) is a simple interface for userspace
139 programs to export a virtual filesystem to the Linux kernel. FUSE also
140 aims to provide a secure method for non privileged users to create and
141 mount their own filesystem implementations.
143 %description -n kernel%{_alt_kernel}-smp-misc-fuse -l pl
144 FUSE stanowi prosty interfejs dla programów dzia³aj±cych w przestrzeni
145 u¿ytkownika eksportuj±cy wirtualny system plików do j±dra Linuksa.
146 FUSE ma równie¿ na celu udostêpnienie bezpiecznej metody tworzenia i
147 montowania w³asnych implementacji systemów plików przez zwyk³ych
148 (nieuprzywilejowanych) u¿ytkowników.
151 %setup -q -n fuse-%{version}
155 sed -i '/FUSERMOUNT_PROG/s,fusermount,%{_bindir}/fusermount,' lib/mount.c
164 --%{?with_kernel:en}%{!?with_kernel:dis}able-kernel-module \
167 %{?with_kernel:--with-kernel=%{_kernelsrcdir}}
169 %if %{with userspace}
170 cp kernel/fuse_kernel.h include/
171 for DIR in include lib util; do
177 %build_kernel_modules -m fuse -C kernel
181 rm -rf $RPM_BUILD_ROOT
182 install -d $RPM_BUILD_ROOT{%{_pkgconfigdir},%{_sysconfdir}}
184 %if %{with userspace}
185 for DIR in include lib util; do
186 %{__make} -C $DIR install \
187 DESTDIR=$RPM_BUILD_ROOT
190 install fuse.pc $RPM_BUILD_ROOT%{_pkgconfigdir}
191 install %{SOURCE1} $RPM_BUILD_ROOT%{_sysconfdir}
195 %install_kernel_modules -m kernel/fuse -d kernel/fs
199 rm -rf $RPM_BUILD_ROOT
204 %post -p /sbin/ldconfig
207 if [ "$1" = "0" ] ; then
211 %post -n kernel%{_alt_kernel}-misc-fuse
212 %depmod %{_kernel_ver}
214 %postun -n kernel%{_alt_kernel}-misc-fuse
215 %depmod %{_kernel_ver}
217 %post -n kernel%{_alt_kernel}-smp-misc-fuse
218 %depmod %{_kernel_ver}smp
220 %postun -n kernel%{_alt_kernel}-smp-misc-fuse
221 %depmod %{_kernel_ver}smp
223 %if %{with userspace}
225 %defattr(644,root,root,755)
226 %doc README NEWS ChangeLog AUTHORS doc/*
227 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/fuse.conf
228 %attr(4754,root,fuse) %{_bindir}/fusermount
229 %attr(755,root,root) %{_bindir}/ulockmgr_server
230 %attr(755,root,root) /sbin/mount.fuse
231 %attr(755,root,root) %{_libdir}/lib*.so.*.*.*
234 %defattr(644,root,root,755)
235 %attr(755,root,root) %{_libdir}/lib*.so
238 %{_includedir}/ulockmgr.h
239 %{_pkgconfigdir}/fuse.pc
242 %defattr(644,root,root,755)
247 %files -n kernel%{_alt_kernel}-misc-fuse
248 %defattr(644,root,root,755)
249 /lib/modules/%{_kernel_ver}/kernel/fs/fuse.ko*
251 %if %{with smp} && %{with dist_kernel}
252 %files -n kernel%{_alt_kernel}-smp-misc-fuse
253 %defattr(644,root,root,755)
254 /lib/modules/%{_kernel_ver}smp/kernel/fs/fuse.ko*