Skip to content

Commit 5cea8d5

Browse files
committed
Added dnf_group package module for managing DNF package groups
This module enables CFEngine to manage DNF/YUM package groups (e.g., "Development Tools", "System Tools") on RHEL/Rocky/AlmaLinux systems. Key features: - Install, upgrade, and remove package groups - List installed groups and check for updates - Configure group installation types (mandatory/default/optional packages) - Supports DNF setopt-style configuration options Example usage: packages: "system-tools" policy => "present", package_module => dnf_group; "development" policy => "present", package_module => dnf_group, options => { "group_package_types=optional", "install_weak_deps=false" } version => "latest"; # Upgrade group packages Ticket: CFE-2852
1 parent 91f72a3 commit 5cea8d5

2 files changed

Lines changed: 520 additions & 0 deletions

File tree

lib/packages.cf

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -100,6 +100,25 @@ body package_module apt_get
100100
@endif
101101
}
102102

103+
body package_module dnf_group
104+
# @brief manage dnf package groups
105+
#
106+
# **Example:**
107+
#
108+
# ```cf3
109+
# "development"
110+
# policy => "present",
111+
# package_module => dnf_group,
112+
# options => { "group_package_types=optional",
113+
# "install_weak_deps=false" },
114+
# version => "latest"; # Upgrade group packages
115+
# ```
116+
{
117+
query_installed_ifelapsed => "$(package_module_knowledge.query_installed_ifelapsed)";
118+
query_updates_ifelapsed => "$(package_module_knowledge.query_updates_ifelapsed)";
119+
interpreter => "$(sys.bindir)/cfengine-selected-python";
120+
}
121+
103122
body package_module zypper
104123
{
105124
query_installed_ifelapsed => "$(package_module_knowledge.query_installed_ifelapsed)";

0 commit comments

Comments
 (0)