On Mon, Mar 29, 2010 at 10:52 AM, Nigel Kersten <[email protected]> wrote: > > Signed-off-by: Nigel Kersten <[email protected]> > --- > lib/puppet/util/suidmanager.rb | 29 +++++++++++++++++++++++++++-- > 1 files changed, 27 insertions(+), 2 deletions(-) > > diff --git a/lib/puppet/util/suidmanager.rb b/lib/puppet/util/suidmanager.rb > index a0a9178..8c31aee 100644 > --- a/lib/puppet/util/suidmanager.rb > +++ b/lib/puppet/util/suidmanager.rb > @@ -1,4 +1,3 @@ > -require 'facter' > require 'puppet/util/warnings' > require 'forwardable' > > @@ -6,14 +5,40 @@ module Puppet::Util::SUIDManager > include Puppet::Util::Warnings > extend Forwardable > > + # Note groups= is handled specially due to a bug in OS X 10.6 > to_delegate_to_process = [ :euid=, :euid, :egid=, :egid, > - :uid=, :uid, :gid=, :gid, :groups=, :groups ] > + :uid=, :uid, :gid=, :gid, :groups ] > > to_delegate_to_process.each do |method| > def_delegator Process, method > module_function method > end > > + def osx_maj_ver > + return @osx_maj_ver unless @osx_maj_ver.nil? > + require 'facter' > + # 'kernel' is available without explicitly loading all facts > + if Facter.value('kernel') != 'Darwin' > + �...@osx_maj_ver = false > + return @osx_maj_ver > + end > + # But 'macosx_productversion_major' requires it. > + Facter.loadfacts > + �...@osx_maj_ver = Facter.value('macosx_productversion_major') > + return @osx_maj_ver > + end > + module_function :osx_maj_ver > + > + def groups=(grouplist) > + if osx_maj_ver == '10.6' > + return true > + else > + return Process.groups = grouplist > + module_function :groups= # what does this do?
damnit. This spurious comment (now that I've worked out what module_function does) won't be in the actual commit. > + end > + end > + module_function :groups= > + > if Facter['kernel'].value == 'Darwin' > # Cannot change real UID on Darwin so we set euid > alias :uid :euid > -- > 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. > > -- 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.
