]> git.pld-linux.org Git - packages/drbd.git/blob - drbd.spec
- some fixes, rel 3. (for build with 2.2.20-10 and new 2.4)
[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 Summary:        drbd is a block device designed to build high availibility clusters
10 Summary(pl):    drbd jest urz±dzeniem blokowym dla klastrów o wysokiej niezawodno¶ci
11 Name:           drbd
12 Version:        0.5.8.1
13 %define rel     3
14 Release:        %{rel}
15 License:        GPL
16 Group:          Base/Kernel
17 Group(de):      Grundsätzlich/Kern
18 Group(pl):      Podstawowe/J±dro
19 Source0:        http://www.complang.tuwien.ac.at/reisner/drbd/download/%{name}-%{version}.tar.gz
20 Patch0:         %{name}-kernel24.patch
21 URL:            http://www.complang.tuwien.ac.at/reisner/drbd/
22 %{!?_without_dist_kernel:BuildRequires: kernel-headers >= 2.2.20}
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
114 # SMP begin
115 %{__make} \
116 %ifarch %{ix86}
117         KAF_i386="%{rpmcflags} -malign-loops=2 -malign-jumps=2 -malign-functions=2 -fomit-frame-pointer" \
118 %else
119 %ifarch %{alpha}
120         KAF_alpha="%{rpmcfalgs} -ffixed8 -mno-fp-regs" \
121 %endif
122 %endif
123         SMPFLAG="-D__SMP__ -D__KERNEL_SMP=1" \
124         KERNVER="%{_kernel_ver}" \
125         INCLUDE="-I%{_kernelsrcdir}/include" \
126         DEBUGFLAGS="%{rpmcflags} %{?debug:-DDBG}"
127
128 mv drbd/drbd.o drbd-smp.o
129 # SMP end
130
131 # UP begin
132 %{__make} \
133 %ifarch %{ix86}
134         KAF_i386="%{rpmcflags} -malign-loops=2 -malign-jumps=2 -malign-functions=2 -fomit-frame-pointer" \
135 %else
136 %ifarch %{alpha}
137         KAF_alpha="%{rpmcfalgs} -ffixed8 -mno-fp-regs" \
138 %endif
139 %endif
140         SMPFLAG="" \
141         KERNVER="%{_kernel_ver}" \
142         INCLUDE="-I%{_kernelsrcdir}/include" \
143         DEBUGFLAGS="%{rpmcflags} %{?debug:-DDBG}"
144 # SMP end
145
146 %install
147 rm -rf $RPM_BUILD_ROOT
148 install -d $RPM_BUILD_ROOT{%{_sbindir},%{_mandir}/man{5,8},%{_sysconfdir}} \
149         $RPM_BUILD_ROOT{/etc/rc.d/init.d,/etc/ha.d/resource.d}
150
151 %if 0
152 install -d $RPM_BUILD_ROOT/lib/modules/%{_kernel_ver}{,smp}/misc
153 install drbd/drbd.o $RPM_BUILD_ROOT/lib/modules/%{_kernel_ver}/misc/drbd.o
154 install drbd-smp.o $RPM_BUILD_ROOT/lib/modules/%{_kernel_ver}smp/misc/drbd.o
155 %else
156 install -d $RPM_BUILD_ROOT/lib/modules/%{_kernel_ver}{,smp}/block
157 install drbd/drbd.o $RPM_BUILD_ROOT/lib/modules/%{_kernel_ver}/block
158 install drbd-smp.o $RPM_BUILD_ROOT/lib/modules/%{_kernel_ver}smp/block/drbd.o
159 %endif
160
161 install user/drbdsetup $RPM_BUILD_ROOT%{_sbindir}
162 install scripts/drbd.conf $RPM_BUILD_ROOT%{_sysconfdir}
163 install scripts/drbd $RPM_BUILD_ROOT/etc/rc.d/init.d
164 ln -sf /etc/rc.d/init.d/drbd $RPM_BUILD_ROOT/etc/ha.d/resource.d/datadisk
165
166 install documentation/drbd.conf.5 $RPM_BUILD_ROOT%{_mandir}/man5
167 install documentation/drbdsetup.8 $RPM_BUILD_ROOT%{_mandir}/man8
168
169 gzip -9nf ChangeLog README TODO
170
171 %clean
172 rm -rf $RPM_BUILD_ROOT
173
174 %post   -n kernel-block-drbd
175 /sbin/depmod -a
176
177 %postun -n kernel-block-drbd
178 /sbin/depmod -a
179
180 %post   -n kernel-smp-block-drbd
181 /sbin/depmod -a
182
183 %postun -n kernel-smp-block-drbd
184 /sbin/depmod -a
185
186 %post -n drbdsetup
187 /sbin/chkconfig --add drbd
188 if [ -f /var/lock/subsys/drbd ]; then
189         /etc/rc.d/init.d/drbd restart >&2
190 else
191         echo "Run \"/etc/rc.d/init.d/drbd start\" to start drbd service." >&2
192 fi
193
194 %preun -n drbdsetup
195 if [ "$1" = "0" ]; then
196         if [ -f /var/lock/subsys/drbd ]; then
197                 /etc/rc.d/init.d/drbd stop
198         fi
199         /sbin/chkconfig --del drbd
200 fi
201
202 %files -n drbdsetup
203 %defattr(644,root,root,755)
204 %attr(755,root,root) %{_sbindir}/drbdsetup
205 %attr(755,root,root) /etc/rc.d/init.d/drbd
206 %attr(755,root,root) %{_sysconfdir}/ha.d/resource.d/datadisk
207 %config(noreplace) %verify(not size mtime md5) %{_sysconfdir}/drbd.conf
208 %{_mandir}/man[58]/*
209
210 %files -n kernel-block-drbd
211 %defattr(644,root,root,755)
212 %doc *.gz
213 %if %{_kernel24}
214 /lib/modules/%{_kernel_ver}/block/drbd.o
215 %else
216 /lib/modules/%{_kernel_ver}/block/drbd.o
217 %endif
218
219 %if 1
220 %files -n kernel-smp-block-drbd
221 %defattr(644,root,root,755)
222 %doc *.gz
223 %if %{_kernel24}
224 /lib/modules/%{_kernel_ver}smp/block/drbd.o
225 %else
226 /lib/modules/%{_kernel_ver}smp/block/drbd.o
227 %endif
228 %endif
This page took 0.0977 seconds and 4 git commands to generate.