Hello,

A little patch to make the expansion of the package names in
InstallPackagesItem.

Regards.
-- 
Daniel Dehennin
Récupérer ma clef GPG:
gpg --keyserver pgp.mit.edu --recv-keys 0x6A2540D1

--- src/do.c	2007-11-01 22:34:37 +0000
+++ src/do.c	2007-11-04 17:07:59 +0000
@@ -2844,9 +2844,7 @@
       continue;
       }
 
-   ExpandVarstring(ptr->name,name,"");
-   
-   snprintf(lock,CF_BUFSIZE-1,"%s_%d_%d",name,ptr->cmp,ptr->action);
+   snprintf(lock,CF_BUFSIZE-1,"%s_%d_%d",ptr->name,ptr->cmp,ptr->action);
    
    if (!GetLock(ASUniqueName("packages"),CanonifyName(lock),ptr->ifelapsed,ptr->expireafter,VUQNAME,CFSTARTTIME))
       {
@@ -2854,13 +2852,13 @@
       continue;
       }
    
-   match = PackageCheck(ptr,name,ptr->pkgmgr, ptr->ver, ptr->cmp);
+   match = PackageCheck(ptr,ptr->name,ptr->pkgmgr, ptr->ver, ptr->cmp);
    
    /* Check for a problem executing the command */
    
    if ((match != 1) && (match != 0))
       {
-      snprintf(OUTPUT,CF_BUFSIZE,"Error: Package manager query failed, skipping %s\n", name);
+      snprintf(OUTPUT,CF_BUFSIZE,"Error: Package manager query failed, skipping %s\n", ptr->name);
       CfLog(cferror,OUTPUT,"");
       ptr->done = 'y';
       continue;
@@ -2882,12 +2880,12 @@
 
       if (ptr->action == pkgaction_remove) 
          {
-         AppendItem(&pending_pkgs,name,NULL);
-         PackageList(ptr,name,ptr->pkgmgr,ptr->ver,ptr->cmp,&pending_pkgs);
+         AppendItem(&pending_pkgs,ptr->name,NULL);
+         PackageList(ptr,ptr->name,ptr->pkgmgr,ptr->ver,ptr->cmp,&pending_pkgs);
          }
       else if (ptr->action == pkgaction_upgrade)
          {
-         UpgradePackage(ptr,name,ptr->pkgmgr,ptr->ver,ptr->cmp);
+         UpgradePackage(ptr,ptr->name,ptr->pkgmgr,ptr->ver,ptr->cmp);
          }
       }
    else
@@ -2896,7 +2894,7 @@
 
       if (ptr->action == pkgaction_install)
          {
-         AppendItem(&pending_pkgs,name, NULL);
+         AppendItem(&pending_pkgs,ptr->name, NULL);
          
          /* Some package managers operate best doing things one at a time. */
          

--- src/install.c	2007-10-11 09:09:51 +0000
+++ src/install.c	2007-11-04 17:03:07 +0000
@@ -5049,6 +5049,7 @@
 
 { struct Package *ptr;
   char buffer[CF_EXPANDSIZE];
+  char expanded_name[CF_EXPANDSIZE];
 
 if ( ! IsInstallable(CLASSBUFF))
    {
@@ -5066,15 +5067,17 @@
    return;
    }
 
+ExpandVarstring(name,expanded_name,"");
+
 Debug1("InstallPackagesItem(%s,%s,%s,%s,%s)\n",
-        name,ver,CMPSENSETEXT[sense],PKGMGRTEXT[mgr],PKGACTIONTEXT[action]);
+        expanded_name,ver,CMPSENSETEXT[sense],PKGMGRTEXT[mgr],PKGACTIONTEXT[action]);
 
 if ((ptr = (struct Package *)malloc(sizeof(struct Package))) == NULL)
    {
    FatalError("Memory Allocation failed for InstallPackageItem() #1");
    }
 
-if ((ptr->name = strdup(name)) == NULL)
+if ((ptr->name = strdup(expanded_name)) == NULL)
    {
    FatalError("Memory Allocation failed for InstallPackageItem() #2");
    }


_______________________________________________
Bug-cfengine mailing list
[email protected]
https://cfengine.org/mailman/listinfo/bug-cfengine

Reply via email to