+# Conditional build:
+%bcond_without dlm_stonith # build without fencing helper
+#
Summary: General-purpose distributed lock manager
Summary(pl.UTF-8): Zarządca rozproszonych blokad ogólnego przeznaczenia
Name: dlm
Version: 3.99.5
-Release: 2
+Release: 4
License: LGPL v2.1+, GPL v2
Group: Libraries
Source0: http://people.redhat.com/teigland/%{name}-%{version}.tar.gz
# Source0-md5: cad4999d0c42000bf5898af34f587728
+Source1: %{name}.init
+Source2: %{name}.sysconfig
+Source3: %{name}.tmpfiles
+Source4: dlm.conf
Patch0: %{name}-link_order.patch
Patch1: %{name}-after_configfs.patch
+Patch2: %{name}_stonith-build.patch
+Patch3: %{name}-mem_init.patch
+Patch4: %{name}-signals.patch
+Patch5: 0003-dlm_controld-remove-fence_all-from-cli.patch
+Patch6: dlm_stonith_reboot.patch
URL: http://sources.redhat.com/cluster/dlm/
-BuildRequires: corosync-devel
+BuildRequires: corosync-devel >= 2.0
+%{?with_dlm_stonith:BuildRequires: pacemaker-devel >= 1.1}
+BuildRequires: rpmbuild(macros) >= 1.644
+Requires: %{name}-libs = %{version}-%{release}
+Requires: rc-scripts
+Requires: systemd-units >= 38
+Requires(post,preun): /sbin/chkconfig
Obsoletes: cluster-dlm
BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
Summary(pl.UTF-8): Biblioteki DLM
Group: Development/Libraries
Obsoletes: cluster-dlm-libs
-Requires: %{name} = %{version}-%{release}
%description libs
DLM libraries.
Summary: Header files and development documentation for DLM
Summary(pl.UTF-8): Pliki nagłówkowe i dokumentacja programisty dla DLM-a
Group: Development/Libraries
-Obsoletes: cluster-dlm-devel
Requires: %{name}-libs = %{version}-%{release}
+Obsoletes: cluster-dlm-devel
%description devel
Header files and development documentation for DLM.
%setup -q
%patch0 -p1
%patch1 -p1
+%patch2 -p1
+%patch3 -p1
+%patch4 -p1
+%patch5 -p1
+%patch6 -p1
%build
%{__make} \
HDRDIR=%{_includedir} \
CC="%{__cc} %{rpmcflags} %{rpmcppflags} %{rpmldflags}"
+%if %{with dlm_stonith}
+%{__make} -C fence \
+ PREFIX=%{_prefix} \
+ LIBNUM=%{_lib} \
+ BINDIR=%{_sbindir} \
+ LIBDIR=%{_libdir} \
+ MANDIR=%{_mandir} \
+ HDRDIR=%{_includedir} \
+ CC="%{__cc} %{rpmcflags} %{rpmcppflags} %{rpmldflags}"
+%endif
+
%install
rm -rf $RPM_BUILD_ROOT
-install -d $RPM_BUILD_ROOT%{systemdunitdir}
+install -d $RPM_BUILD_ROOT{%{systemdunitdir},/etc/{rc.d/init.d,sysconfig}} \
+ $RPM_BUILD_ROOT%{_sysconfdir}/%{name} \
+ $RPM_BUILD_ROOT{/var/run/dlm,%{systemdtmpfilesdir}}
%{__make} install \
DESTDIR=$RPM_BUILD_ROOT \
MANDIR=%{_mandir} \
HDRDIR=%{_includedir}
+%if %{with dlm_stonith}
+%{__make} -C fence install \
+ DESTDIR=$RPM_BUILD_ROOT \
+ PREFIX=%{_prefix} \
+ LIBNUM=%{_lib} \
+ BINDIR=%{_sbindir} \
+ LIBDIR=%{_libdir} \
+ MANDIR=%{_mandir} \
+ HDRDIR=%{_includedir}
+
+ln -s dlm_stonith $RPM_BUILD_ROOT%{_sbindir}/dlm_stonith_reboot
+ln -s dlm_stonith $RPM_BUILD_ROOT%{_sbindir}/dlm_stonith_off
+%endif
+
install init/%{name}.service $RPM_BUILD_ROOT%{systemdunitdir}
+install %{SOURCE1} $RPM_BUILD_ROOT/etc/rc.d/init.d/%{name}
+install %{SOURCE2} $RPM_BUILD_ROOT/etc/sysconfig/%{name}
+install %{SOURCE3} $RPM_BUILD_ROOT%{systemdtmpfilesdir}/%{name}.conf
+install %{SOURCE4} $RPM_BUILD_ROOT%{_sysconfdir}/%{name}/%{name}.conf
%clean
rm -rf $RPM_BUILD_ROOT
%systemd_post %{name}.service
%preun
+/sbin/chkconfig --add %{name}
+%service %{name} restart
%systemd_preun %{name}.service
%postun
+if [ "$1" = "0" ]; then
+ %service -q %{name} stop
+ /sbin/chkconfig --del %{name}
+fi
%systemd_reload
%post libs -p /sbin/ldconfig
%defattr(644,root,root,755)
%doc README.license
%attr(755,root,root) %{_sbindir}/*
+%dir %{_sysconfdir}/%{name}
+%verify(not md5 mtime size) %config(noreplace) %{_sysconfdir}/%{name}/%{name}.conf
/lib/udev/rules.d/51-dlm.rules
+%attr(754,root,root) /etc/rc.d/init.d/%{name}
+%verify(not md5 mtime size) %config(noreplace) /etc/sysconfig/%{name}
%{_mandir}/man8/*.8*
%{_mandir}/man5/dlm.conf.5*
%{systemdunitdir}/%{name}.service
+%{systemdtmpfilesdir}/%{name}.conf
+%dir /var/run/dlm
%files libs
%defattr(644,root,root,755)