From 29ec51c450a0c714d4edfd4fd94c6f4ba73dc0549e420f3c7becad7be9dc44a7 Mon Sep 17 00:00:00 2001 From: Martin Wilck Date: Mon, 1 Apr 2019 19:21:40 +0000 Subject: [PATCH] Accepting request 690443 from home:mwilck:multipath - Re-enable kmod-style dependencies for multipath-tools package (bsc#1119414) - Separate out libmpath0 (bsc#1119414) - Spec file improvements * Add Conflicts: for older multipath-tools to libmpath0 * Move license files to the libmpath0 package, which contains the code with complex licensing. The executables are GPL-2.0 anyway. * Remove bogus dependency of -devel package on device-mapper * -devel package depends on libmpath0, not multipath-tools * Remove %dir %{_defaultlicensedir} for SLE12-SP3 and newer (John Vandenberg ) * Remove unused /var/cache/multipath directory * Remove check for multipath maps in %pre and %post * Remove SLE11-specific multipathd service stop / start from %pre / %post * Remove obsolete tools from package description (bsc#1129827) * Add -n to %service_del_{pre,post}un for multipathd.socket - Update to version 0.8.0+17+suse.a28893f: * Code-identical to 0.7.9+139+suse.ed9d450, except for new version number - Disable kmod() style dependencies for now, as they are causing problems with image builds (bsc#1119414). They'd been active for SLE15-SP1 only, anyway. - _service: determine "tag offset" manually, the patch count determined by git is far too high. - Fix module name in multipath.conf (bsc#1119414) * The modules-load.d entry must match the filename exactly OBS-URL: https://build.opensuse.org/request/show/690443 OBS-URL: https://build.opensuse.org/package/show/Base:System/multipath-tools?expand=0&rev=189 --- _service | 6 +- _servicedata | 2 +- multipath-tools-0.7.9+139+suse.ed9d450.tar.xz | 3 - multipath-tools-0.8.0+17+suse.a28893f.tar.xz | 3 + multipath-tools.changes | 39 ++++++++ multipath-tools.spec | 95 ++++++++++--------- multipath.conf | 2 +- 7 files changed, 101 insertions(+), 49 deletions(-) delete mode 100644 multipath-tools-0.7.9+139+suse.ed9d450.tar.xz create mode 100644 multipath-tools-0.8.0+17+suse.a28893f.tar.xz diff --git a/_service b/_service index 19af12b..7edde49 100644 --- a/_service +++ b/_service @@ -4,7 +4,11 @@ https://github.com/openSUSE/multipath-tools.git multipath-tools - @PARENT_TAG@+@TAG_OFFSET@+suse.%h + + @PARENT_TAG@+17+suse.%h factory 0.[0-9].[0-9] enable diff --git a/_servicedata b/_servicedata index 07b179c..caacbcd 100644 --- a/_servicedata +++ b/_servicedata @@ -1,6 +1,6 @@ https://github.com/openSUSE/multipath-tools.git - ed9d45084265bdd23b816fcb69dc52c1b321fef5 + a28893f67c7ca0009b9ef8b85732348b3c3092f1 https://github.com/mwilck/multipath-tools.git 08a969b7fce0db769b63bdbfead2a452dc417d58 \ No newline at end of file diff --git a/multipath-tools-0.7.9+139+suse.ed9d450.tar.xz b/multipath-tools-0.7.9+139+suse.ed9d450.tar.xz deleted file mode 100644 index 6d55eae..0000000 --- a/multipath-tools-0.7.9+139+suse.ed9d450.tar.xz +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:1208666943b8159bddf82d21974dd1e487f2de84451b041185b79ddd55fa19e6 -size 353576 diff --git a/multipath-tools-0.8.0+17+suse.a28893f.tar.xz b/multipath-tools-0.8.0+17+suse.a28893f.tar.xz new file mode 100644 index 0000000..18e3c4d --- /dev/null +++ b/multipath-tools-0.8.0+17+suse.a28893f.tar.xz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:1df004ef6789d948211245d2cc34826ad06281545b7099f558b3224987f6e22c +size 353608 diff --git a/multipath-tools.changes b/multipath-tools.changes index 5a8a8f7..c5d12f8 100644 --- a/multipath-tools.changes +++ b/multipath-tools.changes @@ -1,3 +1,42 @@ +------------------------------------------------------------------- +Tue Mar 19 15:58:01 UTC 2019 - Martin Wilck + +- Re-enable kmod-style dependencies for multipath-tools package + (bsc#1119414) +- Separate out libmpath0 (bsc#1119414) +- Spec file improvements + * Add Conflicts: for older multipath-tools to libmpath0 + * Move license files to the libmpath0 package, which contains the + code with complex licensing. The executables are GPL-2.0 anyway. + * Remove bogus dependency of -devel package on device-mapper + * -devel package depends on libmpath0, not multipath-tools + * Remove %dir %{_defaultlicensedir} for SLE12-SP3 and newer + (John Vandenberg ) + * Remove unused /var/cache/multipath directory + * Remove check for multipath maps in %pre and %post + * Remove SLE11-specific multipathd service stop / start from + %pre / %post + * Remove obsolete tools from package description (bsc#1129827) + * Add -n to %service_del_{pre,post}un for multipathd.socket + +------------------------------------------------------------------- +Fri Mar 15 13:57:44 UTC 2019 - Martin Wilck + +- Update to version 0.8.0+17+suse.a28893f: + * Code-identical to 0.7.9+139+suse.ed9d450, except for new + version number +- Disable kmod() style dependencies for now, as they are causing + problems with image builds (bsc#1119414). They'd been active + for SLE15-SP1 only, anyway. +- _service: determine "tag offset" manually, the patch count + determined by git is far too high. + +------------------------------------------------------------------- +Thu Mar 7 16:39:42 UTC 2019 - Martin Wilck + +- Fix module name in multipath.conf (bsc#1119414) + * The modules-load.d entry must match the filename exactly + ------------------------------------------------------------------- Thu Mar 07 15:09:30 UTC 2019 - mwilck@suse.com diff --git a/multipath-tools.spec b/multipath-tools.spec index 45c661e..d09e724 100644 --- a/multipath-tools.spec +++ b/multipath-tools.spec @@ -50,10 +50,10 @@ Name: multipath-tools Url: http://christophe.varoqui.free.fr/ -Version: 0.7.9+139+suse.ed9d450 +Version: 0.8.0+17+suse.a28893f Release: 0 Summary: Tools to Manage Multipathed Devices with the device-mapper -License: GPL-2.0-only AND LGPL-2.0-or-later +License: GPL-2.0-only Group: System/Base Source: multipath-tools-%{version}.tar.xz Source1: multipath.conf @@ -94,19 +94,32 @@ Obsoletes: multipath-tools-rbd <= %{version} PreReq: coreutils grep %description -This package provides the tools to manage multipathed devices by -instructing the device-mapper multipath module what to do. The tools -are: +This package provides the multipath tool and the multipathd daemon +to manage dm-multipath devices. multipath can detect and set up +multipath maps. multipathd sets up multipath maps automatically, +monitors path devices for failure, removal, or addition, and applies +the necessary changes to the multipath maps to ensure continuous +availability of the map devices. -- multipath: scans the system for multipathed devices, assembles - them, and updates the device-mapper's maps +# Currently it makes no sense to split out libmpathpersist and libmpathcmd +# separately. libmultipath has no stable API at all, and it depends +# on libmpathcmd (to be fixed). libmpathpersist depends on libmultipath +# and it loads prioritizers (to be fixed) and checkers. +%package -n libmpath0 +Summary: Libraries for multipath-tools +License: GPL-2.0-only AND LGPL-2.1 AND LGPL-2.0-or-later +Group: System/Libraries +# This is for libmpathcmd, which is useless without multipathd. +# No hard dependency here - we don't want to pull in all dependencies +# of multipath-tools. +Recommends: multipath-tools +Conflicts: multipath-tools < 0.8.0 -- multipathd: waits for maps events then execs multipath - -- devmap-name: provides a meaningful device name to udev for devmaps - -- kpartx: maps linear devmaps to device partitions, which makes -multipath maps partionable +%description -n libmpath0 +libmpathpersist provides a C API for handling of SCSI persistent +reservations for device-mapper multipath devices. libmpathcmd +provides a C API for sending commands to a running multipathd +instance. %package -n kpartx Summary: Manages partition tables on device-mapper devices @@ -122,12 +135,11 @@ makes multipath maps partionable. Summary: Development libraries for multipath-tools License: GPL-2.0-only AND LGPL-2.0-or-later Group: Development/Libraries/C and C++ -Requires: device-mapper -Requires: multipath-tools = %{version} +Requires: libmpath0 = %{version} %description devel This package contains the development libraries for multipath-tools -and libmpath_persist. +and libmpathpersist. %if 0%{?with_libdmmp} == 1 %package -n libdmmp%{libdmmp_version} @@ -163,7 +175,6 @@ make CC="%__cc" OPTFLAGS="%{optflags}" %{dirflags} %{makeflags} %install make DESTDIR=%{buildroot} %{dirflags} %{makeflags} install -mkdir -p %{buildroot}/var/cache/multipath/ mkdir -p %{buildroot}%{_defaultlicensedir} mkdir -p %{buildroot}/usr/sbin mkdir -p %{buildroot}/usr/%{_lib} @@ -177,33 +188,29 @@ install -m 644 -D %{SOURCE1} "%{buildroot}/usr/lib/modules-load.d/multipath.conf install -m 644 %{SOURCE2} %{buildroot}%{_udevrulesdir}/00-dont-del-part-nodes.rules install -m 644 -D %{SOURCE3} %{buildroot}/usr/lib/dracut/dracut.conf.d/dm-parts.conf +%post -n libmpath0 -p %{run_ldconfig} +%postun -n libmpath0 -p %{run_ldconfig} + %pre [ -f /.buildenv ] && exit 0 -if [ -f /etc/init.d/multipathd ] && dmsetup --target multipath table | grep -q multipath ; then - /etc/init.d/multipathd stop - %service_add_pre multipathd.socket - %service_add_pre multipathd.service -fi +%service_add_pre multipathd.socket +%service_add_pre multipathd.service %post [ -f /.buildenv ] && exit 0 -%{run_ldconfig} -if dmsetup --target multipath table | grep -q multipath ; then - %service_add_post multipathd.socket - %service_add_post multipathd.service -fi +%service_add_post multipathd.socket +%service_add_post multipathd.service %{?regenerate_initrd_post} exit 0 %preun %service_del_preun multipathd.service -%service_del_preun multipathd.socket +%service_del_preun -n multipathd.socket %postun %{?regenerate_initrd_post} %service_del_postun multipathd.service -%service_del_postun multipathd.socket -%{run_ldconfig} +%service_del_postun -n multipathd.socket %posttrans %{?regenerate_initrd_posttrans} @@ -211,22 +218,17 @@ exit 0 %files %defattr(-,root,root) %doc README +# SLE12-SP2 and earlier: dracut filesystem not own /usr/share/licenses +%if 0%{?sle_version} && 0%{?sle_version} < 120300 %dir %{_defaultlicensedir} -%license LICENSES/LGPL-2.0 -%license LICENSES/LGPL-2.1 +%endif %license LICENSES/GPL-2.0 -%license README.licenses %{_udevrulesdir}/11-dm-mpath.rules %{_udevrulesdir}/56-multipath.rules -/%{_lib}/libmultipath.so.0 -/%{_lib}/libmpathcmd.so.0 -/%{_lib}/libmpathpersist.so.0 -/%{_lib}/multipath /sbin/multipath /sbin/multipathd /sbin/mpathpersist /usr/sbin/rcmultipathd -%attr (0700, root, root) /var/cache/multipath %dir /%{_sysdir}/systemd/system /%{_sysdir}/systemd/system/multipathd.service /%{_sysdir}/systemd/system/multipathd.socket @@ -240,6 +242,16 @@ exit 0 %{_mandir}/man8/multipathd.8* %{_mandir}/man8/mpathpersist.8* +%files -n libmpath0 +/%{_lib}/libmultipath.so.0 +/%{_lib}/libmpathcmd.so.0 +/%{_lib}/libmpathpersist.so.0 +/%{_lib}/multipath +%license LICENSES/GPL-2.0 +%license LICENSES/LGPL-2.0 +%license LICENSES/LGPL-2.1 +%license README.licenses + %files devel %defattr(-,root,root) /usr/%{_lib}/libmultipath.so @@ -274,11 +286,8 @@ exit 0 %if 0%{?with_libdmmp} == 1 -%post -n libdmmp%{libdmmp_version} -%{run_ldconfig} - -%postun -n libdmmp%{libdmmp_version} -%{run_ldconfig} +%post -n libdmmp%{libdmmp_version} -p %{run_ldconfig} +%postun -n libdmmp%{libdmmp_version} -p %{run_ldconfig} %files -n libdmmp%{libdmmp_version} %defattr(-,root,root) diff --git a/multipath.conf b/multipath.conf index 3b51c33..37e9e78 100644 --- a/multipath.conf +++ b/multipath.conf @@ -2,4 +2,4 @@ scsi_dh_alua scsi_dh_emc scsi_dh_rdac -dm_multipath +dm-multipath