Using APT as a package manager

From Cfwiki

Revision as of 16:28, 21 August 2009 by IsartMontaneMogas (Talk | contribs)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search

This code has been provided by NakarinPhooripoom[1] on the CFengine mailing list.


#
# Package managment
#

body common control
{
bundlesequence => { "packages" };
}

#############################################

bundle agent packages
{
vars:

  # Test the simplest case -- leave everything to the yum smart manager

  "match_package" slist => {
                           "apache2"
#                          "apache2-mod_php5",
#                          "apache2-prefork",
#                          "php5"
                           };
packages:

   "$(match_package)"

      package_policy => "add",
      package_method => apt;

}

#############################################

body package_method apt

{
any::

# ii  acpi      0.09-3ubuntu1

  package_changes => "bulk";
  package_list_command => "/usr/bin/dpkg -l";

  package_list_name_regex    => "ii\s+([^\s]+).*";
  package_list_version_regex => "ii\s+[^\s]+\s+([^\s]+).*";

# package_list_arch_regex    => "none";

  package_installed_regex => ".*"; # all reported are installed

  package_name_convention => "$(name)";

  # Use these only if not using a separate version/arch string
  # package_version_regex => "";
  # package_name_regex => "";
  # package_arch_regex => "";

package_add_command => "/usr/bin/apt-get --yes install";
package_delete_command => "/usr/bin/apt-get --yes remove";
package_update_command =>  "/usr/bin/apt-get --yes dist-upgrade";

}