forked from pool/sanlock
163 lines
4.8 KiB
RPMSpec
163 lines
4.8 KiB
RPMSpec
|
#
|
||
|
# spec file for package sanlock
|
||
|
#
|
||
|
# Copyright (c) 2012 SUSE LINUX Products GmbH, Nuernberg, Germany.
|
||
|
#
|
||
|
# All modifications and additions to the file contributed by third parties
|
||
|
# remain the property of their copyright owners, unless otherwise agreed
|
||
|
# upon. The license for this file, and modifications and additions to the
|
||
|
# file, is the same license as for the pristine package itself (unless the
|
||
|
# license for the pristine package is not an Open Source License, in which
|
||
|
# case the license is the MIT License). An "Open Source License" is a
|
||
|
# license that conforms to the Open Source Definition (Version 1.9)
|
||
|
# published by the Open Source Initiative.
|
||
|
|
||
|
# Please submit bugfixes or comments via http://bugs.opensuse.org/
|
||
|
#
|
||
|
|
||
|
Name: sanlock
|
||
|
Version: 1.9
|
||
|
Release: 1%{?dist}
|
||
|
Summary: A shared disk lock manager
|
||
|
|
||
|
Group: System Environment/Base
|
||
|
License: GPLv2, GPLv2+, LGPLv2+
|
||
|
URL: https://fedorahosted.org/sanlock/
|
||
|
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
|
||
|
BuildRequires: libblkid-devel libaio-devel python python-devel
|
||
|
Requires: %{name}-lib = %{version}-%{release}
|
||
|
Source0: https://fedorahosted.org/releases/s/a/sanlock/%{name}-%{version}.tar.gz
|
||
|
Source1: sanlock.init
|
||
|
Source2: wdmd.init
|
||
|
Patch0: sanlock-SCHED_RESET_ON_FORK-undefined.patch
|
||
|
Patch1: sanlock-python-prefix.patch
|
||
|
Patch2: sanlock-old_blkid.patch
|
||
|
|
||
|
%{!?python_sitearch: %global python_sitearch %(%{__python} -c "from distutils.sysconfig import get_python_lib; print get_python_lib(1)")}
|
||
|
|
||
|
%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
|
||
|
%patch1
|
||
|
%patch2
|
||
|
|
||
|
%build
|
||
|
# upstream does not require configure
|
||
|
# upstream does not support _smp_mflags
|
||
|
CFLAGS=$RPM_OPT_FLAGS make -C wdmd
|
||
|
CFLAGS=$RPM_OPT_FLAGS make -C src
|
||
|
CFLAGS=$RPM_OPT_FLAGS make -C python
|
||
|
|
||
|
%install
|
||
|
make -C src \
|
||
|
install LIBDIR=%{_libdir} \
|
||
|
DESTDIR=$RPM_BUILD_ROOT
|
||
|
make -C wdmd \
|
||
|
install LIBDIR=%{_libdir} \
|
||
|
DESTDIR=$RPM_BUILD_ROOT
|
||
|
make -C python \
|
||
|
install LIBDIR=%{_libdir} \
|
||
|
DESTDIR=$RPM_BUILD_ROOT PREFIX=%_prefix
|
||
|
install -D -m 755 %SOURCE1 $RPM_BUILD_ROOT/etc/init.d/sanlock
|
||
|
install -D -m 755 %SOURCE2 $RPM_BUILD_ROOT/etc/init.d/wdmd
|
||
|
|
||
|
%clean
|
||
|
rm -rf $RPM_BUILD_ROOT
|
||
|
|
||
|
%pre
|
||
|
/usr/sbin/useradd -u 179 -g 179 -c "sanlock" -s /sbin/nologin -r \
|
||
|
-d /var/run/sanlock sanlock 2> /dev/null || :
|
||
|
|
||
|
##%post
|
||
|
##/sbin/chkconfig --add sanlock
|
||
|
##/sbin/chkconfig --add wdmd
|
||
|
|
||
|
%preun
|
||
|
%{stop_on_removal sanlock}
|
||
|
%{stop_on_removal wdmd}
|
||
|
##if [ $1 = 0 ]; then
|
||
|
## /sbin/service sanlock stop > /dev/null 2>&1
|
||
|
## /sbin/service wdmd stop > /dev/null 2>&1
|
||
|
## /sbin/chkconfig --del sanlock
|
||
|
## /sbin/chkconfig --del wdmd
|
||
|
##fi
|
||
|
|
||
|
%postun
|
||
|
%{insserv_cleanup}
|
||
|
#/sbin/service sanlock condrestart >/dev/null 2>&1 || :
|
||
|
#/sbin/service wdmd condrestart >/dev/null 2>&1 || :
|
||
|
|
||
|
%files
|
||
|
%defattr(-,root,root,-)
|
||
|
/etc/init.d/sanlock
|
||
|
/etc/init.d/wdmd
|
||
|
%{_sbindir}/sanlock
|
||
|
%{_sbindir}/wdmd
|
||
|
%{_mandir}/man8/wdmd*
|
||
|
%{_mandir}/man8/sanlock*
|
||
|
|
||
|
%package -n libsanlock1
|
||
|
Provides: sanlock-lib
|
||
|
Summary: A shared disk lock manager library
|
||
|
Group: System Environment/Libraries
|
||
|
|
||
|
%description -n libsanlock1
|
||
|
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 -n libsanlock1 -p /sbin/ldconfig
|
||
|
|
||
|
%postun -n libsanlock1 -p /sbin/ldconfig
|
||
|
|
||
|
%files -n libsanlock1
|
||
|
%defattr(-,root,root,-)
|
||
|
%{_libdir}/libsanlock.so.*
|
||
|
%{_libdir}/libsanlock_client.so.*
|
||
|
%{_libdir}/libwdmd.so.*
|
||
|
|
||
|
%package -n python-%name
|
||
|
Provides: sanlock-python
|
||
|
Summary: Python bindings for the sanlock library
|
||
|
Group: Development/Libraries
|
||
|
Requires: %{name}-lib = %{version}-%{release}
|
||
|
|
||
|
%description -n python-%name
|
||
|
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 -n python-%name
|
||
|
%defattr(-,root,root,-)
|
||
|
%{python_sitearch}/Sanlock-1.0-py*.egg-info
|
||
|
%{python_sitearch}/sanlock.so
|
||
|
|
||
|
%package devel
|
||
|
Summary: Development files for %{name}
|
||
|
Group: Development/Libraries
|
||
|
Requires: %{name}-lib = %{version}-%{release}
|
||
|
|
||
|
%description devel
|
||
|
The %{name}-devel package contains libraries and header files for
|
||
|
developing applications that use %{name}.
|
||
|
|
||
|
%files devel
|
||
|
%defattr(-,root,root,-)
|
||
|
%{_libdir}/libwdmd.so
|
||
|
%{_includedir}/wdmd.h
|
||
|
%{_libdir}/libsanlock.so
|
||
|
%{_libdir}/libsanlock_client.so
|
||
|
%{_includedir}/sanlock.h
|
||
|
%{_includedir}/sanlock_rv.h
|
||
|
%{_includedir}/sanlock_admin.h
|
||
|
%{_includedir}/sanlock_resource.h
|
||
|
%{_includedir}/sanlock_direct.h
|
||
|
|
||
|
%changelog
|