# # spec file for package libdlm (Version 2.99.08) # # Copyright (c) 2009 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/ # # norootforbuild %if 0%{?suse_version} %define _libexecdir %{_libdir} %endif %define with_extra_warnings 0 %define with_debugging 0 %define without_fatal_warnings 1 %if 0%{?fedora_version} || 0%{?centos_version} || 0%{?rhel_version} %define pkg_group System Environment/Daemons %else %define pkg_group Productivity/Clustering/HA %endif Name: libdlm Summary: Application interface to the kernel's distributed lock manager Version: 2.99.08 Release: 5 License: GPL v2 only; GPL v2 or later; LGPL v2.1 or later Url: http://sources.redhat.com/cluster/wiki Group: Productivity/Clustering/HA Source: libdlm.tar.gz Patch1: pacemaker.diff BuildRoot: %{_tmppath}/%{name}-%{version}-build AutoReqProv: on Requires: pacemaker BuildRequires: glib2-devel kernel-source >= 2.6.26 libopenais-devel libpacemaker-devel libxml2-devel %description Libraries and tools that allows applications, particularly filesystems like OCFS2, to interface with the in-kernel distributed lock manager. Authors: -------- A. J. Lewis Abhijith Das Adam Manthei Alasdair G. Kergon Andrew Price Benjamin Marzinski Bob Peterson Chris Feist Christine Caulfield Daniel Phillips David Teigland Fabio M. Di Nitto James Parsons Joel Becker Jonathan Brassow Ken Preslan Lon Hohberger Marc - A. Dahlhaus Marek Grac Mark Hlawatschek Michael Conrad Tadpol Tilstra Patrick Caulfield Robert Peterson Ross Vandegrift Ryan McCabe Ryan O'Hara Stanko Kupcevic Steven Whitehouse Wendy Cheng jparsons %package -n libdlm2 Summary: Application interface to the kernel's distributed lock manager License: LGPL v2.1 or later Group: Productivity/Clustering/HA %description -n libdlm2 Libraries and tools that allows applications, particularly filesystems like OCFS2, to interface with the in-kernel distributed lock manager. Authors: -------- A. J. Lewis Abhijith Das Adam Manthei Alasdair G. Kergon Andrew Price Benjamin Marzinski Bob Peterson Chris Feist Christine Caulfield Daniel Phillips David Teigland Fabio M. Di Nitto James Parsons Joel Becker Jonathan Brassow Ken Preslan Lon Hohberger Marc - A. Dahlhaus Marek Grac Mark Hlawatschek Michael Conrad Tadpol Tilstra Patrick Caulfield Robert Peterson Ross Vandegrift Ryan McCabe Ryan O'Hara Stanko Kupcevic Steven Whitehouse Wendy Cheng jparsons %package devel License: LGPL v2.1 or later Summary: Application interface to the kernel's distributed lock manager Group: Development/Libraries/C and C++ Requires: libdlm2 = %{version} %description devel Libraries and tools that allows applications, particularly filesystems like OCFS2, to interface with the in-kernel distributed lock manager. Authors: -------- A. J. Lewis Abhijith Das Adam Manthei Alasdair G. Kergon Andrew Price Benjamin Marzinski Bob Peterson Chris Feist Christine Caulfield Daniel Phillips David Teigland Fabio M. Di Nitto James Parsons Joel Becker Jonathan Brassow Ken Preslan Lon Hohberger Marc - A. Dahlhaus Marek Grac Mark Hlawatschek Michael Conrad Tadpol Tilstra Patrick Caulfield Robert Peterson Ross Vandegrift Ryan McCabe Ryan O'Hara Stanko Kupcevic Steven Whitehouse Wendy Cheng jparsons %prep ########################################################### %setup -n libdlm %patch1 -p1 ########################################################### %build # TODO: revisit -all CFLAGS="${CFLAGS} ${RPM_OPT_FLAGS}" # Feature-dependent CFLAGS: %if %with_extra_warnings # CFLAGS="${CFLAGS} -Wshadow -Wfloat-equal -Waggregate-return -Wnested-externs -Wunreachable-code -Wendif-labels -Winline" CFLAGS="${CFLAGS} -Wfloat-equal -Wendif-labels -Winline" %endif %if %with_debugging CFLAGS="${CFLAGS} -O0" %endif # Distribution specific settings: %if 0%{?suse_version} > 1001 CFLAGS="${CFLAGS} -fstack-protector-all" %endif %if 0%{?suse_version} > 1020 CFLAGS="$CFLAGS -fgnu89-inline" %endif %if 0%{?fedora_version} > 6 CFLAGS="$CFLAGS -fgnu89-inline" %endif export CFLAGS ./configure --prefix=%{_prefix} \ --mandir=%{_mandir} --libdir=%{_libdir} \ --without_bindings \ --disable_kernel_check \ --corosynclibdir=%{_libdir}/openais --enable_pacemaker export MAKE="make %{?jobs:-j%jobs}" make %{?jobs:-j%jobs} ########################################################### %install ########################################################### make DESTDIR=$RPM_BUILD_ROOT install mkdir -p $RPM_BUILD_ROOT%{_datadir}/doc/packages/libdlm-%{version} mv $RPM_BUILD_ROOT%{_datadir}/doc/{cluster,packages/libdlm-%{version}}/COPYING.applications mv $RPM_BUILD_ROOT%{_datadir}/doc/{cluster,packages/libdlm-%{version}}/COPYING.libraries mv $RPM_BUILD_ROOT%{_datadir}/doc/{cluster,packages/libdlm-%{version}}/COPYRIGHT mv $RPM_BUILD_ROOT%{_datadir}/doc/{cluster,packages/libdlm-%{version}}/README.licence # Cleanup [ -d $RPM_BUILD_ROOT/usr/man ] && rm -rf $RPM_BUILD_ROOT/usr/man [ -d $RPM_BUILD_ROOT/usr/share/libtool ] && rm -rf $RPM_BUILD_ROOT/usr/share/libtool find $RPM_BUILD_ROOT -name '*.a' -type f -print0 | xargs -0 rm -f find $RPM_BUILD_ROOT -name '*.la' -type f -print0 | xargs -0 rm -f ########################################################### %clean ########################################################### if [ -n "${RPM_BUILD_ROOT}" -a "${RPM_BUILD_ROOT}" != "/" ] then rm -rf $RPM_BUILD_ROOT fi ########################################################### %post -n libdlm2 -p /sbin/ldconfig %postun -n libdlm2 -p /sbin/ldconfig %files ########################################################### %defattr(-,root,root) %dir %{_sysconfdir}/udev %dir %{_sysconfdir}/udev/rules.d %dir %{_datadir}/doc/packages/libdlm-%{version} %config %{_sysconfdir}/udev/rules.d/51-dlm.rules %{_sbindir}/dlm_controld.pcmk %{_sbindir}/dlm_tool %{_datadir}/man/man8/dlm_tool.8.gz %{_datadir}/man/man8/dlm_controld.8.gz %{_datadir}/doc/packages/libdlm-%{version} %exclude %{_datadir}/doc/cluster %files -n libdlm2 %defattr(-,root,root) %{_libdir}/libdlm.so.* %{_libdir}/libdlm_lt.so.* %{_libdir}/libdlmcontrol.so.* %files devel ########################################################### %defattr(-,root,root) %{_libdir}/libdlm*.so %{_libdir}/pkgconfig/libdlm.pc %{_libdir}/pkgconfig/libdlm_lt.pc %{_libdir}/pkgconfig/libdlmcontrol.pc %{_includedir}/libdlm.h %{_includedir}/libdlmcontrol.h %{_datadir}/man/man3/dlm_*.3.gz %{_datadir}/man/man3/libdlm.3.gz %changelog * Fri Feb 06 2009 abeekhof@suse.de - Switch to stand-alone libdlm code-base - Update to upstream: af52b7bb26a05a8f73d1076254e178b02ed192cd - Update to patch-level: a85c21afc4c99dc2aee8f7e7e356f25133c4d4ad - Implement fencing hooks for Pacemaker based clusters - Leverage more funcaitonality from Pacemaker libraries - Add pkgconfig entries - dlm_controld/gfs_controld: read lockless resources from ckpts - dlm_controld/gfs_controld: dump unused resources - dlm_controld/gfs_controld: fix plock rate limiting - dlm_controld/gfs_controld: plock config paths - dlm_controld/gfs_controld: plock dump display resource owner - dlm_controld: recv error checking - dlm_controld: clear plock syncing flags * Tue Nov 11 2008 abeekhof@suse.de - Update to upstream bd261c8e51f3b5406f22bbb00b76f6da8722412d - fix plock dump - fix fencing checks which weren't happening - fix confchg/message processing, must be done after each individual confchg/message - init logging after fork to avoid ugly interaction with logging threads - fix usage of the query thread mutex - fix usage of realloc in deadlock code - join should return error without fence domain * Thu Oct 09 2008 abeekhof@suse.de - Update to upstream b6d73f5752306d635f306036438af1fcf26f4332 - Adds protocol negotiation which important for future compatability - Miscelaneous bug fixes * Mon Sep 15 2008 abeekhof@suse.de - Reference newly created shared library packages as build dependancies * Mon Sep 08 2008 abeekhof@suse.de - Move documentation to acceptable location * Tue Sep 02 2008 abeekhof@suse.de - Extra %%dir entries n the %%files section to make autobuild happy * Mon Aug 25 2008 abeekhof@suse.de - version 2.99.08-2 - make sure local_nodeid is set correctly for dlm_controld * Tue Aug 19 2008 abeekhof@suse.de - version 2.99.08-1 - Initial package check-in