]>
Commit | Line | Data |
---|---|---|
adff3eda | 1 | # TODO: |
2 | # - include docs, scripts, more files? | |
3 | # - better descs | |
4 | # | |
5 | # Conditional build: | |
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) | |
11 | ||
12 | # | |
13 | %define rel 0.1 | |
14 | Summary: Enhanced Network Block Device | |
bc5c45fb | 15 | Summary(pl.UTF-8): Wzbogacona wersja sieciowego urządzenia blokowego |
adff3eda | 16 | Name: enbd |
17 | Version: 2.4.32 | |
18 | Release: %{rel} | |
19 | License: GPL | |
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) | |
25 | ||
26 | %description | |
27 | Enhanced Network Block Device. | |
28 | ||
8e55a373 JR |
29 | %description -l pl.UTF-8 |
30 | Wzbogacona wersja sieciowego urządzenia blokowego. | |
adff3eda | 31 | |
32 | %package -n kernel-block-enbd | |
33 | Summary: embd kernel module | |
bc5c45fb | 34 | Summary(pl.UTF-8): Moduł jądra enbd |
adff3eda | 35 | Release: %{rel}@%{_kernel_ver_str} |
36 | Group: Base/Kernel | |
37 | %{?with_dist_kernel:%requires_releq_kernel_up} | |
38 | Requires(post,postun): /sbin/depmod | |
39 | ||
40 | %description -n kernel-block-enbd | |
41 | enbd kernel module. | |
42 | ||
8e55a373 JR |
43 | %description -n kernel-block-enbd -l pl.UTF-8 |
44 | Moduł jądra enbd. | |
adff3eda | 45 | |
46 | %package -n kernel-smp-block-enbd | |
47 | Summary: enbd SMP kernel module | |
bc5c45fb | 48 | Summary(pl.UTF-8): Moduł jądra SMP enbd |
adff3eda | 49 | Release: %{rel}@%{_kernel_ver_str} |
50 | Group: Base/Kernel | |
51 | %{?with_dist_kernel:%requires_releq_kernel_up} | |
52 | Requires(post,postun): /sbin/depmod | |
53 | ||
54 | %description -n kernel-smp-block-enbd | |
55 | enbd SMP kernel module. | |
56 | ||
8e55a373 JR |
57 | %description -n kernel-smp-block-enbd -l pl.UTF-8 |
58 | Moduł jądra SMP enbd. | |
adff3eda | 59 | |
60 | %prep | |
61 | %setup -q | |
62 | ||
63 | %build | |
64 | %if %{with userspace} | |
65 | cd nbd | |
66 | %configure2_13 | |
67 | %{__make} \ | |
68 | CFLAGS="-I../kernel/linux/include" | |
69 | cd - | |
70 | %endif | |
71 | ||
72 | %if %{with kernel} | |
73 | cd kernel/linux-2.6.x/drivers/block/enbd | |
74 | # kernel module(s) | |
75 | for cfg in %{?with_dist_kernel:%{?with_smp:smp} up}%{!?with_dist_kernel:nondist}; do | |
76 | if [ ! -r "%{_kernelsrcdir}/config-$cfg" ]; then | |
77 | exit 1 | |
78 | fi | |
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} | |
504fea33 | 85 | %{__make} -j1 -C %{_kernelsrcdir} O=$PWD/o prepare scripts |
adff3eda | 86 | %else |
87 | install -d o/include/config | |
88 | touch o/include/config/MARKER | |
89 | ln -sf %{_kernelsrcdir}/scripts o/scripts | |
90 | %endif | |
91 | %{__make} -C %{_kernelsrcdir} clean \ | |
92 | RCS_FIND_IGNORE="-name '*.ko' -o" \ | |
93 | SYSSRC=%{_kernelsrcdir} \ | |
94 | SYSOUT=$PWD/o \ | |
95 | M=$PWD O=$PWD/o \ | |
96 | %{?with_verbose:V=1} | |
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} \ | |
102 | SYSOUT=$PWD/o \ | |
103 | M=$PWD O=$PWD/o \ | |
104 | %{?with_verbose:V=1} | |
105 | ||
106 | install -d $cfg | |
107 | mv *.ko $cfg | |
108 | done | |
109 | %endif | |
110 | ||
111 | %install | |
112 | rm -rf $RPM_BUILD_ROOT | |
113 | ||
114 | %if %{with userspace} | |
115 | cd nbd | |
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 | |
120 | cd - | |
121 | %endif | |
122 | ||
123 | %if %{with kernel} | |
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 | |
128 | ||
129 | %if %{with smp} && %{with dist_kernel} | |
130 | install smp/*.ko \ | |
131 | $RPM_BUILD_ROOT/lib/modules/%{_kernel_ver}smp/misc | |
132 | %endif | |
133 | %endif | |
134 | ||
135 | %clean | |
136 | rm -rf $RPM_BUILD_ROOT | |
137 | ||
138 | %post -n kernel-block-enbd | |
139 | %depmod %{_kernel_ver} | |
140 | ||
141 | %postun -n kernel-block-enbd | |
142 | %depmod %{_kernel_ver} | |
143 | ||
144 | %post -n kernel-smp-block-enbd | |
145 | %depmod %{_kernel_ver}smp | |
146 | ||
147 | %postun -n kernel-smp-block-enbd | |
148 | %depmod %{_kernel_ver}smp | |
149 | ||
150 | %if %{with userspace} | |
151 | %files | |
152 | %defattr(644,root,root,755) | |
153 | %attr(755,root,root) %{_sbindir}/enbd-* | |
154 | %{_mandir}/man[58]/* | |
155 | %endif | |
156 | ||
157 | %if %{with kernel} | |
158 | %files -n kernel-block-enbd | |
159 | %defattr(644,root,root,755) | |
160 | /lib/modules/%{_kernel_ver}/misc/*.ko* | |
161 | ||
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* | |
166 | %endif | |
167 | %endif |