3 # - trigger to update drbd-8.2 config
6 %bcond_without dist_kernel # allow non-distribution kernel
7 %bcond_without kernel # don't build kernel modules
8 %bcond_without userspace # don't build userspace module
9 %bcond_with verbose # verbose build (V=1)
10 %bcond_with grsec_kernel # build for kernel-grsecurity
17 %undefine with_dist_kernel
19 %if %{with kernel} && %{with dist_kernel} && %{with grsec_kernel}
20 %define alt_kernel grsecurity
22 %if "%{_alt_kernel}" != "%{nil}"
23 %undefine with_userspace
28 Summary: drbd is a block device designed to build high availibility clusters
29 Summary(pl.UTF-8): drbd jest urządzeniem blokowym dla klastrów o wysokiej niezawodności
30 Name: %{pname}%{_alt_kernel}
35 Source0: http://oss.linbit.com/drbd/8.3/%{pname}-%{version}.tar.gz
36 # Source0-md5: 8aa8f7891d397ff25b7a3f77f56d353b
37 Patch0: %{pname}-Makefile.patch
38 URL: http://www.drbd.org/
43 %{?with_dist_kernel:BuildRequires: kernel%{_alt_kernel}-module-build >= 3:2.6.20.2}
44 BuildRequires: rpmbuild(macros) >= 1.379
45 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
48 drbd is a block device which is designed to build high availability
49 clusters. This is done by mirroring a whole block device via (a
50 dedicated) network. You could see it as a network RAID1.
52 %description -l pl.UTF-8
53 drbd jest urządzeniem blokowym zaprojektowanym dla klastrów o wysokiej
54 niezawodności. drbd działa jako mirroring całego urządzenia blokowego
55 przez (dedykowaną) sieć. Może być widoczny jako sieciowy RAID1.
57 %description -l pt_BR.UTF-8
58 O DRBD é um dispositivo de bloco que é projetado para construir
59 clusters de Alta Disponibilidade. Isto é feito espelhando um
60 dispositivo de bloco inteiro via rede (dedicada ou não). Pode ser
61 visto como um RAID 1 via rede. Este pacote contém utilitários para
62 gerenciar dispositivos DRBD.
65 Summary: Setup tool and scripts for DRBD
66 Summary(pl.UTF-8): Narzędzie konfiguracyjne i skrypty dla DRBD
67 Summary(pt_BR.UTF-8): Utilitários para gerenciar dispositivos DRBD
68 Group: Applications/System
69 Requires(post,preun): /sbin/chkconfig
70 Requires(pre): /usr/bin/getgid
71 Requires(pre): /usr/sbin/groupadd
72 Requires(postun): /usr/sbin/groupdel
74 Provides: group(haclient)
75 Conflicts: drbdsetup24
78 %description -n drbdsetup
79 Setup tool and init scripts for DRBD.
81 %description -n drbdsetup -l pl.UTF-8
82 Narzędzie konfiguracyjne i skrypty startowe dla DRBD.
84 %package -n kernel%{_alt_kernel}-block-drbd
85 Summary: Kernel module with drbd - a block device designed to build high availibility clusters
86 Summary(pl.UTF-8): Moduł jądra do drbd - urządzenia blokowego dla klastrów o wysokiej niezawodności
87 Release: %{_rel}@%{_kernel_ver_str}
89 %{?with_dist_kernel:%requires_releq_kernel}
90 Requires(post,postun): /sbin/depmod
93 %description -n kernel%{_alt_kernel}-block-drbd
94 drbd is a block device which is designed to build high availability
95 clusters. This is done by mirroring a whole block device via (a
96 dedicated) network. You could see it as a network RAID1.
98 %description -n kernel%{_alt_kernel}-block-drbd -l pl.UTF-8
99 drbd jest urządzeniem blokowym zaprojektowanym dla klastrów o wysokiej
100 niezawodności. drbd działa jako mirroring całego urządzenia blokowego
101 przez (dedykowaną) sieć. Może być widoczny jako sieciowy RAID1.
103 %package -n bash-completion-drbd
104 Summary: bash-completion for drbd
105 Summary(pl.UTF-8): Bashowe uzupełnianie poleceń dla drbd
106 Group: Applications/Shells
107 Requires: bash-completion
109 %description -n bash-completion-drbd
110 This package provides bash-completion for drbd.
112 %description -n bash-completion-drbd -l pl.UTF-8
113 Ten pakiet dostarcza bashowe uzupełnianie poleceń dla drbd.
116 %setup -q -n %{pname}-%{version}
120 %if %{with userspace}
124 OPTCFLAGS="%{rpmcflags}" \
125 LDFLAGS="%{rpmldflags}"
130 sed -i -e 's#$(CONFIG_BLK_DEV_DRBD)#m#g' Makefile-2.6
131 ln -sf Makefile-2.6 Makefile
133 %build_kernel_modules -m drbd
137 rm -rf $RPM_BUILD_ROOT
138 install -d $RPM_BUILD_ROOT{/sbin,%{_mandir}/man{5,8},%{_sysconfdir}} \
139 $RPM_BUILD_ROOT{/etc/rc.d/init.d,/etc/ha.d/resource.d}
142 %install_kernel_modules -m drbd/drbd -d block
145 %if %{with userspace}
146 %{__make} install -C scripts \
147 PREFIX=$RPM_BUILD_ROOT
148 install scripts/drbd $RPM_BUILD_ROOT/etc/rc.d/init.d
149 rm -rf $RPM_BUILD_ROOT/etc/init.d
150 install user/{drbdadm,drbdmeta,drbdsetup} $RPM_BUILD_ROOT/sbin
152 install documentation/*.5 $RPM_BUILD_ROOT%{_mandir}/man5
153 install documentation/*.8 $RPM_BUILD_ROOT%{_mandir}/man8
157 rm -rf $RPM_BUILD_ROOT
159 %post -n kernel%{_alt_kernel}-block-drbd
160 %depmod %{_kernel_ver}
162 %postun -n kernel%{_alt_kernel}-block-drbd
163 %depmod %{_kernel_ver}
166 %groupadd -g 60 haclient
169 /sbin/chkconfig --add drbd
170 %service drbd restart
173 if [ "$1" = "0" ]; then
175 /sbin/chkconfig --del drbd
179 if [ "$1" = "0" ]; then
180 %groupremove haclient
184 %if %{with userspace}
186 %defattr(644,root,root,755)
187 %attr(755,root,root) /sbin/drbdadm
188 %attr(2754,root,haclient) /sbin/drbdsetup
189 %attr(2754,root,haclient) /sbin/drbdmeta
190 %attr(754,root,root) /etc/rc.d/init.d/drbd
191 %attr(755,root,root) %{_sysconfdir}/ha.d/resource.d/drbddisk
192 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/drbd.conf
195 %attr(755,root,root) /usr/lib/drbd/*
197 %files -n bash-completion-drbd
198 %defattr(644,root,root,755)
199 /etc/bash_completion.d/drbdadm
203 %files -n kernel%{_alt_kernel}-block-drbd
204 %defattr(644,root,root,755)
205 %doc ChangeLog README
206 /lib/modules/%{_kernel_ver}/block/drbd.ko*