Forum: Cfengine Help
Subject: Re: Package architecture specification being ignored by cf3
Author: daveseff
Link to topic: https://cfengine.com/forum/read.php?3,17577,20090#msg-20090

Here is my analysis, 

Function PackageMatch() in verify_packages.c takes the (name, version, and 
arch) of a package in a promise and loops through a list of installed packages. 
If the name matches it will then try to match arch and version, beginning  with 
"*". If the name and version matches, the function returns true, and the 
package install count is incremented. Arch is ignored.   

the system looks for each arch specified in the promise. But the problem is 
that if the system is looking for (foo,*,x86_64) which is not installed the 
function ultimately returns false and prints, 

(..."!! Unsatisfied constraints in promise (%s,%s,%s)\n",n,v,a);

So now the package (plus arch) in the promise should be marked for install, 
because that is what the promise is told to do when using package_architectures 
=> { "x86_64", "i386" };

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

Reply via email to