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

Name:           python-ZConfig
Version:        3.0.4
Release:        0
Summary:        Structured Configuration Library
License:        ZPL-2.1
Group:          Development/Libraries/Python
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()")}
BuildArch:      noarch

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

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

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

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

python build

python 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

python test -v

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

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

%ghost %{_sysconfdir}/alternatives/zconfig
%ghost %{_sysconfdir}/alternatives/zconfig_schema2html

%files doc
%doc doc/

openSUSE Build Service is sponsored by