## ## cfengine.spec -- OpenPKG RPM Package Specification ## Copyright (c) 2000-2022 OpenPKG Project ## ## 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 Project Distribution: OpenPKG Community Class: BASE Group: System License: GPL Version: 3.14.0 Release: 20190702 # package options %option with_fsl yes # list of sources Source0: https://s3.amazonaws.com/cfengine-package-repos/tarballs/cfengine-%{version}.tar.gz Source1: rc.cfengine Source2: fsl.cfengine Patch0: cfengine.patch # build information BuildPreReq: OpenPKG, openpkg >= 20160101, bison, flex, gcc PreReq: OpenPKG, openpkg >= 20160101 BuildPreReq: db, openssl, pcre, tokyocabinet PreReq: db, openssl, pcre, tokyocabinet %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/product/community/source-code/ regex = \bcfengine-(\d+.\d+\.\d+(p\d+)?)\.tar\.gz } %prep %setup -q %patch -p0 %build # configure package loclibs="-lm" case "%{l_platform -t}" in *-sunos* ) loclibs="$loclibs -lrt" ;; esac CC="%{l_cc}" \ CFLAGS="%{l_cflags -O}" \ CPPFLAGS="%{l_cppflags postgresql .}" \ LDFLAGS="%{l_ldflags} %{l_fsl_ldflags}" \ LIBS="%{l_fsl_libs} -lpcre $loclibs" \ ./configure \ --prefix=%{l_prefix} \ --mandir=%{l_prefix}/man \ --infodir=%{l_prefix}/info \ --with-workdir=%{l_prefix}/var/cfengine \ --with-openssl=%{l_prefix} \ --with-pcre=%{l_prefix} \ --with-tokyocabinet=%{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