Sha256: da1bba8812dba7284f41290caaa2104448a7ba56f499f1dfce330f8d4e7275d7

Contents?: true

Size: 1.1 KB

Versions: 4

Compression:

Stored size: 1.1 KB

Contents

# HP-UX packaging.

require 'puppet/provider/package'

Puppet::Type.type(:package).provide :hpux, :parent => Puppet::Provider::Package do

    desc "HP-UX's packaging system."

    commands :swinstall => "/usr/sbin/swinstall",
             :swlist => "/usr/sbin/swlist",
             :swremove => "/usr/sbin/swremove"

    confine :operatingsystem => "hp-ux"

    defaultfor :operatingsystem => "hp-ux"
    
    def self.instances
        # TODO:  This is very hard on HP-UX!
        []
    end
    
    # source and name are required
    def install
        raise ArgumentError, "source must be provided to install HP-UX packages" unless resource[:source]
        args = standard_args + ["-s", resource[:source], resource[:name]]
        swinstall(*args)
    end
    
    def query
        begin
            swlist resource[:name]
            {:ensure => :present}
        rescue
            {:ensure => :absent}
        end
    end
    
    def uninstall
        args = standard_args + [resource[:name]]
        swremove(*args)
    end
    
    def standard_args
        return ["-x", "mount_all_filesystems=false"]
    end
end

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
puppet-0.24.9 lib/puppet/provider/package/hpux.rb
puppet-0.24.6 lib/puppet/provider/package/hpux.rb
puppet-0.24.7 lib/puppet/provider/package/hpux.rb
puppet-0.24.8 lib/puppet/provider/package/hpux.rb