# HG changeset patch # User Michael Schloh von Bennewitz # Date 1346171630 -7200 # Node ID fb1ea36eaee4bdc4ec429d426372ff515285ef45 # Parent 43c9880b713654f857c8027b3a5c94be2cebadd5 Import package vendor original specs for necessary manipulations. diff -r 43c9880b7136 -r fb1ea36eaee4 cfengine/cfengine.spec --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/cfengine/cfengine.spec Tue Aug 28 18:33:50 2012 +0200 @@ -0,0 +1,139 @@ +## +## cfengine.spec -- OpenPKG RPM Package Specification +## Copyright (c) 2000-2012 OpenPKG Foundation e.V. +## +## Permission to use, copy, modify, and distribute this software for +## any purpose with or without fee is hereby granted, provided that +## the above copyright notice and this permission notice appear in all +## copies. +## +## THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED +## WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF +## MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +## IN NO EVENT SHALL THE AUTHORS AND COPYRIGHT HOLDERS AND THEIR +## CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +## SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +## LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF +## USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND +## ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, +## OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT +## OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +## SUCH DAMAGE. +## + +# package information +Name: cfengine +Summary: Automated System Administration Tool +URL: http://www.cfengine.org/ +Vendor: Oslo University College, Norway +Packager: OpenPKG Foundation e.V. +Distribution: OpenPKG Community +Class: BASE +Group: System +License: GPL +Version: 3.2.4 +Release: 20120211 + +# package options +%option with_fsl yes + +# list of sources +Source0: http://cfengine.com/source-code/download?file=cfengine-%{version}.tar.gz +Source1: rc.cfengine +Source2: fsl.cfengine + +# build information +BuildPreReq: OpenPKG, openpkg >= 20100101, bison, flex, gcc +PreReq: OpenPKG, openpkg >= 20100101 +BuildPreReq: db, openssl, pcre +PreReq: db, openssl, pcre +%if "%{with_fsl}" == "yes" +BuildPreReq: fsl +PreReq: fsl +%endif + +%description + Cfengine is a tool for setting up and maintaining BSD and System-5-like + operating system optionally attached to a TCP/IP network. You can think + of cfengine as a very high level language, much higher level than Perl + or shell: a single statement can result in many hundreds of operations + being performed on multiple hosts. Cfengine is good at performing a lot + of common system administration tasks, and allows you to build on its + strengths with your own scripts. You can also use it as a netwide + front-end for `cron'. + +%track + prog cfengine = { + version = %{version} + url = http://cfengine.com/source-code + regex = \bcfengine-(\d+.\d+\.\d+(p\d+)?)\.tar\.gz + } + +%prep + %setup -q + +%build + # configure package + loclibs="" + case "%{l_platform -t}" in + *-sunos* ) + loclibs="-lrt" + ;; + esac + CC="%{l_cc}" \ + CFLAGS="%{l_cflags -O}" \ + CPPFLAGS="%{l_cppflags postgresql .}" \ + LDFLAGS="%{l_ldflags} %{l_fsl_ldflags}" \ + LIBS="%{l_fsl_libs} $loclibs" \ + ./configure \ + --prefix=%{l_prefix} \ + --mandir=%{l_prefix}/man \ + --infodir=%{l_prefix}/info \ + --with-workdir=%{l_prefix}/var/cfengine \ + --with-berkeleydb=%{l_prefix} \ + --with-openssl=%{l_prefix} \ + --with-pcre=%{l_prefix} \ + --without-sql + + # build package + %{l_make} %{l_mflags} + +%install + # install package + %{l_shtool} mkdir -f -p -m 755 \ + $RPM_BUILD_ROOT%{l_prefix}/var/cfengine + %{l_make} %{l_mflags} install AM_MAKEFLAGS="DESTDIR=$RPM_BUILD_ROOT" + + # strip down installation + rm -rf $RPM_BUILD_ROOT%{l_prefix}/share/doc >/dev/null 2>&1 || true + rm -f $RPM_BUILD_ROOT%{l_prefix}/lib/lib* >/dev/null 2>&1 || true + rm -f $RPM_BUILD_ROOT%{l_prefix}/info/dir >/dev/null 2>&1 || true + strip $RPM_BUILD_ROOT%{l_prefix}/sbin/* >/dev/null 2>&1 || true + + # install run-command script + %{l_shtool} mkdir -f -p -m 755 \ + $RPM_BUILD_ROOT%{l_prefix}/etc/rc.d + %{l_shtool} install -c -m 755 %{l_value -s -a} \ + %{SOURCE rc.cfengine} $RPM_BUILD_ROOT%{l_prefix}/etc/rc.d/ + + # install OSSP fsl configuration + %{l_shtool} mkdir -f -p -m 755 $RPM_BUILD_ROOT%{l_prefix}/etc/fsl + %{l_shtool} install -c -m 644 %{l_value -s -a} \ + %{SOURCE fsl.cfengine} \ + $RPM_BUILD_ROOT%{l_prefix}/etc/fsl/ + + # determine installation files + %{l_rpmtool} files -v -ofiles -r$RPM_BUILD_ROOT \ + %{l_files_std} \ + '%config %{l_prefix}/etc/fsl/fsl.cfengine' + +%files -f files + +%clean + +%post + # generate a public/private key pair for localhost + if [ ! -f $RPM_INSTALL_PREFIX/var/cfengine/ppkeys/localhost.priv ]; then + $RPM_INSTALL_PREFIX/sbin/cfkey + fi + diff -r 43c9880b7136 -r fb1ea36eaee4 cfengine/fsl.cfengine --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/cfengine/fsl.cfengine Tue Aug 28 18:33:50 2012 +0200 @@ -0,0 +1,16 @@ +## +## fsl.cfengine -- OSSP fsl configuration +## + +ident (cfagent|cfenvd|cfexecd|cfkey|cfrun|cfservd)/.+ q{ + prefix( + prefix="%b %d %H:%M:%S %N <%L> $1[%P]: " + ) + -> { + debug: file( + path="@l_prefix@/var/cfengine/cfengine.log", + perm=0644 + ) + } +}; + diff -r 43c9880b7136 -r fb1ea36eaee4 cfengine/rc.cfengine --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/cfengine/rc.cfengine Tue Aug 28 18:33:50 2012 +0200 @@ -0,0 +1,72 @@ +#!@l_prefix@/bin/openpkg rc +## +## rc.cfengine -- Run-Commands +## + +%config + cfengine_enable="$openpkg_rc_def" + cfengine_cservd_flags="" + cfengine_cenvd_flags="" + cfengine_log_prolog="true" + cfengine_log_epilog="true" + cfengine_log_numfiles="10" + cfengine_log_minsize="1M" + cfengine_log_complevel="9" + +%common + cfengine_cfservd_pidfile="@l_prefix@/var/cfengine/cfservd.pid" + cfengine_cfenvd_pidfile="@l_prefix@/var/cfengine/cfenvd.pid" + cfengine_signal () { + [ -f $cfengine_cfservd_pidfile ] \ + && kill -$1 `cat $cfengine_cfservd_pidfile` + local rc=$? + [ -f $cfengine_cfenvd_pidfile ] \ + && kill -$1 `cat $cfengine_cfenvd_pidfile` \ + && [ $rc -eq 0 ] + } + +%status -u @l_susr@ -o + cfengine_usable="unknown" + cfengine_active="no" + rcService cfengine enable yes && \ + cfengine_signal 0 && cfengine_active="yes" + echo "cfengine_enable=\"$cfengine_enable\"" + echo "cfengine_usable=\"$cfengine_usable\"" + echo "cfengine_active=\"$cfengine_active\"" + +%start -u @l_susr@ + rcService cfengine enable yes || exit 0 + rcService cfengine active yes && exit 0 + ( nohup @l_prefix@/sbin/cfservd \ + --no-fork $cfengine_cfservd_flags \ + /dev/null 2>&1 & + echo $! >$cfengine_cfservd_pidfile + ) >/dev/null 2>&1 + ( nohup @l_prefix@/sbin/cfenvd \ + --no-fork $cfengine_cfenvd_flags \ + /dev/null 2>&1 & + echo $! >$cfengine_cfenvd_pidfile + ) >/dev/null 2>&1 + +%stop -u @l_susr@ + rcService cfengine enable yes || exit 0 + rcService cfengine active no && exit 0 + cfengine_signal TERM + sleep 2 + rm -f $cfengine_cfservd_pidfile 2>/dev/null || true + rm -f $cfengine_cfenvd_pidfile 2>/dev/null || true + +%restart -u @l_susr@ + rcService cfengine enable yes || exit 0 + rcService cfengine active no && exit 0 + rc cfengine stop start + +%daily -u @l_susr@ + rcService cfengine enable yes || exit 0 + shtool rotate -f \ + -n ${cfengine_log_numfiles} -s ${cfengine_log_minsize} -d \ + -z ${cfengine_log_complevel} -o @l_rusr@ -g @l_rgrp@ -m 644 \ + -P "${cfengine_log_prolog}" \ + -E "${cfengine_log_epilog}" \ + @l_prefix@/var/cfengine/cfengine.log +