2 # - include docs, scripts, more files?
6 %bcond_without dist_kernel # allow non-distribution kernel
7 %bcond_without kernel # don't build kernel modules
8 %bcond_without smp # don't build SMP module
9 %bcond_without userspace # don't build userspace programs
10 %bcond_with verbose # verbose build (V=1)
14 Summary: Enhanced Network Block Device
15 Summary(pl.UTF-8): Wzbogacona wersja sieciowego urządzenia blokowego
20 Group: Applications/System
21 Source0: ftp://oboe.it.uc3m.es/pub/Programs/%{name}-%{version}.tgz
22 # Source0-md5: 9e201d20a5666ebc22f832f72a8349a2
23 URL: http://www.it.uc3m.es/~ptb/nbd/
24 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
27 Enhanced Network Block Device.
29 %description -l pl.UTF-8
30 Wzbogacona wersja sieciowego urządzenia blokowego.
32 %package -n kernel-block-enbd
33 Summary: embd kernel module
34 Summary(pl.UTF-8): Moduł jądra enbd
35 Release: %{rel}@%{_kernel_ver_str}
37 %{?with_dist_kernel:%requires_releq_kernel_up}
38 Requires(post,postun): /sbin/depmod
40 %description -n kernel-block-enbd
43 %description -n kernel-block-enbd -l pl.UTF-8
46 %package -n kernel-smp-block-enbd
47 Summary: enbd SMP kernel module
48 Summary(pl.UTF-8): Moduł jądra SMP enbd
49 Release: %{rel}@%{_kernel_ver_str}
51 %{?with_dist_kernel:%requires_releq_kernel_up}
52 Requires(post,postun): /sbin/depmod
54 %description -n kernel-smp-block-enbd
55 enbd SMP kernel module.
57 %description -n kernel-smp-block-enbd -l pl.UTF-8
68 CFLAGS="-I../kernel/linux/include"
73 cd kernel/linux-2.6.x/drivers/block/enbd
75 for cfg in %{?with_dist_kernel:%{?with_smp:smp} up}%{!?with_dist_kernel:nondist}; do
76 if [ ! -r "%{_kernelsrcdir}/config-$cfg" ]; then
79 install -d o/include/linux
80 cp -a ../../../include o
81 ln -sf %{_kernelsrcdir}/config-$cfg o/.config
82 ln -sf %{_kernelsrcdir}/Module.symvers-$cfg o/Module.symvers
83 ln -sf %{_kernelsrcdir}/include/linux/autoconf-$cfg.h o/include/linux/autoconf.h
84 %if %{with dist_kernel}
85 %{__make} -j1 -C %{_kernelsrcdir} O=$PWD/o prepare scripts
87 install -d o/include/config
88 touch o/include/config/MARKER
89 ln -sf %{_kernelsrcdir}/scripts o/scripts
91 %{__make} -C %{_kernelsrcdir} clean \
92 RCS_FIND_IGNORE="-name '*.ko' -o" \
93 SYSSRC=%{_kernelsrcdir} \
97 %{__make} -C %{_kernelsrcdir} modules \
98 CC="%{__cc}" CPP="%{__cpp}" \
99 CONFIG_BLK_DEV_ENBD=m \
100 CONFIG_BLK_DEV_ENBD_IOCTL=m \
101 SYSSRC=%{_kernelsrcdir} \
112 rm -rf $RPM_BUILD_ROOT
114 %if %{with userspace}
116 install -d $RPM_BUILD_ROOT{%{_sbindir},%{_mandir}/man{5,8}}
117 install enbd-server enbd-cstatd enbd-sstatd enbd-test $RPM_BUILD_ROOT%{_sbindir}
118 install *.5 $RPM_BUILD_ROOT%{_mandir}/man5
119 install *.8 $RPM_BUILD_ROOT%{_mandir}/man8
124 cd kernel/linux-2.6.x/drivers/block/enbd
125 install -d $RPM_BUILD_ROOT/lib/modules/%{_kernel_ver}{,smp}/misc
126 install %{?with_dist_kernel:up}%{!?with_dist_kernel:nondist}/*.ko \
127 $RPM_BUILD_ROOT/lib/modules/%{_kernel_ver}/misc
129 %if %{with smp} && %{with dist_kernel}
131 $RPM_BUILD_ROOT/lib/modules/%{_kernel_ver}smp/misc
136 rm -rf $RPM_BUILD_ROOT
138 %post -n kernel-block-enbd
139 %depmod %{_kernel_ver}
141 %postun -n kernel-block-enbd
142 %depmod %{_kernel_ver}
144 %post -n kernel-smp-block-enbd
145 %depmod %{_kernel_ver}smp
147 %postun -n kernel-smp-block-enbd
148 %depmod %{_kernel_ver}smp
150 %if %{with userspace}
152 %defattr(644,root,root,755)
153 %attr(755,root,root) %{_sbindir}/enbd-*
158 %files -n kernel-block-enbd
159 %defattr(644,root,root,755)
160 /lib/modules/%{_kernel_ver}/misc/*.ko*
162 %if %{with smp} && %{with dist_kernel}
163 %files -n kernel-smp-block-enbd
164 %defattr(644,root,root,755)
165 /lib/modules/%{_kernel_ver}smp/misc/*.ko*