3 %bcond_without dist_kernel # allow non-distribution kernel
4 %bcond_without kernel # don't build kernel modules
5 %bcond_without smp # don't build SMP module
6 %bcond_without userspace # don't build userspace module
7 %bcond_with verbose # verbose build (V=1)
10 %undefine with_dist_kernel
14 Summary: Linux Dazuko driver
15 Summary(pl.UTF-8): Sterownik Dazuko dla Linuksa
20 License: BSD (library), GPL (Linux kernel module)
22 Source0: http://www.dazuko.org/files/%{name}-%{version}.tar.gz
23 # Source0-md5: bb32e24ad60a31dbfc419d3341287f68
24 Patch0: %{name}-kbuild.patch
25 Patch1: %{name}-caps.patch
26 URL: http://www.dazuko.org/
28 %{?with_dist_kernel:BuildRequires: kernel%{_alt_kernel}-module-build >= 3:2.6.14}
29 BuildRequires: rpmbuild(macros) >= 1.286
31 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
34 Dazuko aims to be a cross-platform device driver that allows
35 applications to control file access on a system. By installing the
36 driver, your system will be able to support file access control
37 applications that are based on Dazuko. As this project becomes more
38 popular and more applications choose Dazuko for their file access
39 needs, it is hoped that this driver will become a common component of
42 To install the dazuko kernel module install kernel-misc-dazuko or
43 kernel-smp-misc-dazuko.
45 %description -l pl.UTF-8
46 Dazuko ma być wieloplatformowym sterownikiem urządzenia pozwalającym
47 aplikacjom sterować dostępem do plików w systemie. Poprzez
48 zainstalowanie sterownika system będzie mógł wspierać aplikacje
49 sterujące dostępem do plików w oparciu o Dazuko. Kiedy ten projekt
50 stanie się popularny, autorzy mają nadzieję, że sterownik ten będzie
51 popularnym elementem większości systemów.
53 Aby zainstalować moduł jądra należy zainstalować pakiet
54 kernel-misc-dazuko lub kernel-smp-misc-dazuko.
57 %package -n kernel%{_alt_kernel}-misc-%{name}
58 Summary: Linux driver for dazuko
59 Summary(pl.UTF-8): Linuksowy sterownik dazuko
60 Release: %{_rel}@%{_kernel_ver_str}
62 Requires(post,postun): /sbin/depmod
63 %if %{with dist_kernel}
64 %requires_releq_kernel_up
65 Requires(postun): %releq_kernel_up
68 %description -n kernel%{_alt_kernel}-misc-%{name}
69 This is driver for dazuko for Linux.
71 This package contains Linux module.
73 %description -n kernel%{_alt_kernel}-misc-%{name} -l pl.UTF-8
74 Ten pakiet zawiera sterownik dazuko dla Linuksa.
76 %package -n kernel%{_alt_kernel}-smp-misc-%{name}
77 Summary: Linux SMP driver for dazuko
78 Summary(pl.UTF-8): Sterownik dazuko dla Linuksa SMP
79 Release: %{_rel}@%{_kernel_ver_str}
81 Requires(post,postun): /sbin/depmod
82 %if %{with dist_kernel}
83 %requires_releq_kernel_smp
84 Requires(postun): %releq_kernel_smp
87 %description -n kernel%{_alt_kernel}-smp-misc-%{name}
88 This is driver for dazuko for Linux.
90 This package contains Linux SMP module.
92 %description -n kernel%{_alt_kernel}-smp-misc-%{name} -l pl.UTF-8
93 Ten pakiet zawiera sterownik dazuko dla Linuksa SMP.
96 Summary: Example code for Dazuko
97 Summary(pl.UTF-8): Przykładowy kod dla Dazuko
99 Group: Development/Libraries
101 %description examples
102 Example code for Dazuko.
104 %description examples -l pl.UTF-8
105 Przykładowy kod dla Dazuko.
108 Summary: Headers for Dazuko
109 Summary(pl.UTF-8): Pliki nagłówkowe Dazuko
111 Group: Development/Libraries
112 Requires: %{name} = %{version}-%{release}
117 %description devel -l pl.UTF-8
118 Pliki nagłówkowe Dazuko.
121 Summary: Static libraries for Dazuko
122 Summary(pl.UTF-8): Statyczne biblioteki Dazuko
124 Group: Development/Libraries
125 Requires: %{name}-devel = %{version}-%{release}
128 Static libraries for Dazuko.
130 %description static -l pl.UTF-8
131 Statyczne biblioteki Dazuko.
140 for cfg in %{?with_dist_kernel:%{?with_smp:smp} up}%{!?with_dist_kernel:nondist}; do
141 if [ ! -r "%{_kernelsrcdir}/config-$cfg" ]; then
144 install -d o/include/linux
145 ln -sf %{_kernelsrcdir}/config-$cfg o/.config
146 ln -sf %{_kernelsrcdir}/Module.symvers-$cfg o/Module.symvers
147 ln -sf %{_kernelsrcdir}/include/linux/autoconf-$cfg.h o/include/linux/autoconf.h
148 %if %{with dist_kernel}
149 %{__make} -j1 -C %{_kernelsrcdir} O=$PWD/o prepare scripts
151 install -d o/include/config
152 touch o/include/config/MARKER
153 ln -sf %{_kernelsrcdir}/scripts o/scripts
156 # patching/creating makefile(s) (optional)
158 # NOTE: It's not autoconf configure.
160 --kernelsrcdir=%{_kernelsrcdir} \
161 %{?debug:--enable-debug} \
165 %{__make} -C %{_kernelsrcdir} clean \
166 RCS_FIND_IGNORE="-name '*.ko' -o" \
167 SYSSRC=%{_kernelsrcdir} \
171 %{__make} -C %{_kernelsrcdir} modules \
172 CC="%{__cc}" CPP="%{__cpp}" \
173 SYSSRC=%{_kernelsrcdir} \
182 %if %{with userspace}
183 # NOTE: It's not autoconf configure.
185 %{?debug:--enable-debug} \
192 CFLAGS="%{rpmcflags} -fPIC"
193 %{__cc} -shared -Wl,-soname,libdazuko.so.0 -o libdazuko.so.0.0.0 *.o
194 ln -s libdazuko.so.0.0.0 libdazuko.so.0
195 ln -s libdazuko.so.0.0.0 libdazuko.so
200 rm -rf $RPM_BUILD_ROOT
202 %if %{with userspace}
203 install -d $RPM_BUILD_ROOT{%{_examplesdir}/%{name}-%{version},%{_libdir},%{_includedir}}
205 cp -a example* $RPM_BUILD_ROOT%{_examplesdir}/%{name}-%{version}
207 cp -af library/libdazuko.* $RPM_BUILD_ROOT%{_libdir}
208 install dazukoio.h $RPM_BUILD_ROOT%{_includedir}
212 install -d $RPM_BUILD_ROOT/lib/modules/%{_kernel_ver}{,smp}/misc
213 install dazuko-%{?with_dist_kernel:up}%{!?with_dist_kernel:nondist}.ko \
214 $RPM_BUILD_ROOT/lib/modules/%{_kernel_ver}/misc/dazuko.ko
215 %if %{with smp} && %{with dist_kernel}
216 install dazuko-smp.ko \
217 $RPM_BUILD_ROOT/lib/modules/%{_kernel_ver}smp/misc/dazuko.ko
222 rm -rf $RPM_BUILD_ROOT
224 %post -p /sbin/ldconfig
225 %postun -p /sbin/ldconfig
227 %post -n kernel%{_alt_kernel}-misc-dazuko
228 %depmod %{_kernel_ver}
230 %postun -n kernel%{_alt_kernel}-misc-dazuko
231 %depmod %{_kernel_ver}
233 %post -n kernel%{_alt_kernel}-smp-misc-dazuko
234 %depmod %{_kernel_ver}smp
236 %postun -n kernel%{_alt_kernel}-smp-misc-dazuko
237 %depmod %{_kernel_ver}smp
240 %files -n kernel%{_alt_kernel}-misc-dazuko
241 %defattr(644,root,root,755)
242 /lib/modules/%{_kernel_ver}/misc/*.ko*
244 %if %{with smp} && %{with dist_kernel}
245 %files -n kernel%{_alt_kernel}-smp-misc-dazuko
246 %defattr(644,root,root,755)
247 /lib/modules/%{_kernel_ver}smp/misc/*.ko*
251 %if %{with userspace}
253 %defattr(644,root,root,755)
254 %attr(755,root,root) %{_libdir}/libdazuko.so.*.*.*
257 %defattr(644,root,root,755)
259 %{_examplesdir}/%{name}-%{version}
262 %defattr(644,root,root,755)
263 %attr(755,root,root) %{_libdir}/libdazuko.so
264 %{_includedir}/dazukoio.h
267 %defattr(644,root,root,755)