Update to cfengine 3.4.4, worked on by okan@, Jiri B, myself and

Martijn Rijkeboer (Martijn takes MAINTAINER), testing and src/sysinfo.c
diff from Timo Myyra.

!!! Note: CFEngine 3 is not a drop-in upgrade for CFEngine 2 installations.
!!! It is a significantly more powerful version, but it is incompatible with
!!! the CFEngine 2 policy language.
This commit is contained in:
sthen 2013-05-01 21:09:23 +00:00
parent 5edaac8363
commit 7d4cae4e5d
20 changed files with 613 additions and 201 deletions

View File

@ -1,26 +1,74 @@
# $OpenBSD: Makefile,v 1.39 2013/03/11 11:41:29 espie Exp $
# $OpenBSD: Makefile,v 1.40 2013/05/01 21:09:23 sthen Exp $
COMMENT= GNU system administration tool for networks
COMMENT = GNU system administration tool for networks
DISTNAME= cfengine-2.2.10
REVISION= 2
CATEGORIES= sysutils
DISTNAME = cfengine-3.4.4
SHARED_LIBS += promises 0.0 # 1.0
CATEGORIES = sysutils
HOMEPAGE = http://cfengine.com/
HOMEPAGE= http://www.cfengine.org/
MAINTAINER = Martijn Rijkeboer <martijn@bunix.org>
MAINTAINER= William Yodlowsky <bsd@openbsd.rutgers.edu>
# GPLv3 only
PERMIT_PACKAGE_CDROM = Yes
# GPLv2+
PERMIT_PACKAGE_CDROM= Yes
MASTER_SITES = ${HOMEPAGE}source-code/download?file=${DISTFILES}&dummy=/
WANTLIB= c crypto m pthread lib/db4/db>=4
CFENGINE_BASE = /var/cfengine
CFENGINE_EXAMPLES = ${PREFIX}/share/examples/cfengine
SUBST_VARS += CFENGINE_BASE CFENGINE_EXAMPLES
MASTER_SITES= ${HOMEPAGE}/tarballs/
FLAVORS = pgsql
FLAVOR ?=
CONFIGURE_STYLE= gnu
CONFIGURE_ARGS+= --with-docs
USE_GROFF = Yes
WANTLIB = c crypto m pcre pthread qdbm
CONFIGURE_STYLE = gnu
USE_GMAKE = Yes
LIB_DEPENDS = databases/qdbm \
devel/pcre
CONFIGURE_ENV += CPPFLAGS="-I${LOCALBASE}/include" \
LDFLAGS="-L${LOCALBASE}/lib"
CONFIGURE_ARGS = --with-openssl=/usr \
--with-pcre \
--with-qdbm \
--without-libxml2 \
--without-libvirt \
--enable-fhs \
--with-workdir=${CFENGINE_BASE}
MAKE_FLAGS += examplesdir="${CFENGINE_EXAMPLES}" \
masterfilesdir="${CFENGINE_EXAMPLES}/CoreBase"
LIB_DEPENDS= databases/db/v4
.if ${FLAVOR:Mpgsql}
WANTLIB += pq
CONFIGURE_ARGS += --with-postgresql
LIB_DEPENDS += databases/postgresql
.else
CONFIGURE_ARGS += --without-postgresql
.endif
.if ${FLAVOR:Mmysql}
WANTLIB += mysqlclient_r
CONFIGURE_ARGS += --with-mysql
LIB_DEPENDS += databases/mysql
.else
CONFIGURE_ARGS += --without-mysql
.endif
# tests not yet working
NO_TEST = Yes
# also note some formatting errors with manpages (e.g. "You can think
# of.B cfengine as..." and poor formatting in INFORMATION sections;
# these are present with either mandoc or groff.
post-extract:
perl -i -pe \
's|^sbin_PROGRAMS.*rpmvercmp||;' \
${WRKDIST}/ext/Makefile.in
post-install:
${INSTALL_PROGRAM_DIR} ${WRKINST}${CFENGINE_BASE}/bin
.for i in cf-agent cf-execd cf-key cf-monitord cf-promises cf-report cf-runagent cf-serverd
ln -s ${TRUEPREFIX}/sbin/$i ${WRKINST}${CFENGINE_BASE}/bin/
.endfor
.include <bsd.port.mk>

View File

@ -1,5 +1,2 @@
MD5 (cfengine-2.2.10.tar.gz) = O5D/i/LslBzTPPtl9QEvFg==
RMD160 (cfengine-2.2.10.tar.gz) = Z/09yAJw3AAIh+Pb8m83IzjiYA8=
SHA1 (cfengine-2.2.10.tar.gz) = AyvsC8Wf/ucXlCLpbf2QKvv5Q0A=
SHA256 (cfengine-2.2.10.tar.gz) = 80aXzFLhNCxexLRaSt+fv/36BaaL3HxTOC9y0D4QZ4M=
SIZE (cfengine-2.2.10.tar.gz) = 2690333
SHA256 (cfengine-3.4.4.tar.gz) = ZXJgmFFyTsj8WMYEdHQuWQeYlGICDmwkYRHCcxrbajc=
SIZE (cfengine-3.4.4.tar.gz) = 4689683

