Package Release Info


Update Info: Base Release
Available in Package Hub : 15 SP2





Change Logs

Version: 3.11.0-bp150.2.3
* Mon Dec 04 2017
- add 0003-CFE-2629-Openssl-1.1-compatibility.patch
  for openssl-1.1.0 compatibility
* Fri Aug 11 2017
- Update to 3.11.0
  New Features:
  - allow function calls in promiser using universal "with"
    attribute. (CFE-1092)
  - add example of with attribute (CFE-1092)
  - Detect Amazon Linux and set "AmazonLinux" hard class and
    sys.flavour variable.
  - New sysctlvalue() and data_sysctlvalues() functions from /proc/sys
  - readdata() also auto-detects .yml files as YAML
  - Added support for ENV and CSV file parsing (CFE-1881)
  - Added vars and classes for CoreOS (ENT-3043)
  - cf-agent: implement --show-evaluated-vars and
  - -show-evaluated-classes
  - Support for custom ports and host names as policy hub (CFE-953)
  - cf-promises: allows --show-vars and --show-classes to take an
    optional filter
  - Added a new tool: cf-net. cf-net is a CLI for the CFEngine
    network protocol, useful for debugging, testing etc.
  - New policy variable: sys.cf_net contains path to cf-net binary
  - Read /etc/os-release into sys.os_release (CFE-1881)
- Full changelog at
* Sun Jul 02 2017
- Use gzip -n to not add timestamps to .gz header
- Add reproducible.patch to override man page date
  to make package build fully reproducible
* Fri May 19 2017
- Reword description to have less marketing speak.
- Remove two unnecessary ldconfig calls.
* Fri Mar 31 2017
- Update to 3.10.1
  New features/additions:
  - "make tar-package" should create a tarball with the contents of
    "make install" (ENT-3041)
  - Fix rare output truncation on Solaris 10/11 (CFE-2527)
  - Change: Don't error during dry run for proposed execution.
  - prevent LMDB assertion on AIX by ensuring nested DB calls are
    not occuring during signal handler cleanup (CFE-1996)
  - Detect Amazon Linux and set "AmazonLinux" hard class and
    sys.flavour variable.
  - Fix "lastseenexpireafter" 32-bit signed int overflow.
  - Add missing pcre build flags to cf-key (CFE-2525)
  - Fix a bug which could cause cf-execd to believe there was
    an error when sending the email report, when there really wasn't.
  - cf-serverd: Auto configure max open files ulimit according to
    maxconnections (CFE-2575)
  - Added vars and classes for CoreOS (ENT-3043)
