sanlock/sanlock.spec

402 lines
12 KiB
RPMSpec
Raw Normal View History

2011-02-15 23:38:07 +00:00
Name: sanlock
2012-10-09 16:54:26 +00:00
Version: 2.6
Release: 8%{?dist}
2011-02-15 23:38:07 +00:00
Summary: A shared disk lock manager
Group: System Environment/Base
2012-03-21 21:36:47 +00:00
License: GPLv2 and GPLv2+ and LGPLv2+
2011-02-15 23:38:07 +00:00
URL: https://fedorahosted.org/sanlock/
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
2011-06-14 22:26:27 +00:00
BuildRequires: libblkid-devel libaio-devel python python-devel
2012-11-06 20:03:24 +00:00
%if 0%{?fedora} >= 16 || 0%{?rhel} >= 7
BuildRequires: systemd-units
%endif
2013-01-13 10:41:06 +00:00
%if 0%{?rhel} >= 6
ExclusiveArch: x86_64
%endif
2011-05-09 20:34:42 +00:00
Requires: %{name}-lib = %{version}-%{release}
2012-06-15 14:17:21 +00:00
Requires(pre): /usr/sbin/groupadd
Requires(pre): /usr/sbin/useradd
2011-09-16 19:10:59 +00:00
Source0: https://fedorahosted.org/releases/s/a/sanlock/%{name}-%{version}.tar.gz
2011-02-15 23:38:07 +00:00
2012-11-06 20:03:24 +00:00
Patch0: 0001-fix-systemd-service-files.patch
2013-01-13 10:41:06 +00:00
Patch1: 0002-wdmd-use-mode-775-for-run-dir.patch
Patch2: 0003-systemd-add-wdmd-dependency-for-sanlock.patch
Patch3: 0004-wdmd-make-the-watchdog-device-configurable.patch
Patch4: 0005-wdmd-fix-miscellaneous-build-warnings.patch
Patch5: 0006-wdmd-dynamically-select-working-watchdog-device.patch
2012-11-06 20:03:24 +00:00
2011-02-15 23:38:07 +00:00
%description
sanlock uses disk paxos to manage leases on shared storage.
Hosts connected to a common SAN can use this to synchronize their
access to the shared disks.
%prep
%setup -q
%patch0 -p1 -b .0001-fix-systemd-service-files
2013-01-13 10:41:06 +00:00
%patch1 -p1 -b .0002-wdmd-use-mode-775-for-run-dir
%patch2 -p1 -b .0003-systemd-add-wdmd-dependency-for-sanlock
%patch3 -p1 -b .0004-wdmd-make-the-watchdog-device-configurable
2013-01-13 15:06:12 +00:00
%patch4 -p1 -b .0005-wdmd-fix-miscellaneous-build-warnings
%patch5 -p1 -b .0006-wdmd-dynamically-select-working-watchdog-device
2011-02-15 23:38:07 +00:00
%build
# upstream does not require configure
# upstream does not support _smp_mflags
2011-02-17 16:53:23 +00:00
CFLAGS=$RPM_OPT_FLAGS make -C wdmd
CFLAGS=$RPM_OPT_FLAGS make -C src
2011-05-09 20:34:42 +00:00
CFLAGS=$RPM_OPT_FLAGS make -C python
2012-10-09 16:54:26 +00:00
CFLAGS=$RPM_OPT_FLAGS make -C fence_sanlock
2011-02-15 23:38:07 +00:00
%install
rm -rf $RPM_BUILD_ROOT
2011-02-17 16:53:23 +00:00
make -C src \
2011-09-16 19:10:59 +00:00
install LIBDIR=%{_libdir} \
2011-02-15 23:38:07 +00:00
DESTDIR=$RPM_BUILD_ROOT
2011-02-18 15:04:41 +00:00
make -C wdmd \
2011-09-16 19:10:59 +00:00
install LIBDIR=%{_libdir} \
2011-02-18 15:04:41 +00:00
DESTDIR=$RPM_BUILD_ROOT
2011-05-09 20:34:42 +00:00
make -C python \
2011-09-16 19:10:59 +00:00
install LIBDIR=%{_libdir} \
2011-05-09 20:34:42 +00:00
DESTDIR=$RPM_BUILD_ROOT
2012-10-09 16:54:26 +00:00
make -C fence_sanlock \
install LIBDIR=%{_libdir} \
DESTDIR=$RPM_BUILD_ROOT
2012-03-21 21:36:47 +00:00
2012-11-06 20:03:24 +00:00
%if 0%{?fedora} >= 16 || 0%{?rhel} >= 7
2012-05-30 21:15:44 +00:00
install -D -m 0755 init.d/sanlock $RPM_BUILD_ROOT/lib/systemd/systemd-sanlock
install -D -m 0644 init.d/sanlock.service $RPM_BUILD_ROOT/%{_unitdir}/sanlock.service
install -D -m 0755 init.d/wdmd $RPM_BUILD_ROOT/lib/systemd/systemd-wdmd
install -D -m 0644 init.d/wdmd.service $RPM_BUILD_ROOT/%{_unitdir}/wdmd.service
2012-10-09 16:54:26 +00:00
install -D -m 0755 init.d/fence_sanlockd $RPM_BUILD_ROOT/lib/systemd/systemd-fence_sanlockd
install -D -m 0644 init.d/fence_sanlockd.service $RPM_BUILD_ROOT/%{_unitdir}/fence_sanlockd.service
2012-05-30 21:15:44 +00:00
%else
2013-01-02 09:44:22 +00:00
install -D -m 0755 init.d/sanlock $RPM_BUILD_ROOT/%{_initddir}/sanlock
install -D -m 0755 init.d/wdmd $RPM_BUILD_ROOT/%{_initddir}/wdmd
install -D -m 0755 init.d/fence_sanlockd $RPM_BUILD_ROOT/%{_initddir}/fence_sanlockd
2012-05-30 21:15:44 +00:00
%endif
2012-03-21 21:36:47 +00:00
2013-01-02 09:44:22 +00:00
install -D -m 0644 src/logrotate.sanlock \
2012-03-21 21:36:47 +00:00
$RPM_BUILD_ROOT/etc/logrotate.d/sanlock
install -D -m 0644 init.d/sanlock.sysconfig \
2012-05-07 16:15:28 +00:00
$RPM_BUILD_ROOT/etc/sysconfig/sanlock
install -D -m 0644 init.d/wdmd.sysconfig \
2012-10-09 16:54:26 +00:00
$RPM_BUILD_ROOT/etc/sysconfig/wdmd
2013-01-02 09:44:22 +00:00
install -Dd -m 0755 $RPM_BUILD_ROOT/etc/wdmd.d
install -Dd -m 0775 $RPM_BUILD_ROOT/%{_localstatedir}/run/sanlock
install -Dd -m 0775 $RPM_BUILD_ROOT/%{_localstatedir}/run/fence_sanlock
install -Dd -m 0775 $RPM_BUILD_ROOT/%{_localstatedir}/run/fence_sanlockd
2012-07-24 16:17:59 +00:00
2011-02-15 23:38:07 +00:00
%clean
rm -rf $RPM_BUILD_ROOT
2011-05-09 20:34:42 +00:00
%pre
2012-03-21 21:36:47 +00:00
getent group sanlock > /dev/null || /usr/sbin/groupadd \
-g 179 sanlock
getent passwd sanlock > /dev/null || /usr/sbin/useradd \
-u 179 -c "sanlock" -s /sbin/nologin -r \
-g 179 -d /var/run/sanlock sanlock
2012-10-09 16:54:26 +00:00
/usr/sbin/usermod -a -G disk sanlock
2011-05-09 20:34:42 +00:00
%post
2012-05-30 21:15:44 +00:00
if [ $1 -eq 1 ] ; then
2012-11-06 20:03:24 +00:00
%if 0%{?fedora} >= 16 || 0%{?rhel} >= 7
2012-05-30 21:15:44 +00:00
/bin/systemctl daemon-reload >/dev/null 2>&1 || :
%else
/sbin/chkconfig --add sanlock
/sbin/chkconfig --add wdmd
%endif
fi
2011-02-15 23:38:07 +00:00
2011-05-09 20:34:42 +00:00
%preun
if [ $1 = 0 ]; then
2012-11-06 20:03:24 +00:00
%if 0%{?fedora} >= 16 || 0%{?rhel} >= 7
2012-05-30 21:15:44 +00:00
/bin/systemctl --no-reload sanlock.service > /dev/null 2>&1 || :
/bin/systemctl --no-reload wdmd.service > /dev/null 2>&1 || :
/bin/systemctl stop sanlock.service > /dev/null 2>&1 || :
/bin/systemctl stop wdmd.service > /dev/null 2>&1 || :
%else
/sbin/service sanlock stop > /dev/null 2>&1
/sbin/service wdmd stop > /dev/null 2>&1
/sbin/chkconfig --del sanlock
/sbin/chkconfig --del wdmd
%endif
2011-05-09 20:34:42 +00:00
fi
%postun
2012-05-30 21:15:44 +00:00
if [ $1 -ge 1 ] ; then
2012-11-06 20:03:24 +00:00
%if 0%{?fedora} >= 16 || 0%{?rhel} >= 7
2012-05-30 21:15:44 +00:00
/bin/systemctl try-restart sanlock.service >/dev/null 2>&1 || :
/bin/systemctl try-restart wdmd.service >/dev/null 2>&1 || :
%else
/sbin/service sanlock condrestart >/dev/null 2>&1 || :
/sbin/service wdmd condrestart >/dev/null 2>&1 || :
%endif
fi
2011-02-15 23:38:07 +00:00
%files
%defattr(-,root,root,-)
2012-11-06 20:03:24 +00:00
%if 0%{?fedora} >= 16 || 0%{?rhel} >= 7
/lib/systemd/systemd-sanlock
/lib/systemd/systemd-wdmd
%{_unitdir}/sanlock.service
%{_unitdir}/wdmd.service
2012-05-30 21:15:44 +00:00
%else
%{_initddir}/sanlock
%{_initddir}/wdmd
%endif
2011-02-15 23:38:07 +00:00
%{_sbindir}/sanlock
2011-02-18 15:04:41 +00:00
%{_sbindir}/wdmd
2012-11-06 20:03:24 +00:00
%dir /etc/wdmd.d
2012-07-24 16:17:59 +00:00
%dir %attr(-,sanlock,sanlock) %{_localstatedir}/run/sanlock
2011-09-16 19:10:59 +00:00
%{_mandir}/man8/wdmd*
%{_mandir}/man8/sanlock*
2012-03-21 21:36:47 +00:00
%config(noreplace) %{_sysconfdir}/logrotate.d/sanlock
2012-05-07 16:15:28 +00:00
%config(noreplace) %{_sysconfdir}/sysconfig/sanlock
2012-10-09 16:54:26 +00:00
%config(noreplace) %{_sysconfdir}/sysconfig/wdmd
2011-05-09 20:34:42 +00:00
%package lib
Summary: A shared disk lock manager library
Group: System Environment/Libraries
%description lib
The %{name}-lib package contains the runtime libraries for sanlock,
a shared disk lock manager.
Hosts connected to a common SAN can use this to synchronize their
access to the shared disks.
%post lib -p /sbin/ldconfig
%postun lib -p /sbin/ldconfig
%files lib
%defattr(-,root,root,-)
2011-02-15 23:38:07 +00:00
%{_libdir}/libsanlock.so.*
2011-09-16 19:10:59 +00:00
%{_libdir}/libsanlock_client.so.*
2011-05-09 20:34:42 +00:00
%{_libdir}/libwdmd.so.*
%package python
Summary: Python bindings for the sanlock library
Group: Development/Libraries
2011-09-16 19:10:59 +00:00
Requires: %{name}-lib = %{version}-%{release}
2011-05-09 20:34:42 +00:00
%description python
The %{name}-python package contains a module that permits applications
written in the Python programming language to use the interface
supplied by the sanlock library.
%files python
%defattr(-,root,root,-)
2012-05-30 21:15:44 +00:00
%{python_sitearch}/Sanlock-1.0-py*.egg-info
2011-09-16 19:10:59 +00:00
%{python_sitearch}/sanlock.so
2011-02-15 23:38:07 +00:00
%package devel
Summary: Development files for %{name}
Group: Development/Libraries
2011-09-16 19:10:59 +00:00
Requires: %{name}-lib = %{version}-%{release}
2011-02-15 23:38:07 +00:00
%description devel
The %{name}-devel package contains libraries and header files for
developing applications that use %{name}.
%files devel
%defattr(-,root,root,-)
2011-05-09 20:34:42 +00:00
%{_libdir}/libwdmd.so
%{_includedir}/wdmd.h
2011-02-15 23:38:07 +00:00
%{_libdir}/libsanlock.so
2011-09-16 19:10:59 +00:00
%{_libdir}/libsanlock_client.so
2011-02-15 23:38:07 +00:00
%{_includedir}/sanlock.h
2011-05-09 20:34:42 +00:00
%{_includedir}/sanlock_rv.h
%{_includedir}/sanlock_admin.h
2011-02-15 23:38:07 +00:00
%{_includedir}/sanlock_resource.h
2011-05-09 20:34:42 +00:00
%{_includedir}/sanlock_direct.h
2011-02-15 23:38:07 +00:00
2012-10-09 16:54:26 +00:00
%package -n fence-sanlock
Summary: Fence agent using sanlock and wdmd
Group: System Environment/Base
Requires: sanlock = %{version}-%{release}
%description -n fence-sanlock
The fence-sanlock package contains the fence agent and
daemon for using sanlock and wdmd as a cluster fence agent.
%files -n fence-sanlock
%defattr(-,root,root,-)
2012-11-06 20:03:24 +00:00
%if 0%{?fedora} >= 16 || 0%{?rhel} >= 7
2012-10-09 16:54:26 +00:00
/lib/systemd/systemd-fence_sanlockd
%{_unitdir}/fence_sanlockd.service
%else
%{_initddir}/fence_sanlockd
%endif
%{_sbindir}/fence_sanlock
%{_sbindir}/fence_sanlockd
%dir %attr(-,root,root) %{_localstatedir}/run/fence_sanlock
%dir %attr(-,root,root) %{_localstatedir}/run/fence_sanlockd
%{_mandir}/man8/fence_sanlock*
%post -n fence-sanlock
if [ $1 -eq 1 ] ; then
2012-11-06 20:03:24 +00:00
%if 0%{?fedora} >= 16 || 0%{?rhel} >= 7
2012-10-09 16:54:26 +00:00
/bin/systemctl daemon-reload >/dev/null 2>&1 || :
%else
/sbin/chkconfig --add fence_sanlockd
%endif
ccs_update_schema > /dev/null 2>&1 ||:
fi
%preun -n fence-sanlock
if [ $1 = 0 ]; then
2012-11-06 20:03:24 +00:00
%if 0%{?fedora} >= 16 || 0%{?rhel} >= 7
2012-10-09 16:54:26 +00:00
/bin/systemctl --no-reload fence_sanlockd.service > /dev/null 2>&1 || :
%else
/sbin/service fence_sanlockd stop > /dev/null 2>&1
/sbin/chkconfig --del fence_sanlockd
%endif
fi
%postun -n fence-sanlock
if [ $1 -ge 1 ] ; then
2012-11-06 20:03:24 +00:00
%if 0%{?fedora} >= 16 || 0%{?rhel} >= 7
2012-10-09 16:54:26 +00:00
/bin/systemctl try-restart fence_sanlockd.service > /dev/null 2>&1 || :
%else
/sbin/service fence_sanlockd condrestart >/dev/null 2>&1 || :
%endif
fi
2011-02-15 23:38:07 +00:00
%changelog
* Thu Feb 14 2013 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 2.6-8
- Rebuilt for https://fedoraproject.org/wiki/Fedora_19_Mass_Rebuild
2013-01-13 15:11:27 +00:00
* Sun Jan 13 2013 Federico Simoncelli <fsimonce@redhat.com> 2.6-7
- applying the missing patches
* Sun Jan 13 2013 Federico Simoncelli <fsimonce@redhat.com> 2.6-6
- wdmd: fix miscellaneous build warnings
- wdmd: dynamically select working watchdog device
2013-01-13 10:41:06 +00:00
* Wed Jan 2 2013 Federico Simoncelli <fsimonce@redhat.com> 2.6-5
- wdmd: make the watchdog device configurable
2013-01-13 10:41:06 +00:00
* Tue Nov 13 2012 David Teigland <teigland@redhat.com> - 2.6-4
- systemd: add wdmd dependency for sanlock
2012-11-06 20:03:24 +00:00
* Mon Nov 05 2012 David Teigland <teigland@redhat.com> - 2.6-3
- fix systemd service files and install them on rhel7
* Wed Oct 24 2012 David Teigland <teigland@redhat.com> - 2.6-2
- move creation of /etc/wdmd.d
2012-10-09 16:54:26 +00:00
* Tue Oct 09 2012 David Teigland <teigland@redhat.com> - 2.6-1
- Update to sanlock-2.6
2012-09-24 20:57:15 +00:00
* Mon Sep 24 2012 David Teigland <teigland@redhat.com> - 2.5-1
- Update to sanlock-2.5
2012-07-24 16:17:59 +00:00
* Tue Jul 24 2012 David Teigland <teigland@redhat.com> - 2.4-3
- fix lockfile ownership
2012-07-23 16:03:03 +00:00
* Mon Jul 23 2012 David Teigland <teigland@redhat.com> - 2.4-2
- fix missing include
2012-07-23 14:30:24 +00:00
* Mon Jul 23 2012 David Teigland <teigland@redhat.com> - 2.4-1
- Update to sanlock-2.4
* Sat Jul 21 2012 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 2.3-4
- Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild
2012-06-15 14:17:21 +00:00
* Fri Jun 15 2012 David Teigland <teigland@redhat.com> - 2.3-3
- Require useradd and groupadd
2012-06-04 14:05:20 +00:00
* Mon Jun 04 2012 David Teigland <teigland@redhat.com> - 2.3-2
- Remove exclusive arch
* Wed May 30 2012 David Teigland <teigland@redhat.com> - 2.3-1
2012-05-30 21:15:44 +00:00
- Update to sanlock-2.3
* Fri May 25 2012 Federico Simoncelli <fsimonce@redhat.com> 2.2-2
- Support multiple platforms in the spec file
2012-05-07 16:15:28 +00:00
* Mon May 07 2012 David Teigland <teigland@redhat.com> - 2.2-1
- Update to sanlock-2.2
* Thu Apr 05 2012 David Teigland <teigland@redhat.com> - 2.1-2
- Install service files instead of init files
2012-03-21 21:36:47 +00:00
* Wed Mar 21 2012 David Teigland <teigland@redhat.com> - 2.1-1
- Update to sanlock-2.1
2012-05-30 21:15:44 +00:00
* Fri Mar 02 2012 David Teigland <teigland@redhat.com> - 2.0-1
- Update to sanlock-2.0
* Tue Sep 20 2011 David Teigland <teigland@redhat.com> - 1.8-2
- fix useradd command in spec file
2011-09-16 19:10:59 +00:00
* Fri Sep 16 2011 Chris Feist <cfeist@redhat.com - 1.8-1
- Update to sanlock-1.8
2011-08-19 19:47:50 +00:00
* Fri Aug 19 2011 Dan Horák <dan[at]danny.cz> - 1.6-2
- build on all arches again
2012-05-30 21:15:44 +00:00
* Sun Aug 07 2011 Chris Feist <cfeist@redhat.com> - 1.7-4
- Fix for minor file include issues
* Fri Aug 05 2011 David Teigland <teigland@redhat.com> - 1.7-3
- fix man page mode
* Fri Aug 05 2011 David Teigland <teigland@redhat.com> - 1.7-1
- Update to sanlock-1.7
2011-08-02 17:40:15 +00:00
* Fri Jul 08 2011 David Teigland <teigland@redhat.com> - 1.6-1
- Update to sanlock-1.6
2011-06-30 17:47:37 +00:00
2011-08-02 17:40:15 +00:00
* Thu Jun 30 2011 David Teigland <teigland@redhat.com> - 1.5-1
- Update to sanlock-1.5
2011-06-21 21:27:14 +00:00
2011-08-02 17:40:15 +00:00
* Tue Jun 21 2011 David Teigland <teigland@redhat.com> - 1.4-1
- Update to sanlock-1.4
* Fri Jun 10 2011 David Teigland <teigland@redhat.com> - 1.3-6
- fix python version, build i686 also
* Thu Jun 09 2011 David Teigland <teigland@redhat.com> - 1.3-5
- build exclusive x86_64, at least for now
* Thu Jun 09 2011 David Teigland <teigland@redhat.com> - 1.3-4
- build only x86_64, at least for now
* Thu Jun 09 2011 David Teigland <teigland@redhat.com> - 1.3-3
- fix libwdmd linking
* Thu Jun 09 2011 David Teigland <teigland@redhat.com> - 1.3-2
- shut up build warnings for wdmd and sanlock
* Thu Jun 09 2011 David Teigland <teigland@redhat.com> - 1.3-1
- Update to sanlock-1.3
2011-06-14 22:26:27 +00:00
2011-05-09 20:53:35 +00:00
* Mon May 09 2011 Chris Feist <cfeist@redhat.com> - 1.2.0-3
- Add python and python-devel to build requires
2011-05-09 20:47:40 +00:00
2011-05-09 20:34:42 +00:00
* Mon May 09 2011 Chris Feist <cfeist@redhat.com> - 1.2.0-1
- Use latest sources
- Sync .spec file
* Mon Apr 4 2011 Federico Simoncelli <fsimonce@redhat.com> - 1.1.0-3
- Add sanlock_admin.h header
2011-02-18 15:04:41 +00:00
* Fri Feb 18 2011 Chris Feist <cfeist@redhat.com> - 1.1.0-2
- Fixed install for wdmd
2011-02-17 16:53:23 +00:00
* Thu Feb 17 2011 Chris Feist <cfeist@redhat.com> - 1.1.0-1
- Updated to latest sources
- Now include wdmd
2011-02-15 23:38:07 +00:00
* Tue Feb 8 2011 Angus Salkeld <asalkeld@redhat.com> - 1.0-2
2011-05-09 20:34:42 +00:00
- SPEC: Add docs and make more consistent with the fedora template
2011-02-15 23:38:07 +00:00
* Mon Jan 10 2011 Fabio M. Di Nitto <fdinitto@redhat.com> - 1.0-1
- first cut at rpm packaging