]> git.pld-linux.org Git - packages/drbd.git/blob - drbd.spec
- added _without_dist_kernel option
[packages/drbd.git] / drbd.spec
1
2 # conditional build
3 # _without_dist_kernel          without kernel form ditribution
4
5 %define         _kernel_ver     %(grep UTS_RELEASE %{_kernelsrcdir}/include/linux/version.h 2>/dev/null | cut -d'"' -f2)
6 %define         _kernel_ver_str %(echo %{_kernel_ver} | sed s/-/_/g)
7 %define         _kernel24       %(echo %{_kernel_ver} | grep -q '2\.[012]\.' ; echo $?)
8
9 %define         rel             1
10
11 Summary:        drbd is a block device designed to build high availibility clusters
12 Summary(pl):    drbd jest urz±dzeniem blokowym dla klastrów o wysokiej niezawodno¶ci
13 Name:           drbd
14 Version:        0.5.8
15 Release:        %{rel}
16 License:        GPL
17 Group:          Base/Kernel
18 Group(de):      Grundsätzlich/Kern
19 Group(pl):      Podstawowe/J±dro
20 Source0:        http://www.complang.tuwien.ac.at/reisner/drbd/download/%{name}-%{version}.tar.gz
21 Patch0:         %{name}-kernel24.patch
22 URL:            http://www.complang.tuwien.ac.at/reisner/drbd/
23 BuildRoot:      %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
24
25 %description
26 drbd is a block device which is designed to build high availability
27 clusters. This is done by mirroring a whole block device via (a
28 dedicated) network. You could see it as a network RAID1.
29
30 %description -l pl
31 drbd jest urz±dzeniem blokowym zaprojektowanym dla klastrów o wysokiej
32 niezawodno¶ci. drbd dzia³a jako mirroring ca³ego urz±dzenia blokowego
33 przez (dedykowan±) sieæ. Mo¿e byæ widoczny jako sieciowy RAID1.
34
35 %description -l pt_BR
36 O DRBD é um dispositivo de bloco que é projetado para construir
37 clusters de Alta Disponibilidade. Isto é feito espelhando um
38 dispositivo de bloco inteiro via rede (dedicada ou não). Pode ser
39 visto como um RAID 1 via rede. Este pacote contém utilitários para
40 gerenciar dispositivos DRBD.
41
42 %package -n drbdsetup
43 Summary:        Setup tool and scripts for DRBD
44 Summary(pl):    Narzêdzie konfiguracyjne i skrypty dla DRBD
45 Summary(pt_BR): Utilitários para gerenciar dispositivos DRBD
46 Group:          Applications/System
47 Group(de):      Applikationen/System
48 Group(pl):      Aplikacje/System
49 Prereq:         rc-scripts
50 Prereq:         chkconfig
51
52 %description -n drbdsetup
53 Setup tool and init scripts for DRBD.
54
55 %description -l pl -n drbdsetup
56 Narzêdzie konfiguracyjne i skrypty startowe dla DRBD.
57
58 %package -n kernel-block-drbd
59 Summary:        kernel module with drbd - a block device designed to build high availibility clusters
60 Summary(pl):    Modu³ kernela do drbd - urz±dzenia blokowego dla klastrów o wysokiej niezawodno¶ci
61 Release:        %{rel}@%{_kernel_ver_str}
62 Group:          Base/Kernel
63 Group(de):      Grundsätzlich/Kern
64 Group(pl):      Podstawowe/J±dro
65 Prereq:         /sbin/depmod
66 Requires:       drbdsetup
67 Conflicts:      kernel-smp-block-drbd
68 %{!?_without_dist_kernel:Conflicts:     kernel-smp}
69 %{!?_without_dist_kernel:Conflicts:     kernel < %{_kernel_ver}}
70 %{!?_without_dist_kernel:Conflicts:     kernel > %{_kernel_ver}}
71
72 %description -n kernel-block-drbd
73 drbd is a block device which is designed to build high availability
74 clusters. This is done by mirroring a whole block device via (a
75 dedicated) network. You could see it as a network RAID1.
76
77 %description -l pl -n kernel-block-drbd
78 drbd jest urz±dzeniem blokowym zaprojektowanym dla klastrów o wysokiej
79 niezawodno¶ci. drbd dzia³a jako mirroring ca³ego urz±dzenia blokowego
80 przez (dedykowan±) sieæ. Mo¿e byæ widoczny jako sieciowy RAID1.
81
82 %package -n kernel-smp-block-drbd
83 Summary:        SMP kernel module with drbd - a block device designed to build high availibility clusters
84 Summary(pl):    Modu³ kernela SMP do drbd - urz±dzenia blokowego dla klastrów o wysokiej niezawodno¶ci
85 Release:        %{rel}@%{_kernel_ver_str}
86 Group:          Base/Kernel
87 Group(de):      Grundsätzlich/Kern
88 Group(pl):      Podstawowe/J±dro
89 Prereq:         /sbin/depmod
90 Requires:       drbdsetup
91 Conflicts:      kernel-block-drbd
92 %{!?_without_dist_kernel:Conflicts:     kernel-up}
93 %{!?_without_dist_kernel:Conflicts:     kernel < %{_kernel_ver}}
94 %{!?_without_dist_kernel:Conflicts:     kernel > %{_kernel_ver}}
95
96 %description -n kernel-smp-block-drbd
97 drbd is a block device which is designed to build high availability
98 clusters. This is done by mirroring a whole block device via (a
99 dedicated) network. You could see it as a network RAID1.
100
101 %description -l pl -n kernel-smp-block-drbd
102 drbd jest urz±dzeniem blokowym zaprojektowanym dla klastrów o wysokiej
103 niezawodno¶ci. drbd dzia³a jako mirroring ca³ego urz±dzenia blokowego
104 przez (dedykowan±) sieæ. Mo¿e byæ widoczny jako sieciowy RAID1.
105
106 %prep
107 %setup -q -n %{name}
108 %if %{_kernel24}
109 %patch -p1
110 %endif
111
112 %build
113 %if %{_kernel24}
114 %{__make} \
115 %ifarch %{ix86}
116         KAF_i386="%{rpmcflags} -malign-loops=2 -malign-jumps=2 -malign-functions=2 -fomit-frame-pointer" \
117 %else
118 %ifarch %{alpha}
119         KAF_alpha="%{rpmcfalgs} -ffixed8 -mno-fp-regs" \
120 %endif
121 %endif
122         SMPFLAG="-D__SMP__ -D__KERNEL_SMP=1" \
123         KERNVER="%{_kernel_ver}" \
124         INCLUDE="-I%{_kernelsrcdir}/include" \
125         DEBUGFLAGS="%{rpmcflags} %{?debug:-DDBG}"
126
127 mv drbd/drbd.o drbd-smp.o
128 %endif
129
130 %{__make} \
131 %ifarch %{ix86}
132         KAF_i386="%{rpmcflags} -malign-loops=2 -malign-jumps=2 -malign-functions=2 -fomit-frame-pointer" \
133 %else
134 %ifarch %{alpha}
135         KAF_alpha="%{rpmcfalgs} -ffixed8 -mno-fp-regs" \
136 %endif
137 %endif
138         SMPFLAG="" \
139         KERNVER="%{_kernel_ver}" \
140         INCLUDE="-I%{_kernelsrcdir}/include" \
141         DEBUGFLAGS="%{rpmcflags} %{?debug:-DDBG}"
142
143 %install
144 rm -rf $RPM_BUILD_ROOT
145 install -d $RPM_BUILD_ROOT{%{_sbindir},%{_mandir}/man{5,8},%{_sysconfdir}} \
146         $RPM_BUILD_ROOT{/etc/rc.d/init.d,/etc/ha.d/resource.d}
147
148 %if %{_kernel24}
149 install -d $RPM_BUILD_ROOT/lib/modules/%{_kernel_ver}{,smp}/misc
150 install drbd/drbd.o $RPM_BUILD_ROOT/lib/modules/%{_kernel_ver}/misc/drbd.o
151 install drbd-smp.o $RPM_BUILD_ROOT/lib/modules/%{_kernel_ver}smp/misc/drbd.o
152 %else
153 install -d $RPM_BUILD_ROOT/lib/modules/%{_kernel_ver}{,smp}/block
154 install drbd/drbd.o $RPM_BUILD_ROOT/lib/modules/%{_kernel_ver}/block
155 %if 0
156 install drbd-smp.o $RPM_BUILD_ROOT/lib/modules/%{_kernel_ver}/block/drbd.o
157 %endif
158 %endif
159
160 install user/drbdsetup $RPM_BUILD_ROOT%{_sbindir}
161 install scripts/drbd.conf $RPM_BUILD_ROOT%{_sysconfdir}
162 install scripts/drbd $RPM_BUILD_ROOT/etc/rc.d/init.d
163 ln -sf /etc/rc.d/init.d/drbd $RPM_BUILD_ROOT/etc/ha.d/resource.d/datadisk
164
165 install documentation/drbd.conf.5 $RPM_BUILD_ROOT%{_mandir}/man5
166 install documentation/drbdsetup.8 $RPM_BUILD_ROOT%{_mandir}/man8
167
168 gzip -9nf ChangeLog README TODO
169
170 %clean
171 rm -rf $RPM_BUILD_ROOT
172
173 %post   -n kernel-block-drbd
174 /sbin/depmod -a
175
176 %postun -n kernel-block-drbd
177 /sbin/depmod -a
178
179 %post   -n kernel-smp-block-drbd
180 /sbin/depmod -a
181
182 %postun -n kernel-smp-block-drbd
183 /sbin/depmod -a
184
185 %post -n drbdsetup
186 /sbin/chkconfig --add drbd
187 if [ -f /var/lock/subsys/drbd ]; then
188         /etc/rc.d/init.d/drbd restart >&2
189 else
190         echo "Run \"/etc/rc.d/init.d/drbd start\" to start drbd service." >&2
191 fi
192
193 %preun -n drbdsetup
194 if [ "$1" = "0" ]; then
195         if [ -f /var/lock/subsys/drbd ]; then
196                 /etc/rc.d/init.d/drbd stop
197         fi
198         /sbin/chkconfig --del drbd
199 fi
200
201 %files -n drbdsetup
202 %defattr(644,root,root,755)
203 %attr(755,root,root) %{_sbindir}/drbdsetup
204 %attr(755,root,root) /etc/rc.d/init.d/drbd
205 %attr(755,root,root) %{_sysconfdir}/ha.d/resource.d/datadisk
206 %config(noreplace) %verify(not size mtime md5) %{_sysconfdir}/drbd.conf
207 %{_mandir}/man[58]/*
208
209 %files -n kernel-block-drbd
210 %defattr(644,root,root,755)
211 %doc *.gz
212 %if %{_kernel24}
213 /lib/modules/%{_kernel_ver}/misc/drbd.o
214 %else
215 /lib/modules/%{_kernel_ver}/block/drbd.o
216 %endif
217
218 %if %{_kernel24}
219 %files -n kernel-smp-block-drbd
220 %defattr(644,root,root,755)
221 %doc *.gz
222 %if %{_kernel24}
223 /lib/modules/%{_kernel_ver}smp/misc/drbd.o
224 %else
225 /lib/modules/%{_kernel_ver}smp/block/drbd.o
226 %endif
227 %endif
This page took 0.101462 seconds and 4 git commands to generate.