I may not understand your problem fully, but I do something similar in one of my base classes as I had a similar HP software dependency:
case $operatingsystem { centos: { case $operatingsystemrelease { 5.0,5.1,5.2,5.3,5.4,5.5,5.6,5.7,5.8,5.9: { include rhel5, rhel5-absent } 6.0,6.1,6.2,6.3,6.4,6.5,6.6,6.7,6.8,6.9: { include rhel6, rhel6-absent } } } redhat: { case $operatingsystemrelease { 5.0,5.1,5.2,5.3,5.4,5.5,5.6,5.7,5.8,5.9: { include rhel5, rhel5-absent } 6.0,6.1,6.2,6.3,6.4,6.5,6.6,6.7,6.8,6.9: { include rhel6, rhel6-absent } } } } Then in rhel6.pp class rhel6 { package { ["at", "compat-libstdc++-296", "compat-libstdc++-33", "compat-libstdc++-33.i686",]: ensure => present, provider => yum,} In rhel5.pp class rhel5 { package { ["alchemist", "anacron", "at", "compat-libstdc++-296", "compat-libstdc++-33", "compat-libstdc++-33.i386",]: ensure => present, provider => yum,} My Puppet-foo could use some work, but you can see the logic I employ. Brian On Monday, February 27, 2012 11:44:00 AM UTC-6, Alan Laird wrote: > > On Feb 24, 5:52 am, jcbollinger <john.bollin...@stjude.org> wrote: > > On Feb 23, 4:57 pm, AlanLaird<a...@laird.net> wrote: > > > > > Any suggestions on the right way to do this? > > > > If neither of the things you already tried works, then perhaps you > > should fall back to "don't worry about it." If you install software > > only from packages, then, since you're usign the yum provider, > > installing any other package that needs libstdc++.i386 will cause > > libstdc++.i386 to be installed too. And installing only from packages > > is an excellent practice, even if it means you sometimes have to roll > > your own packages and maintain a local package repository (neither is > > hard). > > > > Personally, I am inclined to lean heavily on my package manager. I > > think it's more robust and maintainable to have Puppet manage only my > > direct package requirements. > > This is a third-party package with poorly constructed depends in a > mixed 32 and 64 bit environment as I support moving from Centos5 to > Centos6. Repackaging the vendor package is easy but it would need to > be done at each release. > > I've solved the problem of the day by installing the needed libstdc+ > +34-3.4.0-1.i386 specifically but it's a clunky way to deal with this > issue. > > I would love to find a crafty puppet way to do this. > > Alan > > -- You received this message because you are subscribed to the Google Groups "Puppet Users" group. To view this discussion on the web visit https://groups.google.com/d/msg/puppet-users/-/fyW1usT6TQIJ. To post to this group, send email to puppet-users@googlegroups.com. To unsubscribe from this group, send email to puppet-users+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/puppet-users?hl=en.