Hey all,

After playing with puppet (v0.25.4 from ports) for a while on Freebsd,
I got rather annoyed at the current set of package providers
(ports.rb, freebsd.rb) and the bugs/limitations within them, so coded
up a replacement provider (portupgrade.rb) for Package for freebsd for
people to use.

Not being that familiar with puppet's code submission process, I've
put it up on github so people can see it and do whatever with it.

URL:  http://github.com/westr/puppet/tree/feature/master/portupgrade

Biggest notable items:

 - The package name is actually the port origin rather than the public
version name.  This gets around the issues with ports not having
unique names (eg: "database/mysql51-client" changing to "mysql-
client-5.1.45").  Use an alias if you want to use the portname in your
configuration.

- "ensure => latest" works!

- requires portupgrade to be installed

Configuration example:
class bash {
        package { "shells/bash":
                provider => portupgrade,
                alias   => "bash",
                ensure  => latest,
        }
}


There's a couple of (minor) things that still need to be done
(additional error checking/recovery, pkgdb -u checks, etc), but this
works better than the current freebsd ports system.  Also, I'm not a
ruby programmer, so might be a few errors in there, and I tab indent -
try not to kill me for that.  :)

-- 
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