View File

@ -1,12 +0,0 @@
$OpenBSD: patch-configure,v 1.7 2009/09/01 14:25:15 okan Exp $
--- configure.orig Sat Apr 11 15:59:34 2009
+++ configure Thu May 28 17:33:23 2009
@@ -23738,7 +23738,7 @@ $as_echo_n "checking Checking for GCC Specific compile
if test x"$GCC" = "xyes"; then
- GCC_CFLAG="-g -O2 -Wreturn-type -Wmissing-prototypes -Wuninitialized"
+ GCC_CFLAG=""
{ $as_echo "$as_me:$LINENO: result: yes" >&5
$as_echo "yes" >&6; }

View File

@ -1,30 +0,0 @@
$OpenBSD: patch-doc_Makefile_in,v 1.5 2009/09/01 14:25:15 okan Exp $
--- doc/Makefile.in.orig Sat Apr 11 15:59:32 2009
+++ doc/Makefile.in Thu May 28 17:32:35 2009
@@ -69,7 +69,7 @@ NROFF = nroff
MANS = $(man_MANS)
docDATA_INSTALL = $(INSTALL_DATA)
htmlDATA_INSTALL = $(INSTALL_DATA)
-DATA = $(doc_DATA) $(html_DATA)
+DATA =
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
ACLOCAL = @ACLOCAL@
AMTAR = @AMTAR@
@@ -697,7 +697,7 @@ info: info-am
info-am: $(INFO_DEPS)
-install-data-am: install-docDATA install-htmlDATA install-info-am \
+install-data-am: install-info-am \
install-man
install-dvi: install-dvi-am
@@ -818,7 +818,7 @@ uninstall-man: uninstall-man8
.PHONY: all all-am check check-am clean clean-generic clean-libtool \
dist-info distclean distclean-generic distclean-libtool \
- distdir dvi dvi-am html html-am info info-am install \
+ distdir dvi dvi-am info info-am install \
install-am install-data install-data-am install-docDATA \
install-dvi install-dvi-am install-exec install-exec-am \
install-html install-html-am install-htmlDATA install-info \

View File

@ -1,12 +0,0 @@
$OpenBSD: patch-inputs_Makefile_in,v 1.2 2009/04/25 22:07:37 okan Exp $
--- inputs/Makefile.in.orig Wed Jun 11 12:39:21 2008
+++ inputs/Makefile.in Thu Jul 3 13:02:36 2008
@@ -15,7 +15,7 @@
@SET_MAKE@
VPATH = @srcdir@
-pkgdatadir = $(datadir)/@PACKAGE@
+pkgdatadir = $(datadir)/examples/@PACKAGE@
pkglibdir = $(libdir)/@PACKAGE@
pkgincludedir = $(includedir)/@PACKAGE@
am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd

View File

@ -0,0 +1,21 @@
$OpenBSD: patch-masterfiles_update_cf,v 1.1 2013/05/01 21:09:23 sthen Exp $
--- masterfiles/update.cf.orig Sat Mar 23 15:52:15 2013
+++ masterfiles/update.cf Sat Mar 23 15:52:30 2013
@@ -165,17 +165,6 @@ bundle agent cfe_internal_update
depth_search => u_recurse_basedir("inf"),
action => u_immediate;
- "/usr/local/sbin/$(agents)"
- comment => "Create symlinks of CFE binaries in /usr/local/sbin",
- handle => "update_files_sbin_$(agents)",
- move_obstructions => "true",
- link_from => u_ln_s("$(sys.workdir)/bin/$(agents)");
-
- "/usr/local/sbin/$(agents).cfsaved"
- comment => "Remove all .cfsaved file extension",
- handle => "update_files_remove_$(agent)_cfsaved",
- delete => u_tidy;
-
am_policy_hub::
"$(master_location)/."

View File

@ -1,11 +1,12 @@
$OpenBSD: patch-pub_getopt_c,v 1.1 2004/06/17 11:21:42 sturm Exp $
--- pub/getopt.c.orig 2004-06-12 23:37:42.000000000 -0400
+++ pub/getopt.c 2004-06-12 23:38:17.000000000 -0400
@@ -60,6 +60,10 @@ Cambridge, MA 02139, USA. */
#include <stdlib.h>
#endif /* GNU C library. */
$OpenBSD: patch-pub_getopt_c,v 1.2 2013/05/01 21:09:23 sthen Exp $
--- pub/getopt.c.orig Tue Apr 10 04:20:40 2012
+++ pub/getopt.c Fri Apr 13 17:58:20 2012
@@ -62,6 +62,11 @@ Cambridge, MA 02139, USA. */
char *getenv(const char *name);
+#ifdef __OpenBSD__
+#include <string.h>
+#include <unistd.h>
+#endif
+

View File

