blob: 76922dc099eaa4649cfd4009f8b37289182da8e6 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
|
# 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
|