]> git.pld-linux.org Git - packages/enbd.git/blob - enbd.spec
- tabs in preamble
[packages/enbd.git] / enbd.spec
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
15 Summary(pl.UTF-8):      Wzbogacona wersja sieciowego urządzenia blokowego
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
29 %description -l pl.UTF-8
30 Wzbogacona wersja sieciowego urządzenia blokowego.
31
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}
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
43 %description -n kernel-block-enbd -l pl.UTF-8
44 Moduł jądra enbd.
45
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}
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
57 %description -n kernel-smp-block-enbd -l pl.UTF-8
58 Moduł jądra SMP enbd.
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}
85         %{__make} -j1 -C %{_kernelsrcdir} O=$PWD/o prepare scripts
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
This page took 0.064526 seconds and 3 git commands to generate.