begin require 'facter/util/debian' rescue LoadError require "#{File.dirname(__FILE__)}/util/debian" end def debian_codename_to_next(codename) if codename == "sid" return "experimental" else codenames = Facter::Util::Debian::CODENAMES versions = Facter::Util::Debian::CODENAMES.invert current_version = versions[codename] return codenames[(current_version.to_i + 1).to_s] end end Facter.add(:debian_nextcodename) do confine :operatingsystem => 'Debian' setcode do debian_codename_to_next(Facter.value('debian_codename')) end end