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