On Fri, Mar 26, 2010 at 5:22 PM, Luke Kanies <[email protected]> wrote: > I'd much prefer the groups= method have this behaviour in it, rather than > have it done at loading time. > > Everyone loads this util module but not everyone uses the groups= method, so > just having the code in groups= will make testing/debugging much easier and > just generally make the system simpler.
I don't think I quite get what you mean. The groups= method gets delegated to Process.groups= ? It isn't actually defined for this class at all normally. > > On Mar 26, 2010, at 4:04 PM, Nigel Kersten wrote: > >> >> Signed-off-by: Nigel Kersten <[email protected]> >> --- >> lib/puppet/util/suidmanager.rb | 15 ++++++++++++++- >> 1 files changed, 14 insertions(+), 1 deletions(-) >> >> diff --git a/lib/puppet/util/suidmanager.rb >> b/lib/puppet/util/suidmanager.rb >> index a0a9178..99ed3a4 100644 >> --- a/lib/puppet/util/suidmanager.rb >> +++ b/lib/puppet/util/suidmanager.rb >> @@ -9,12 +9,25 @@ module Puppet::Util::SUIDManager >> to_delegate_to_process = [ :euid=, :euid, :egid=, :egid, >> :uid=, :uid, :gid=, :gid, :groups=, :groups >> ] >> >> + if Facter.value('kernel') == 'Darwin' >> + Facter.loadfacts >> + osx_maj_ver = Facter.value('macosx_productversion_major') >> + raise Puppet::Error, "OS X requires Facter >= 1.5.5" if >> osx_maj_ver.nil? >> + # Process.groups= broken on 10.6 >> http://openradar.appspot.com/7791698 >> + if osx_maj_ver == '10.6' >> + to_delegate_to_process.delete(:groups=) >> + def self.groups=(grouplist) >> + return true >> + end >> + end >> + end >> + >> to_delegate_to_process.each do |method| >> def_delegator Process, method >> module_function method >> end >> >> - if Facter['kernel'].value == 'Darwin' >> + if Facter.value('kernel') == 'Darwin' and osx_maj_ver == '10.4' >> # Cannot change real UID on Darwin so we set euid >> alias :uid :euid >> alias :gid :egid >> -- >> 1.7.0.3 >> >> -- >> 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. >> > > > -- > I take my children everywhere, but they always find their way > back home. --Robert Orben > --------------------------------------------------------------------- > Luke Kanies -|- http://puppetlabs.com -|- +1(615)594-8199 > > -- > 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. > > -- nigel -- 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.
