summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorLuke Kanies <luke@madstop.com>2005-06-09 17:01:17 +0000
committerLuke Kanies <luke@madstop.com>2005-06-09 17:01:17 +0000
commit500a1358c76e48dfab59fc983a1a6b03e82e14a6 (patch)
tree513c4744c16c4e1b9c767eb7fe5b7308cfe4ece1
parent90b9b2d9893ffad3b79bd5e0e0d15e7fc5f38698 (diff)
downloadpuppet-500a1358c76e48dfab59fc983a1a6b03e82e14a6.tar.gz
puppet-500a1358c76e48dfab59fc983a1a6b03e82e14a6.tar.xz
puppet-500a1358c76e48dfab59fc983a1a6b03e82e14a6.zip
fixing file.rb so it works on Darwin, also
git-svn-id: https://reductivelabs.com/svn/puppet/library/trunk@297 980ebf18-57e1-0310-9a29-db15c13687c0
-rw-r--r--lib/blink/type/file.rb23
1 files changed, 16 insertions, 7 deletions
diff --git a/lib/blink/type/file.rb b/lib/blink/type/file.rb
index 772ab26ae..9d0f98c61 100644
--- a/lib/blink/type/file.rb
+++ b/lib/blink/type/file.rb
@@ -271,18 +271,27 @@ module Blink
if defined? @should
unless self.should.is_a?(Integer)
begin
+ require 'blink/fact'
group = Etc.getgrnam(self.should)
- # yeah, don't ask me
- # this is retarded
- #p group
- if group.gid == ""
+ # apparently os x is six shades of weird
+ os = Blink::Fact["Operatingsystem"]
+
+ gid = ""
+ case os
+ when "Darwin":
+ gid = group.passwd
+ else
+ gid = group.gid
+ end
+ if gid == ""
raise "Could not retrieve gid for %s" % self.parent
end
Blink.debug "converting %s to integer %d" %
- [self.should,group.gid]
- self.should = group.gid
+ [self.should,gid]
+ self.should = gid
rescue
- raise "Could not get any info on group %s" % self.should
+ #raise "Could not get any info on group %s" % self.should
+ raise
end
end
end