device-mapper-multipath-vl.spec 13 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398
  1. Summary: Tools to manage multipath devices using device-mapper
  2. Summary(ja): Device-mapper を使用してマルチパスデバイスを管理するためのツール集
  3. Name: device-mapper-multipath
  4. Version: 0.8.2
  5. Release: 1%{?_dist_release}
  6. Group: System Environment/Base
  7. License: GPLv2+
  8. URL: http://christophe.varoqui.free.fr/
  9. # The source for this package was pulled from upstream's git repo. Use the
  10. # following command to generate the tarball
  11. # curl "https://git.opensvc.com/?p=multipath-tools/.git;a=snapshot;h=refs/tags/0.8.2;sf=tgz" -o multipath-tools-0.8.2.tgz
  12. Source0: multipath-tools-%{version}.tgz
  13. Source1: multipath.conf
  14. Source2: multipathd.init
  15. Patch0001: 0001-libmultipath-make-vector_foreach_slot_backwards-work.patch
  16. Patch0002: 0002-libmultipath-add-marginal-paths-and-groups-infrastru.patch
  17. Patch0003: 0003-tests-add-path-grouping-policy-unit-tests.patch
  18. Patch0004: 0004-libmultipath-add-wrapper-function-around-pgpolicyfn.patch
  19. Patch0005: 0005-tests-update-pgpolicy-tests-to-work-with-group_paths.patch
  20. Patch0006: 0006-libmultipath-fix-double-free-in-pgpolicyfn-error-pat.patch
  21. Patch0007: 0007-libmultipath-consolidate-group_by_-functions.patch
  22. Patch0008: 0008-libmultipath-make-pgpolicyfn-take-a-paths-vector.patch
  23. Patch0009: 0009-libmultipath-make-group_paths-handle-marginal-paths.patch
  24. Patch0010: 0010-tests-add-tests-for-grouping-marginal-paths.patch
  25. Patch0011: 0011-libmultipath-add-marginal_pathgroups-config-option.patch
  26. Patch0012: 0012-libmutipath-deprecate-delay_-_checks.patch
  27. Patch0013: 0013-multipathd-use-marginal_pathgroups.patch
  28. Patch0014: 0014-multipath-update-man-pages.patch
  29. Patch0015: 0015-multipath.conf-add-enable_foreign-parameter.patch
  30. Patch0016: 0016-multipath.conf.5-document-foreign-library-support.patch
  31. Patch0017: 0017-mpathpersist-remove-broken-unused-code.patch
  32. Patch0018: 0018-libmultipath-EMC-PowerMax-NVMe-device-config.patch
  33. Patch0019: 0019-mpathpersist-fix-leaks.patch
  34. Patch0020: 0020-libmultipath-fix-mpcontext-initialization.patch
  35. Patch0021: 0021-RH-fixup-udev-rules-for-redhat.patch
  36. Patch0022: 0022-RH-Remove-the-property-blacklist-exception-builtin.patch
  37. Patch0023: 0023-RH-don-t-start-without-a-config-file.patch
  38. Patch0024: 0024-RH-use-rpm-optflags-if-present.patch
  39. Patch0025: 0025-RH-add-mpathconf.patch
  40. Patch0026: 0026-RH-add-wwids-from-kernel-cmdline-mpath.wwids-with-A.patch
  41. Patch0027: 0027-RH-warn-on-invalid-regex-instead-of-failing.patch
  42. Patch0028: 0028-RH-reset-default-find_mutipaths-value-to-off.patch
  43. Patch0029: 0029-RH-Fix-nvme-compilation-warning.patch
  44. Patch0030: 0030-RH-attempt-to-get-ANA-info-via-sysfs-first.patch
  45. Patch0031: 0031-multipath-fix-issues-found-by-compiling-with-gcc-10.patch
  46. BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
  47. Requires(post): chkconfig
  48. Requires(preun): chkconfig
  49. Requires: kpartx = %{version}-%{release}
  50. Requires: device-mapper >= 1.02.39
  51. BuildRequires: libsysfs-devel
  52. BuildRequires: device-mapper-devel
  53. #BuildRequires: libselinux-devel, libsepol-devel
  54. BuildRequires: readline-devel, ncurses-devel
  55. BuildRequires: libaio-devel
  56. BuildRequires: userspace-rcu-devel
  57. BuildRequires: libudev-devel
  58. BuildRequires: json-c-devel
  59. Vendor: Project Vine
  60. Distribution: Vine Linux
  61. Packager: daisuke
  62. %description
  63. %{name} provides tools to manage multipath devices by instructing the
  64. device-mapper multipath kernel module what to do.
  65. The tools are :
  66. * multipath : Scan the system for multipath devices and assemble them.
  67. * multipathd : Detects when paths fail and execs multipath to update things.
  68. %package libs
  69. Summary: The %{name} modules and shared library
  70. # only libmpathcmd is LGPLv2+
  71. License: GPLv2 and LGPLv2+
  72. %description libs
  73. The %{name}-libs provides the path checker
  74. and prioritizer modules. It also contains the libmpathpersist and
  75. libmpathcmd shared libraries, as well as multipath's internal library,
  76. libmultipath.
  77. %package devel
  78. Summary: Development libraries and headers for %{name}
  79. Requires: %{name} = %{version}-%{release}
  80. Requires: %{name}-libs = %{version}-%{release}
  81. %description devel
  82. This package contains the files need to develop applications that use
  83. device-mapper-multipath's lbmpathpersist and libmpathcmd libraries.
  84. %package -n kpartx
  85. Summary: Partition device manager for device-mapper devices
  86. Summary(ja): Device-mapper デバイス用のパーティションデバイスマネージャー
  87. Group: System Environment/Base
  88. Provides: kpartx = %{version}-%{release}
  89. %description -n kpartx
  90. kpartx manages partition creation and removal for device-mapper devices.
  91. %package -n libdmmp
  92. Summary: device-mapper-multipath C API library
  93. License: GPLv3+
  94. Requires: json-c
  95. Requires: %{name} = %{version}-%{release}
  96. Requires: %{name}-libs = %{version}-%{release}
  97. %description -n libdmmp
  98. This package contains the shared library for the device-mapper-multipath
  99. C API library.
  100. %package -n libdmmp-devel
  101. Summary: device-mapper-multipath C API library headers
  102. Requires: pkgconfig
  103. Requires: libdmmp = %{version}-%{release}
  104. %description -n libdmmp-devel
  105. This package contains the files needed to develop applications that use
  106. device-mapper-multipath's libdmmp C API library
  107. %prep
  108. %setup -q -n multipath-tools-0.8.2
  109. %autopatch -p1
  110. %build
  111. make %{?_smp_mflags} LIB=%{_lib} SYSTEMDPATH=/lib
  112. %install
  113. rm -rf %{buildroot}
  114. make install \
  115. DESTDIR=%{buildroot} \
  116. bindir=%{_syssbindir} \
  117. syslibdir=/%{_lib} \
  118. usrlibdir=%{_libdir} \
  119. libdir=/%{_lib}/multipath \
  120. rcdir=%{_initdir} \
  121. unitdir=%{_unitdir} \
  122. pkgconfdir=%{_libdir}/pkgconfig \
  123. SYSTEMDPATH=/lib
  124. install -d %{buildroot}/etc/multipath
  125. install -m644 %{SOURCE1} %{buildroot}/etc/multipath.conf
  126. install -d %{buildroot}%{_initdir}
  127. install -m755 %{SOURCE2} %{buildroot}%{_initdir}/multipathd
  128. %clean
  129. rm -rf %{buildroot}
  130. %post
  131. /sbin/chkconfig --add multipathd
  132. if [ "$1" -gt "1" -a ! -e /etc/multipath/bindings -a \
  133. -f /var/lib/multipath/bindings ]; then
  134. mv /var/lib/multipath/bindings /etc/multipath/bindings
  135. ln -s /etc/multipath/bindings /var/lib/multipath/bindings
  136. fi
  137. %preun
  138. if [ "$1" = 0 ]; then
  139. /sbin/service multipathd stop /dev/null 2>&1
  140. /sbin/chkconfig --del multipathd
  141. fi
  142. %postun
  143. if [ "$1" -ge "1" ]; then
  144. /sbin/service multipathd condrestart >/dev/null 2>&1 || :
  145. fi
  146. %post libs -p /sbin/ldconfig
  147. %postun libs -p /sbin/ldconfig
  148. %post -n libdmmp -p /sbin/ldconfig
  149. %postun -n libdmmp -p /sbin/ldconfig
  150. %files
  151. %defattr(-,root,root,-)
  152. %license LICENSES/GPL-2.0 LICENSES/LGPL-2.0
  153. %doc README*
  154. %config /lib/udev/rules.d/62-multipath.rules
  155. %config /lib/udev/rules.d/11-dm-mpath.rules
  156. %{_syssbindir}/multipath
  157. %{_syssbindir}/multipathd
  158. %{_syssbindir}/mpathconf
  159. %{_syssbindir}/mpathpersist
  160. %{_mandir}/man5/multipath.conf.5.gz
  161. %{_mandir}/man8/multipath.8.gz
  162. %{_mandir}/man8/multipathd.8.gz
  163. %{_mandir}/man8/mpathconf.8.gz
  164. %{_mandir}/man8/mpathpersist.8.gz
  165. %config /etc/rc.d/init.d/multipathd
  166. %config(noreplace) /etc/multipath.conf
  167. %dir /etc/multipath
  168. %files libs
  169. %license LICENSES/GPL-2.0 LICENSES/LGPL-2.0
  170. %doc README
  171. /%{_lib}/libmultipath.so
  172. /%{_lib}/libmultipath.so.*
  173. /%{_lib}/libmpathpersist.so.*
  174. /%{_lib}/libmpathcmd.so.*
  175. %dir /%{_lib}/multipath
  176. /%{_lib}/multipath/*
  177. %files devel
  178. %doc README
  179. /%{_lib}/libmpathpersist.so
  180. /%{_lib}/libmpathcmd.so
  181. %{_includedir}/mpath_cmd.h
  182. %{_includedir}/mpath_persist.h
  183. %{_mandir}/man3/mpath_persistent_reserve_in.3.gz
  184. %{_mandir}/man3/mpath_persistent_reserve_out.3.gz
  185. %files -n kpartx
  186. %defattr(-,root,root,-)
  187. %license LICENSES/GPL-2.0 LICENSES/LGPL-2.0
  188. %doc README
  189. %{_syssbindir}/kpartx
  190. /lib/udev/kpartx_id
  191. %config /lib/udev/rules.d/11-dm-parts.rules
  192. %config /lib/udev/rules.d/66-kpartx.rules
  193. %config /lib/udev/rules.d/68-del-part-nodes.rules
  194. %{_mandir}/man8/kpartx.8.gz
  195. %files -n libdmmp
  196. %license LICENSES/GPL-3.0
  197. %doc README
  198. %{_libdir}/libdmmp.so.*
  199. %files -n libdmmp-devel
  200. %doc README
  201. %{_libdir}/libdmmp.so
  202. %dir %{_includedir}/libdmmp
  203. %{_includedir}/libdmmp/*
  204. %{_mandir}/man3/dmmp_*
  205. %{_mandir}/man3/libdmmp.h.3.gz
  206. %{_libdir}/pkgconfig/libdmmp.pc
  207. %changelog
  208. * Sat Mar 28 2020 Tomohiro "Tomo-p" KATO <tomop@teamgedoh.net> 0.8.2-1
  209. - new upstream release.
  210. - replaced all patches with rawhide's.
  211. - added sub-packages.
  212. - device-mapper-multipath-libs
  213. - device-mapper-multipath-devel
  214. - libdmmp
  215. - libdmmp-devel
  216. * Sat Mar 21 2015 Ryoichi INAGAKI <ryo1@toki.waseda.jp> 0.4.9-5
  217. - rebuilt with readline 6.3
  218. - changed BuildRequires: libsysfs-devel instead of sysfsutils-devel
  219. - added Japanese summary
  220. * Mon Jan 12 2015 Yoji TOYODA <bsyamato@sea.plala.or.jp> 0.4.9-4
  221. - rebuild with VineSeed environment
  222. * Wed May 11 2011 Daisuke SUZUKI <daisuke@linux.or.jp> 0.4.9-3
  223. - import patches from RH package
  224. * Wed Apr 20 2011 Daisuke SUZUKI <daisuke@linux.or.jp> 0.4.9-2
  225. - install multipath libraries to %%{_lib}/multipath
  226. * Wed Apr 20 2011 Daisuke SUZUKI <daisuke@linux.or.jp> 0.4.9-1
  227. - update to 0.4.9
  228. - drop static version
  229. - add BR: libaio-devel
  230. * Sun Sep 07 2008 Shu KONNO <owa@bg.wakwak.com> 0.4.7-12vl5
  231. - applied new versioning policy
  232. * Thu Feb 14 2008 MATSUBAYASHI Kohji <shaolin@vinelinux.org> - 0.4.7-11vl1
  233. - initial build for VineSeed
  234. - add Patch100 to disable linking to libselinux and libsepol
  235. * Mon Feb 05 2007 Alasdair Kergon <agk@redhat.com> - 0.4.7-11.fc7
  236. - Add build dependency on new device-mapper-devel package.
  237. - Add dependency on device-mapper.
  238. * Wed Jan 31 2007 Benjamin Marzinksi <bmarzins@redhat.com> - 0.4.7-10.fc7
  239. - Update BuildRoot and PreReq lines.
  240. * Mon Jan 15 2007 Benjamin Marzinksi <bmarzins@redhat.com> - 0.4.7-9.fc7
  241. - Fixed spec file.
  242. * Mon Jan 15 2007 Benjamin Marzinski <bmarzins@redhat.com> - 0.4.7-8.fc7
  243. - Update to latest code (t0_4_7_head2)
  244. * Wed Dec 13 2006 Benjamin Marzinski <bmarzins@redhat.com> - 0.4.7-7.fc7
  245. - Update to latest code (t0_4_7_head1)
  246. * Thu Sep 7 2006 Peter Jones <pjones@redhat.com> - 0.4.7-5
  247. - Fix kpartx to handle with drives >2TB correctly.
  248. * Thu Aug 31 2006 Peter Jones <pjones@redhat.com> - 0.4.7-4.1
  249. - Split kpartx out into its own package so dmraid can use it without
  250. installing multipathd
  251. - Fix a segfault in kpartx
  252. * Mon Jul 17 2006 Benjamin Marzinski <bmarzins@redhat.com> 0.4.7-4.0
  253. - Updated to latest source. Fixes bug in default multipath.conf
  254. * Wed Jul 12 2006 Benjamin Marzinski <bmarzins@redhat.com> 0.4.7-3.1
  255. - Added ncurses-devel to BuildRequires
  256. * Wed Jul 12 2006 Benjamin Marzinski <bmarzins@redhat.com> 0.4.7-3.0
  257. - Updated to latest source. deals with change in libsysfs API
  258. * Wed Jul 12 2006 Jesse Keating <jkeating@redhat.com> - 0.4.7-2.2.1
  259. - rebuild
  260. * Mon Jul 10 2006 Benjamin Marzinski <bmarzins@redhat.com> 0.4.7-2.2
  261. - fix tagging issue.
  262. * Mon Jul 10 2006 Benjamin Marzinski <bmarzins@redhat.com> 0.4.7-2.1
  263. - changed BuildRequires from sysfsutils-devel to libsysfs-devel
  264. * Wed Jun 28 2006 Benjamin Marzinski <bmarzins@redhat.com> 0.4.7-2.0
  265. - Updated to latest upstream source, fixes kpartx udev rule issue
  266. * Tue Jun 06 2006 Benjamin Marzinski <bmarzins@redhat.com> 0.4.7-1.0
  267. - Updated to Christophe's latest source
  268. * Mon May 22 2006 Alasdair Kergon <agk@redhat.com> - 0.4.5-16.0
  269. - Newer upstream source (t0_4_5_post59).
  270. * Mon May 22 2006 Alasdair Kergon <agk@redhat.com> - 0.4.5-12.3
  271. - BuildRequires: libsepol-devel, readline-devel
  272. * Mon Feb 27 2006 Benjamin Marzinski <bmarzins@redhat.com> 0.4.5-12.2
  273. - Prereq: chkconfig
  274. * Mon Feb 20 2006 Karsten Hopp <karsten@redhat.de> 0.4.5-12.1
  275. - BuildRequires: libselinux-devel
  276. * Fri Feb 10 2006 Jesse Keating <jkeating@redhat.com> - 0.4.5-12.0.1
  277. - bump again for double-long bug on ppc(64)
  278. * Tue Feb 07 2006 Benjamin Marzinski <bmarzins@redhat.com> -0.4.5-12.0
  279. - Updated to latest upstream source (t0_4_5_post56)
  280. * Tue Feb 07 2006 Jesse Keating <jkeating@redhat.com> - 0.4.5-9.1.1
  281. - rebuilt for new gcc4.1 snapshot and glibc changes
  282. * Mon Dec 19 2005 Benjamin Marzinski <bmarzins@redhat.com> - 0.4.5-9.1
  283. - added patch for fedora changes
  284. * Fri Dec 16 2005 Benjamin Marzinski <bmarzins@redhat.com> - 0.4.5-9.0
  285. - Updated to latest upstream source (t)_4_5_post52)
  286. * Fri Dec 09 2005 Jesse Keating <jkeating@redhat.com>
  287. - rebuilt
  288. * Sun Dec 4 2005 Peter Jones <pjones@redhat.com> - 0.4.4-2.6
  289. - rebuild for newer libs
  290. * Tue Nov 15 2005 Peter Jones <pjones@redhat.com> - 0.4.4-2.5
  291. - unsplit kpartx. parted knows how to do this now, so we don't
  292. need this in a separate package.
  293. * Tue Nov 15 2005 Peter Jones <pjones@redhat.com> - 0.4.4-2.4
  294. - split kpartx out into its own package
  295. * Fri May 06 2005 Bill Nottingham <notting@redhat.com> - 0.4.4-2.3
  296. - Fix last fix.
  297. * Thu May 05 2005 Alasdair Kergon <agk@redhat.com> - 0.4.4-2.2
  298. - Fix last fix.
  299. * Wed May 04 2005 Alasdair Kergon <agk@redhat.com> - 0.4.4-2.1
  300. - By default, disable the multipathd service.
  301. * Tue Apr 19 2005 Alasdair Kergon <agk@redhat.com> - 0.4.4-2.0
  302. - Fix core dump from last build.
  303. * Tue Apr 19 2005 Alasdair Kergon <agk@redhat.com> - 0.4.4-1.0
  304. - Move cache file into /var/cache/multipath.
  305. * Fri Apr 08 2005 Alasdair Kergon <agk@redhat.com> - 0.4.4-0.pre8.1
  306. - Remove pp_balance_units.
  307. * Mon Apr 04 2005 Alasdair Kergon <agk@redhat.com> - 0.4.4-0.pre8.0
  308. - Incorporate numerous upstream fixes.
  309. - Update init script to distribution standards.
  310. * Tue Mar 01 2005 Alasdair Kergon <agk@redhat.com> - 0.4.2-1.0
  311. - Initial import based on Christophe Varoqui's spec file.