summaryrefslogtreecommitdiff
path: root/INSTALL/cfengine
diff options
context:
space:
mode:
Diffstat (limited to 'INSTALL/cfengine')
-rw-r--r--INSTALL/cfengine/.SRCINFO34
-rw-r--r--INSTALL/cfengine/PKGBUILD83
-rw-r--r--INSTALL/cfengine/cf-execd.service27
-rw-r--r--INSTALL/cfengine/cf-monitord.service25
-rw-r--r--INSTALL/cfengine/cf-serverd.service22
-rw-r--r--INSTALL/cfengine/cfengine.install40
-rw-r--r--INSTALL/cfengine/cfengine3.service14
7 files changed, 245 insertions, 0 deletions
diff --git a/INSTALL/cfengine/.SRCINFO b/INSTALL/cfengine/.SRCINFO
new file mode 100644
index 0000000..8deca05
--- /dev/null
+++ b/INSTALL/cfengine/.SRCINFO
@@ -0,0 +1,34 @@
+pkgbase = cfengine
+ pkgdesc = Automated suite of programs for configuring and maintaining Unix-like computers.
+ pkgver = 3.7.4
+ pkgrel = 1
+ url = http://www.cfengine.org
+ install = cfengine.install
+ arch = i686
+ arch = x86_64
+ license = GPL3
+ makedepends = which
+ depends = lmdb
+ depends = openssl
+ depends = pcre
+ depends = libxml2
+ depends = pam
+ optdepends = libvirt
+ optdepends = postgresql-libs
+ optdepends = libmariadbclient
+ optdepends = acl
+ source = cfengine-3.7.4.tar.gz::https://cfengine-package-repos.s3.amazonaws.com/tarballs/cfengine-3.7.4.tar.gz
+ source = cfengine-masterfiles-3.7.4.tar.gz::https://cfengine-package-repos.s3.amazonaws.com/tarballs/cfengine-masterfiles-3.7.4.tar.gz
+ source = cf-execd.service
+ source = cf-monitord.service
+ source = cf-serverd.service
+ source = cfengine3.service
+ md5sums = 7322acc96a693bda2726030365c90bcc
+ md5sums = c52543997cc3921213c56f4579d68fdc
+ md5sums = 6edac71eaac0a19fc5b8129f17d82bb2
+ md5sums = 199a7867b60a3e4013da4ac42343e22e
+ md5sums = f8783637895f6f3dd19a6ba689181d41
+ md5sums = 4b89518da032b45073e46a993fd7fe26
+
+pkgname = cfengine
+
diff --git a/INSTALL/cfengine/PKGBUILD b/INSTALL/cfengine/PKGBUILD
new file mode 100644
index 0000000..d793167
--- /dev/null
+++ b/INSTALL/cfengine/PKGBUILD
@@ -0,0 +1,83 @@
+# Maintainer: Vanush Misha Paturyan <ektich+cfengine-aur@gmail.com>
+# https://aur.archlinux.org/cfengine.git
+#
+# Contributor: Kuba Serafinowski <zizzfizzix AT gmail DOT com>
+# Contributor: Phillip Smith <fukawi2@NO-SPAM.gmail.com>
+# Contributor: Christian Berendt <christian@thorlin.de>
+
+pkgname=cfengine
+pkgver=3.7.4
+pkgrel=1
+pkgdesc='Automated suite of programs for configuring and maintaining Unix-like computers.'
+url='http://www.cfengine.org'
+license=('GPL3')
+arch=('i686' 'x86_64')
+depends=('lmdb' 'openssl' 'pcre' 'libxml2' 'pam')
+makedepends=('which')
+optdepends=('libvirt' 'postgresql-libs' 'libmariadbclient' 'acl')
+install=${pkgname}.install
+#https://cfengine-package-repos.s3.amazonaws.com/tarballs/cfengine-3.7.4.tar.gz
+source=("${pkgname}-${pkgver}.tar.gz::https://cfengine-package-repos.s3.amazonaws.com/tarballs/${pkgname}-${pkgver}.tar.gz"
+ "cfengine-masterfiles-${pkgver}.tar.gz::https://cfengine-package-repos.s3.amazonaws.com/tarballs/cfengine-masterfiles-${pkgver}.tar.gz"
+ 'cf-execd.service'
+ 'cf-monitord.service'
+ 'cf-serverd.service'
+ 'cfengine3.service')
+
+md5sums=('7322acc96a693bda2726030365c90bcc'
+ 'c52543997cc3921213c56f4579d68fdc'
+ '6edac71eaac0a19fc5b8129f17d82bb2'
+ '199a7867b60a3e4013da4ac42343e22e'
+ 'f8783637895f6f3dd19a6ba689181d41'
+ '4b89518da032b45073e46a993fd7fe26')
+
+build() {
+ cd ${srcdir}/${pkgname}-${pkgver}
+
+ ./configure \
+ --prefix=/usr \
+ --with-workdir=/var/${pkgname} \
+ --with-openssl \
+ --with-pcre \
+ --with-libacl=check \
+ --with-libxml2 \
+ --with-libvirt=check \
+ --with-lmdb \
+ --with-mysql=check \
+ --with-postgresql=check
+
+ make
+ # now build masterfiles
+ cd ${srcdir}/${pkgname}-masterfiles-${pkgver}
+ ./configure \
+ --prefix=/usr/share/doc/cfengine/CoreBase \
+ --with-core=../cfengine-${pkgver}
+}
+
+package() {
+ cd ${srcdir}/${pkgname}-${pkgver}
+ make DESTDIR=$pkgdir install
+
+ # masterfiles
+ cd ${srcdir}/${pkgname}-masterfiles-${pkgver}
+ make DESTDIR=$pkgdir install
+
+ install -D -m644 ${srcdir}/cf-execd.service \
+ ${pkgdir}/usr/lib/systemd/system/cf-execd.service
+ install -D -m644 ${srcdir}/cf-serverd.service \
+ ${pkgdir}/usr/lib/systemd/system/cf-serverd.service
+ install -D -m644 ${srcdir}/cf-monitord.service \
+ ${pkgdir}/usr/lib/systemd/system/cf-monitord.service
+ install -D -m644 ${srcdir}/cfengine3.service \
+ ${pkgdir}/usr/lib/systemd/system/cfengine3.service
+
+
+ install -d -m755 ${pkgdir}/var/cfengine/bin
+ install -d -m755 ${pkgdir}/var/cfengine/masterfiles
+
+ for f in $(ls ${pkgdir}/usr/bin); do
+ /bin/ln -s /usr/bin/$f ${pkgdir}/var/cfengine/bin
+ done
+}
+
+# vim:set ts=2 sw=2 et:
diff --git a/INSTALL/cfengine/cf-execd.service b/INSTALL/cfengine/cf-execd.service
new file mode 100644
index 0000000..9c05e81
--- /dev/null
+++ b/INSTALL/cfengine/cf-execd.service
@@ -0,0 +1,27 @@
+[Unit]
+Description=CFEngine Execution Daemon
+Documentation=man:cf-execd https://docs.cfengine.com/latest/reference-components-cf-execd.html
+
+After=network.target
+
+# The following ensures that the service is activated only if we have a
+# promises.cf in place. If there is no promises.cf, there is no configuration
+# for the service either...
+ConditionPathExists=/var/cfengine/inputs/promises.cf
+
+# The following allows stopping/restarting of this service when
+# cfengine3.serice is stopped/restarted
+PartOf=cfengine3.service
+
+[Install]
+# The following ensures that the symlink to this unit is created in the
+# cfengine3.service.requires/ directory when this unit is enabled
+# with "systemctl enable" command, and removed with "systemctl disable"
+RequiredBy=cfengine3.service
+
+[Service]
+ExecStart=/var/cfengine/bin/cf-execd
+Type=forking
+PIDFile=/var/cfengine/cf-execd.pid
+
+
diff --git a/INSTALL/cfengine/cf-monitord.service b/INSTALL/cfengine/cf-monitord.service
new file mode 100644
index 0000000..53d1136
--- /dev/null
+++ b/INSTALL/cfengine/cf-monitord.service
@@ -0,0 +1,25 @@
+[Unit]
+Description=CFEngine Monitoring Daemon
+Documentation=man:cf-monitord https://docs.cfengine.com/latest/reference-components-cf-monitord.html
+
+After=network.target
+
+# The following ensures that the service is activated only if we have a
+# promises.cf in place.
+ConditionPathExists=/var/cfengine/inputs/promises.cf
+
+# The following allows stopping/restarting of this service when
+# cfengine3.serice is stopped/restarted
+PartOf=cfengine3.service
+
+[Install]
+# The following ensures that the symlink to this unit is created in the
+# cfengine3.service.requires/ directory when this unit is enabled
+# with "systemctl enable" command, and removed with "systemctl disable"
+RequiredBy=cfengine3.service
+
+
+[Service]
+ExecStart=/var/cfengine/bin/cf-monitord
+Type=forking
+PIDFile=/var/cfengine/cf-monitord.pid
diff --git a/INSTALL/cfengine/cf-serverd.service b/INSTALL/cfengine/cf-serverd.service
new file mode 100644
index 0000000..3aba3f6
--- /dev/null
+++ b/INSTALL/cfengine/cf-serverd.service
@@ -0,0 +1,22 @@
+[Unit]
+Description=CFEngine Server Daemon
+Documentation=man:cf-serverd https://docs.cfengine.com/latest/reference-components-cf-serverd.html
+
+After=network.target
+
+# The following ensures that the service is activated only if we have a
+# promises.cf in place.
+PartOf=cfengine3.service
+
+[Install]
+# The following ensures that the symlink to this unit is created in the
+# cfengine3.service.requires/ directory when this unit is enabled
+# with "systemctl enable" command, and removed with "systemctl disable"
+RequiredBy=cfengine3.service
+
+[Service]
+ExecStart=/var/cfengine/bin/cf-serverd
+Type=forking
+PIDFile=/var/cfengine/cf-serverd.pid
+
+
diff --git a/INSTALL/cfengine/cfengine.install b/INSTALL/cfengine/cfengine.install
new file mode 100644
index 0000000..c0e436a
--- /dev/null
+++ b/INSTALL/cfengine/cfengine.install
@@ -0,0 +1,40 @@
+PREFIX=/var/cfengine
+
+post_install() {
+
+# generate a host key
+ if [ ! -f $PREFIX/ppkeys/localhost.priv ]; then
+ $PREFIX/bin/cf-key > /dev/null
+ fi
+
+# copy the stock policy for the new installations and create promies_validated
+ if ! [ -f $PREFIX/masterfiles/promises.cf ]; then
+ /bin/cp -R /usr/share/doc/cfengine/CoreBase/masterfiles/* $PREFIX/masterfiles/
+ $PREFIX/bin/cf-promises -T $PREFIX/masterfiles
+ fi
+
+# copy modules/packages (part of stock policy)
+ if ! [ -f $PREFIX/modules/packages ]; then
+ mkdir -p $PREFIX/modules/packages
+ fi
+ if cd /usr/share/doc/cfengine/CoreBase/modules/packages; then
+ for module in *; do
+ if ! [ -f $PREFIX/modules/packages/$module ]; then
+ cp $module $PREFIX/modules/packages
+ fi
+ done
+ fi
+ #if ! [ -f /var/cfengine/bin/cf-promises ]; then
+ # cd /var/cfengine/bin
+ # ln -s /usr/bin/cf-* .
+ #fi
+
+ echo -e "\nBootstrap cfengine with cf-agent --bootstrap <IP address of policy server>\n"
+ echo -e "\nRun systemctl enable cfengine3 to enable CFEngine 3\n"
+}
+post_remove() {
+
+ if [ -d /var/cfengine/bin ]; then
+ rm /var/cfengine/bin/*
+ fi
+}
diff --git a/INSTALL/cfengine/cfengine3.service b/INSTALL/cfengine/cfengine3.service
new file mode 100644
index 0000000..47c39c6
--- /dev/null
+++ b/INSTALL/cfengine/cfengine3.service
@@ -0,0 +1,14 @@
+[Unit]
+Description=CFEngine 3 daemons
+Documentation=https://docs.cfengine.com/lts
+
+After=network.target
+
+[Service]
+Type=oneshot
+ExecStart=/bin/true
+ExecReload=/bin/true
+RemainAfterExit=yes
+
+[Install]
+WantedBy=multi-user.target \ No newline at end of file