]> git.pld-linux.org Git - packages/drbd.git/blob - drbd.spec
- added suport for building both up and smp modules in separated packages
[packages/drbd.git] / drbd.spec
1 %define         _kernel_ver     %(grep UTS_RELEASE %{_kernelsrcdir}/include/linux/version.h 2>/dev/null | cut -d'"' -f2)
2 %define         _kernel24       %(echo %{_kernel_ver} | grep -q '2\.[012]\.' ; echo $?)
3
4 %define         rel             1
5
6 Summary:        drbd is a block device designed to build high availibility clusters
7 Summary(pl):    drbd jest urz±dzeniem blokowym dla klastrów o wysokiej niezawodno¶ci
8 Name:           drbd
9 Version:        0.5.8
10 Release:        %{rel}@%{_kernel_ver}
11 License:        GPL
12 Group:          Base/Kernel
13 Group(de):      Grundsätzlich/Kern
14 Group(pl):      Podstawowe/J±dro
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 Conflicts:      kernel < %{_kernel_ver}, kernel > %{_kernel_ver}
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 %package -n drbdsetup
32 Summary:        Setup tool and scripts for DRBD
33 Summary(pl):    Narzêdzie konfiguracyjne i skrypty dla DRBD
34 Release:        %{rel}
35 Group:          Applications/System
36 Group(de):      Applikationen/System
37 Group(pl):      Aplikacje/System
38 Prereq:         chkconfig
39 Requires:       %{name} = %{version}
40
41 %description -n drbdsetup
42 Setup tool and init scripts for DRBD.
43
44 %description -l pl -n drbdsetup
45 Narzêdzie konfiguracyjne i skrypty startowe dla DRBD.
46
47 %package -n kernel-block-drbd
48 Summary:        kernel module with drbd - a block device designed to build high availibility clusters
49 Summary(pl):    Modu³ kernela do drbd - urz±dzenia blokowego dla klastrów o wysokiej niezawodno¶ci
50 Group:          Base/Kernel
51 Group(de):      Grundsätzlich/Kern
52 Group(pl):      Podstawowe/J±dro
53 Prereq:         /sbin/depmod
54 Conflicts:      kernel-smp-block-drbd
55 Conflicts:      kernel < %{_kernel_ver}
56 Conflicts:      kernel > %{_kernel_ver}
57
58 %description -n kernel-block-drbd
59 drbd is a block device which is designed to build high availability
60 clusters. This is done by mirroring a whole block device via (a
61 dedicated) network. You could see it as a network RAID1.
62
63 %description -l pl -n kernel-block-drbd
64 drbd jest urz±dzeniem blokowym zaprojektowanym dla klastrów o wysokiej
65 niezawodno¶ci. drbd dzia³a jako mirroring ca³ego urz±dzenia blokowego
66 przez (dedykowan±) sieæ. Mo¿e byæ widoczny jako sieciowy RAID1.
67
68 %package -n kernel-smp-block-drbd
69 Summary:        SMP kernel module with drbd - a block device designed to build high availibility clusters
70 Summary(pl):    Modu³ kernela SMP do drbd - urz±dzenia blokowego dla klastrów o wysokiej niezawodno¶ci
71 Group:          Base/Kernel
72 Group(de):      Grundsätzlich/Kern
73 Group(pl):      Podstawowe/J±dro
74 Prereq:         /sbin/depmod
75 Conflicts:      kernel-block-drbd
76 Conflicts:      kernel < %{_kernel_ver}
77 Conflicts:      kernel > %{_kernel_ver}
78
79 %description -n kernel-smp-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 -l pl -n kernel-smp-block-drbd
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 %prep
90 %setup -q -n %{name}
91 %if %{_kernel24}
92 %patch -p1
93 %endif
94
95 %build
96 %if 0
97 %{__make} \
98 %ifarch %{ix86}
99         KAF_i386="%{rpmcflags} -malign-loops=2 -malign-jumps=2 -malign-functions=2 -fomit-frame-pointer" \
100 %else
101 %ifarch %{alpha}
102         KAF_alpha="%{rpmcfalgs} -ffixed8 -mno-fp-regs" \
103 %endif
104 %endif
105         SMPFLAG="-D__SMP__" \
106         KERNVER="%{_kernel_ver}" \
107         INCLUDE="-I%{_kernelsrcdir}/include" \
108         DEBUGFLAGS="%{rpmcflags} %{?debug:-DDBG}"
109
110 mv drbd/drbd.o drbd-smp.o
111 %endif
112
113 %{__make} \
114 %ifarch %{ix86}
115         KAF_i386="%{rpmcflags} -malign-loops=2 -malign-jumps=2 -malign-functions=2 -fomit-frame-pointer" \
116 %else
117 %ifarch %{alpha}
118         KAF_alpha="%{rpmcfalgs} -ffixed8 -mno-fp-regs" \
119 %endif
120 %endif
121         SMPFLAG="" \
122         KERNVER="%{_kernel_ver}" \
123         INCLUDE="-I%{_kernelsrcdir}/include" \
124         DEBUGFLAGS="%{rpmcflags} %{?debug:-DDBG}"
125
126 %install
127 rm -rf $RPM_BUILD_ROOT
128 install -d $RPM_BUILD_ROOT{%{_sbindir},%{_mandir}/man{5,8},%{_sysconfdir}} \
129         $RPM_BUILD_ROOT{/etc/rc.d/init.d,/etc/ha.d/resource.d}
130
131 %if %{_kernel24}
132 install -d $RPM_BUILD_ROOT/lib/modules/%{_kernel_ver}{,smp}/misc
133 install drbd/drbd.o $RPM_BUILD_ROOT/lib/modules/%{_kernel_ver}/misc/drbd.o
134 %if 0
135 install drbd-smp.o $RPM_BUILD_ROOT/lib/modules/%{_kernel_ver}smp/misc/drbd.o
136 %endif
137 %else
138 install -d $RPM_BUILD_ROOT/lib/modules/%{_kernel_ver}{,smp}/block
139 install drbd/drbd.o $RPM_BUILD_ROOT/lib/modules/%{_kernel_ver}/block
140 %if 0
141 install drbd-smp.o $RPM_BUILD_ROOT/lib/modules/%{_kernel_ver}/block/drbd.o
142 %endif
143 %endif
144
145 install user/drbdsetup $RPM_BUILD_ROOT%{_sbindir}
146 install scripts/drbd.conf $RPM_BUILD_ROOT%{_sysconfdir}
147 install scripts/drbd $RPM_BUILD_ROOT/etc/rc.d/init.d
148 ln -sf /etc/rc.d/init.d/drbd $RPM_BUILD_ROOT/etc/ha.d/resource.d/datadisk
149
150 install documentation/drbd.conf.5 $RPM_BUILD_ROOT%{_mandir}/man5
151 install documentation/drbdsetup.8 $RPM_BUILD_ROOT%{_mandir}/man8
152
153 gzip -9nf ChangeLog README TODO
154
155 %clean
156 rm -rf $RPM_BUILD_ROOT
157
158 %post   -n kernel-block-drbd
159 /sbin/depmod -a
160
161 %postun -n kernel-block-drbd
162 /sbin/depmod -a
163
164 %post   -n kernel-smp-block-drbd
165 /sbin/depmod -a
166
167 %postun -n kernel-smp-block-drbd
168 /sbin/depmod -a
169
170 %post -n drbdsetup
171 chkconfig --add drbd
172
173 %preun -n drbdsetup
174 chkconfig --del drbd
175
176 %files -n kernel-block-drbd
177 %defattr(644,root,root,755)
178 %doc *.gz
179 %if %{_kernel24}
180 /lib/modules/%{_kernel_ver}/misc/drbd.o
181 %else
182 /lib/modules/%{_kernel_ver}/block/drbd.o
183 %endif
184
185 %if 0
186 %files -n kernel-smp-block-drbd
187 %defattr(644,root,root,755)
188 %doc *.gz
189 %if %{_kernel24}
190 /lib/modules/%{_kernel_ver}smp/misc/drbd.o
191 %else
192 /lib/modules/%{_kernel_ver}smp/block/drbd.o
193 %endif
194 %endif
195
196 %files -n drbdsetup
197 %defattr(644,root,root,755)
198 %attr(755,root,root) %{_sbindir}/drbdsetup
199 %attr(755,root,root) /etc/rc.d/init.d/drbd
200 %attr(755,root,root) /etc/ha.d/resource.d/datadisk
201 %config(noreplace) %verify(not size mtime md5) %{_sysconfdir}/drbd.conf
202 %{_mandir}/man[58]/*
This page took 0.119151 seconds and 4 git commands to generate.