@ -0,0 +1,30 @@
$OpenBSD: patch-src_cf-report_c,v 1.1 2013/05/01 21:09:23 sthen Exp $
XXX Force raising RLIMIT_NOFILE to the maximum allowed. Even in the
default configuration it requires ~230 which is more than a common
default of 128, and cf-report does not handle ENFILE/EMFILE properly.
--- src/cf-report.c.orig Fri Mar 15 12:49:36 2013
+++ src/cf-report.c Wed May 1 21:56:04 2013
@@ -45,6 +45,7 @@
#endif
#include <assert.h>
+#include <sys/resource.h>
static void ThisAgentInit(void);
static GenericAgentConfig CheckOpts(int argc, char **argv);
@@ -291,6 +292,13 @@ char *CFRH[][2] =
int main(int argc, char *argv[])
{
+ struct rlimit rl;
+
+ if (getrlimit(RLIMIT_NOFILE, &rl) != -1) {
+ rl.rlim_cur = rl.rlim_max;
+ setrlimit(RLIMIT_NOFILE, &rl);
+ }
+
GenericAgentConfig config = CheckOpts(argc, argv);
ReportContext *report_context = OpenReports("reporter");

View File

@ -1,12 +0,0 @@
$OpenBSD: patch-src_cflex_c,v 1.5 2009/09/01 14:25:15 okan Exp $
--- src/cflex.c.orig Sat Apr 11 16:00:11 2009
+++ src/cflex.c Thu May 28 17:32:35 2009
@@ -4890,7 +4890,7 @@ static void yy_load_buffer_state (void)
}
#ifndef __cplusplus
-extern int isatty (int );
+#include <unistd.h>
#endif /* __cplusplus */
/* Initializes or reinitializes a buffer.

View File

@ -1,12 +0,0 @@
$OpenBSD: patch-src_crypto_c,v 1.4 2007/10/12 20:12:19 sturm Exp $
--- src/crypto.c.orig Mon Jul 10 13:53:47 2006
+++ src/crypto.c Sun Sep 2 15:44:05 2007
@@ -294,7 +294,7 @@ snprintf(buffer,CF_BUFSIZE,"%d%d%25s",(int)CFSTARTTIME
EVP_DigestUpdate(&context,buffer,CF_BUFSIZE);
-snprintf(pscomm,CF_BUFSIZE,"%s %s",VPSCOMM[VSYSTEMHARDCLASS],VPSOPTS[VSYSTEMHARDCLASS]);
+snprintf(pscomm,CF_MAXLINKSIZE,"%s %s",VPSCOMM[VSYSTEMHARDCLASS],VPSOPTS[VSYSTEMHARDCLASS]);
if ((pp = cfpopen(pscomm,"r")) == NULL)
{

View File

@ -1,21 +0,0 @@
$OpenBSD: patch-src_do_c,v 1.9 2009/09/01 14:25:15 okan Exp $
--- src/do.c.orig Sun Mar 8 12:27:56 2009
+++ src/do.c Thu May 28 17:32:35 2009
@@ -3401,7 +3401,7 @@ if (MatchStringInFstab(mountpt))
CfLog(cfinform,"---------------------------------------------------","");
/* delete current fstab entry and unmount if necessary */
- snprintf(mountspec,CF_BUFSIZE,".+:%s",mountpt);
+ snprintf(mountspec,MAXPATHLEN,".+:%s",mountpt);
mntentry = LocateItemContainingRegExp(VMOUNTED,mountspec);
if (mntentry)
{
@@ -3410,7 +3410,7 @@ if (MatchStringInFstab(mountpt))
strcat(mountspec,mountpt);
}
else /* mountpt isn't mounted, so Unmount can use dummy host name */
- snprintf(mountspec,CF_BUFSIZE,"host:%s",mountpt);
+ snprintf(mountspec,MAXPATHLEN,"host:%s",mountpt);
/* delete current fstab entry and unmount if necessary (don't rmdir) */
cleaner.name = mountspec;

View File

@ -1,12 +0,0 @@
$OpenBSD: patch-src_instrument_c,v 1.3 2009/09/01 14:25:15 okan Exp $
--- src/instrument.c.orig Fri Feb 27 15:18:32 2009
+++ src/instrument.c Thu May 28 17:32:35 2009
@@ -542,7 +542,7 @@ while (dbcp->c_get(dbcp, &key, &value, DB_NEXT) == 0)
tthen = (time_t)then;
- snprintf(datebuf,CF_BUFSIZE-1,"%s",ctime(&tthen));
+ snprintf(datebuf,CF_MAXVARSIZE-1,"%s",ctime(&tthen));
datebuf[strlen(datebuf)-9] = '\0'; /* Chop off second and year */
snprintf(addr,15,"%s",hostname+1);

View File

