Summary: Tools to manage multipath devices using device-mapper
Summary(ja): Device-mapper を使用してマルチパスデバイスを管理するためのツール集
Name: device-mapper-multipath
Version: 0.4.9
Release: 5%{?_dist_release}
License: GPLv2+
Group: System Environment/Base
URL: http://christophe.varoqui.free.fr/
Source0: multipath-tools-%{version}.tar.bz2
Source1: multipath.conf

# patch that should go upstream
Patch1: 0001-for-upstream-add-tpg_pref-prioritizer.patch

# RH patches
Patch1007: 0007-RH-do-not-remove.patch
Patch1008: 0008-RH-Make-build-system-RH-Fedora-friendly.patch
Patch1009: 0009-RH-multipathd-blacklist-all-by-default.patch
Patch1010: 0010-RH-multipath-rules-udev-changes.patch
Patch1014: 0014-RH-add-hp_tur-checker.patch
Patch1017: 0017-RHBZ-554592-man-page-note.patch
Patch1018: 0018-RHBZ-554596-SUN-6540-config.patch
Patch1019: 0019-RHBZ-554598-fix-multipath-locking.patch
Patch1020: 0020-RHBZ-554605-fix-manual-failover.patch
Patch1021: 0021-RHBZ-548874-add-find-multipaths-2.patch
Patch1022: 0022-RHBZ-557845-RHEL5-style-partitions-2.patch
Patch1023: 0023-RHBZ-557810-emc-invista-config.patch
Patch1024: 0024-RHBZ-565933-checker-timeout-2.patch

BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
Requires(post): chkconfig
Requires(preun): chkconfig
Requires: kpartx = %{version}-%{release}
Requires: device-mapper >= 1.02.39
BuildRequires: libsysfs-devel
BuildRequires: device-mapper-devel
#BuildRequires: libselinux-devel, libsepol-devel
BuildRequires: readline-devel, ncurses-devel
BuildRequires: libaio-devel

Vendor: Project Vine
Distribution: Vine Linux
Packager: daisuke

%description
%{name} provides tools to manage multipath devices by instructing the 
device-mapper multipath kernel module what to do. 
The tools are :
* multipath :   Scan the system for multipath devices and assemble them.
* multipathd :  Detects when paths fail and execs multipath to update things.


%package -n kpartx
Summary: Partition device manager for device-mapper devices
Summary(ja): Device-mapper デバイス用のパーティションデバイスマネージャー
Group: System Environment/Base
Provides: kpartx = %{version}-%{release}

%description -n kpartx
kpartx manages partition creation and removal for device-mapper devices.


%prep
%setup -q -c
%patch1 -p1
%patch1007 -p1
%patch1008 -p1
%patch1009 -p1
%patch1010 -p1
%patch1014 -p1
%patch1017 -p1
%patch1018 -p1
%patch1019 -p1
%patch1020 -p1
%patch1021 -p1
%patch1022 -p1
%patch1023 -p1
%patch1024 -p1


%build
make LIB=%{_lib}

%install
rm -rf $RPM_BUILD_ROOT
make install \
  DESTDIR=$RPM_BUILD_ROOT \
  bindir=%{_syssbindir} \
  syslibdir=/%{_lib} \
  libdir=/%{_lib}/multipath \
  rcdir=%{_initrddir}

install -d %{buildroot}/etc/multipath
install -m644 %{SOURCE1} %{buildroot}/etc/multipath.conf

install -m755 multipathd/multipathd.init.redhat %{buildroot}%{_initrddir}/multipathd

%clean
rm -rf $RPM_BUILD_ROOT


%post
/sbin/ldconfig
/sbin/chkconfig --add multipathd
if [ "$1" -gt "1" -a ! -e /etc/multipath/bindings -a \
    -f /var/lib/multipath/bindings ]; then
       mv /var/lib/multipath/bindings /etc/multipath/bindings
       ln -s /etc/multipath/bindings /var/lib/multipath/bindings
fi

%preun
if [ "$1" = 0 ]; then
        /sbin/service multipathd stop /dev/null 2>&1
        /sbin/chkconfig --del multipathd
