File augeas.spec of Package augeas

#
# spec file for package augeas
#
# 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:           augeas
Version:        0.10.0
Release:        0
Summary:        A library for changing configuration files
License:        GPL-3.0+ ; LGPL-2.1+
Group:          System/Libraries
Url:            http://augeas.net/
Source0:        http://augeas.net/download/augeas-%{version}.tar.gz
Source1:        baselibs.conf
Patch0:         augeas-modprobe-lense.patch
# PATCH-FIX-OPENSUSE bnc-729491-recognize-suse-sysconfig-files.patch [bnc#729491]
Patch1:         bnc-729491-recognize-suse-sysconfig-files.patch
Patch2:         augeas-pkgdeps.diff
BuildRoot:      %{_tmppath}/%{name}-%{version}-build
BuildRequires:  glib2-devel
BuildRequires:  libxml2-devel
BuildRequires:  readline-devel

%description
A library for programmatically editing configuration files. Augeas
parses configuration files into a tree structure, which it exposes
through its public API. Changes made through the API are written back
to the initially read files.

The transformation works very hard to preserve comments and formatting
details. It is controlled by ``lens'' definitions that describe the
file format and the transformation into a tree.

%define __shrlibname lib%{name}0

%package        devel
Summary:        A library for changing configuration files
Group:          Development/Libraries/C and C++
Requires:       %{__shrlibname} = %{version}

%description    devel
A library for programmatically editing configuration files. Augeas
parses configuration files into a tree structure, which it exposes
through its public API. Changes made through the API are written back
to the initially read files.

The transformation works very hard to preserve comments and formatting
details. It is controlled by ``lens'' definitions that describe the
file format and the transformation into a tree.

%package        -n %{__shrlibname}
Summary:        A library for changing configuration files
Group:          Development/Libraries/C and C++
Recommends:     %{name}-lenses = %{version}

%description    -n %{__shrlibname}
A library for programmatically editing configuration files. Augeas
parses configuration files into a tree structure, which it exposes
through its public API. Changes made through the API are written back
to the initially read files.

The transformation works very hard to preserve comments and formatting
details. It is controlled by ``lens'' definitions that describe the
file format and the transformation into a tree.

%package        lenses
Summary:        Official set of lenses for use by %{__shrlibname}
Group:          Development/Libraries/Other
Requires:       %{__shrlibname} = %{version}

%description    lenses
Augeas parses configuration files described in lenses into a tree
structure, which it exposes through its public API. Lenses are the
building blocks of the file <-> tree transformation. The transformation
is controlled by ``lens'' definitions that describe the file format and
mapping of its contents into a tree. This package includes the official
set of lenses.

%package        lense-tests
Summary:        Set of tests for official Augeas lenses
Group:          Development/Libraries/Other
Requires:       %{name}-lenses = %{version}

%description    lense-tests
Set of tests for official Augeas lenses. These can be used when
modifying the official lenses, or when creating new ones.

%prep
%setup -q
%patch0 -p1
%patch1 -p1
%patch -P 2 -p1

%build
export CFLAGS="-Wno-error $RPM_OPT_FLAGS"
%configure --disable-static
make %{?_smp_mflags}

%install
make install DESTDIR=$RPM_BUILD_ROOT
find $RPM_BUILD_ROOT -name '*.la' -delete
# move vim files to the right location
mv $RPM_BUILD_ROOT/%{_datadir}/vim/vimfiles $RPM_BUILD_ROOT/%{_datadir}/vim/site

%post -n %{__shrlibname} -p /sbin/ldconfig

%postun -n %{__shrlibname} -p /sbin/ldconfig

%files
%defattr(-,root,root,-)
%{_bindir}/augtool
%{_bindir}/augparse
%{_bindir}/fadot
%{_mandir}/man1/*
%doc AUTHORS COPYING NEWS

%files -n %{__shrlibname}
%defattr(-,root,root,-)
%{_libdir}/*.so.*

%files devel
%defattr(-,root,root,-)
%{_includedir}/*
%{_libdir}/*.so
%{_libdir}/pkgconfig/augeas.pc
# vim support files
%dir %{_datadir}/vim
%dir %{_datadir}/vim/site
%dir %{_datadir}/vim/site/ftdetect
%{_datadir}/vim/site/ftdetect/augeas.vim
%dir %{_datadir}/vim/site/syntax
%{_datadir}/vim/site/syntax/augeas.vim

%files lenses
%defattr(-,root,root,-)
%dir %{_datadir}/%{name}
%dir %{_datadir}/%{name}/lenses
%dir %{_datadir}/%{name}/lenses/dist
%{_datadir}/%{name}/lenses/dist/*.aug

%files lense-tests
%defattr(-,root,root,-)
%dir %{_datadir}/%{name}/lenses/dist/tests
%{_datadir}/%{name}/lenses/dist/tests/*.aug

%changelog