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): 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: 844498651d22ddd76bea4104bf7c3e43
24 URL: http://www.dazuko.org/
26 %{?with_dist_kernel:BuildRequires: kernel-module-build >= 2.6.7}
27 BuildRequires: rpmbuild(macros) >= 1.217
30 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
33 Dazuko aims to be a cross-platform device driver that allows
34 applications to control file access on a system. By installing the
35 driver, your system will be able to support file access control
36 applications that are based on Dazuko. As this project becomes more
37 popular and more applications choose Dazuko for their file access
38 needs, it is hoped that this driver will become a common component of
41 To install the dazuko kernel module install kernel-misc-dazuko or
42 kernel-smp-misc-dazuko.
45 Dazuko ma byæ wieloplatformowym sterownikiem urz±dzenia pozwalaj±cym
46 aplikacjom sterowaæ dostêpem do plików w systemie. Poprzez
47 zainstalowanie sterownika system bêdzie móg³ wspieraæ aplikacje
48 steruj±ce dostêpem do plików w oparciu o Dazuko. Kiedy ten projekt
49 stanie siê popularny, autorzy maj± nadziejê, ¿e sterownik ten bêdzie
50 popularnym elementem wiêkszo¶ci systemów.
52 Aby zainstalowaæ modu³ j±dra nale¿y zainstalowaæ pakiet
53 kernel-misc-dazuko lub kernel-smp-misc-dazuko.
56 %package -n kernel-misc-%{name}
57 Summary: Linux driver for dazuko
58 Summary(pl): Linuksowy sterownik dazuko
59 Release: %{_rel}@%{_kernel_ver_str}
61 Requires(post,postun): /sbin/depmod
62 %if %{with dist_kernel}
63 %requires_releq_kernel_up
64 Requires(postun): %releq_kernel_up
67 %description -n kernel-misc-%{name}
68 This is driver for dazuko for Linux.
70 This package contains Linux module.
72 %description -n kernel-misc-%{name} -l pl
73 Ten pakiet zawiera sterownik dazuko dla Linuksa.
75 %package -n kernel-smp-misc-%{name}
76 Summary: Linux SMP driver for dazuko
77 Summary(pl): Sterownik dazuko dla Linuksa SMP
78 Release: %{_rel}@%{_kernel_ver_str}
80 Requires(post,postun): /sbin/depmod
81 %if %{with dist_kernel}
82 %requires_releq_kernel_smp
83 Requires(postun): %releq_kernel_smp
86 %description -n kernel-smp-misc-%{name}
87 This is driver for dazuko for Linux.
89 This package contains Linux SMP module.
91 %description -n kernel-smp-misc-%{name} -l pl
92 Ten pakiet zawiera sterownik dazuko dla Linuksa SMP.
95 Summary: Example code for Dazuko
96 Summary(pl): Przyk³adowy kod dla Dazuko
98 Group: Development/Libraries
100 %description examples
101 Example code for Dazuko.
103 %description examples -l pl
104 Przyk³adowy kod dla Dazuko.
107 Summary: Headers for Dazuko
108 Summary(pl): Pliki nag³ówkowe Dazuko
110 Group: Development/Libraries
111 Requires: %{name} = %{version}-%{release}
116 %description devel -l pl
117 Pliki nag³ówkowe Dazuko.
120 Summary: Static libraries for Dazuko
121 Summary(pl): Statyczne biblioteki Dazuko
123 Group: Development/Libraries
124 Requires: %{name}-devel = %{version}-%{release}
127 Static libraries for Dazuko.
129 %description static -l pl
130 Statyczne biblioteki Dazuko.
136 # NOTE: It's not autoconf configure.
138 %{?debug:--enable-debug}
139 --kernelsrcdir=%{_kernelsrcdir} \
140 --disable-local-dpath \
142 %{!?with_userspace:--without-library} \
143 %{!?with_kernel:--without-module}
146 for cfg in %{?with_dist_kernel:%{?with_smp:smp} up}%{!?with_dist_kernel:nondist}; do
147 if [ ! -r "%{_kernelsrcdir}/config-$cfg" ]; then
150 install -d o/include/linux
151 ln -sf %{_kernelsrcdir}/config-$cfg o/.config
152 ln -sf %{_kernelsrcdir}/Module.symvers-$cfg o/Module.symvers
153 ln -sf %{_kernelsrcdir}/include/linux/autoconf-$cfg.h o/include/linux/autoconf.h
154 %if %{with dist_kernel}
155 %{__make} -C %{_kernelsrcdir} O=$PWD/o prepare scripts
157 install -d o/include/config
158 touch o/include/config/MARKER
159 ln -sf %{_kernelsrcdir}/scripts o/scripts
162 # patching/creating makefile(s) (optional)
164 %{__make} -C %{_kernelsrcdir} clean \
165 RCS_FIND_IGNORE="-name '*.ko' -o" \
166 SYSSRC=%{_kernelsrcdir} \
170 %{__make} -C %{_kernelsrcdir} modules \
171 CC="%{__cc}" CPP="%{__cpp}" \
172 SYSSRC=%{_kernelsrcdir} \
181 %if %{with userspace}
185 CFLAGS="%{rpmcflags} -fPIC"
186 %{__cc} -shared -Wl,-soname,libdazuko.so.0 -o libdazuko.so.0.0.0 *.o
187 ln -s libdazuko.so.0.0.0 libdazuko.so.0
188 ln -s libdazuko.so.0.0.0 libdazuko.so
193 rm -rf $RPM_BUILD_ROOT
195 %if %{with userspace}
196 install -d $RPM_BUILD_ROOT{%{_examplesdir}/%{name}-%{version},%{_libdir},%{_includedir}}
198 cp -a example* $RPM_BUILD_ROOT%{_examplesdir}/%{name}-%{version}
200 cp -af library/libdazuko.* $RPM_BUILD_ROOT%{_libdir}
201 install dazukoio.h $RPM_BUILD_ROOT%{_includedir}
205 install -d $RPM_BUILD_ROOT/lib/modules/%{_kernel_ver}{,smp}/misc
206 install dazuko-%{?with_dist_kernel:up}%{!?with_dist_kernel:nondist}.ko \
207 $RPM_BUILD_ROOT/lib/modules/%{_kernel_ver}/misc/dazuko.ko
208 %if %{with smp} && %{with dist_kernel}
209 install dazuko-smp.ko \
210 $RPM_BUILD_ROOT/lib/modules/%{_kernel_ver}smp/misc/dazuko.ko
215 rm -rf $RPM_BUILD_ROOT
217 %post -p /sbin/ldconfig
218 %postun -p /sbin/ldconfig
220 %post -n kernel-misc-dazuko
221 %depmod %{_kernel_ver}
223 %postun -n kernel-misc-dazuko
224 %depmod %{_kernel_ver}
226 %post -n kernel-smp-misc-dazuko
227 %depmod %{_kernel_ver}smp
229 %postun -n kernel-smp-misc-dazuko
230 %depmod %{_kernel_ver}smp
233 %files -n kernel-misc-dazuko
234 %defattr(644,root,root,755)
235 /lib/modules/%{_kernel_ver}/misc/*.ko*
237 %if %{with smp} && %{with dist_kernel}
238 %files -n kernel-smp-misc-dazuko
239 %defattr(644,root,root,755)
240 /lib/modules/%{_kernel_ver}smp/misc/*.ko*
244 %if %{with userspace}
246 %defattr(644,root,root,755)
247 %attr(755,root,root) %{_libdir}/libdazuko.so.*.*.*
250 %defattr(644,root,root,755)
252 %{_examplesdir}/%{name}-%{version}
255 %defattr(644,root,root,755)
256 %attr(755,root,root) %{_libdir}/libdazuko.so
257 %{_includedir}/dazukoio.h
260 %defattr(644,root,root,755)