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