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