Forum: CFEngine Help
Subject: Package architecture with yum
Author: reverb
Link to topic: https://cfengine.com/forum/read.php?3,25953,25953#msg-25953

CFEngine Core 3.2.1 on CentOS 6, attempting to install i686 packages on an 
x86_64 architecture server with the x86_64 version of those packages already 
installed.   I don't promise the x86_64 versions of those packages, they just 
happen to already be installed.


bundle agent foo {
 
    vars:
         "i686_packages" slist => { "glibc", "libstdc++" };
    packages:
         "$(i686_packages)"
             package_policy => "add",
             package_method => yum_rpm,
             package_architectures => { "i686" };
}

body package_method yum_rpm
{
  package_changes => "bulk";
  package_list_command => "/bin/rpm -qa --qf '%{name} %{version}-%{release} 
%{arch}\n'";
  package_patch_list_command => "/usr/bin/yum check-update";

  package_list_name_regex    => "^(\S+?)\s\S+?\s\S+$";
  package_list_version_regex => "^\S+?\s(\S+?)\s\S+$";
  package_list_arch_regex    => "^\S+?\s\S+?\s(\S+)$";

  package_installed_regex => ".*";
  package_name_convention => "$(name)";

  package_patch_installed_regex => "^\s.*";
  package_patch_name_regex    => "([^.]+).*";
  package_patch_version_regex => "[^\s]\s+([^\s]+).*";
  package_patch_arch_regex    => "[^.]+\.([^\s]+).*";

  package_add_command    => "/usr/bin/yum -y install";
  package_update_command => "/usr/bin/yum -y update";
  package_delete_command => "/bin/rpm -e --nodeps --allmatches";
  package_verify_command => "/bin/rpm -V";
}




# cf-agent -b foo -f ./foo.cf -I -K
 >> Using command line specified bundlesequence
Q:yum -y install libst ...:Loaded plugins: fastestmirror, security
Q:yum -y install libst ...:Loading mirror speeds from cached hostfile
Q:yum -y install libst ...: * base: mirrors.greenmountainaccess.net
Q:yum -y install libst ...: * epel: mirror.cogentco.com
Q:yum -y install libst ...: * extras: mirrors.einstein.yu.edu
Q:yum -y install libst ...: * updates: yum.singlehop.com
Q:yum -y install libst ...:Setting up Install Process
Q:yum -y install libst ...:Package libstdc++-4.4.6-3.el6.x86_64 already 
installed and latest version
Q:yum -y install libst ...:Package glibc-2.12-1.47.el6_2.12.x86_64 already 
installed and latest version
Q:yum -y install libst ...:Nothing to do
Q:yum -y install libst ...:



Verbose output:


cf3>  -> Package version was not specified
cf3>  ... trying listed arch i686
cf3>  -> Looking for (glibc,*,i686)
cf3>  -> Matched name glibc
cf3> No installed packages matched (glibc,*,i686)
cf3>  -> Looking for (glibc,*,i686)
cf3>  -> Matched name glibc
cf3> No installed packages matched (glibc,*,i686)
cf3> Checking if package (glibc,*,i686) is at the desired state 
(installed=0,matched=0)
cf3>  -> Package promises to refer to itself as "glibc" to the manager
cf3>  -> Package version seems to match criteria
cf3>  -> Schedule package for addition
cf3>  -> Package (glibc,any,any) found

snip...

cf3> Execute scheduled package addition
cf3> Command prefix: /usr/bin/yum -y install
cf3> Executing /usr/bin/yum -y install libstdc++ glibc ...



Expected behavior would be to run yum with the package architecture appended.   
I found a similar situation that was reportedly fixed back in 3.1.4:  
https://cfengine.com/bugtracker/view.php?id=456

Any suggestions, am I doing something wrong?

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

Reply via email to