44: def latest
45: output = aptcache :showpkg, @resource[:name]
46:
47: if output =~ /Versions:\s*\n((\n|.)+)^$/
48: versions = $1
49: available_versions = versions.split(/\n/).collect { |version|
50: if version =~ /^([^\(]+)\(/
51: $1
52: else
53: self.warning "Could not match version '#{version}'"
54: nil
55: end
56: }.reject { |vers| vers.nil? }.sort { |a,b|
57: versioncmp(a,b)
58: }
59:
60: if available_versions.length == 0
61: self.debug "No latest version"
62: print output if Puppet[:debug]
63: end
64:
65:
66: return available_versions.pop
67: else
68: self.err "Could not match string"
69: end
70: end