File libdlm.spec of Package libdlm
#
# 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 <alewis@redhat.com>
Abhijith Das <adas@redhat.com>
Adam Manthei <amanthei@redhat.com>
Alasdair G. Kergon <agk@redhat.com>
Andrew Price <andy@andrewprice.me.uk>
Benjamin Marzinski <bmarzins@redhat.com>
Bob Peterson <rpeterso@redhat.com>
Chris Feist <cfeist@redhat.com>
Christine Caulfield <ccaulfie@redhat.com>
Daniel Phillips <phillips@redhat.com>
David Teigland <teigland@redhat.com>
Fabio M. Di Nitto <fdinitto@redhat.com>
James Parsons <jparsons@redhat.com>
Joel Becker <joel.becker@oracle.com>
Jonathan Brassow <jbrassow@redhat.com>
Ken Preslan <kpreslan@redhat.com>
Lon Hohberger <lhh@redhat.com>
Marc - A. Dahlhaus <mad@wol.de>
Marek Grac <mgrac@redhat.com>
Mark Hlawatschek <hlawatschek@atix.de>
Michael Conrad Tadpol Tilstra <mtilstra@redhat.com>
Patrick Caulfield <pcaulfie@redhat.com>
Robert Peterson <rpeterso@redhat.com>
Ross Vandegrift <ross@kallisti.us>
Ryan McCabe <rmccabe@redhat.com>
Ryan O'Hara <rohara@redhat.com>
Stanko Kupcevic <kupcevic@redhat.com>
Steven Whitehouse <swhiteho@redhat.com>
Wendy Cheng <wcheng@redhat.com>
jparsons <jparsons@redhat.com>
%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 <alewis@redhat.com>
Abhijith Das <adas@redhat.com>
Adam Manthei <amanthei@redhat.com>
Alasdair G. Kergon <agk@redhat.com>
Andrew Price <andy@andrewprice.me.uk>
Benjamin Marzinski <bmarzins@redhat.com>
Bob Peterson <rpeterso@redhat.com>
Chris Feist <cfeist@redhat.com>
Christine Caulfield <ccaulfie@redhat.com>
Daniel Phillips <phillips@redhat.com>
David Teigland <teigland@redhat.com>
Fabio M. Di Nitto <fdinitto@redhat.com>
James Parsons <jparsons@redhat.com>
Joel Becker <joel.becker@oracle.com>
Jonathan Brassow <jbrassow@redhat.com>
Ken Preslan <kpreslan@redhat.com>
Lon Hohberger <lhh@redhat.com>
Marc - A. Dahlhaus <mad@wol.de>
Marek Grac <mgrac@redhat.com>
Mark Hlawatschek <hlawatschek@atix.de>
Michael Conrad Tadpol Tilstra <mtilstra@redhat.com>
Patrick Caulfield <pcaulfie@redhat.com>
Robert Peterson <rpeterso@redhat.com>
Ross Vandegrift <ross@kallisti.us>
Ryan McCabe <rmccabe@redhat.com>
Ryan O'Hara <rohara@redhat.com>
Stanko Kupcevic <kupcevic@redhat.com>
Steven Whitehouse <swhiteho@redhat.com>
Wendy Cheng <wcheng@redhat.com>
jparsons <jparsons@redhat.com>
%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 <alewis@redhat.com>
Abhijith Das <adas@redhat.com>
Adam Manthei <amanthei@redhat.com>
Alasdair G. Kergon <agk@redhat.com>
Andrew Price <andy@andrewprice.me.uk>
Benjamin Marzinski <bmarzins@redhat.com>
Bob Peterson <rpeterso@redhat.com>
Chris Feist <cfeist@redhat.com>
Christine Caulfield <ccaulfie@redhat.com>
Daniel Phillips <phillips@redhat.com>
David Teigland <teigland@redhat.com>
Fabio M. Di Nitto <fdinitto@redhat.com>
James Parsons <jparsons@redhat.com>
Joel Becker <joel.becker@oracle.com>
Jonathan Brassow <jbrassow@redhat.com>
Ken Preslan <kpreslan@redhat.com>
Lon Hohberger <lhh@redhat.com>
Marc - A. Dahlhaus <mad@wol.de>
Marek Grac <mgrac@redhat.com>
Mark Hlawatschek <hlawatschek@atix.de>
Michael Conrad Tadpol Tilstra <mtilstra@redhat.com>
Patrick Caulfield <pcaulfie@redhat.com>
Robert Peterson <rpeterso@redhat.com>
Ross Vandegrift <ross@kallisti.us>
Ryan McCabe <rmccabe@redhat.com>
Ryan O'Hara <rohara@redhat.com>
Stanko Kupcevic <kupcevic@redhat.com>
Steven Whitehouse <swhiteho@redhat.com>
Wendy Cheng <wcheng@redhat.com>
jparsons <jparsons@redhat.com>
%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