General
Start
APT/YUM/Smart config
List of packages
GPG key
Mirrors
Recent changes
How you can help
Pydar2
Thanks:
Primary buildsystem hosted at ithomi
SUSE and Mandrake builds made by the openSUSE build service
Static site hosted at ULYSSIS
Primary mirrors hosted at BELNET, HEAnet, 3TI
Varia:
Random picture!
Looking for a java job?
Leuven blogt

cfengine spec file : Dries RPM Repository

Back to the cfengine rpms

Current spec in pydar2:


# $Id: cfengine.spec 5888 2007-10-05 10:58:01Z dag $
# Authority: dag
# Upstream: Mark Burgess 

%{?dist: %{expand: %%define %dist 1}}

%{?rh7:%define _without_db4 1}
%{?el2:%define _without_db4 1}
%{?rh6:%define _without_db4 1}

Summary: System administration tool for networks
Name: cfengine
Version: 2.2.2
Release: 1
License: GPL
Group: System Environment/Base
URL: http://www.cfengine.org/

Source: ftp://ftp.iu.hio.no/pub/cfengine/cfengine-%{version}.tar.gz
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root

BuildRequires: bison, flex, m4, openssl-devel, tetex, texinfo, ghostscript
BuildRequires: tetex-latex, tetex-dvips
%{!?_without_db4:BuildRequires: db4-devel}
%{?_without_db4:BuildRequires: db3-devel >= 3.2}

%description
Cfengine, or the configuration engine is an agent/software robot and a
very high level language for building expert systems to administrate
and configure large computer networks. Cfengine uses the idea of
classes and a primitive form of intelligence to define and automate
the configuration and maintenance of system state, for small to huge
configurations. Cfengine is designed to be a part of a computer immune
system.

%prep
%setup

%{__cat} <default.sysconfig
# OPTIONS defines additional command line options to execute the program
# with.  Please see the output of --help for a brief description of the
# possible options availible.
#OPTIONS=""
EOF

%{__cat} <<'EOF' >cfenvd.sysv
#!/bin/bash
#
# Init file for the cfengine anomaly detection service
#
# chkconfig: 2345 98 20
# description: cfenvd is an optional anomaly detection service for cfengine.
#
# processname: cfenvd
# pidfile: %{_localstatedir}/run/cfengine

# Source function library.
. %{_initrddir}/functions

RETVAL=0
prog="cfenvd"
desc="cfengine anomaly detection service"

if [ -r /etc/sysconfig/$prog ]; then
	source %{_sysconfdir}/sysconfig/$prog
fi

start() {
	echo -n $"Starting $desc ($prog): "
	daemon $prog $OPTIONS
	RETVAL=$?
	echo
	[ $RETVAL -eq 0 ] && touch %{_localstatedir}/lock/subsys/$prog
	return $RETVAL
}

stop() {
	echo -n $"Stopping $desc ($prog): "
	killproc $prog
	RETVAL=$?
	echo
	[ $RETVAL -eq 0 ] && rm -f %{_localstatedir}/lock/subsys/$prog
	return $RETVAL
}

restart() {
  	stop
	start
}

case "$1" in
  start)
  	start
	;;
  stop)
  	stop
	;;
  restart)
  	restart
	;;
  condrestart)
	[ -e %{_localstatedir}/lock/subsys/$prog ] && restart
	RETVAL=$?
	;;
  status)
	status $prog
	RETVAL=$?
	;;
  *)
	echo $"Usage: $0 {start|stop|restart|condrestart|status}"
	RETVAL=1
esac

exit $RETVAL
EOF

%{__cat} <<'EOF' >cfexecd.sysv
#!/bin/bash
#
# Init file for the cfengine client daemon
#
# chkconfig: 2345 98 20
# description: cfexecd is scheduler and reporter in cfengine client hosts.
#
# processname: cfexecd
# config: %{_localstatedir}/cfengine/inputs
# pidfile: %{_localstatedir}/run/cfengine

# Source function library.
. %{_initrddir}/functions

RETVAL=0
prog="cfexecd"
desc="cfengine client daemon"

if [ -r /etc/sysconfig/$prog ]; then
	source %{_sysconfdir}/sysconfig/$prog
fi

start() {
	echo -n $"Starting $desc ($prog): "
	daemon $prog $OPTIONS
	RETVAL=$?
	echo
	[ $RETVAL -eq 0 ] && touch %{_localstatedir}/lock/subsys/$prog
	return $RETVAL
}

