diff --git a/lib/puppet/provider/entropy_keywords/parsed.rb b/lib/puppet/provider/entropy_keywords/parsed.rb index bf309fe..04ff001 100644 --- a/lib/puppet/provider/entropy_keywords/parsed.rb +++ b/lib/puppet/provider/entropy_keywords/parsed.rb @@ -18,17 +18,18 @@ Puppet::Type.type(:entropy_keywords).provide(:parsed, :match => /^\s*#/ text_line :unmanaged, - :match => %r{^(\S+)\s+([<>]?=)?([a-zA-Z+\/-]*)(?:-(\d+(?:\.\d+)*[a-z]*(?:_(?:alpha|beta|pre|p|rc)\d*)?(?:-r\d+)?))?(?:\s+repo=([a-zA-Z0-9\._-]+))?\s*$} + :match => %r{^(\S+)\s+([<>]?=)?(?:([a-zA-Z+\/-]+)(?:-(\d+(?:\.\d+)*[a-z]*(?:_(?:alpha|beta|pre|p|rc)\d*)?(?:-r\d+)?))?)?(?:\s*repo=([a-zA-Z0-9\._-]+))?\s*$} record_line :parsed, :fields => %w{keyword operator package version repo name}, - :match => %r{^(\S+)\s+([<>]?=)?([a-zA-Z+\/-]*)(?:-(\d+(?:\.\d+)*[a-z]*(?:_(?:alpha|beta|pre|p|rc)\d*)?(?:-r\d+)?))?(?:\s+repo=([a-zA-Z0-9\._-]+))?\s+## Puppet Name: (.*)\s*$}, + :match => %r{^(\S+)\s+([<>]?=)?(?:([a-zA-Z+\/-]+)(?:-(\d+(?:\.\d+)*[a-z]*(?:_(?:alpha|beta|pre|p|rc)\d*)?(?:-r\d+)?))?)?(?:\s*repo=([a-zA-Z0-9\._-]+))?\s+## Puppet Name: (.*)\s*$}, :to_line => proc { |record| line = record[:keyword] + " " line += record[:operator] if record[:operator] line += record[:package] if record[:package] line += "-" + record[:version] if record[:version] - line += " repo=" + record[:repo] if record[:repo] + line += " " if record[:package] && record[:repo] + line += "repo=" + record[:repo] if record[:repo] line += " ## Puppet Name: " + record[:name] line