2
2
%define __python python
3
%{!?py_ver: %define py_ver 2.3}
3
%{!?py_ver: %define py_ver %(python -c 'import sys;print(sys.version[0:3])')}
4
4
%define pythonversion %{py_ver}
5
5
%{!?python_sitelib: %define python_sitelib %(%{__python} -c "from distutils.sysconfig import get_python_lib; print get_python_lib()")}
6
6
%{!?_initrddir: %define _initrddir %{_sysconfdir}/rc.d/init.d}
8
# Most rpm-based distributions include the lxml package a 'python-lxml',
9
# but some distributions and some people who roll their own lxml packages
10
# call it just 'lxml'. We'll try to catch both.
11
%define dfl_lxml python-lxml
13
%define lxmldep %(rpm -q %{alt_lxml} 2>&1 > /dev/null && echo %{alt_lxml} || echo %{dfl_lxml})
10
17
Release: %{release}
11
18
Summary: Configuration management system
13
20
Group: Applications/System
15
22
URL: http://trac.mcs.anl.gov/projects/bcfg2
16
Source0: ftp://ftp.mcs.anl.gov/pub/bcfg/bcfg2-0.9.3.tar.gz
23
Source0: ftp://ftp.mcs.anl.gov/pub/bcfg/bcfg2-0.9.4.tar.gz
17
24
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
21
28
BuildRequires: python-devel
22
Requires: python-lxml >= 0.9
29
Requires: %{lxmldep} >= 0.9
25
32
Bcfg2 helps system administrators produce a consistent, reproducible,
52
59
Summary: Bcfg2 Server
53
60
Group: System Tools
62
Requires: %{lxmldep} >= 1.2.1
55
63
%if "%{_vendor}" == "redhat"
56
64
Requires: gamin-python
60
67
%description -n bcfg2-server
68
Bcfg2 helps system administrators produce a consistent, reproducible,
69
and verifiable description of their environment, and offers
70
visualization and reporting tools to aid in day-to-day administrative
71
tasks. It is the fifth generation of configuration management tools
72
developed in the Mathematics and Computer Science Division of Argonne
75
It is based on an operational model in which the specification can be
76
used to validate and optionally change the state of clients, but in a
77
feature unique to bcfg2 the client's response to the specification can
78
also be used to assess the completeness of the specification. Using
79
this feature, bcfg2 provides an objective measure of how good a job an
80
administrator has done in specifying the configuration of client
81
systems. Bcfg2 is therefore built to help administrators construct an
82
accurate, comprehensive specification.
84
Bcfg2 has been designed from the ground up to support gentle
85
reconciliation between the specification and current client states. It
86
is designed to gracefully cope with manual system modifications.
88
Finally, due to the rapid pace of updates on modern networks, client
89
systems are constantly changing; if required in your environment,
90
Bcfg2 can enable the construction of complex change management and
91
deployment strategies.
64
%setup -q -n bcfg2-0.9.3
94
%setup -q -n bcfg2-0.9.4
67
97
%{__python}%{pythonversion} setup.py build