Issue #7986 has been updated by Rahul Gopinath.

The only change required is as suggested in #11004, to change parse_line to 
self.class.parse_line

    --- a/lib/puppet/provider/package/pkg.rb
    +++ b/lib/puppet/provider/package/pkg.rb
    @@ -69,7 +69,7 @@ Puppet::Type.type(:package).provide :pkg, :parent => 
Puppet::Provider::Package d
    def latest
    version = nil
    pkg(:list, "-Ha", @resource[:name]).each_line do |line|
    -      v = parse_line(line.chomp)[:status]
    +      v = self.class.parse_line(line.chomp)[:status]
    case v
    when "known"
    return v
    # cat ../t.pp 
    Package { provider => 'pkg' }
    package { 'text/gnu-patch':
    ensure => latest,
    }
    file {'tst':
    path => '/tmp/xxx',
    content => 'Hai',
    require => Package['text/gnu-patch']
    }

Before

    # ./bin/puppet apply ../t.pp 
    Error: /Stage[main]//Package[text/gnu-patch]: Could not evaluate: Could not 
get latest version: undefined method `parse_line' for 
#<Puppet::Type::Package::ProviderPkg:0x8d33c60>
    /Stage[main]//File[tst]: Dependency Package[text/gnu-patch] has failures: 
true
    Warning: /Stage[main]//File[tst]: Skipping because of failed dependencies
    Finished catalog run in 2.02 seconds
    
After:

    # ./bin/puppet apply ../t.pp
    Finished catalog run in 1.94 seconds
    
----------------------------------------
Bug #7986: Solaris 11/OpenSolaris pkg provider needs to accept exit code 4
https://projects.puppetlabs.com/issues/7986#change-67417

Author: Paul Armstrong
Status: Re-opened
Priority: Normal
Assignee: 
Category: package
Target version: 2.7.x
Affected Puppet version: 2.6.8
Keywords: solaris opensolaris pkg
Branch: https://github.com/stschulte/puppet/commits/ticket/2.7.x/7986


When a package doesn't require updates, pkg returns with an exit code of 4 
instead of 0.

<pre>
$ pkg install bash
No updates necessary for this image.
$ echo $?
4
</pre>

The pkg provider needs to check for exit code 4 and treat that as success for 
checks.


-- 
You have received this notification because you have either subscribed to it, 
or are involved in it.
To change your notification preferences, please click here: 
http://projects.puppetlabs.com/my/account

-- 
You received this message because you are subscribed to the Google Groups 
"Puppet Bugs" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to 
[email protected].
For more options, visit this group at 
http://groups.google.com/group/puppet-bugs?hl=en.

Reply via email to