]> git.pld-linux.org Git - packages/multipath-tools.git/blob - multipath-tools.spec
up to 0.8.4
[packages/multipath-tools.git] / multipath-tools.spec
1 #
2 # Conditional build:
3 %bcond_with     initrd          # build initrd version (very broken)
4
5 Summary:        Tools to manage multipathed devices with the device-mapper
6 Summary(pl.UTF-8):      Implementacja wielotrasowego dostępu do zasobów przy użyciu device-mappera
7 Name:           multipath-tools
8 Version:        0.8.4
9 %define gitref  d491591
10 Release:        1
11 License:        GPL v2
12 Group:          Base
13 # http://git.opensvc.com/?p=multipath-tools/.git;a=snapshot;h=%{gitref};sf=tgz
14 Source0:        http://git.opensvc.com/?p=multipath-tools/.git;a=snapshot;h=%{version};sf=tgz;fakeout=/%{name}-%{version}.tar.gz
15 # Source0-md5:  034a3dfa9687df08bc12043c3833c017
16 Source100:      branch.sh
17 Source1:        multipathd.init
18 Source2:        multipathd.sysconfig
19 Source3:        %{name}-bindings
20 # http://git.opensvc.com/?p=multipath-tools/.git;a=blob_plain;f=multipath.conf.defaults;hb=d569988e7528cf3484b6acae19dc093de41a2488
21 Source4:        multipath.conf.defaults
22 Patch0:         %{name}-paths.patch
23 Patch1:         %{name}-kpartx-udev.patch
24 Patch2:         config.patch
25 Patch3:         %{name}-json-c.patch
26 URL:            http://christophe.varoqui.free.fr/
27 BuildRequires:  device-mapper-devel >= 1.02.08
28 BuildRequires:  json-c-devel
29 BuildRequires:  libaio-devel
30 BuildRequires:  linux-libc-headers >= 2.6.12.0-5
31 BuildRequires:  pkgconfig
32 BuildRequires:  readline-devel
33 BuildRequires:  rpmbuild(macros) >= 1.647
34 BuildRequires:  sed >= 4.0
35 BuildRequires:  systemd-devel >= 1:209
36 BuildRequires:  udev-devel
37 BuildRequires:  userspace-rcu-devel
38 %if %{with initrd}
39 BuildRequires:  device-mapper-initrd-devel
40 BuildRequires:  klibc-static
41 %endif
42 Requires(post,preun):   /sbin/chkconfig
43 Requires(post,preun,postun):    systemd-units >= 38
44 Requires:       %{name}-libs = %{version}-%{release}
45 Requires:       device-mapper >= 1.02.08
46 Requires:       kpartx = %{version}-%{release}
47 Requires:       libaio >= 0.3.106-2
48 Requires:       rc-scripts
49 Requires:       systemd-units >= 38
50 %if "%{pld_release}" == "th"
51 Requires:       udev-core >= 1:127
52 %endif
53 %if "%{pld_release}" == "ac"
54 Requires:       udev-core >= 1:079-10
55 %endif
56 BuildRoot:      %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
57
58 %define         skip_post_check_so      libmultipath.so.0 libmpathpersist.so.0
59 %define         _sbindir        /sbin
60
61 %description
62 multipath-tools provides the tools to manage multipathed devices by
63 instructing the device-mapper multipath module what to do. The tools
64 are:
65 - multipath: scan the system for multipathed devices, assembles them
66   and update the device-mapper's maps
67 - multipathd: wait for maps events, then execs multipath
68 - devmap-name: provides a meaningful device name to udev for devmaps
69
70 %description -l pl.UTF-8
71 multipath-tools zawierają narzędzia do zarządzania wielotrasowym
72 dostępem do urządzeń poprzez instruowanie modułu multipath
73 device-mappera. Narzędzia to:
74 - multipath - przeszukuje system pod kątem urządzeń z dostępem
75   wielotrasowym, łączy je i uaktualnia odwzorowania device-mappera
76 - multipathd - oczekuje na zdarzenia odwzorowań, po których uruchamia
77   multipath
78 - devmap-name - dostarcza do udev znaczącą nazwę urządzenia dla map
79   urządzeń
80
81 %package libs
82 Summary:        Shared libraries for multipath-tools
83 Summary(pl.UTF-8):      Biblioteki współdzielone multipath-tools
84 Group:          Libraries
85 Requires:       device-mapper-libs >= 1.02.08
86
87 %description libs
88 Shared libraries for multipath-tools.
89
90 %description libs -l pl.UTF-8
91 Biblioteki współdzielone multipath-tools.
92
93 %package devel
94 Summary:        Header files for multipath-tools libraries
95 Summary(pl.UTF-8):      Pliki nagłówkowe bibliotek multipath-tools
96 Group:          Development/Libraries
97 Requires:       %{name}-libs = %{version}-%{release}
98
99 %description devel
100 Header files for multipath-tools libraries.
101
102 %description devel -l pl.UTF-8
103 Pliki nagłówkowe bibliotek multipath-tools.
104
105 %package -n kpartx
106 Summary:        Partition device manager for device-mapper devices
107 Summary(pl.UTF-8):      Zarządca urządzeń partycji dla urządzeń device-mappera
108 Group:          Base
109 Requires:       device-mapper-libs >= 1.02.08
110 %if "%{pld_release}" == "th"
111 Conflicts:      udev-core < 1:127
112 %endif
113 %if "%{pld_release}" == "ac"
114 Conflicts:      udev-core < 1:079-10
115 %endif
116
117 %description -n kpartx
118 kpartx maps linear devmaps upon device partitions, which makes
119 multipath maps partionable.
120
121 %description -n kpartx -l pl.UTF-8
122 kpartx odwzorowuje liniowe mapy urządzeń na partycje urządzeń, co
123 umożliwia tworzenie partycji na odwzorowaniach wielotrasowych.
124
125 %prep
126 %setup -q -n %{name}-%{version}-%{gitref}
127 %patch0 -p1
128 %patch1 -p1
129 cp -p %{SOURCE4} .
130 %patch2 -p1
131 %patch3 -p1
132
133 %build
134 %if %{with initrd}
135 %{__make} -j1 \
136         BUILD=klibc \
137         CC="klcc -static" \
138         OPTFLAGS="%{rpmcflags} %{rpmcppflags} -Wall -Wunused -Wstrict-prototypes" \
139         BUILDDIRS='multipath pathx' \
140         klibcdir=%{_libdir}/klibc \
141         libdm='$(klibcdir)/libdevmapper.a'
142
143 %{__make} clean
144 %endif
145
146 %{__make} -j1 \
147         LIB=%{_lib} \
148         OPTFLAGS="%{rpmcflags} %{rpmcppflags} -Wall -Wunused -Wstrict-prototypes %{?debug:-DDEBUG=1}" \
149         CC="%{__cc}"
150
151 %install
152 rm -rf $RPM_BUILD_ROOT
153 install -d $RPM_BUILD_ROOT{/etc/{rc.d/init.d,sysconfig},%{_sysconfdir}/multipath,/%{_lib}/multipath}
154
155 %{__make} install \
156         DESTDIR=$RPM_BUILD_ROOT \
157         LIB=%{_lib} \
158         libudevdir=/lib/udev \
159         unitdir=%{systemdunitdir} \
160         usr_prefix=%{_prefix}
161
162 install -p %{SOURCE1} $RPM_BUILD_ROOT/etc/rc.d/init.d/multipathd
163 cp -p multipath.conf.defaults $RPM_BUILD_ROOT%{_sysconfdir}/multipath.conf
164 cp -p %{SOURCE2} $RPM_BUILD_ROOT/etc/sysconfig/multipathd
165 cp -p %{SOURCE3} $RPM_BUILD_ROOT%{_sysconfdir}/multipath/bindings
166
167 # devel files in /usr
168 install -d $RPM_BUILD_ROOT%{_libdir}
169 %{__rm} $RPM_BUILD_ROOT/%{_lib}/{libmpathcmd,libmpathpersist,libmultipath}.so
170 ln -sf /%{_lib}/libmpathpersist.so.0 $RPM_BUILD_ROOT%{_libdir}/libmpathpersist.so
171 ln -sf /%{_lib}/libmpathcmd.so.0 $RPM_BUILD_ROOT%{_libdir}/libmpathcmd.so
172 ln -sf /%{_lib}/libmultipath.so.0 $RPM_BUILD_ROOT%{_libdir}/libmultipath.so
173
174 %clean
175 rm -rf $RPM_BUILD_ROOT
176
177 %post
178 /sbin/chkconfig --add multipathd
179 %service multipathd restart
180 %systemd_post multipathd.service
181
182 %preun
183 if [ "$1" = "0" ]; then
184         %service multipathd stop
185         /sbin/chkconfig --del multipathd
186 fi
187 %systemd_preun multipathd.service
188
189 %postun
190 %systemd_reload
191
192 %triggerpostun -- %{name} < 0.4.9-7
193 %systemd_trigger multipathd.service
194
195 %post   libs -p /sbin/ldconfig
196 %postun libs -p /sbin/ldconfig
197
198 %files
199 %defattr(644,root,root,755)
200 %doc README README.alua multipath.conf.defaults
201 %attr(755,root,root) %{_sbindir}/mpathpersist
202 %attr(755,root,root) %{_sbindir}/multipath
203 %attr(755,root,root) %{_sbindir}/multipathd
204 %dir /%{_lib}/multipath
205 %attr(755,root,root) /%{_lib}/multipath/lib*.so
206 %attr(754,root,root) /etc/rc.d/init.d/multipathd
207 %config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/multipathd
208 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/multipath.conf
209 %dir %{_sysconfdir}/multipath
210 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/multipath/bindings
211 /lib/udev/rules.d/11-dm-mpath.rules
212 /lib/udev/rules.d/11-dm-parts.rules
213 /lib/udev/rules.d/56-multipath.rules
214 %{systemdunitdir}/multipathd.service
215 %{systemdunitdir}/multipathd.socket
216 %{_mandir}/man5/multipath.conf.5*
217 %{_mandir}/man8/mpathpersist.8*
218 %{_mandir}/man8/multipath.8*
219 %{_mandir}/man8/multipathd.8*
220
221 %files libs
222 %defattr(644,root,root,755)
223 %attr(755,root,root) /%{_lib}/libmpathcmd.so.0
224 %attr(755,root,root) /%{_lib}/libmpathpersist.so.0
225 %attr(755,root,root) /%{_lib}/libmultipath.so.0
226 %attr(755,root,root) %{_libdir}/libdmmp.so.0.2.0
227
228 %files devel
229 %defattr(644,root,root,755)
230 %attr(755,root,root) %{_libdir}/libdmmp.so
231 %attr(755,root,root) %{_libdir}/libmpathcmd.so
232 %attr(755,root,root) %{_libdir}/libmpathpersist.so
233 %attr(755,root,root) %{_libdir}/libmultipath.so
234 %{_includedir}/libdmmp
235 %{_includedir}/mpath_cmd.h
236 %{_includedir}/mpath_persist.h
237 %{_pkgconfigdir}/libdmmp.pc
238 %{_mandir}/man3/dmmp_*.3*
239 %{_mandir}/man3/libdmmp.h.3*
240 %{_mandir}/man3/mpath_persistent_reserve_in.3*
241 %{_mandir}/man3/mpath_persistent_reserve_out.3*
242
243 %files -n kpartx
244 %defattr(644,root,root,755)
245 %attr(755,root,root) %{_sbindir}/kpartx
246 %attr(755,root,root) /lib/udev/kpartx_id
247 /lib/udev/rules.d/66-kpartx.rules
248 /lib/udev/rules.d/68-del-part-nodes.rules
249 %{_mandir}/man8/kpartx.8*
This page took 0.110891 seconds and 3 git commands to generate.