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