]> git.pld-linux.org Git - packages/dlm.git/blobdiff - dlm.spec
BR: corosync-devel >= 2.0
[packages/dlm.git] / dlm.spec
index c9aa77ed635bfc5b82775d17b133c738a811843e..a51a2a0709500dba93f33f0b4463bbd1a8135771 100644 (file)
--- a/dlm.spec
+++ b/dlm.spec
@@ -1,14 +1,35 @@
+# 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:       2.00.00
-Release:       1
-License:       LGPL v2+
+Version:       3.99.5
+Release:       4
+License:       LGPL v2.1+, GPL v2
 Group:         Libraries
-Source0:       ftp://sources.redhat.com/pub/cluster/releases/cluster-%{version}.tar.gz
-# Source0-md5: 2ef3f4ba9d3c87b50adfc9b406171085
+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: perl-base
+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)
 
 %description
@@ -22,11 +43,24 @@ w stylu VMS. Jest ogólnego przeznaczenia, przeznaczonym nie tylko dla
 GFS-a czy CLVM-a. Dostępne są API blokowania w jądrze i przestrzeni
 użytkownika.
 
+%package libs
+Summary:       DLM libraries
+Summary(pl.UTF-8):     Biblioteki DLM
+Group:         Development/Libraries
+Obsoletes:     cluster-dlm-libs
+
+%description libs
+DLM libraries.
+
+%description libs -l pl.UTF-8
+Biblioteki DLM.
+
 %package devel
 Summary:       Header files and development documentation for DLM
 Summary(pl.UTF-8):     Pliki nagłówkowe i dokumentacja programisty dla DLM-a
 Group:         Development/Libraries
-Requires:      %{name} = %{version}-%{release}
+Requires:      %{name}-libs = %{version}-%{release}
+Obsoletes:     cluster-dlm-devel
 
 %description devel
 Header files and development documentation for DLM.
@@ -34,71 +68,126 @@ Header files and development documentation for DLM.
 %description devel -l pl.UTF-8
 Pliki nagłówkowe i dokumentacja programisty dla DLM-a.
 
-%package static
-Summary:       Static DLM library
-Summary(pl.UTF-8):     Statyczna biblioteka DLM
-Group:         Development/Libraries
-Requires:      %{name}-devel = %{version}-%{release}
-
-%description static
-Static DLM library.
-
-%description static -l pl.UTF-8
-Statyczna biblioteka DLM.
-
 %prep
-%setup -q -n cluster-%{version}
-
-cd %{name}
-%{__perl} -pi -e 's/-g -O/%{rpmcflags}/' lib/Makefile
+%setup -q
+%patch0 -p1
+%patch1 -p1
+%patch2 -p1
+%patch3 -p1
+%patch4 -p1
+%patch5 -p1
+%patch6 -p1
 
 %build
-cd %{name}
-./configure \
-       --incdir=%{_includedir} \
-       --libdir=%{_libdir} \
-       --mandir=%{_mandir} \
-       --prefix=%{_prefix} \
-       --sbindir=%{_sbindir}
-
 %{__make} \
-       CC="%{__cc}" \
-       incdir=`pwd`/include
+       PREFIX=%{_prefix} \
+       LIBNUM=%{_lib} \
+       BINDIR=%{_sbindir} \
+       LIBDIR=%{_libdir} \
+       MANDIR=%{_mandir} \
+       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
-cd %{name}
-install -d $RPM_BUILD_ROOT/%{_lib}
+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
+       DESTDIR=$RPM_BUILD_ROOT \
+       PREFIX=%{_prefix} \
+       LIBNUM=%{_lib} \
+       BINDIR=%{_sbindir} \
+       LIBDIR=%{_libdir} \
+       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
 
-install -d $RPM_BUILD_ROOT%{_includedir}/cluster
+%clean
+rm -rf $RPM_BUILD_ROOT
 
-mv $RPM_BUILD_ROOT%{_libdir}/libdlm.so.*.* $RPM_BUILD_ROOT/%{_lib}
-ln -sf /%{_lib}/$(cd $RPM_BUILD_ROOT/%{_lib} ; echo libdlm.so.*.*) \
-        $RPM_BUILD_ROOT%{_libdir}/libdlm.so
+%post
+%systemd_post %{name}.service
 
-mv $RPM_BUILD_ROOT%{_libdir}/libdlm_lt.so.*.* $RPM_BUILD_ROOT/%{_lib}
-ln -sf /%{_lib}/$(cd $RPM_BUILD_ROOT/%{_lib} ; echo libdlm_lt.so.*.*) \
-        $RPM_BUILD_ROOT%{_libdir}/libdlm_lt.so
+%preun
+/sbin/chkconfig --add %{name}
+%service %{name} restart
+%systemd_preun %{name}.service
 
-%clean
-rm -rf $RPM_BUILD_ROOT
+%postun
+if [ "$1" = "0" ]; then
+       %service -q %{name} stop
+       /sbin/chkconfig --del %{name}
+fi
+%systemd_reload
 
-%post  -p /sbin/ldconfig
-%postun        -p /sbin/ldconfig
+%post  libs -p /sbin/ldconfig
+%postun        libs -p /sbin/ldconfig
 
 %files
 %defattr(644,root,root,755)
-%attr(755,root,root) /%{_lib}/libdlm*.so.*.*
+%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)
+%ghost %{_libdir}/libdlm.so.3
+%attr(755,root,root) %{_libdir}/libdlm.so.3.*
+%ghost %{_libdir}/libdlm_lt.so.3
+%attr(755,root,root) %{_libdir}/libdlm_lt.so.3.*
+%ghost %{_libdir}/libdlmcontrol.so.3
+%attr(755,root,root) %{_libdir}/libdlmcontrol.so.3.*
 
 %files devel
 %defattr(644,root,root,755)
-%doc doc/*.txt
-%attr(755,root,root) %{_libdir}/libdlm*.so
+%attr(755,root,root) %{_libdir}/libdlm.so
+%attr(755,root,root) %{_libdir}/libdlm_lt.so
+%attr(755,root,root) %{_libdir}/libdlmcontrol.so
 %{_includedir}/libdlm.h
+%{_includedir}/libdlmcontrol.h
+%{_mandir}/man3/dlm_*.3*
+%{_mandir}/man3/libdlm.3*
+%{_pkgconfigdir}/libdlm.pc
+%{_pkgconfigdir}/libdlm_lt.pc
 
-%files static
-%defattr(644,root,root,755)
-%{_libdir}/libdlm*.a
This page took 0.053615 seconds and 4 git commands to generate.