]> git.donarmstrong.com Git - dsa-puppet.git/commitdiff
and try this
authorStephen Gran <steve@lobefin.net>
Tue, 17 Jan 2012 15:55:30 +0000 (15:55 +0000)
committerStephen Gran <steve@lobefin.net>
Tue, 17 Jan 2012 15:55:30 +0000 (15:55 +0000)
Signed-off-by: Stephen Gran <steve@lobefin.net>
modules/debian-org/lib/facter/lsb-for-bsd.rb [new file with mode: 0644]

diff --git a/modules/debian-org/lib/facter/lsb-for-bsd.rb b/modules/debian-org/lib/facter/lsb-for-bsd.rb
new file mode 100644 (file)
index 0000000..09fd370
--- /dev/null
@@ -0,0 +1,24 @@
+{  "LSBRelease"         => %r{^LSB Version:\t(.*)$},
+   "LSBDistId"          => %r{^Distributor ID:\t(.*)$},
+   "LSBDistRelease"     => %r{^Release:\t(.*)$},
+   "LSBDistDescription" => %r{^Description:\t(.*)$},
+   "LSBDistCodeName"    => %r{^Codename:\t(.*)$}
+}.each do |fact, pattern|
+    Facter.add(fact) do
+        confine :kernel => 'GNU/kFreeBSD'
+        setcode do
+            unless defined?(@@lsbdata) and defined?(@@lsbtime) and (Time.now.to_i - @@lsbtime.to_i < 5)
+                type = nil
+                @@lsbtime = Time.now
+                @@lsbdata = Facter::Util::Resolution.exec('lsb_release -a 2>/dev/null')
+            end
+
+            if pattern.match(@@lsbdata)
+                $1
+            else
+                nil
+            end
+        end
+    end
+end
+