Forum: CFEngine Help
Subject: Re: RE: CFEngine Help: Utilising debian backports
Author: simonblake
Link to topic: https://cfengine.com/forum/read.php?3,23727,23777#msg-23777

simonblake Wrote:

> It has occurred to me that I could take a copy of 
> "body package_method apt" from cfengine_stdlib.cf,
> rename it and add a "-t squeeze-backports" to the
> relevant apt-get and aptitude calls, then change
> the package_method to point at my changed body. 
> That might be quite a tidy way to route around the
> problem.

I did get around to trying this, and it worked perfectly.  Should anybody else 
need to do the same sort of thing, I ended up with:

vars:
  "backport_package" slist =>
    {"pacemaker", "corosync", "ocfs2-tools", "cman", "dlm-pcmk" };

packages:
debian::
  "$(backport_package)"
    package_policy => "addupdate",
    package_method => apt_bpo;

body package_method apt_bpo
{
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_installed_regex => ".*"; # all reported are installed
package_name_convention => "$(name)";
package_list_update_ifelapsed => "240";         # 4 hours

have_aptitude::
   package_add_command => "/usr/bin/aptitude -t squeeze-backports --assume-yes 
install";
   package_list_update_command => "/usr/bin/aptitude update";
   package_delete_command => "/usr/bin/aptitude -t squeeze-backports 
--assume-yes remove";
   package_update_command =>  "/usr/bin/aptitude -t squeeze-backports 
--assume-yes install";
   package_verify_command =>  "/usr/bin/aptitude show";
   package_noverify_regex => "(State: not installed|E: Unable to locate package 
.*)";

!have_aptitude::
   package_add_command => "/usr/bin/apt-get -t squeeze-backports --yes install";
   package_list_update_command => "/usr/bin/apt-get update";
   package_delete_command => "/usr/bin/apt-get -t squeeze-backports --yes 
remove";
   package_update_command =>  "/usr/bin/apt-get -t squeeze-backports --yes 
install";
   package_verify_command => "/usr/bin/dpkg -s";
   package_noverify_returncode => "1";
}

_______________________________________________
Help-cfengine mailing list
Help-cfengine@cfengine.org
https://cfengine.org/mailman/listinfo/help-cfengine

Reply via email to