fi


%postun
/sbin/ldconfig
if [ "$1" -ge "1" ]; then
        /sbin/service multipathd condrestart >/dev/null 2>&1 || :
fi


%files
%defattr(-,root,root,-)
%doc AUTHOR COPYING README* FAQ
%doc multipath.conf.annotated multipath.conf.defaults 
%doc multipath.conf.synthetic
%{_syssbindir}/multipath
%{_syssbindir}/multipathd
%{_syssbindir}/mpathconf
%config /lib/udev/rules.d/40-multipath.rules
%{_mandir}/man8/multipath.8.gz
%{_mandir}/man8/multipathd.8.gz
%{_mandir}/man5/multipath.conf.5.gz
%config /etc/rc.d/init.d/multipathd
%config(noreplace) /etc/multipath.conf
%dir /etc/multipath
/%{_lib}/libmultipath.so*
%dir /%{_lib}/multipath
/%{_lib}/multipath/*

%files -n kpartx
%defattr(-,root,root,-)
%{_syssbindir}/kpartx
%{_mandir}/man8/kpartx.8.gz


%changelog
* Sat Mar 21 2015 Ryoichi INAGAKI <ryo1@toki.waseda.jp> 0.4.9-5
- rebuilt with readline 6.3
- changed BuildRequires: libsysfs-devel instead of sysfsutils-devel
- added Japanese summary

* Mon Jan 12 2015 Yoji TOYODA <bsyamato@sea.plala.or.jp> 0.4.9-4
- rebuild with VineSeed environment

* Wed May 11 2011 Daisuke SUZUKI <daisuke@linux.or.jp> 0.4.9-3
- import patches from RH package

* Wed Apr 20 2011 Daisuke SUZUKI <daisuke@linux.or.jp> 0.4.9-2
- install multipath libraries to %%{_lib}/multipath

* Wed Apr 20 2011 Daisuke SUZUKI <daisuke@linux.or.jp> 0.4.9-1
- update to 0.4.9
- drop static version
- add BR: libaio-devel

* Sun Sep 07 2008 Shu KONNO <owa@bg.wakwak.com> 0.4.7-12vl5
- applied new versioning policy

* Thu Feb 14 2008 MATSUBAYASHI Kohji <shaolin@vinelinux.org> - 0.4.7-11vl1
- initial build for VineSeed
- add Patch100 to disable linking to libselinux and libsepol

* Mon Feb 05 2007 Alasdair Kergon <agk@redhat.com> - 0.4.7-11.fc7
- Add build dependency on new device-mapper-devel package.
- Add dependency on device-mapper.

* Wed Jan 31 2007 Benjamin Marzinksi <bmarzins@redhat.com> - 0.4.7-10.fc7
- Update BuildRoot and PreReq lines.

* Mon Jan 15 2007 Benjamin Marzinksi <bmarzins@redhat.com> - 0.4.7-9.fc7
- Fixed spec file.

* Mon Jan 15 2007 Benjamin Marzinski <bmarzins@redhat.com> - 0.4.7-8.fc7
- Update to latest code (t0_4_7_head2)

* Wed Dec 13 2006 Benjamin Marzinski <bmarzins@redhat.com> - 0.4.7-7.fc7
- Update to latest code (t0_4_7_head1)

* Thu Sep  7 2006 Peter Jones <pjones@redhat.com> - 0.4.7-5
- Fix kpartx to handle with drives >2TB correctly.

* Thu Aug 31 2006 Peter Jones <pjones@redhat.com> - 0.4.7-4.1
- Split kpartx out into its own package so dmraid can use it without
  installing multipathd
- Fix a segfault in kpartx

* Mon Jul 17 2006 Benjamin Marzinski <bmarzins@redhat.com> 0.4.7-4.0
- Updated to latest source. Fixes bug in default multipath.conf

* Wed Jul 12 2006 Benjamin Marzinski <bmarzins@redhat.com> 0.4.7-3.1
- Added ncurses-devel to BuildRequires

* Wed Jul 12 2006 Benjamin Marzinski <bmarzins@redhat.com> 0.4.7-3.0
- Updated to latest source. deals with change in libsysfs API

* Wed Jul 12 2006 Jesse Keating <jkeating@redhat.com> - 0.4.7-2.2.1
- rebuild

* Mon Jul 10 2006 Benjamin Marzinski <bmarzins@redhat.com> 0.4.7-2.2
- fix tagging issue.

* Mon Jul 10 2006 Benjamin Marzinski <bmarzins@redhat.com> 0.4.7-2.1
- changed BuildRequires from sysfsutils-devel to libsysfs-devel

* Wed Jun 28 2006 Benjamin Marzinski <bmarzins@redhat.com> 0.4.7-2.0
- Updated to latest upstream source, fixes kpartx udev rule issue

* Tue Jun 06 2006 Benjamin Marzinski <bmarzins@redhat.com> 0.4.7-1.0
- Updated to Christophe's latest source

* Mon May 22 2006 Alasdair Kergon <agk@redhat.com> - 0.4.5-16.0
- Newer upstream source (t0_4_5_post59).

* Mon May 22 2006 Alasdair Kergon <agk@redhat.com> - 0.4.5-12.3
- BuildRequires: libsepol-devel, readline-devel

* Mon Feb 27 2006 Benjamin Marzinski <bmarzins@redhat.com> 0.4.5-12.2
- Prereq: chkconfig

* Mon Feb 20 2006 Karsten Hopp <karsten@redhat.de> 0.4.5-12.1
- BuildRequires: libselinux-devel

* Fri Feb 10 2006 Jesse Keating <jkeating@redhat.com> - 0.4.5-12.0.1
- bump again for double-long bug on ppc(64)

* Tue Feb 07 2006 Benjamin Marzinski <bmarzins@redhat.com> -0.4.5-12.0
- Updated to latest upstream source (t0_4_5_post56)

* Tue Feb 07 2006 Jesse Keating <jkeating@redhat.com> - 0.4.5-9.1.1
- rebuilt for new gcc4.1 snapshot and glibc changes

* Mon Dec 19 2005 Benjamin Marzinski <bmarzins@redhat.com> - 0.4.5-9.1
- added patch for fedora changes

* Fri Dec 16 2005 Benjamin Marzinski <bmarzins@redhat.com> - 0.4.5-9.0
- Updated to latest upstream source (t)_4_5_post52)

* Fri Dec 09 2005 Jesse Keating <jkeating@redhat.com>
- rebuilt

* Sun Dec  4 2005 Peter Jones <pjones@redhat.com> - 0.4.4-2.6
- rebuild for newer libs

* Tue Nov 15 2005 Peter Jones <pjones@redhat.com> - 0.4.4-2.5
- unsplit kpartx.  parted knows how to do this now, so we don't
  need this in a separate package.

* Tue Nov 15 2005 Peter Jones <pjones@redhat.com> - 0.4.4-2.4
- split kpartx out into its own package

* Fri May 06 2005 Bill Nottingham <notting@redhat.com> - 0.4.4-2.3
- Fix last fix.

* Thu May 05 2005 Alasdair Kergon <agk@redhat.com> - 0.4.4-2.2
- Fix last fix.

* Wed May 04 2005 Alasdair Kergon <agk@redhat.com> - 0.4.4-2.1
- By default, disable the multipathd service.

* Tue Apr 19 2005 Alasdair Kergon <agk@redhat.com> - 0.4.4-2.0
- Fix core dump from last build.

* Tue Apr 19 2005 Alasdair Kergon <agk@redhat.com> - 0.4.4-1.0
- Move cache file into /var/cache/multipath.

* Fri Apr 08 2005 Alasdair Kergon <agk@redhat.com> - 0.4.4-0.pre8.1
- Remove pp_balance_units.

* Mon Apr 04 2005 Alasdair Kergon <agk@redhat.com> - 0.4.4-0.pre8.0
- Incorporate numerous upstream fixes.
- Update init script to distribution standards.

* Tue Mar 01 2005 Alasdair Kergon <agk@redhat.com> - 0.4.2-1.0
- Initial import based on Christophe Varoqui's spec file.