]> git.pld-linux.org Git - packages/drbd.git/blob - drbd.spec
3942d36c0ca99fc0ee922997028e8927bd6b1627
[packages/drbd.git] / drbd.spec
1 #
2 # Conditional build:
3 %bcond_without  dist_kernel     # allow non-distribution kernel
4 %bcond_without  kernel          # don't build kernel modules
5 %bcond_without  smp             # don't build SMP module
6 %bcond_without  userspace       # don't build userspace module
7 %bcond_with     verbose         # verbose build (V=1)
8 %bcond_with     grsec_kernel    # build for kernel-grsecurity
9 #
10 %if %{with kernel} && %{with dist_kernel} && %{with grsec_kernel}
11 %define alt_kernel      grsecurity
12 %endif
13 #
14 %ifarch sparc
15 %undefine       with_smp
16 %endif
17
18 %define _rel    4
19 Summary:        drbd is a block device designed to build high availibility clusters
20 Summary(pl):    drbd jest urz±dzeniem blokowym dla klastrów o wysokiej niezawodno¶ci
21 Name:           drbd
22 Version:        0.7.22
23 Release:        %{_rel}
24 License:        GPL
25 Group:          Base/Kernel
26 Source0:        http://oss.linbit.com/drbd/0.7/%{name}-%{version}.tar.gz
27 # Source0-md5:  589626e0c62d314d3bbe78275b9e7d2d
28 Patch0:         %{name}-Makefile.patch
29 URL:            http://www.drbd.org/
30 %if %{with userspace}
31 BuildRequires:  bison
32 BuildRequires:  flex
33 %endif
34 %{?with_dist_kernel:BuildRequires:      kernel%{_alt_kernel}-module-build}
35 BuildRequires:  rpmbuild(macros) >= 1.330
36 BuildRoot:      %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
37
38 %description
39 drbd is a block device which is designed to build high availability
40 clusters. This is done by mirroring a whole block device via (a
41 dedicated) network. You could see it as a network RAID1.
42
43 %description -l pl
44 drbd jest urz±dzeniem blokowym zaprojektowanym dla klastrów o wysokiej
45 niezawodno¶ci. drbd dzia³a jako mirroring ca³ego urz±dzenia blokowego
46 przez (dedykowan±) sieæ. Mo¿e byæ widoczny jako sieciowy RAID1.
47
48 %description -l pt_BR
49 O DRBD é um dispositivo de bloco que é projetado para construir
50 clusters de Alta Disponibilidade. Isto é feito espelhando um
51 dispositivo de bloco inteiro via rede (dedicada ou não). Pode ser
52 visto como um RAID 1 via rede. Este pacote contém utilitários para
53 gerenciar dispositivos DRBD.
54
55 %package -n drbdsetup
56 Summary:        Setup tool and scripts for DRBD
57 Summary(pl):    Narzêdzie konfiguracyjne i skrypty dla DRBD
58 Summary(pt_BR): Utilitários para gerenciar dispositivos DRBD
59 Group:          Applications/System
60 Requires(post,preun):   /sbin/chkconfig
61 Requires:       rc-scripts
62 Conflicts:      drbdsetup24
63
64 %description -n drbdsetup
65 Setup tool and init scripts for DRBD.
66
67 %description -n drbdsetup -l pl
68 Narzêdzie konfiguracyjne i skrypty startowe dla DRBD.
69
70 %package -n kernel%{_alt_kernel}-block-drbd
71 Summary:        Kernel module with drbd - a block device designed to build high availibility clusters
72 Summary(pl):    Modu³ j±dra do drbd - urz±dzenia blokowego dla klastrów o wysokiej niezawodno¶ci
73 Release:        %{_rel}@%{_kernel_ver_str}
74 Group:          Base/Kernel
75 %{?with_dist_kernel:%requires_releq_kernel_up}
76 Requires(post,postun):  /sbin/depmod
77 Requires:       drbdsetup
78
79 %description -n kernel%{_alt_kernel}-block-drbd
80 drbd is a block device which is designed to build high availability
81 clusters. This is done by mirroring a whole block device via (a
82 dedicated) network. You could see it as a network RAID1.
83
84 %description -n kernel%{_alt_kernel}-block-drbd -l pl
85 drbd jest urz±dzeniem blokowym zaprojektowanym dla klastrów o wysokiej
86 niezawodno¶ci. drbd dzia³a jako mirroring ca³ego urz±dzenia blokowego
87 przez (dedykowan±) sieæ. Mo¿e byæ widoczny jako sieciowy RAID1.
88
89 %package -n kernel%{_alt_kernel}-smp-block-drbd
90 Summary:        SMP kernel module with drbd - a block device designed to build high availibility clusters
91 Summary(pl):    Wersja SMP Modu³u j±dra do drbd - urz±dzenia blokowego dla klastrów o wysokiej niezawodno¶ci
92 Release:        %{_rel}@%{_kernel_ver_str}
93 Group:          Base/Kernel
94 %{?with_dist_kernel:%requires_releq_kernel_smp}
95 Requires(post,postun):  /sbin/depmod
96 Requires:       drbdsetup
97
98 %description -n kernel%{_alt_kernel}-smp-block-drbd
99 drbd is a block device which is designed to build high availability
100 clusters. This is done by mirroring a whole block device via (a
101 dedicated) network. You could see it as a network RAID1.
102
103 %description -n kernel%{_alt_kernel}-smp-block-drbd -l pl
104 drbd jest urz±dzeniem blokowym zaprojektowanym dla klastrów o wysokiej
105 niezawodno¶ci. drbd dzia³a jako mirroring ca³ego urz±dzenia blokowego
106 przez (dedykowan±) sieæ. Mo¿e byæ widoczny jako sieciowy RAID1.
107
108 %prep
109 %setup -q
110 %patch0 -p1
111
112 %build
113 %if %{with userspace}
114 %{__make} tools \
115         KVER=dummy \
116         CC="%{__cc}" \
117         OPTCFLAGS="%{rpmcflags}" \
118         LDFLAGS="%{rpmldflags}"
119 %endif
120
121 %if %{with kernel}
122 cd drbd
123 sed -i -e 's#$(CONFIG_BLK_DEV_DRBD)#m#g' Makefile-2.6
124 ln -sf Makefile-2.6 Makefile
125 # kernel module(s)
126 %build_kernel_modules -m drbd EXTRA_CFLAGS="-DNO_MORE_DEV_FS"
127 %endif
128
129 %install
130 rm -rf $RPM_BUILD_ROOT
131 install -d $RPM_BUILD_ROOT{/sbin,%{_mandir}/man{5,8},%{_sysconfdir}} \
132         $RPM_BUILD_ROOT{/etc/rc.d/init.d,/etc/ha.d/resource.d}
133
134 %if %{with kernel}
135 %install_kernel_modules -m drbd/drbd -d misc
136 %endif
137
138 %if %{with userspace}
139 install user/{drbdadm,drbdsetup} $RPM_BUILD_ROOT/sbin
140 install scripts/drbd.conf $RPM_BUILD_ROOT%{_sysconfdir}
141 install scripts/drbd $RPM_BUILD_ROOT/etc/rc.d/init.d
142
143 install scripts/drbddisk $RPM_BUILD_ROOT%{_sysconfdir}/ha.d/resource.d
144
145 install documentation/*.5 $RPM_BUILD_ROOT%{_mandir}/man5
146 install documentation/*.8 $RPM_BUILD_ROOT%{_mandir}/man8
147 %endif
148
149 %clean
150 rm -rf $RPM_BUILD_ROOT
151
152 %post -n kernel%{_alt_kernel}-block-drbd
153 %depmod %{_kernel_ver}
154
155 %postun -n kernel%{_alt_kernel}-block-drbd
156 %depmod %{_kernel_ver}
157
158 %post -n kernel%{_alt_kernel}-smp-block-drbd
159 %depmod %{_kernel_ver}smp
160
161 %postun -n kernel%{_alt_kernel}-smp-block-drbd
162 %depmod %{_kernel_ver}smp
163
164 %post -n drbdsetup
165 /sbin/chkconfig --add drbd
166 %service drbd restart
167
168 %preun -n drbdsetup
169 if [ "$1" = "0" ]; then
170         %service drbd stop
171         /sbin/chkconfig --del drbd
172 fi
173
174 %if %{with userspace}
175 %files -n drbdsetup
176 %defattr(644,root,root,755)
177 %attr(755,root,root) /sbin/*
178 %attr(754,root,root) /etc/rc.d/init.d/drbd
179 %attr(755,root,root) %{_sysconfdir}/ha.d/resource.d/drbddisk
180 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/drbd.conf
181 %{_mandir}/man[58]/*
182 %endif
183
184 %if %{with kernel}
185 %files -n kernel%{_alt_kernel}-block-drbd
186 %defattr(644,root,root,755)
187 %doc ChangeLog README
188 /lib/modules/%{_kernel_ver}/misc/drbd.ko*
189
190 %if %{with smp} && %{with dist_kernel}
191 %files -n kernel%{_alt_kernel}-smp-block-drbd
192 %defattr(644,root,root,755)
193 %doc ChangeLog README
194 /lib/modules/%{_kernel_ver}smp/misc/drbd.ko*
195 %endif
196 %endif
This page took 0.078599 seconds and 3 git commands to generate.