Thanks for the reply. I guess I have muddle my thinking a little. The dependency hell really only exists on the repo server. Installing pkgutilplus (which has the scripts to build the catalog) has the extra dependencies. First Python then all of OpenCSW's python dependencies. A number of the dependencies are already installed via other packages re SMC or even in house builds so I may be able to minimise the install base.
Regarding the sun.rb that already exists, we have many older Solaris versions that we will be trying to manage via puppet all the way back to 2.6. I think pkgadd only started dealing with http sources in 10. (would have been nice though). So I guess my options are down to: 1> deal with the pain on 1 or 2 servers for the repo/catalog building stuff and install pkgutil on the clients without too many issues 2> I have a ruby script that will accept a file or url argument (call it a ruby drop in for wget) that will do an md5sum check on what it has retrieved that is compared to a hash generated and sitting on the web server. I could extend the sun.rb to include the actual retrieval of the package via this 'ruby wget' that then continues on to the standard pkgadd/pkgrm/pkginfo commands. This would limit the need for installing extra packages (apart from the ruby script) but perhaps push the dependency checking into Puppet. Will have to think on this for a bit. Regards - Geoff On Tuesday, 27 November 2012 06:56:36 UTC+11, Jeff McCune wrote: > > On Wed, Nov 21, 2012 at 2:42 PM, Geoff Hargreaves > <[email protected]<javascript:>> > wrote: > > Perhaps I need to elaborate further. > > > > I wish to build this wrapper and make a provider for puppet that will > deal > > with pkg management for anything Solaris 10 and below in the same manner > > (roughly at first) as apt-get or yum. > > It sounds like you're idea is to create a new package management > system that is like OpenCSW, but is built on top of Ruby instead of > Perl like pkgutil is built on top of. > > I'm not sure you'll end up in a better situation if you take this > approach. Installing packages from an online repository requires a > fair amount of base functionality to get started. You probably want > an HTTP client library, some way to serialize and deserialize data > that contains information about the packages, and something that looks > like a database to keep track of all this stuff. The decision for > pkgutil to use Perl seems quite reasonable already; Perl is usually > installed on Solaris systems and it's provided by the OS vendor rather > than as a third party package. Likewise for wget. > > Am I understanding the situation correctly? Honestly, I'm, a bit > surprised you're getting such a sprawling dependency graph. IIRC, > using pkgutil to bootstrap Ruby didn't require that many packages. > > As another approach, you might also want to take a look at the > packages we provide for Solaris 10 in the Puppet Enterprise > distribution. These packages install Ruby and all of the dependencies > for Puppet without also requiring OpenCSW or other third party > packages. > > Hope this helps, > -Jeff > -- You received this message because you are subscribed to the Google Groups "Puppet Developers" group. To view this discussion on the web visit https://groups.google.com/d/msg/puppet-dev/-/EX6G_Rg5FSAJ. 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.
