summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBenedikt Boehm <hollow@gentoo.org>2009-11-16 20:18:50 +0000
committerBenedikt Boehm <hollow@gentoo.org>2009-11-16 20:18:50 +0000
commitdd9416fcf0beeed749d9219bffff28543d19b259 (patch)
tree43648e315f45db4700c9611e06fa0101df6782d3 /app-admin/puppet/files
parentia64/s390/sh/sparc stable wrt #287575 (diff)
downloadhistorical-dd9416fcf0beeed749d9219bffff28543d19b259.tar.gz
historical-dd9416fcf0beeed749d9219bffff28543d19b259.tar.bz2
historical-dd9416fcf0beeed749d9219bffff28543d19b259.zip
version bump + backported portage provider for eix-0.18 compatibility (see #287714)
Package-Manager: portage-2.2_rc49/cvs/Linux i686
Diffstat (limited to 'app-admin/puppet/files')
-rw-r--r--app-admin/puppet/files/puppet-0.25.1-eix-0.18.patch111
1 files changed, 111 insertions, 0 deletions
diff --git a/app-admin/puppet/files/puppet-0.25.1-eix-0.18.patch b/app-admin/puppet/files/puppet-0.25.1-eix-0.18.patch
new file mode 100644
index 000000000000..438507e9a072
--- /dev/null
+++ b/app-admin/puppet/files/puppet-0.25.1-eix-0.18.patch
@@ -0,0 +1,111 @@
+diff --git a/lib/puppet/provider/package/portage.rb b/lib/puppet/provider/package/portage.rb
+index e920580..2a8654c 100644
+--- a/lib/puppet/provider/package/portage.rb
++++ b/lib/puppet/provider/package/portage.rb
+@@ -1,7 +1,6 @@
+ require 'puppet/provider/package'
+
+ Puppet::Type.type(:package).provide :portage, :parent => Puppet::Provider::Package do
+- include Puppet::Util::Execution
+ desc "Provides packaging support for Gentoo's portage system."
+
+ has_feature :versionable
+@@ -13,33 +12,32 @@ Puppet::Type.type(:package).provide :portage, :parent => Puppet::Provider::Packa
+ defaultfor :operatingsystem => :gentoo
+
+ def self.instances
+- result_format = /(\S+) (\S+) \[(?:([0-9.a-zA-Z]+(?:_(?:alpha|beta|pre|rc|p)[0-9]*)*(?:-r[0-9]*)?)(?:\([^\)]+\))?(?:\[([^\]]+)\])?[ ]*)*\] \[(?:(?:\{M\})?(?:\([~*]+\))?([0-9.a-zA-Z]+(?:_(?:alpha|beta|pre|rc|p)[0-9]*)*(?:-r[0-9]*)?)(?:\(([^\)]+)\))?(?:![mf])*(?:\[([^\]]+)\])?)?\] ([\S]*) (.*)/
+- result_fields = [:category, :name, :ensure, :ensure_overlay, :version_available, :slot, :overlay, :vendor, :description]
++ result_format = /(\S+) (\S+) \[(\S+)\] \[(\S+)\] (\S+) (.*)/
++ result_fields = [:category, :name, :ensure, :version_available, :vendor, :description]
+
+- version_format = "<version>{!last} {}"
+- search_format = "<category> <name> [<installedversions:SPLITVERSIONS>] [<bestversion:SPLITVERSIONS>] <homepage> <description>"
++ version_format = "{last}<version>{}"
++ search_format = "<category> <name> [<installedversions:LASTVERSION>] [<bestversion:LASTVERSION>] <homepage> <description>\n"
+
+ begin
+ if !FileUtils.uptodate?("/var/cache/eix", %w(/usr/bin/eix /usr/portage/metadata/timestamp))
+ update_eix
+ end
++
+ search_output = nil
+- withenv :SPLITVERSIONS => version_format do
+- search_output = eix "--nocolor", "--pure-packages", "--installed", "--format", search_format
++ Puppet::Util::Execution.withenv :LASTVERSION => version_format do
++ search_output = eix "--nocolor", "--pure-packages", "--stable", "--installed", "--format", search_format
+ end
+
+ packages = []
+ search_output.each do |search_result|
+- match = result_format.match( search_result )
++ match = result_format.match(search_result)
+
+ if match
+ package = {}
+- result_fields.zip(match.captures) { |field, value|
++ result_fields.zip(match.captures) do |field, value|
+ package[field] = value unless !value or value.empty?
+- }
++ end
+ package[:provider] = :portage
+- package[:ensure] = package[:ensure].split.last
+-
+ packages << new(package)
+ end
+ end
+@@ -74,36 +72,35 @@ Puppet::Type.type(:package).provide :portage, :parent => Puppet::Provider::Packa
+ end
+
+ def query
+- result_format = /(\S+) (\S+) \[(?:([0-9.a-zA-Z]+(?:_(?:alpha|beta|pre|rc|p)[0-9]*)*(?:-r[0-9]*)?)(?:\([^\)]+\))?(?:\[([^\]]+)\])?[ ]*)*\] \[(?:(?:\{M\})?(?:\([~*]+\))?([0-9.a-zA-Z]+(?:_(?:alpha|beta|pre|rc|p)[0-9]*)*(?:-r[0-9]*)?)(?:\(([^\)]+)\))?(?:![mf])*(?:\[([^\]]+)\])?)?\] ([\S]*) (.*)/
+- result_fields = [:category, :name, :ensure, :ensure_overlay, :version_available, :slot, :overlay, :vendor, :description]
++ result_format = /(\S+) (\S+) \[(\S+)\] \[(\S+)\] (\S+) (.*)/
++ result_fields = [:category, :name, :ensure, :version_available, :vendor, :description]
++
++ version_format = "{last}<version>{}"
++ search_format = "<category> <name> [<installedversions:LASTVERSION>] [<bestversion:LASTVERSION>] <homepage> <description>\n"
+
+ search_field = package_name.count('/') > 0 ? "--category-name" : "--name"
+ search_value = package_name
+
+- version_format = "<version>{!last} {}"
+- search_format = "<category> <name> [<installedversions:FORMAT_PVERSION>] [<bestversion:FORMAT_PVERSION>] <homepage> <description>"
+-
+ begin
+ if !FileUtils.uptodate?("/var/cache/eix", %w(/usr/bin/eix /usr/portage/metadata/timestamp))
+ update_eix
+ end
++
+ search_output = nil
+- withenv :SPLITVERSIONS => version_format do
+- search_output = eix "--nocolor", "--pure-packages", "--format", search_format, "--exact", search_field, search_value
++ Puppet::Util::Execution.withenv :LASTVERSION => version_format do
++ search_output = eix "--nocolor", "--pure-packages", "--stable", "--format", search_format, "--exact", search_field, search_value
+ end
+
+ packages = []
+ search_output.each do |search_result|
+- match = result_format.match( search_result )
++ match = result_format.match(search_result)
+
+- if( match )
++ if match
+ package = {}
+- result_fields.zip( match.captures ) { |field, value| package[field] = value unless !value or value.empty? }
+- if package[:ensure]
+- package[:ensure] = package[:ensure].split.last
+- else
+- package[:ensure] = :absent
++ result_fields.zip(match.captures) do |field, value|
++ package[field] = value unless !value or value.empty?
+ end
++ package[:ensure] = package[:ensure] ? package[:ensure] : :absent
+ packages << package
+ end
+ end
+@@ -126,4 +123,3 @@ Puppet::Type.type(:package).provide :portage, :parent => Puppet::Provider::Packa
+ return self.query[:version_available]
+ end
+ end
+-