]> git.pld-linux.org Git - packages/drbd.git/blob - drbd.spec
e9e2fc96c28f5dbd7a93ac7f6769de794bc7f380
[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
7 Summary:        drbd is a block device designed to build high availibility clusters
8 Summary(pl):    drbd jest urz±dzeniem blokowym dla klastrów o wysokiej niezawodno¶ci
9 Name:           drbd
10 Version:        0.5.8.1
11 %define rel     14
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 Requires(post,preun):   /sbin/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 %{!?_without_dist_kernel:%requires_releq_kernel_up}
58 Requires(post,postun):  /sbin/depmod
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 %{!?_without_dist_kernel:%requires_releq_kernel_smp}
77 Requires(post,postun):  /sbin/depmod
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 %clean
150 rm -rf $RPM_BUILD_ROOT
151
152 %post   -n kernel-block-drbd
153 /sbin/depmod -a -F /boot/System.map-%{_kernel_ver} %{_kernel_ver}
154
155 %postun -n kernel-block-drbd
156 /sbin/depmod -a -F /boot/System.map-%{_kernel_ver} %{_kernel_ver}
157
158 %post   -n kernel-smp-block-drbd
159 /sbin/depmod -a -F /boot/System.map-%{_kernel_ver}smp %{_kernel_ver}smp
160
161 %postun -n kernel-smp-block-drbd
162 /sbin/depmod -a -F /boot/System.map-%{_kernel_ver}smp %{_kernel_ver}smp
163
164 %post -n drbdsetup
165 /sbin/chkconfig --add drbd
166 if [ -f /var/lock/subsys/drbd ]; then
167         /etc/rc.d/init.d/drbd restart >&2
168 else
169         echo "Run \"/etc/rc.d/init.d/drbd start\" to start drbd service." >&2
170 fi
171
172 %preun -n drbdsetup
173 if [ "$1" = "0" ]; then
174         if [ -f /var/lock/subsys/drbd ]; then
175                 /etc/rc.d/init.d/drbd stop
176         fi
177         /sbin/chkconfig --del drbd
178 fi
179
180 %files -n drbdsetup
181 %defattr(644,root,root,755)
182 %attr(755,root,root) %{_sbindir}/drbdsetup
183 %attr(755,root,root) /etc/rc.d/init.d/drbd
184 %attr(755,root,root) %{_sysconfdir}/ha.d/resource.d/datadisk
185 %config(noreplace) %verify(not size mtime md5) %{_sysconfdir}/drbd.conf
186 %{_mandir}/man[58]/*
187
188 %files -n kernel-block-drbd
189 %defattr(644,root,root,755)
190 %doc ChangeLog README TODO
191 /lib/modules/%{_kernel_ver}/misc/*
192
193 %files -n kernel-smp-block-drbd
194 %defattr(644,root,root,755)
195 %doc ChangeLog README TODO
196 /lib/modules/%{_kernel_ver}smp/misc/*
This page took 0.074513 seconds and 2 git commands to generate.