Hi all,

It appears that Cfengine 2.2.10 does not handle Solaris SVR4 package names with 
hyphens in them correctly. 

Given a statement like
packages:
  solaris::
    CSWpy-numpy pkgmgr=sun action=install

>From my reading of the source code, the function SUNPackageCheck() in 
>packages.c incorrectly assumes that CSWpy is the package name, and numpy is 
>the requested package version. See lines 1220 and 1258 in packages.c [1]

I don't care which version of a package is installed - I always want the 
freshest version of a package. So it makes little sense to me to request a 
particular version of a package by doing something like 
CSWpy-numpy-EXPLICITVERSIONHERE per the manual. [2] This also breaks if your 
favorite package has a funny version string like 0.2.4-alpha

I thought about modifying the code to packages.c to first try looking for the 
whole package name as specified in the package argument to SUNPackageCheck, and 
then fall back to checking for the version to be after the last hypen, but this 
would fall down in cases where you had a package called VENDfoo installed but 
you needed VENDfoo-bar installed.

I'm tempted to just modify my package install wrapper script to look for the 
string "-ANYVERSION" and strip it from the package names to trick 
SUNPackageCheck() into doing the "right" thing. Any thoughts?

[1] 
http://svn.iu.hio.no/viewvc/trunk/src/package.c?view=annotate&root=Cfengine-2
[2] http://www.cfengine.org/manuals/cf2-Reference.html#packages

Geoff Davis
Scripps Institution of Oceanography
gada...@ucsd.edu, (858) 822-5756



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

Reply via email to