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
[email protected]
https://cfengine.org/mailman/listinfo/help-cfengine