What does the following change do? It would seem to change the logic so that resolvedcmd could be null if %s didn't exist in the raw string. Why is this better?

@@ -453,9 +477,8 @@ if (cmd_tail = strstr(rawcmd, "%s"))
    cmd_tail += 2;
    cmd_tail_len = strlen(cmd_tail);
    --cmd_args;
+   strncpy(resolvedcmd, rawcmd, CF_BUFSIZE*2);
    }
-
-strncpy(resolvedcmd, rawcmd, CF_BUFSIZE*2);

 Verbose("Package manager will be invoked as %s\n", resolvedcmd);

On Jan 8, 2008, at 4:37 PM, Eric Searcy wrote:
Please consider the attached patch to package.c and do.c, which provides further changes made necessary by the packages rewrite done last year. A few details about what the patch does:

* do.c, bug: Remove the duplicate appending of the package name in do.c when a package remove happens before PackageList is called, because PackageList appends the packages (with version string) found.

* package.c, feature: Split logic for package upgrades of sun/ freebsd from other package managers in UpgradePackage, as the other package managers have the ability to do some sort of atomic upgrade--that is, the upgrade is handled by the installer; the old package does not need to be (and in some cases, should not) be uninstalled prior. This makes action=upgrade now work for Gentoo, Red Hat/RPM-based, and Debian without any more code needing to be written.

* package.c, feature: Write the PortagePackageList so that action=remove is now available for Portage.

Let me know if I can further explain any of the actual code.

Attachment: portage.patch
Description: Binary data




--
Eric Searcy
OSU Open Source Lab


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

--
Jo Rhett
senior geek

Silicon Valley Colocation
Support Phone: 408-400-0550




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

Reply via email to