stop() {
	echo -n $"Stopping $desc ($prog): "
	killproc $prog
	RETVAL=$?
	echo
	[ $RETVAL -eq 0 ] && rm -f %{_localstatedir}/lock/subsys/$prog
	return $RETVAL
}

restart() {
  	stop
	start
}

case "$1" in
  start)
  	start
	;;
  stop)
  	stop
	;;
  restart)
  	restart
	;;
  condrestart)
	[ -e %{_localstatedir}/lock/subsys/$prog ] && restart
	RETVAL=$?
	;;
  status)
	status $prog
	RETVAL=$?
	;;
  *)
	echo $"Usage: $0 {start|stop|restart|condrestart|status}"
	RETVAL=1
esac

exit $RETVAL
EOF

%{__cat} <<'EOF' >cfservd.sysv
#!/bin/bash
#
# Init file for the cfengine server daemon
#
# chkconfig: 2345 96 20
# description: cfservd is responsible for giving out configuration files to
#              those cfengine clients, who wish to update their configs.
#
# processname: cfservd
# config: %{_localstatedir}/cfengine/masterfiles
# pidfile: %{_localstatedir}/run/cfengine

# Source function library.
. %{_initrddir}/functions

RETVAL=0
prog="cfservd"
desc="cfengine server daemon"

if [ -r /etc/sysconfig/$prog ]; then
	source %{_sysconfdir}/sysconfig/$prog
fi

start() {
	echo -n $"Starting $desc ($prog): "
	if [ ! -f %{_localstatedir}/cfengine/ppkeys/localhost.priv ]; then
	    /usr/sbin/cfkey
	fi
	daemon $prog $OPTIONS
	RETVAL=$?
	echo
	[ $RETVAL -eq 0 ] && touch %{_localstatedir}/lock/subsys/$prog
	return $RETVAL
}

stop() {
	echo -n $"Stopping $desc ($prog): "
	killproc $prog
	RETVAL=$?
	echo
	[ $RETVAL -eq 0 ] && rm -f %{_localstatedir}/lock/subsys/$prog
	return $RETVAL
}

restart() {
  	stop
	start
}

case "$1" in
  start)
  	start
	;;
  stop)
  	stop
	;;
  restart)
  	restart
	;;
  condrestart)
	[ -e %{_localstatedir}/lock/subsys/$prog ] && restart
	RETVAL=$?
	;;
  status)
	status $prog
	RETVAL=$?
	;;
  *)
	echo $"Usage: $0 {start|stop|restart|condrestart|status}"
	RETVAL=1
esac

exit $RETVAL
EOF

%build
%configure BERKELEY_DB_LIB="-ldb" \
	--program-prefix="%{?_program_prefix}"
%{__make} %{?_smp_mflags}

%install
%{__rm} -rf %{buildroot}
%{__install} -d -m0755 %{buildroot}%{_sbindir} \
			%{buildroot}%{_datadir}/cfengine/ \
			%{buildroot}%{_localstatedir}/cfengine/{bin,inputs}/ \
%makeinstall
%makeinstall -C doc
%{__install} -Dp -m0755 cfenvd.sysv %{buildroot}%{_initrddir}/cfenvd
%{__install} -Dp -m0755 cfexecd.sysv %{buildroot}%{_initrddir}/cfexecd
%{__install} -Dp -m0755 cfservd.sysv %{buildroot}%{_initrddir}/cfservd
%{__install} -Dp -m0644 default.sysconfig %{buildroot}%{_sysconfdir}/sysconfig/cfenvd
%{__install} -Dp -m0644 default.sysconfig %{buildroot}%{_sysconfdir}/sysconfig/cfexecd
%{__install} -Dp -m0644 default.sysconfig %{buildroot}%{_sysconfdir}/sysconfig/cfservd
%{__ln_s} -f %{_sbindir}/cfagent %{buildroot}%{_localstatedir}/cfengine/bin/
%{__rm} -f %{buildroot}%{_infodir}/dir

### Clean up buildroot
#%{__rm} -f %{buildroot}%{_infodir}/dir

%post
%{_sbindir}/cfkey &>/dev/null || :
/sbin/install-info %{_infodir}/cfengine-Anomalies.info.gz %{_infodir}/dir
/sbin/install-info %{_infodir}/cfengine-Reference.info.gz %{_infodir}/dir
/sbin/install-info %{_infodir}/cfengine-Tutorial.info.gz %{_infodir}/dir

