require 'facter' def deb_installed_version ( name ) # returns an empty string if package is not installed, # otherwise the version version = `apt-cache policy #{name} | grep Installed 2>&1` version.slice! " Installed: " version.slice! "(none)" return version.strip.chomp end def couchdb_version bigcouch = deb_installed_version("bigcouch") if bigcouch.empty? couchdb = deb_installed_version("couchdb") if couchdb.empty? version = 'n/a' else version = couchdb end else # bigcouch is currently only available in one version (0.4.2), # which includes couchdb 1.1.1 version = '1.1.1' end return version end Facter.add(:couchdb_version) do setcode do couchdb_version end end