summaryrefslogtreecommitdiffstats
path: root/misc/bcfg2.spec
diff options
context:
space:
mode:
Diffstat (limited to 'misc/bcfg2.spec')
-rw-r--r--misc/bcfg2.spec123
1 files changed, 88 insertions, 35 deletions
diff --git a/misc/bcfg2.spec b/misc/bcfg2.spec
index d3446c4c8..bff8cc44e 100644
--- a/misc/bcfg2.spec
+++ b/misc/bcfg2.spec
@@ -1,13 +1,23 @@
-%global __python python
-%{!?py_ver: %global py_ver %(%{__python} -c 'import sys;print(sys.version[0:3])')}
-%global pythonversion %{py_ver}
-%{!?python_sitelib: %global python_sitelib %(%{__python} -c "from distutils.sysconfig import get_python_lib; print get_python_lib()")}
+# Fedora 13+ and EL6 contain these macros already; only needed for EL5
+%if 0%{?rhel} && 0%{?rhel} <= 5
+%global python_sitelib %(%{__python} -c "from distutils.sysconfig import get_python_lib; print get_python_lib()")
+%define python_version %(%{__python} -c 'import sys;print(sys.version[0:3])')
+%endif
+
+# openSUSE macro translation
+%if 0%{?suse_version}
+%global python_version %{py_ver}
%{!?_initrddir: %global _initrddir %{_sysconfdir}/rc.d/init.d}
+# openSUSE < 11.2
+%if %{suse_version} < 1120
+%global python_sitelib %(%{__python} -c "from distutils.sysconfig import get_python_lib; print get_python_lib()")
+%endif
+%endif
Name: bcfg2
Version: 1.3.2
Release: 1
-Summary: Configuration management system
+Summary: A configuration management system
%if 0%{?suse_version}
# http://en.opensuse.org/openSUSE:Package_group_guidelines
@@ -18,7 +28,10 @@ Group: Applications/System
License: BSD
URL: http://bcfg2.org
Source0: ftp://ftp.mcs.anl.gov/pub/bcfg/%{name}-%{version}.tar.gz
+%if %{?rhel}%{!?rhel:10} <= 5 || 0%{?suse_version}
+# EL5 and OpenSUSE require the BuildRoot tag
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
+%endif
BuildArch: noarch
BuildRequires: python-devel
@@ -86,15 +99,14 @@ deployment strategies.
This package includes the Bcfg2 client software.
%package server
-Version: 1.3.2
Summary: Bcfg2 Server
%if 0%{?suse_version}
Group: System/Management
%else
-Group: System Tools
+Group: System Environment/Daemons
%endif
Requires: bcfg2 = %{version}
-%if "%{py_ver}" < "2.6"
+%if 0%{?rhel} && 0%{?rhel} < 6
Requires: python-ssl
%endif
Requires: python-lxml >= 1.2.1
@@ -138,12 +150,11 @@ deployment strategies.
This package includes the Bcfg2 server software.
%package server-cherrypy
-Version: 1.3.2
Summary: Bcfg2 Server - CherryPy backend
%if 0%{?suse_version}
Group: System/Management
%else
-Group: System Tools
+Group: System Environment/Daemons
%endif
Requires: bcfg2 = %{version}
Requires: bcfg2-server = %{version}
@@ -181,8 +192,55 @@ deployment strategies.
This package includes the Bcfg2 CherryPy server backend.
+%package web
+Summary: Bcfg2 Web Reporting Interface
+%if 0%{?suse_version}
+Group: System/Management
+Requires: httpd,python-django >= 1.2,python-django-south >= 0.7
+%else
+Group: System Tools
+Requires: httpd,Django >= 1.2,Django-south >= 0.7
+%endif
+Requires: bcfg2-server
+%if "%{_vendor}" == "redhat"
+Requires: mod_wsgi
+%global apache_conf %{_sysconfdir}/httpd
+%else
+Requires: apache2-mod_wsgi
+%global apache_conf %{_sysconfdir}/apache2
+%endif
+
+%description web
+Bcfg2 helps system administrators produce a consistent, reproducible,
+and verifiable description of their environment, and offers
+visualization and reporting tools to aid in day-to-day administrative
+tasks. It is the fifth generation of configuration management tools
+developed in the Mathematics and Computer Science Division of Argonne
+National Laboratory.
+
+It is based on an operational model in which the specification can be
+used to validate and optionally change the state of clients, but in a
+feature unique to bcfg2 the client's response to the specification can
+also be used to assess the completeness of the specification. Using
+this feature, bcfg2 provides an objective measure of how good a job an
+administrator has done in specifying the configuration of client
+systems. Bcfg2 is therefore built to help administrators construct an
+accurate, comprehensive specification.
+
+Bcfg2 has been designed from the ground up to support gentle
+reconciliation between the specification and current client states. It
+is designed to gracefully cope with manual system modifications.
+
+Finally, due to the rapid pace of updates on modern networks, client
+systems are constantly changing; if required in your environment,
+Bcfg2 can enable the construction of complex change management and
+deployment strategies.
+
+This package includes the Bcfg2 reports web frontend.
+
+
%package doc
-Summary: Configuration management system documentation
+Summary: Documentation for Bcfg2
%if 0%{?suse_version}
Group: Documentation/HTML
%else
@@ -238,26 +296,13 @@ deployment strategies.
This package includes the Bcfg2 documentation.
-%package web
-Version: 1.3.2
-Summary: Bcfg2 Web Reporting Interface
-%if 0%{?suse_version}
-Group: System/Management
-Requires: httpd,python-django >= 1.2,python-django-south >= 0.7
-%else
-Group: System Tools
-Requires: httpd,Django >= 1.2,Django-south >= 0.7
-%endif
-Requires: bcfg2-server
-%if "%{_vendor}" == "redhat"
-Requires: mod_wsgi
-%global apache_conf %{_sysconfdir}/httpd
-%else
-Requires: apache2-mod_wsgi
-%global apache_conf %{_sysconfdir}/apache2
-%endif
-%description web
+%package examples
+Summary: Examples for Bcfg2
+Group: Documentation
+
+
+%description examples
Bcfg2 helps system administrators produce a consistent, reproducible,
and verifiable description of their environment, and offers
visualization and reporting tools to aid in day-to-day administrative
@@ -283,7 +328,8 @@ systems are constantly changing; if required in your environment,
Bcfg2 can enable the construction of complex change management and
deployment strategies.
-This package includes the Bcfg2 reports web frontend.
+This package includes the examples files for Bcfg2.
+
%prep
%setup -q -n %{name}-%{version}
@@ -420,10 +466,6 @@ touch %{buildroot}%{_sysconfdir}/bcfg2.conf \
%defattr(-,root,root,-)
%{python_sitelib}/Bcfg2/Server/CherryPyCore.py
-%files doc
-%defattr(-,root,root,-)
-%doc %{_defaultdocdir}/bcfg2-doc-%{version}
-
%files web
%defattr(-,root,root,-)
%{_datadir}/bcfg2/reports.wsgi
@@ -433,6 +475,17 @@ touch %{buildroot}%{_sysconfdir}/bcfg2.conf \
%config(noreplace) %{apache_conf}/conf.d/wsgi_bcfg2.conf
%ghost %config(noreplace,missingok) %attr(0640,root,apache) %{_sysconfdir}/bcfg2-web.conf
+%files doc
+%defattr(-,root,root,-)
+%doc %{_defaultdocdir}/bcfg2-doc-%{version}
+
+%files examples
+%if 0%{?rhel} == 5
+# Required for EL5
+%defattr(-,root,root,-)
+%endif
+%doc %{_defaultdocdir}/bcfg2-examples-%{version}%{?_pre_rc}
+
%post server
# enable daemon on first install only (not on update).
if [ $1 -eq 1 ]; then