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.

Reply via email to