if [ $1 -eq 1 ]; then
	chkconfig --add cfenvd
	chkconfig --add cfexecd
	chkconfig --add cfservd
fi

%preun
/sbin/install-info --delete %{_infodir}/cfengine-Anomalies.info.gz %{_infodir}/dir
/sbin/install-info --delete %{_infodir}/cfengine-Reference.info.gz %{_infodir}/dir
/sbin/install-info --delete %{_infodir}/cfengine-Tutorial.info.gz %{_infodir}/dir

if [ $1 -eq 0 ]; then
	chkconfig --del cfenvd
	chkconfig --del cfexecd
	chkconfig --del cfservd
fi

%clean
%{__rm} -rf %{buildroot}

%files
%defattr(-, root, root, 0755)
%doc AUTHORS ChangeLog COPYING NEWS README TODO
%doc contrib/cfengine.el doc/*.html inputs/*
%doc %{_mandir}/man?/*
%doc %{_infodir}/*.info*
%config %{_initrddir}/*
%config(noreplace) %{_sysconfdir}/sysconfig/cfexecd
%config(noreplace) %{_sysconfdir}/sysconfig/cfenvd
%config(noreplace) %{_sysconfdir}/sysconfig/cfservd
%{_sbindir}/*
%{_localstatedir}/cfengine/
%exclude %{_datadir}/cfengine/
%exclude %{_libdir}/libcfengine.a
%exclude %{_libdir}/libcfengine.la

%changelog
* Tue Oct 02 2007 Dag Wieers  - 2.2.2-1
- Updated to release 2.2.2.

* Sat Jun 02 2007 Dag Wieers  - 2.2.1-1
- Updated to release 2.2.1.

* Wed May 02 2007 Dag Wieers  - 2.2.0-1
- Updated to release 2.2.0.

* Wed Jan 31 2007 Dag Wieers  - 2.1.22-1
- Updated to release 2.1.22.

* Mon Dec 18 2006 Dag Wieers  - 2.1.21-1
- Updated to release 2.1.21.

* Fri Apr 21 2006 Dries Verachtert  - 2.1.20-1
- Updated to release 2.1.20.

* Tue Jan 03 2006 Dag Wieers  - 2.1.18-1
- Updated to release 2.1.18.

* Tue Nov 15 2005 Dries Verachtert  - 2.1.17-1
- Updated to release 2.1.17.

* Mon Jul 11 2005 Dag Wieers  - 2.1.15-1
- Updated to release 2.1.15.

* Sat Apr 09 2005 Dag Wieers  - 2.1.14-1
- Added sysconfig files for sysv scripts. (Nathan R. Hruby)
- Updated to release 2.1.14.

* Wed Mar 30 2005 Dag Wieers  - 2.1.13-1
- Updated to release 2.1.13.

* Mon Nov 01 2004 Dag Wieers  - 2.1.11-1
- Updated to release 2.1.11.

* Thu Sep 02 2004 Dag Wieers  - 2.1.10-1
- Updated to release 2.1.10.

* Wed Aug 11 2004 Dag Wieers  - 2.1.9-1
- Updated to release 2.1.9.

* Sun Aug 08 2004 Dag Wieers  - 2.1.8-1
- Updated to release 2.1.8.

* Tue Jun 15 2004 Dag Wieers  - 2.1.6-1
- Updated to release 2.1.6.

* Wed Apr 28 2004 Dag Wieers  - 2.1.5-2
- Removed the %%{_infodir}/dir from the buildroot. (Shawn Ashlee)

* Mon Apr 26 2004 Dag Wieers  - 2.1.5-1
- Updated to release 2.1.5.
- Fixed problem with info-files and added cfenvd sysv script. (James Wilkinson)

* Sat Jan 31 2004 Dag Wieers  - 2.1.1-0
- Updated to release 2.1.1.

* Wed Sep 03 2003 Dag Wieers  - 2.0.6-3
- Added --program-prefix for RH73. (Soren Roug)

* Thu Jun 12 2003 Dag Wieers  - 2.0.6-2
- Fix install-info and moved documentation. (Terje Rosten)

* Fri Apr 25 2003 Dag Wieers  - 2.0.6-0
- Initial package. (using DAR)