@ -0,0 +1,36 @@
$OpenBSD: patch-src_sysinfo_c,v 1.1 2013/05/01 21:09:23 sthen Exp $
--- src/sysinfo.c.orig Wed May 1 21:28:15 2013
+++ src/sysinfo.c Wed May 1 21:31:30 2013
@@ -36,6 +36,10 @@
# include <zone.h>
#endif
+#ifdef HAVE_SYSCONF
+# include <unistd.h>
+#endif
+
void CalculateDomainName(const char *nodename, const char *dnsname, char *fqname, char *uqname, char *domain);
#ifdef LINUX
@@ -2104,6 +2108,13 @@ static void GetCPUInfo()
char buf[CF_BUFSIZE];
int count = 0;
+#ifdef HAVE_SYSCONF
+ count = sysconf(_SC_NPROCESSORS_ONLN);
+ if (count == -1) {
+ CfOut(cf_verbose, "", "Unable to get cpu data\n");
+ return;
+ }
+#else
if ((fp = fopen("/proc/stat", "r")) == NULL)
{
CfOut(cf_verbose, "", "Unable to find proc/cpu data\n");
@@ -2123,6 +2134,7 @@ static void GetCPUInfo()
fclose(fp);
count--;
+#endif
if (count < 1)
{

View File

@ -1,6 +1,5 @@
Cfengine, or the configuration engine, is an autonomous agent and a
middle to high level policy language for building expert systems which
administrate and configure large computer networks. Cfengine uses the
idea of classes and a primitive intelligence to define and automate the
configuration and maintenance of system state, for small to huge
configurations.
Cfengine3 is an autonomous agent and a middle to high level policy
language for building expert systems which administrate and configure
large computer networks. Cfengine3 uses the idea of classes and a
primitive intelligence to define and automate the configuration and
maintenance of system state, for small to huge configurations.

View File

@ -1,59 +1,330 @@
@comment $OpenBSD: PLIST,v 1.12 2009/09/01 14:25:15 okan Exp $
@info info/cfengine-Reference.info
@info info/cfengine-Tutorial.info
lib/libcfengine.a
lib/libcfengine.la
@man man/man8/cfagent.8
@man man/man8/cfengine.8
@man man/man8/cfenvd.8
@man man/man8/cfenvgraph.8
@man man/man8/cfetoolcheck.8
@man man/man8/cfetoolcreate.8
@man man/man8/cfetooldump.8
@man man/man8/cfetoolgraph.8
@man man/man8/cfetoolimport.8
@man man/man8/cfetoolinfo.8
@man man/man8/cfetoolupdate.8
@man man/man8/cfexecd.8
@man man/man8/cfkey.8
@man man/man8/cfrun.8
@man man/man8/cfservd.8
@man man/man8/cfshow.8
@bin sbin/cfagent
sbin/cfdoc
@bin sbin/cfenvd
@bin sbin/cfenvgraph
@bin sbin/cfetool
@bin sbin/cfetoolgraph
@bin sbin/cfexecd
@bin sbin/cfkey
@bin sbin/cfrun
@bin sbin/cfservd
@bin sbin/cfshow
share/cfengine/
share/cfengine/ChangeLog
share/cfengine/INSTALL
share/cfengine/NEWS
share/cfengine/README
share/cfengine/cfengine.el
@comment $OpenBSD: PLIST,v 1.13 2013/05/01 21:09:23 sthen Exp $
lib/cfengine/
lib/cfengine/libpromises.la
@lib lib/cfengine/libpromises.so.${LIBpromises_VERSION}
@man man/man8/cf-agent.8
@man man/man8/cf-execd.8
@man man/man8/cf-key.8
@man man/man8/cf-monitord.8
@man man/man8/cf-promises.8
@man man/man8/cf-report.8
@man man/man8/cf-runagent.8
@man man/man8/cf-serverd.8
@bin sbin/cf-agent
@bin sbin/cf-execd
@bin sbin/cf-key
@bin sbin/cf-monitord
@bin sbin/cf-promises
@bin sbin/cf-report
@bin sbin/cf-runagent
@bin sbin/cf-serverd
share/doc/cfengine/
share/doc/cfengine/ChangeLog
share/doc/cfengine/README
share/doc/pkg-readmes/${FULLPKGNAME}
share/examples/cfengine/
share/examples/cfengine/cf.chflags.example
share/examples/cfengine/cf.freebsd.example
share/examples/cfengine/cf.ftp.example
share/examples/cfengine/cf.groups.example
share/examples/cfengine/cf.linux.example
share/examples/cfengine/cf.main.example
share/examples/cfengine/cf.motd.example
share/examples/cfengine/cf.preconf.example
share/examples/cfengine/cf.services.example
share/examples/cfengine/cf.site.example
share/examples/cfengine/cf.solaris.example
share/examples/cfengine/cf.sun4.example
share/examples/cfengine/cf.users.example
share/examples/cfengine/cfagent.conf-advanced.example
share/examples/cfengine/cfagent.conf.example
share/examples/cfengine/cfrc.example
share/examples/cfengine/cfrun.hosts.example
share/examples/cfengine/cfservd.conf.example
share/examples/cfengine/update.conf.example
@extraunexec rm -fr /var/cfengine
share/examples/cfengine/CoreBase/
share/examples/cfengine/CoreBase/cf-sketch-runfile.cf
share/examples/cfengine/CoreBase/controls/
share/examples/cfengine/CoreBase/controls/cf_agent.cf
share/examples/cfengine/CoreBase/controls/cf_execd.cf
share/examples/cfengine/CoreBase/controls/cf_monitord.cf
share/examples/cfengine/CoreBase/controls/cf_report.cf
share/examples/cfengine/CoreBase/controls/cf_runagent.cf
share/examples/cfengine/CoreBase/controls/cf_serverd.cf
share/examples/cfengine/CoreBase/def.cf
share/examples/cfengine/CoreBase/libraries/
share/examples/cfengine/CoreBase/libraries/cfengine_stdlib.cf
share/examples/cfengine/CoreBase/promises.cf
share/examples/cfengine/CoreBase/services/
share/examples/cfengine/CoreBase/services/init_msg.cf
share/examples/cfengine/CoreBase/update.cf
share/examples/cfengine/active_directory.cf
share/examples/cfengine/app_baseline.cf
share/examples/cfengine/guest_environment_kvm.cf
share/examples/cfengine/hostswithclass.cf
share/examples/cfengine/motd.cf
share/examples/cfengine/package_windows_feature.cf
share/examples/cfengine/promise_knowledge.cf
share/examples/cfengine/service_catalogue.cf
share/examples/cfengine/service_catalogue_separate.cf
share/examples/cfengine/sql_table_structure.cf
share/examples/cfengine/unit_abort.cf
share/examples/cfengine/unit_accessed_before.cf
share/examples/cfengine/unit_accumulated_time.cf
share/examples/cfengine/unit_acl.cf
share/examples/cfengine/unit_acl_generic.cf
share/examples/cfengine/unit_acl_ntfs.cf
share/examples/cfengine/unit_acl_secret.cf
share/examples/cfengine/unit_activedirectory_listusers.cf
share/examples/cfengine/unit_activedirectory_showuser.cf
share/examples/cfengine/unit_ago.cf
share/examples/cfengine/unit_arrays.cf
share/examples/cfengine/unit_backreferences_files.cf
share/examples/cfengine/unit_badpromise.cf
share/examples/cfengine/unit_badtype.cf
share/examples/cfengine/unit_bsdflags.cf
share/examples/cfengine/unit_bundle_return_values.cf
share/examples/cfengine/unit_cf2_integration.cf
share/examples/cfengine/unit_change_detect.cf
share/examples/cfengine/unit_changedbefore.cf
share/examples/cfengine/unit_chdir.cf
share/examples/cfengine/unit_classes_global.cf
share/examples/cfengine/unit_classmatch.cf
share/examples/cfengine/unit_classvar_convergence.cf
share/examples/cfengine/unit_commands.cf
share/examples/cfengine/unit_compare.cf
share/examples/cfengine/unit_control_expand.cf
share/examples/cfengine/unit_controlclasses.cf
share/examples/cfengine/unit_copy.cf
share/examples/cfengine/unit_copy_classes.cf
share/examples/cfengine/unit_copy_copbl.cf
share/examples/cfengine/unit_copy_edit.cf
share/examples/cfengine/unit_copydir_copbl.cf
share/examples/cfengine/unit_copylinks.cf
share/examples/cfengine/unit_countclassesmatching.cf
share/examples/cfengine/unit_countlinesmatching.cf
share/examples/cfengine/unit_create_filedir.cf
share/examples/cfengine/unit_createdb.cf
share/examples/cfengine/unit_customize_by_named_list.cf
share/examples/cfengine/unit_defaults.cf
share/examples/cfengine/unit_defaults2.cf
share/examples/cfengine/unit_defaults3.cf
share/examples/cfengine/unit_definitions.cf
share/examples/cfengine/unit_deletelines.cf
share/examples/cfengine/unit_depends_on.cf
share/examples/cfengine/unit_depends_on2.cf
share/examples/cfengine/unit_disable.cf
share/examples/cfengine/unit_disable_and_rotate_files.cf
share/examples/cfengine/unit_diskfree.cf
share/examples/cfengine/unit_dollar.cf
share/examples/cfengine/unit_edit_column_files.cf
share/examples/cfengine/unit_edit_comment_lines.cf
share/examples/cfengine/unit_edit_deletenotmatch.cf
share/examples/cfengine/unit_edit_insert_fuzzylines.cf
share/examples/cfengine/unit_edit_insert_lines.cf
share/examples/cfengine/unit_edit_insert_lines_silly.cf
share/examples/cfengine/unit_edit_passwd_file.cf
share/examples/cfengine/unit_edit_passwd_file_basic.cf
share/examples/cfengine/unit_edit_replace_string.cf
share/examples/cfengine/unit_edit_sectioned_file.cf
share/examples/cfengine/unit_edit_setvar.cf
share/examples/cfengine/unit_edit_template.cf
share/examples/cfengine/unit_edit_triggerclass.cf
share/examples/cfengine/unit_env.cf
share/examples/cfengine/unit_epimenides.cf
share/examples/cfengine/unit_escape.cf
share/examples/cfengine/unit_exec_args.cf
share/examples/cfengine/unit_exec_in_sequence.cf
share/examples/cfengine/unit_execd.cf
share/examples/cfengine/unit_execresult.cf
share/examples/cfengine/unit_expand.cf
share/examples/cfengine/unit_failedcommand.cf
share/examples/cfengine/unit_failsafe.cf
share/examples/cfengine/unit_file_change_detection.cf
share/examples/cfengine/unit_file_owner_list_template.cf
share/examples/cfengine/unit_fileexists.cf
share/examples/cfengine/unit_filenames.cf
share/examples/cfengine/unit_fileperms.cf
share/examples/cfengine/unit_filesexist.cf
share/examples/cfengine/unit_filesexist2.cf
share/examples/cfengine/unit_filesize.cf
share/examples/cfengine/unit_fix_names.cf
share/examples/cfengine/unit_getenv.cf
share/examples/cfengine/unit_getfields.cf
share/examples/cfengine/unit_getgid.cf
share/examples/cfengine/unit_getindices.cf
share/examples/cfengine/unit_getindices_and_values.cf
share/examples/cfengine/unit_getmacaddress.cf
share/examples/cfengine/unit_getregistry.cf
share/examples/cfengine/unit_getuid.cf
share/examples/cfengine/unit_getusers.cf
share/examples/cfengine/unit_global_list_expansion.cf
share/examples/cfengine/unit_global_list_expansion_2.cf
share/examples/cfengine/unit_grep.cf
share/examples/cfengine/unit_groupexists.cf
share/examples/cfengine/unit_hash.cf
share/examples/cfengine/unit_hashcomment.cf
share/examples/cfengine/unit_hashmatch.cf
share/examples/cfengine/unit_hashuncomment.cf
share/examples/cfengine/unit_helloworld.cf
share/examples/cfengine/unit_host2ip.cf
share/examples/cfengine/unit_hostrange.cf
share/examples/cfengine/unit_hostsseen.cf
share/examples/cfengine/unit_hub.cf
share/examples/cfengine/unit_id.cf
share/examples/cfengine/unit_inherit.cf
share/examples/cfengine/unit_insert_users.cf
share/examples/cfengine/unit_intarray.cf
share/examples/cfengine/unit_inventory_cpu.cf
share/examples/cfengine/unit_iprange.cf
share/examples/cfengine/unit_irange.cf
share/examples/cfengine/unit_isdir.cf
share/examples/cfengine/unit_islink.cf
share/examples/cfengine/unit_isnewerthan.cf
share/examples/cfengine/unit_isplain.cf
share/examples/cfengine/unit_isvariable.cf
share/examples/cfengine/unit_iteration.cf
share/examples/cfengine/unit_join.cf
share/examples/cfengine/unit_knowledge_driver.cf
share/examples/cfengine/unit_knowledge_txt.cf
share/examples/cfengine/unit_lastnode.cf
share/examples/cfengine/unit_ldap.cf
share/examples/cfengine/unit_linking.cf
share/examples/cfengine/unit_literal_server.cf
share/examples/cfengine/unit_locate_files_and_compress.cf
share/examples/cfengine/unit_log_private.cf
share/examples/cfengine/unit_loops.cf
share/examples/cfengine/unit_lsdir.cf
share/examples/cfengine/unit_maplist.cf
share/examples/cfengine/unit_measure_log.cf
share/examples/cfengine/unit_measurements.cf
share/examples/cfengine/unit_menu.cf
share/examples/cfengine/unit_meta.cf
share/examples/cfengine/unit_method.cf
share/examples/cfengine/unit_method_polymorph.cf
share/examples/cfengine/unit_method_validate.cf
share/examples/cfengine/unit_method_var.cf
share/examples/cfengine/unit_method_var2.cf
share/examples/cfengine/unit_module_exec.cf
share/examples/cfengine/unit_module_exec_2.cf
share/examples/cfengine/unit_monitord.cf
share/examples/cfengine/unit_mount_fs.cf
share/examples/cfengine/unit_multipassvars.cf
share/examples/cfengine/unit_namespace.cf
share/examples/cfengine/unit_namespace1.cf
share/examples/cfengine/unit_namespace2.cf
share/examples/cfengine/unit_namespace3.cf
share/examples/cfengine/unit_namespace_class1.cf
share/examples/cfengine/unit_namespace_classes.cf
share/examples/cfengine/unit_namespace_var_meta.cf
share/examples/cfengine/unit_namespace_var_meta2.cf
share/examples/cfengine/unit_neighbourhood_watch.cf
share/examples/cfengine/unit_null_config.cf
share/examples/cfengine/unit_occurrences.cf
share/examples/cfengine/unit_orchestrate_chain1.cf
share/examples/cfengine/unit_orchestrate_chain2.cf
share/examples/cfengine/unit_orchestrate_dominoes1.cf
share/examples/cfengine/unit_orchestrate_dominoes2.cf
share/examples/cfengine/unit_orchestrate_dragon.cf
share/examples/cfengine/unit_orchestrate_dragon_load_balancer.cf
share/examples/cfengine/unit_orchestrate_n_of_m.cf
share/examples/cfengine/unit_orchestration_hostlist.cf
share/examples/cfengine/unit_ordering.cf
share/examples/cfengine/unit_package_apt.cf
share/examples/cfengine/unit_package_freebsd.cf
share/examples/cfengine/unit_package_latest.cf
share/examples/cfengine/unit_package_msi_file.cf
share/examples/cfengine/unit_package_msi_version.cf
share/examples/cfengine/unit_package_rpm.cf
share/examples/cfengine/unit_package_solaris.cf
share/examples/cfengine/unit_package_yum.cf
share/examples/cfengine/unit_package_zypper.cf
share/examples/cfengine/unit_parallel_exec.cf
share/examples/cfengine/unit_parsestringarray.cf
share/examples/cfengine/unit_pathtype.cf
share/examples/cfengine/unit_pattern_and_edit.cf
share/examples/cfengine/unit_peers.cf
share/examples/cfengine/unit_postfix.cf
share/examples/cfengine/unit_process_kill.cf
share/examples/cfengine/unit_process_matching.cf
share/examples/cfengine/unit_process_matching2.cf
share/examples/cfengine/unit_process_matching3.cf
share/examples/cfengine/unit_process_restart.cf
share/examples/cfengine/unit_process_restart_basic.cf
share/examples/cfengine/unit_process_signalling.cf
share/examples/cfengine/unit_product.cf
share/examples/cfengine/unit_promises.cf
share/examples/cfengine/unit_readlist.cf
share/examples/cfengine/unit_readtcp.cf
share/examples/cfengine/unit_reg_multiline.cf
share/examples/cfengine/unit_regarray.cf
share/examples/cfengine/unit_regex_win.cf
share/examples/cfengine/unit_regextract.cf
share/examples/cfengine/unit_registry.cf
share/examples/cfengine/unit_registry_cache.cf
share/examples/cfengine/unit_regline.cf
share/examples/cfengine/unit_reglist.cf
share/examples/cfengine/unit_remoteclasses.cf
share/examples/cfengine/unit_remoteclasses2.cf
share/examples/cfengine/unit_remotescalar.cf
share/examples/cfengine/unit_remove_deadlinks.cf
share/examples/cfengine/unit_rename.cf
share/examples/cfengine/unit_repairedcommand.cf
share/examples/cfengine/unit_report_custom.cf
share/examples/cfengine/unit_report_diffs.cf
share/examples/cfengine/unit_report_state.cf
share/examples/cfengine/unit_reporting.cf
share/examples/cfengine/unit_reporttofile.cf
share/examples/cfengine/unit_resolveconf.cf
share/examples/cfengine/unit_returnszero.cf
share/examples/cfengine/unit_root_passwd.cf
share/examples/cfengine/unit_select_class.cf
share/examples/cfengine/unit_select_mode.cf
share/examples/cfengine/unit_select_region.cf
share/examples/cfengine/unit_select_size.cf
share/examples/cfengine/unit_selectservers.cf
share/examples/cfengine/unit_server_callback.cf
share/examples/cfengine/unit_server_copy_localhost.cf
share/examples/cfengine/unit_server_copy_purge.cf
share/examples/cfengine/unit_server_copy_remote.cf
share/examples/cfengine/unit_server_flatcopy_localhost.cf
share/examples/cfengine/unit_service_disable.cf
share/examples/cfengine/unit_service_start.cf
share/examples/cfengine/unit_services_concept.cf
share/examples/cfengine/unit_services_win.cf
share/examples/cfengine/unit_setuidlog.cf
share/examples/cfengine/unit_setvar.cf
share/examples/cfengine/unit_software_dist.cf
share/examples/cfengine/unit_software_update_version_yum.cf
share/examples/cfengine/unit_splitstring.cf
share/examples/cfengine/unit_storage.cf
share/examples/cfengine/unit_strcmp.cf
share/examples/cfengine/unit_stringarray.cf
share/examples/cfengine/unit_switchcase.cf
share/examples/cfengine/unit_syslog.cf
share/examples/cfengine/unit_syslog2.cf
share/examples/cfengine/unit_template.cf
share/examples/cfengine/unit_template2.cf
share/examples/cfengine/unit_test_environment.cf
share/examples/cfengine/unit_tidy_all_files.cf
share/examples/cfengine/unit_translatepath.cf
share/examples/cfengine/unit_update.cf
share/examples/cfengine/unit_user_edit.cf
share/examples/cfengine/unit_user_edit_method.cf
share/examples/cfengine/unit_userexists.cf
share/examples/cfengine/unit_varclass.cf
share/examples/cfengine/unit_varexpansion.cf
share/examples/cfengine/unit_varnet.cf
share/examples/cfengine/unit_vars.cf
share/examples/cfengine/unit_warnifline.cf
share/examples/cfengine/unit_webserver.cf
share/examples/cfengine/unit_zenoss.cf
share/examples/cfengine/win_dns_client.cf
share/examples/cfengine/win_emergency.cf
share/examples/cfengine/win_registry.cf
share/examples/cfengine/win_schedule.cf
@rcscript ${RCDIR}/cf_execd
@rcscript ${RCDIR}/cf_monitord
@rcscript ${RCDIR}/cf_serverd
@rcscript ${RCDIR}/cfengine
@cwd ${CFENGINE_BASE}
bin/
bin/cf-agent
bin/cf-execd
bin/cf-key
bin/cf-monitord
bin/cf-promises
bin/cf-report
bin/cf-runagent
bin/cf-serverd
@mode 0750
@sample ${CFENGINE_BASE}/
@mode 0700
@sample ${CFENGINE_BASE}/inputs/
@sample ${CFENGINE_BASE}/masterfiles/
@sample ${CFENGINE_BASE}/modules/
@sample ${CFENGINE_BASE}/outputs/
@sample ${CFENGINE_BASE}/ppkeys/
@mode
@extraunexec rm -rf ${CFENGINE_BASE}/*

View File

@ -0,0 +1,73 @@
$OpenBSD: README,v 1.1 2013/05/01 21:09:23 sthen Exp $
+-----------------------------------------------------------------------
| Running ${FULLPKGNAME} on OpenBSD
+-----------------------------------------------------------------------
This is a brief quick-start guide. For more information, see the
documentation:
https://cfengine.com/manuals/cf3-tutorial
https://cfengine.com/manuals/cf3-reference
https://cfengine.com/manuals/cf3-quickstart
Configuring a policy hub
========================
To setup a policy hub (cfengine "server"), or to setup a stand-alone
machine fetching policy from itself, perform the following steps as root.
Create a key-pair, necessary directories, and copy the sample configuration:
# cf-key
# cp -pR ${LOCALBASE}/share/examples/cfengine/CoreBase/* \
/var/cfengine/masterfiles/
Edit the files you have just copied as appropriate. You will certainly
need to change the domain and probably acl here:
# $EDITOR /var/cfengine/masterfiles/def.cf
Bootstrap the server, using its own IP address:
# cf-agent --bootstrap --policy-server <own IP>
To start the services at boot, add the following to /etc/rc.conf.local:
pkg_scripts="${pkg_scripts} cf_serverd cfengine"
Configuring client machines
===========================
To setup a client, fetching policy from a hub configured as above,
perform the following steps as root.
Create a key-pair and necessary directories:
# cf-key
Bootstrap the client:
# cf-agent --bootstrap --policy-server <hub IP>
For normal operation, cf-execd(8) and cf-monitord(8) should be running -
to configure this at boot, add the following line to /etc/rc.conf.local:
pkg_scripts="${pkg_scripts} cfengine"
Resource limits
===============
If cf-report(8) fails with a "Too many open files" message, raise your
resource limits. This can be done temporarily in your shell (in ksh(1)
you might use "ulimit -n 256"). For a more permanent change, increase
the openfiles limits for your user's class in /etc/login.conf; this
takes effect at login.
Notable changes from cfengine community packages
================================================
The standard packages from cfengine.com have their programs
dynamically-linked to libraries in /var/cfengine/lib, but the OpenBSD
packages are dynamically-linked to libraries in ${LOCALBASE}. As a
result, some of the self-repair functionality is not available.
As per package(5) standards, the program files are installed under
${LOCALBASE}/sbin; courtesy symlinks are provided in /var/cfengine/bin
for compatibility with standard documentation.

View File

@ -0,0 +1,11 @@
#!/bin/sh
#
# $OpenBSD: cf_execd.rc,v 1.1 2013/05/01 21:09:23 sthen Exp $
daemon="/var/cfengine/bin/cf-execd"
. /etc/rc.d/rc.subr
rc_reload=NO
rc_cmd $1

View File

@ -0,0 +1,11 @@
#!/bin/sh
#
# $OpenBSD: cf_monitord.rc,v 1.1 2013/05/01 21:09:23 sthen Exp $
daemon="/var/cfengine/bin/cf-monitord"
. /etc/rc.d/rc.subr
rc_reload=NO
rc_cmd $1

View File

@ -0,0 +1,11 @@
#!/bin/sh
#
# $OpenBSD: cf_serverd.rc,v 1.1 2013/05/01 21:09:23 sthen Exp $
daemon="/var/cfengine/bin/cf-serverd"
. /etc/rc.d/rc.subr
rc_reload=NO
rc_cmd $1

View File

@ -0,0 +1,14 @@
#!/bin/sh
#
# $OpenBSD: cfengine.rc,v 1.1 2013/05/01 21:09:23 sthen Exp $
# "meta" script running the following rc.d(8) scripts with the given argument
_pkg_scripts="cf_execd cf_monitord"
if [ "$1" = stop ]; then
for _i in ${_pkg_scripts}; do _l="${_i} ${_l}"; done
_pkg_scripts=${_l% }
fi
for _i in ${_pkg_scripts}; do ${RCDIR}/${_i} $1; done