Hi all, I'd like to make some improvements to the PEAR package provider (http://projects.puppetlabs.com/issues/1823) which in the suggessted form insufficiently supports channels.
1. Question: In the PEAR system, channels (DNS hostnames) are distribution points for packages. Package names are unique only within a channel. As far as I can see, the current implementation relies on the "name" to identify a package and gets the channel from "source". When querying, it only cares about the "name" and so do other package providers I've looked at. This approach fails for packages not in the "default" channel. So I'd like to make it mandatory for the name to be qualified as "my.channel.net/MyPackage" and omit the "source". Would this be ok or violate some of the contracts/practices regarding the Package type? 2. Question: The PEAR installer is a bit broken when it comes to checking for updates. You can tell it to upgrade a package to its latest version and it will then cache for some time (configurable) that the package is up to date. Further "upgrade" commands will not require any remote calls and tell you that everything is up to date. However, any attempt to figure out what the latest version of a package is or even running "upgrade" in "simulate" mode (so see whether anything would be upgraded) leads to remote calls (HTTP requests against the channel server) . Under these conditions, would it be ok to perform the actual upgrade to the latest package version in the "latest" method (possibly returning the *new* installed version with no additional costs) and do nothing in the "upgrade" method? 3. Question: I use the "instances" method to create (what? Resources?) for all installed packages which can be listed offline. Is it ok to return nil from the query method then because anything available should already be known? Thanks! -mp. -- You received this message because you are subscribed to the Google Groups "Puppet Developers" group. To post to this group, send email to [email protected]. To unsubscribe from this group, send email to [email protected]. For more options, visit this group at http://groups.google.com/group/puppet-dev?hl=en.
