Ticket #973: fix-973.patch
| File fix-973.patch, 25.0 kB (added by sdelmont, 1 year ago) |
|---|
-
a/lib/puppet/provider/package.rb
old new 26 26 end 27 27 @property_hash.dup 28 28 end 29 30 def internalname 31 @resource[:internalname] || @resource[:name] 32 end 29 33 end -
a/lib/puppet/provider/package/appdmg.rb
old new 95 95 end # def self.installpkgdmg 96 96 97 97 def query 98 if FileTest.exists?("/var/db/.puppet_appdmg_installed_#{ @resource[:name]}")99 return {:name => @resource[:name], :ensure => :present}98 if FileTest.exists?("/var/db/.puppet_appdmg_installed_#{self.internalname}") 99 return {:name => self.internalname, :ensure => :present} 100 100 else 101 101 return nil 102 102 end … … 107 107 unless source = @resource[:source] 108 108 self.fail "Mac OS X PKG DMG's must specify a package source." 109 109 end 110 unless name = @resource[:name]110 unless name = self.internalname 111 111 self.fail "Mac OS X PKG DMG's must specify a package name." 112 112 end 113 113 self.class.installpkgdmg(source,name) -
a/lib/puppet/provider/package/apple.rb
old new 35 35 end 36 36 37 37 def query 38 if FileTest.exists?("/Library/Receipts/#{ @resource[:name]}.pkg")39 return {:name => @resource[:name], :ensure => :present}38 if FileTest.exists?("/Library/Receipts/#{self.internalname}.pkg") 39 return {:name => self.internalname, :ensure => :present} 40 40 else 41 41 return nil 42 42 end -
a/lib/puppet/provider/package/apt.rb
old new 49 49 50 50 checkforcdrom() 51 51 52 str = @resource[:name]52 str = self.internalname 53 53 case should 54 54 when true, false, Symbol 55 55 # pass … … 78 78 79 79 # What's the latest package version available? 80 80 def latest 81 output = aptcache :policy, @resource[:name]81 output = aptcache :policy, self.internalname 82 82 83 83 if output =~ /Candidate:\s+(\S+)\s/ 84 84 return $1 … … 106 106 end 107 107 108 108 def uninstall 109 aptget "-y", "-q", :remove, @resource[:name]109 aptget "-y", "-q", :remove, self.internalname 110 110 end 111 111 112 112 def purge 113 aptget '-y', '-q', 'remove', '--purge', @resource[:name]113 aptget '-y', '-q', 'remove', '--purge', self.internalname 114 114 # workaround a "bug" in apt, that already removed packages are not purged 115 115 super 116 116 end -
a/lib/puppet/provider/package/aptitude.rb
old new 25 25 end 26 26 27 27 def purge 28 aptitude '-y', 'purge', @resource[:name]28 aptitude '-y', 'purge', self.internalname 29 29 end 30 30 end 31 31 -
a/lib/puppet/provider/package/aptrpm.rb
old new 25 25 def install 26 26 should = @resource.should(:ensure) 27 27 28 str = @resource[:name]28 str = self.internalname 29 29 case should 30 30 when true, false, Symbol 31 31 # pass … … 42 42 43 43 # What's the latest package version available? 44 44 def latest 45 output = aptcache :showpkg, @resource[:name]45 output = aptcache :showpkg, self.internalname 46 46 47 47 if output =~ /Versions:\s*\n((\n|.)+)^$/ 48 48 versions = $1 … … 76 76 end 77 77 78 78 def uninstall 79 aptget "-y", "-q", 'remove', @resource[:name]79 aptget "-y", "-q", 'remove', self.internalname 80 80 end 81 81 82 82 def purge 83 aptget '-y', '-q', 'remove', '--purge', @resource[:name]83 aptget '-y', '-q', 'remove', '--purge', self.internalname 84 84 end 85 85 end 86 86 -
a/lib/puppet/provider/package/blastwave.rb
old new 86 86 end 87 87 88 88 def install 89 pkgget "-f", :install, @resource[:name]89 pkgget "-f", :install, self.internalname 90 90 end 91 91 92 92 # Retrieve the version from the current package file. 93 93 def latest 94 hash = self.class.blastlist(:justme => @resource[:name])94 hash = self.class.blastlist(:justme => self.internalname) 95 95 hash[:avail] 96 96 end 97 97 98 98 def query 99 if hash = self.class.blastlist(:justme => @resource[:name])99 if hash = self.class.blastlist(:justme => self.internalname) 100 100 hash 101 101 else 102 102 {:ensure => :absent} … … 105 105 106 106 # Remove the old package, and install the new one 107 107 def update 108 pkgget "-f", :upgrade, @resource[:name]108 pkgget "-f", :upgrade, self.internalname 109 109 end 110 110 111 111 def uninstall 112 pkgget "-f", :remove, @resource[:name]112 pkgget "-f", :remove, self.internalname 113 113 end 114 114 end 115 115 -
a/lib/puppet/provider/package/darwinport.rb
old new 47 47 should = @resource.should(:ensure) 48 48 49 49 # Seems like you can always say 'upgrade' 50 output = port "upgrade", @resource[:name]50 output = port "upgrade", self.internalname 51 51 if output =~ /^Error: No port/ 52 raise Puppet::ExecutionFailure, "Could not find package %s" % @resource[:name]52 raise Puppet::ExecutionFailure, "Could not find package %s" % self.internalname 53 53 end 54 54 end 55 55 56 56 def query 57 57 version = nil 58 58 self.class.eachpkgashash do |hash| 59 if hash[:name] == @resource[:name]59 if hash[:name] == self.internalname 60 60 return hash 61 61 end 62 62 end … … 65 65 end 66 66 67 67 def latest 68 info = port :search, "^#{ @resource[:name]}$"68 info = port :search, "^#{self.internalname}$" 69 69 70 70 if $? != 0 or info =~ /^Error/ 71 71 return nil … … 78 78 end 79 79 80 80 def uninstall 81 port :uninstall, @resource[:name]81 port :uninstall, self.internalname 82 82 end 83 83 84 84 def update -
a/lib/puppet/provider/package/dpkg.rb
old new 64 64 def latest 65 65 output = dpkg_deb "--show", @resource[:source] 66 66 matches = /^(\S+)\t(\S+)$/.match(output).captures 67 unless matches[0].match( @resource[:name])67 unless matches[0].match(self.internalname) 68 68 Puppet.warning "source doesn't contain named package, but %s" % matches[0] 69 69 end 70 70 matches[1] … … 80 80 # list out our specific package 81 81 begin 82 82 output = dpkgquery("-W", "--showformat", 83 '${Status} ${Package} ${Version}\\n', @resource[:name]83 '${Status} ${Package} ${Version}\\n', self.internalname 84 84 ) 85 85 rescue Puppet::ExecutionFailure 86 86 # dpkg-query exits 1 if the package is not found. 87 87 return {:ensure => :purged, :status => 'missing', 88 :name => @resource[:name], :error => 'ok'}88 :name => self.internalname, :error => 'ok'} 89 89 90 90 end 91 91 # Our regex for matching dpkg-query output. We could probably just … … 102 102 else 103 103 notice "Failed to handle dpkg-query line %s" % line.inspect 104 104 return {:ensure => :absent, :status => 'missing', 105 :name => @resource[:name], :error => 'ok'}105 :name => self.internalname, :error => 'ok'} 106 106 end 107 107 108 108 if hash[:error] != "ok" … … 123 123 end 124 124 125 125 def uninstall 126 dpkg "-r", @resource[:name]126 dpkg "-r", self.internalname 127 127 end 128 128 129 129 def purge 130 dpkg "--purge", @resource[:name]130 dpkg "--purge", self.internalname 131 131 end 132 132 end 133 133 -
a/lib/puppet/provider/package/fink.rb
old new 29 29 end 30 30 should = @resource.should(:ensure) 31 31 32 str = @resource[:name]32 str = self.internalname 33 33 case should 34 34 when true, false, Symbol 35 35 # pass … … 48 48 49 49 # What's the latest package version available? 50 50 def latest 51 output = aptcache :policy, @resource[:name]51 output = aptcache :policy, self.internalname 52 52 53 53 if output =~ /Candidate:\s+(\S+)\s/ 54 54 return $1 … … 80 80 end 81 81 82 82 def purge 83 aptget '-y', '-q', 'remove', '--purge', @resource[:name]83 aptget '-y', '-q', 'remove', '--purge', self.internalname 84 84 end 85 85 end 86 86 -
a/lib/puppet/provider/package/freebsd.rb
old new 22 22 return super 23 23 end 24 24 25 pkgadd "-r", @resource[:name]25 pkgadd "-r", self.internalname 26 26 end 27 27 28 28 def query … … 35 35 end 36 36 37 37 def uninstall 38 pkgdelete "%s-%s" % [ @resource[:name], @resource.should(:ensure)]38 pkgdelete "%s-%s" % [self.internalname, @resource.should(:ensure)] 39 39 end 40 40 end 41 41 -
a/lib/puppet/provider/package/gem.rb
old new 53 53 :ensure => version 54 54 } 55 55 else 56 Puppet.warning " Could not match %s" % desc56 Puppet.warning "gem Could not match %s" % desc 57 57 nil 58 58 end 59 59 end … … 75 75 if source = @resource[:source] 76 76 command << source 77 77 else 78 command << @resource[:name]78 command << self.internalname 79 79 end 80 80 81 81 gemcmd(*command) … … 83 83 84 84 def latest 85 85 # This always gets the latest version available. 86 hash = self.class.gemlist(:justme => @resource[:name])86 hash = self.class.gemlist(:justme => self.internalname) 87 87 88 88 return hash[:ensure] 89 89 end 90 90 91 91 def query 92 self.class.gemlist(:justme => @resource[:name], :local => true)92 self.class.gemlist(:justme => self.internalname, :local => true) 93 93 end 94 94 95 95 def uninstall 96 gemcmd "uninstall", "-x", "-a", @resource[:name]96 gemcmd "uninstall", "-x", "-a", self.internalname 97 97 end 98 98 99 99 def update -
a/lib/puppet/provider/package/openbsd.rb
old new 63 63 64 64 def query 65 65 hash = {} 66 info = pkginfo @resource[:name]66 info = pkginfo self.internalname 67 67 68 68 # Search for the version info 69 if info =~ /Information for #{ @resource[:name]}-(\S+)/69 if info =~ /Information for #{self.internalname}-(\S+)/ 70 70 hash[:ensure] = $1 71 71 else 72 72 return nil … … 81 81 end 82 82 83 83 def uninstall 84 pkgdelete @resource[:name]84 pkgdelete self.internalname 85 85 end 86 86 end 87 87 -
a/lib/puppet/provider/package/pkgdmg.rb
old new 171 171 end # def self.installpkgdmg 172 172 173 173 def query 174 if FileTest.exists?("/var/db/.puppet_pkgdmg_installed_#{ @resource[:name]}")175 return {:name => @resource[:name], :ensure => :present}174 if FileTest.exists?("/var/db/.puppet_pkgdmg_installed_#{self.internalname}") 175 return {:name => self.internalname, :ensure => :present} 176 176 else 177 177 return nil 178 178 end … … 183 183 unless source = @resource[:source] 184 184 self.fail "Mac OS X PKG DMG's must specify a package source." 185 185 end 186 unless name = @resource[:name]186 unless name = self.internalname 187 187 self.fail "Mac OS X PKG DMG's must specify a package name." 188 188 end 189 189 self.class.installpkgdmg(source,name) -
a/lib/puppet/provider/package/portage.rb
old new 55 55 56 56 # The common package name format. 57 57 def package_name 58 @resource[:category] ? "%s/%s" % [@resource[:category], @resource[:name]] : @resource[:name]58 @resource[:category] ? "%s/%s" % [@resource[:category], self.internalname] : self.internalname 59 59 end 60 60 61 61 def uninstall … … 98 98 99 99 case packages.size 100 100 when 0 101 not_found_value = "%s/%s" % [@resource[:category] ? @resource[:category] : "<unspecified category>", @resource[:name]]101 not_found_value = "%s/%s" % [@resource[:category] ? @resource[:category] : "<unspecified category>", self.internalname] 102 102 raise Puppet::PackageError.new("No package found with the specified name [#{not_found_value}]") 103 103 when 1 104 104 return packages[0] -
a/lib/puppet/provider/package/ports.rb
old new 19 19 def install 20 20 # -N: install if the package is missing, otherwise upgrade 21 21 # -M: yes, we're a batch, so don't ask any questions 22 cmd = %w{-N -M BATCH=yes} << @resource[:name]22 cmd = %w{-N -M BATCH=yes} << self.internalname 23 23 24 24 output = portupgrade(*cmd) 25 25 if output =~ /\*\* No such / 26 raise Puppet::ExecutionFailure, "Could not find package %s" % @resource[:name]26 raise Puppet::ExecutionFailure, "Could not find package %s" % self.internalname 27 27 end 28 28 end 29 29 30 30 # If there are multiple packages, we only use the last one 31 31 def latest 32 cmd = ["-v", @resource[:name]]32 cmd = ["-v", self.internalname] 33 33 34 34 begin 35 35 output = portversion(*cmd) … … 83 83 end 84 84 85 85 def uninstall 86 portuninstall @resource[:name]86 portuninstall self.internalname 87 87 end 88 88 89 89 def update -
a/lib/puppet/provider/package/rpm.rb
old new 44 44 # :ensure => version-release 45 45 def query 46 46 unless @property_hash[:epoch] 47 cmd = ["-q", @resource[:name], "--nosignature", "--nodigest", "--qf", "#{NEVRAFORMAT}\n"]47 cmd = ["-q", self.internalname, "--nosignature", "--nodigest", "--qf", "#{NEVRAFORMAT}\n"] 48 48 49 49 begin 50 50 output = rpm(*cmd) … … 100 100 # installed and only the package name is specified (without the 101 101 # arch), this will uninstall all of them on successive runs of the 102 102 # client, one after the other 103 if @resource[:name][-arch.size, arch.size] == arch103 if self.internalname[-arch.size, arch.size] == arch 104 104 nvr += arch 105 105 else 106 106 nvr += ".#{get(:arch)}" -
a/lib/puppet/provider/package/rug.rb
old new 12 12 def install 13 13 should = @resource.should(:ensure) 14 14 self.debug "Ensuring => #{should}" 15 wanted = @resource[:name]15 wanted = self.internalname 16 16 17 17 # XXX: We don't actually deal with epochs here. 18 18 case should … … 36 36 #rug can only get a list of *all* available packages? 37 37 output = rug "list-updates" 38 38 39 if output =~ /#{ @resource[:name]}\s*\|\s*([0-9\.\-]+)/39 if output =~ /#{self.internalname}\s*\|\s*([0-9\.\-]+)/ 40 40 return $1 41 41 else 42 42 # rug didn't find updates, pretend the current -
a/lib/puppet/provider/package/sun.rb
old new 85 85 if device 86 86 cmd += " -d #{device}" 87 87 end 88 cmd += " #{ @resource[:name]}"88 cmd += " #{self.internalname}" 89 89 90 90 begin 91 91 # list out all of the packages … … 129 129 end 130 130 131 131 cmd << "-d" << @resource[:source] 132 cmd << "-n" << @resource[:name]132 cmd << "-n" << self.internalname 133 133 134 134 pkgadd cmd 135 135 end … … 151 151 command << "-a" << @resource[:adminfile] 152 152 end 153 153 154 command << @resource[:name]154 command << self.internalname 155 155 pkgrm command 156 156 end 157 157 -
a/lib/puppet/provider/package/up2date.rb
old new 9 9 10 10 # Install a package using 'up2date'. 11 11 def install 12 up2date "-u", @resource[:name]12 up2date "-u", self.internalname 13 13 14 14 unless self.query 15 15 raise Puppet::ExecutionFailure.new( … … 23 23 #up2date can only get a list of *all* available packages? 24 24 output = up2date "--showall" 25 25 26 if output =~ /^#{ @resource[:name]}-(\d+.*)\.\w+/26 if output =~ /^#{self.internalname}-(\d+.*)\.\w+/ 27 27 return $1 28 28 else 29 29 # up2date didn't find updates, pretend the current -
a/lib/puppet/provider/package/urpmi.rb
old new 19 19 def install 20 20 should = @resource.should(:ensure) 21 21 self.debug "Ensuring => #{should}" 22 wanted = @resource[:name]22 wanted = self.internalname 23 23 24 24 # XXX: We don't actually deal with epochs here. 25 25 case should … … 41 41 42 42 # What's the latest package version available? 43 43 def latest 44 output = urpmi "-S", :available, @resource[:name]44 output = urpmi "-S", :available, self.internalname 45 45 46 if output =~ /^#{ @resource[:name]}\S+\s+(\S+)\s/46 if output =~ /^#{self.internalname}\S+\s+(\S+)\s/ 47 47 return $1 48 48 else 49 49 # urpmi didn't find updates, pretend the current -
a/lib/puppet/provider/package/yum.rb
old new 45 45 def install 46 46 should = @resource.should(:ensure) 47 47 self.debug "Ensuring => #{should}" 48 wanted = @resource[:name]48 wanted = self.internalname 49 49 50 50 # XXX: We don't actually deal with epochs here. 51 51 case should … … 73 73 74 74 # What's the latest package version available? 75 75 def latest 76 upd = self.class.updates[ @resource[:name]]76 upd = self.class.updates[self.internalname] 77 77 unless upd.nil? 78 78 # FIXME: there could be more than one update for a package 79 79 # because of multiarch -
a/lib/puppet/type/package.rb
old new 207 207 isnamevar 208 208 end 209 209 210 newparam(:internalname) do 211 desc "The package name as it's known by the provider. 212 213 This overrides the 'name' parameter, and lets you use different 214 names to reference packages with the same internal name in 215 different providers. Otherwise, puppet would think you were 216 trying to redefine the same package. 217 218 package { \"mysql-yum\": 219 ensure => installed, 220 internalname => \"mysql\", 221 provider => yum; 222 } 223 224 package { \"mysql-gem\": 225 ensure => installed, 226 internalname => \"mysql\", 227 provider => gem; 228 } 229 230 " 231 end 232 210 233 newparam(:source) do 211 234 desc "Where to find the actual package. This must be a local file 212 235 (or on a network file system) or a URL that your specific