File python-ZConfig.spec of Package python-ZConfig

#
# spec file for package python-ZConfig
#
# Copyright (c) 2013 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:           python-ZConfig
Version:        3.0.4
Release:        0
Summary:        Structured Configuration Library
License:        ZPL-2.1
Group:          Development/Libraries/Python
Url:            http://www.zope.org/Products/ZODB
Source:         https://pypi.python.org/packages/source/Z/ZConfig/ZConfig-%{version}.tar.gz
BuildRequires:  python-setuptools
# Testing requirements:
BuildRequires:  python-six
BuildRequires:  python-xml
BuildRequires:  python-zope.exceptions
BuildRequires:  python-zope.testrunner
BuildRoot:      %{_tmppath}/%{name}-%{version}-build

%if 0%{?suse_version} && 0%{?suse_version} <= 1110
%{!?python_sitelib: %global python_sitelib %(python -c "from distutils.sysconfig import get_python_lib; print get_python_lib()")}
%else
BuildArch:      noarch
%endif

%description
ZConfig is a configuration library intended for general use. It supports a
hierarchical schema-driven configuration model that allows a schema to specify
data conversion routines written in Python. ZConfig's model is very different
from the model supported by the ConfigParser module found in Python's standard
library, and is more suitable to configuration-intensive applications.

ZConfig schema are written in an XML-based language and are able to "import"
schema components provided by Python packages. Since components are able to
bind to conversion functions provided by Python code in the package (or
elsewhere), configuration objects can be arbitrarily complex, with values that
have been verified against arbitrary constraints. This makes it easy for
applications to separate configuration support from configuration loading even
with configuration data being defined and consumed by a wide range of separate
packages.

%package doc
Summary:        Structured Configuration Library
Group:          Development/Libraries/Python
Requires:       %{name} = %{version}

%description doc
This package contains documentation files for %{name}.

%prep
%setup -q -n ZConfig-%{version}

%build
python setup.py build

%install
python setup.py install --prefix=%{_prefix} --root=%{buildroot}
# Rename binaries to get package installable with py/py3 package
mv %{buildroot}%{_bindir}/zconfig %{buildroot}%{_bindir}/zconfig-%{py_ver}
mv %{buildroot}%{_bindir}/zconfig_schema2html %{buildroot}%{_bindir}/zconfig_schema2html-%{py_ver}
mkdir -p %{buildroot}%{_sysconfdir}/alternatives
touch %{buildroot}%{_sysconfdir}/alternatives/zconfig
ln -sf %{_sysconfdir}/alternatives/zconfig %{buildroot}/%{_bindir}/zconfig
touch %{buildroot}%{_sysconfdir}/alternatives/zconfig_schema2html
ln -sf %{_sysconfdir}/alternatives/zconfig_schema2html %{buildroot}/%{_bindir}/zconfig_schema2html

%check
python setup.py test -v

%post
update-alternatives \
    --install %{_bindir}/zconfig zconfig %{_bindir}/zconfig-%{py_ver} 30 \
    --slave %{_bindir}/zconfig_schema2html zconfig_schema2html %{_bindir}/zconfig_schema2html-%{py_ver}

%preun
if [ $1 -eq 0 ] ; then
    update-alternatives --remove zconfig %{_bindir}/zconfig-%{py_ver}
fi

%files
%defattr(-,root,root)
%doc CHANGES.txt COPYRIGHT.txt LICENSE.txt PKG-INFO README.txt
%{python_sitelib}/*
%ghost %{_sysconfdir}/alternatives/zconfig
%ghost %{_sysconfdir}/alternatives/zconfig_schema2html
%{_bindir}/zconfig
%{_bindir}/zconfig-%{py_ver}
%{_bindir}/zconfig_schema2html
%{_bindir}/zconfig_schema2html-%{py_ver}

%files doc
%defattr(-,root,root,-)
%doc doc/

%changelog
openSUSE Build Service is sponsored by