* Thu Feb 02 2017
- Fix build with rpm-4.13
* Fri Dec 30 2016
- make_home_dir_for_tests.patch: Make cfengine home directory to
  avoid spamming logfiles during unit tests (bnc#1016848)
* Thu Dec 29 2016
- Update to 3.10.0 (final) - LTS until Dec 2019
  for full changelog.
  New features/additions:
  - All new features/additions for 3.8 and 3.9 are also included in 3.10.
  - Add: Classes body tailored for use with diff
  - New feature: Classes promise: allow classes without an expression to
    default to defined.
  - Support for custom ports and host names as policy hub (CFE-953)
  - Add: Definition of from_cfexecd for cf-execd initiated runs
  - Add < <= > >= operators to eval().
  - Add testing jUnit and TAP bundles and include them in
  - New function isipinsubnet() (ENT-7949)
  - LogDebug(): implement module-based debug logging.
    Now most DEBUG messages are *not* printed even when "-d" is in
    use, but the specific debug module has to be enabled on the
    command line. For example to enable all log modules, run:
    cf-agent -d --log-modules=all
  - Add: edit_line contains_literal_string to stdlib
  - add variablesmatching_as_data() function paralleling variablesmatching()
    (Redmine #7885)
  - Allow specifying agent maxconnections via def.json (CFE-2461)
  - Add getuserinfo() function
  - Add body agent control select_end_match_eof option. (CFE-2390)
- rename 0001-Simplify-and-fix-parsing-of-etc-SuSE-release-fixes-i.patch
  to     0002-Simplify-and-fix-parsing-of-etc-SuSE-release-fixes-i.patch
- drop cfengine-3.10.0b1.patch, upstream
* Wed Nov 16 2016
- Update to 3.10.0 (beta1) - LTS until Dec 2019
  for full ChangeLog
- Add cfengine-3.10.0b1.patch to find libacl during build
* Fri Aug 05 2016
- Update to 3.9.1
  - Change: Log level for keeping verbatim JSON to DEBUG (CFE-2141)
  - Change (masterfiles): Definition of from_cfexecd for
    cf-execd initiated runs (CFE-2386)
  - Change: Switch processes restart_class logging to verbose
  - Change: Enable agent component management policy on systemd hosts
  - Change: Remove executable bit from systemd units (CFE-2436)
  - Change: Require network before cfengine services (CFE-2435)
  - Fix 'contain' attribute 'no_output' having no effect when
    the 'commands' promise is using 'module => "true"'. (CFE-2412)
  - Fix: Services starting or stopping unnecessarily (CFE-2421)
  - Fix occasional segfault when running getindices() on a
    variable that has indices of multiple depths (e.g. both "a[x]" and
    "a[x][y]"). (CFE-2397)
  - Fix bug in files promise when multiple owners are promised
    but first one doesn't exist, and improve logging . (CFE-2432)
  - fix: memory leaks
* Wed Jun 15 2016
- Update to 3.9.0
  Full changelog at
  New features:
  - Classes promise: allow classes without an expression to default to
  - Add optional interface parameter to iprange() to match only one
  - Allow '=' in symbolic modes (Redmine #7826)
  - Add: FreeBSD ports package module
  - New package module for FreeBSD pkg package manager.
  - Add support for adding/removing fifos in policy
  - Add Linux parsing of /proc/net/ data.
  - sys.inet
  - sys.inet6
  - sys.interface_data
  - Data is returned as a data container.
  - See documentation for more details. (Jira CFE-1991)
  - sys.ip2iface: new reverse mapping variable from IP to
    interface name
  - Namespaced classes can now be specified on the command line.
  - namespaces can now be passed to cf-runagent -D and --remote-bundles
    (Redmine #7856)
  - Add 'cf-full' and 'json-full' to cf-promises '-p' option.
    They generate output based on the entire policy. The existing 'cf'
    already behaved this way, and it has now been changed to generate
    output only for a single file, which the existing 'json' option
    already does.
  - New language functions: processexists() and findprocesses()
    (Redmine #7633)
  - Implement new regex_replace() function. (Redmine #7346)
  - Add log rotation policy for state/classes.jsonl log.
    (Redmine #7951)
  - Added collect_vars utility bundle to stdlib
  - Intoduce report_class_log attribute to body agent common.
    (Redmine #7951)
  - Add standard_services service_method allowing for explicit usage
  - cf-promises --show-vars can now show JSON variables.
  - Add json_pipe mode to mapdata(), which allows piping a
    JSON container to an external program for manipulation and receiving
    JSON back. The jq tool is a good example where this mode can be
    useful. A corresponding $(def.jq) variable has also been added with
    a default path to this tool. See documentation for mapdata() for
    more information and examples. (Jira CFE-2071)
  - behaviour change: "true" is always defined and "false" is never
    defined in a context expression.
  - Add: nimclient package module for AIX
    This module provides basic functionality for using nimclient as a means
    to ensure packages are either present or absent. It does not support
    listing package updates available or provide any special caching.
  - Add callstack_callers() and callstack_promisers() functions.
  - Log variable definitions in debug output. (Redmine #7137)
  - Add: Memory information to host info report (Jira CFE-1177)
  - In Mustache templates, one can now use {{#-top-}} and
    {{/-top-}} tags to iterate over the top level element in a
    container. (Redmine #6545)
  - Add network_connections() function that parses /proc/net
  - Provide new -w argument to override the workdir for testing
  - New feature: Emails sent by cf-execd can be filtered to get
    rid of emails for unwanted log messages. The attributes
    mailfilter_include and mailfilter_exclude in body executor
    control control what to include. See documentation for
    cf-execd for more information. (Jira CFE-2283)
  - Add: file_make_mustache bundle to render mustache templates
  - Add '-n' flag to cf-key to avoid host name lookups.
  - cf-agent, cf-execd, cf-promises, cf-runagent and cf-serverd honor
    multiple -D, -N and -s arguments (Redmine #7191)
  - Add "canonify" mode to mapdata().
  - Add: printfile bodies to stdlib
  - Add: New results classes body [] (Redmine #7418, #7481)
  - Implement cf-runagent --remote-bundles and cf-serverd "bundle" access
    promise. (Redmine #7581)
  - Add commands promise arglist attribute, augmenting args attribute.
  - It's now possible to reference variables in inline JSON,
    for example: mergedata('[ thing, { "mykey": otherthing[123] } ]').
    thing and otherthing[123] will be resolved as variables, since
    they are unquoted. See the documentation for more details.
    (Redmine #7871)
  - Allow inline JSON to be used in the following function calls:
  - data_expand()
  - difference()
  - every()
  - filter()
  - format()
  - getindices()
  - getvalues()
  - grep()
  - intersection()
  - join()
  - length()
  - makerule()
  - mapdata()
  - maplist()
  - mean()
  - mergedata()
  - none()
  - nth()
  - parsejson()
  - product()
  - regarray()
  - reglist()
  - reverse()
  - shuffle()
  - some()
  - sort()
  - storejson()
  - string_mustache()
  - sublist()
  - sum()
  - unique()
  - url_get()
  - variance()
    For example: mergedata('[ "thing", { "mykey": "myvalue" }]')
    See the documentation for more details. (Jira CFE-2253)
  - Add: edit_line contains_literal_string to stdlib
  - Add body agent control select_end_match_eof option. (Jira CFE-2390)
* Fri Apr 15 2016
- Update to 3.8.2
  - Reduce verbosity of apt_get package module (Redmine #7485)
  - Reduce verbosity of yum package module (Redmine #7485)
  - The isvariable() function call now correctly accepts all
    array variables when specified inline. Previously it would not accept
    certain special characters, even though they could be specified
    indirectly by using a variable to hold it. (Redmine #7088)
  - Don't follow symbolic links when copying extended attributes.
  - Fix a bug which sometimes caused package promises to be
    skipped with "XX Another cf-agent seems to have done this
    since I started" messages in the log, most notably in long running cf-agent
    runs (longer than one minute). (Redmine #7933)
  - Fix bug which could render host unable to recover from a
    syntax error, even if was utilized. This could
    happen if the file containing the syntax error was specified in the def.json
    special file. (Redmine #7961)
  - Change: Policy files specified in the "inputs" section of
    def.json will no longer be auto-loaded. One has to refer to the
    $(def.augments_inputs) variable in the policy (the standard
    masterfiles policies include this by default). This only affects
    installations which are not based on the standard masterfiles, and
    which are using the "inputs" field inside def.json. (Redmine #7961)
  - Fix file descriptor leak when there are network errors.
  - Fix cf-serverd error messages with classic protocol clients
    (Redmine #7818)
  - Installing packages containing version numbers using yum
    now works correctly. (Redmine #7825)
  - Fix ps options for FreeBSD to check processes only in
    current host and not in jails
  - fix build failure on FreeBSD 7.1 (Redmine #7415)
  - Show errors regarding failure to copy extended attributes
    when doing a local file copy. Errors could happen when copying
    across two different mount points where the support for extended
    attributes is different between the mount points.
  - Fix classes being set because of hash collision in the implementation.
    (Redmine #7912)
  - Allow def.json up to 5MB instead of 4K.
  - Fix a regression which would sometimes cause "Permission
    denied" errors on files inside directories with very restricted
    permissions. (Redmine #7808)
  - Change: Suppress standard services noise on SUSE (Redmine #6968)
  - Change: classesmatching(): order of classes changed
* Mon Feb 01 2016
- Update to 3.8.1
  - Upgrade CFEngine dependencies to the following versions:
  - OpenSSL   1.0.2e
  - PCRE      8.38
  - libxml2   2.9.3
  - OpenLDAP  2.4.43
  - libcurl   7.46.0
  - Upgrade LMDB to version 0.9.17. (Redmine #7879)
  Bug fixes:
  - @if minimum_version now correctly ignores lines starting with '@'
    (Redmine #7862)
  - Add guard for binary upgrade during bootstrap (Redmine #7861)
  - Namespaced classes can now be specified on the command line.
  - Fix bad option nlwp to vzps on Proxmox / OpenVZ. (Redmine #6961)
  - Fix two cases where action_policy warn still produces errors
    (Redmine #7274)
  - Parse def.json vars, classes and inputs from the C code. This
    fixes a bug where certain entries in this file would be parsed
    too late to have any effect on the evaluation. (Redmine #7453, #7615)
  - Fix HP-UX specific bug that caused a lot of log output to disappear.
  - Check for empty server response in RemoteDirList after decryption
    (Redmine #7908)
  - getvalues() will now return a list also for data containers,
    and will descend recursively into the containers. (Redmine #7116)
  - Define (bootstrap|failsafe)_mode during when triggerd
    from (Redmine #7861)
* Mon Dec 07 2015
- Update to 3.8.0
  New features/additions:
  - New feature: Bodies can now inherit attribute values from
    other bodies by specifying "inherit_from" with the name of the body to
    inherit from, plus any arguments it accepts. For example:
    body classes myclasses
    inherit_from => classes_generic("myname");
    (Redmine #4309)
  - Add url_get() function. (Redmine #6480)
  - Add @if feature() syntax
    @if feature work like @if minimum_version but allows distinguishing
    between features choosen at compile time.
  - Extend module protocol to create persistent classes.
    To use it, have the module print a line with "^persistence=<minutes>"
    before printing any class names. "persistence=0" goes back to non-
    persistent classes. (Redmine #7302)
  - Add: New results classes body (Redmine #7418)
  - Add: Debug reports in cfe_internal_cleanup_agent_reports
  - Add: Path to svcprop in stdlib
  - Add: masterfiles-stage script to contrib
  - Whitespace is now allowed in class expressions for
    readability, between class names and operators. (Redmine #7152)
  - Add: New results classes body [Redmine#7481] (Redmine #7418)
  - Change: Clarify bootstrap/failsafe reports
  - Change: Improve in-line docs for internal log maintenance
  - Change: Improve efficiency and debug reports (Redmine #7527)
  - Remove: 3.5 support from masterfiles policy framework
  - Long promiser strings with multiple lines are now
    abbreviated in logs. (Redmine #3964)
  - Change: Reunify Version based policy split
  - Change: Seperate binary details from policy update (Redmine #7662)
  - Remove /var/cfengine/cf3.<host>.runlog. (Redmine #6957)
  - Change: sys.libdir and sys.local_libdir to non version specific path
  - sys.libdir now resolves to $(sys.inputdir)/lib
  - sys.local_libdir now resolves to lib (Redmine #7559)
  - Moved the following files to /var/cfengine/log/:
  - /var/cfengine/promise_summary.log
  - /var/cfengine/cfagent.<host>.log
  - Change: Seperate binary details from policy update (Redmine #7662)
  - Remove: Support for email settings from augments_file (Redmine #7682)
  Many bug fixes.
* Wed Sep 09 2015
- Update to 3.7.1 (LTS release)
  - Fix daemons not restarting correctly on upgrade on AIX. (Redmine #7550)
  - Fix upgrade causing error message under systemd because of open ports.
  - Fix build with musl libc. (Redmine #7455)
  - Long promiser strings with multiple lines are now abbreviated in
    logs. (Redmine #3964)
  - Fixed a bug which could cause daemons to not to be killed
    correctly when upgrading or manually running "service cfengine3 stop".
    (Redmine #7193)
  - Package promise: Fix inability to install certain packages
    with numbers.
  - Fix package promise not removing dependant packages. (Redmine #7424)
  - Fix warning "Failed to parse csv file entry" with certain very
    long commands promises. (Redmine #7400)
  - Fix misaligned help output in cf-hub. (Redmine #7273)
  - Augmenting inputs from the augments_file (Redmine #7420)
  - Add support for failover to 3rd HA node located outside cluster.
  - Upgrade all dependencies for patch release.
  - Fix a bug which caused daemons not to be restarted on upgrade.
    (Redmine #7528)
* Mon Jul 20 2015
- Update to 3.7.0
  See for
  full changelog
  New features:
  - New package promise implementation.
    The syntax is much simpler, to try it out, check out the syntax:
    policy => "absent/present",
    [#] Optional, default taken from common control
    package_module => apt_get,
    [#] Optional, will only match exact version. May be
    [#] "latest".
    version => "32.0",
    [#] Optional.
    architecture => "x86_64";
  - Full systemd support for all relevant platforms
  - New classes to determine whether certain features are enabled:
  * feature_yaml
  * feature_xml
    For the official CFEngine packages, these are always enabled, but
    packages from other sources may be built without the support.
  - New readdata() support for generic data input (CSV, YAML, JSON, or auto)
  - YAML support: new readyaml() function and in readdata()
  - CSV support: new readcsv() function and in readdata()
  - New string_mustache() function
  - New data_regextract() function
  - eval() can now be called with "class" as the "mode" argument, which
    will cause it to return true ("any") if the calculated result is
    non-zero, and false ("!any") if it is zero.
  - New list_ifelse() function
  - New mapjson() function as well as JSON support in maparray().
  - filestat() function now supports "xattr" argument for extended
  - "ifvarclass" now has "if" as an alias, and "unless" as an inverse
  - Ability to expand JSON variables directory in Mustache templates:
    Prefix the name with '%' for multiline expansion, '$' for compact
  - Ability to expand the iteration *key* in Mustache templates with @
  - Canonical JSON output: JSON output has reliably sorted keys so the
    same data structure will produce the same JSON every time.
  - New "@if minimum_version(x.x)" syntax in order to hide future language
    improvements from versions that don't understand them.
  - compile time option (--with-statedir) to
    override the default state/ directory path.
  - Fix error messages/ handling in process signalling which no longer
    allowed any signals to fail silently
  - Also enable shortcut keyword for cf-serverd classic protocol, eg to
    simplify the bootstrap process for clients that have different
    sys.masterdir settings (Redmine #3697)
  - methods promises now accepts the bundle name in the promiser string,
    as long as it doesn't have any parameters.
  - In a services promise, if the service_method bundle is not specified,
    it defaults to the promiser string (canonified) with "service_" as a
    prefix. The bundle must be in the same namespace as the promise.
  - inline JSON in policy files: surrounding with parsejson() is now
    optional *when creating a new data container*.
  - New data_expand() function to interpolate variables in a data container.
  - Add configurable network bandwidth limit for all outgoing
    connections ("bwlimit" attribute in "body common control") . To
    enforce it in both directions, make sure the attribute is set on both
    sides of the connection.
  - Secure bootstrap has been facilitated by use of
    "cf-agent --boostrap HUB_ADDRESS --trust-server=no"
  - Implement new TLS-relevant options (Redmine #6883):
  - body common control: tls_min_version
  - body server control: allowtlsversion
  - body common control: tls_ciphers
  - body server control: allowciphers (preexisting)
- Drop patches, both upstream
* Wed Jun 17 2015
- Fix Fedora/RHEL builds
* Mon Mar 23 2015
- Partial fix for bnc#923417:
  * 0001-Do-not-use-insecure-MD5-but-rather-SHA256.patch
* Wed Mar 18 2015
- Enable tests, 1 fail so document it
* Wed Mar 18 2015
- Enable pam and disable silent rules for make