summaryrefslogtreecommitdiff
path: root/sysutils/puppet/files/patch-git_2.6.x-16f841ed5674ef8c0782c1d8d92c5fddc4376435
blob: 873c78a6b22cf0af9d55b021e7bd91215ff2264a (plain) (blame)
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
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
commit 16f841ed5674ef8c0782c1d8d92c5fddc4376435
Author: Russell Jackson <raj@fbsd.csub.edu>
Date:   Wed Jul 28 18:20:10 2010 -0700

    ports provider broken. Removed.
    Use "freebsd" provider by default on FreeBSD.

diff --git a/lib/puppet/provider/package/freebsd.rb b/lib/puppet/provider/package/freebsd.rb
index 2f012a4..6664223 100755
--- lib/puppet/provider/package/freebsd.rb
+++ lib/puppet/provider/package/freebsd.rb
@@ -10,6 +10,7 @@ Puppet::Type.type(:package).provide :freebsd, :parent => :openbsd do
     :pkgdelete => "/usr/sbin/pkg_delete"
 
   confine :operatingsystem => :freebsd
+  defaultfor :operatingsystem => :freebsd
 
   def self.listcmd
     command(:pkginfo)
diff --git a/lib/puppet/provider/package/ports.rb b/lib/puppet/provider/package/ports.rb
deleted file mode 100755
index c802092..0000000
--- lib/puppet/provider/package/ports.rb
+++ /dev/null
@@ -1,95 +0,0 @@
-Puppet::Type.type(:package).provide :ports, :parent => :freebsd, :source => :freebsd do
-  desc "Support for FreeBSD's ports.  Again, this still mixes packages and ports."
-
-  commands :portupgrade => "/usr/local/sbin/portupgrade",
-    :portversion => "/usr/local/sbin/portversion",
-    :portuninstall => "/usr/local/sbin/pkg_deinstall",
-    :portinfo => "/usr/sbin/pkg_info"
-
-  defaultfor :operatingsystem => :freebsd
-
-  # I hate ports
-  %w{INTERACTIVE UNAME}.each do |var|
-    ENV.delete(var) if ENV.include?(var)
-  end
-
-  def install
-    # -N: install if the package is missing, otherwise upgrade
-    # -M: yes, we're a batch, so don't ask any questions
-    cmd = %w{-N -M BATCH=yes} << @resource[:name]
-
-    output = portupgrade(*cmd)
-    if output =~ /\*\* No such /
-      raise Puppet::ExecutionFailure, "Could not find package #{@resource[:name]}"
-    end
-  end
-
-  # If there are multiple packages, we only use the last one
-  def latest
-    cmd = ["-v", @resource[:name]]
-
-    begin
-      output = portversion(*cmd)
-    rescue Puppet::ExecutionFailure
-      raise Puppet::Error.new(output)
-    end
-    line = output.split("\n").pop
-
-    unless line =~ /^(\S+)\s+(\S)\s+(.+)$/
-      # There's no "latest" version, so just return a placeholder
-      return :latest
-    end
-
-    pkgstuff = $1
-    match = $2
-    info = $3
-
-    unless pkgstuff =~ /^(\S+)-([^-\s]+)$/
-      raise Puppet::Error,
-        "Could not match package info '#{pkgstuff}'"
-    end
-
-    name, version = $1, $2
-
-    if match == "=" or match == ">"
-      # we're up to date or more recent
-      return version
-    end
-
-    # Else, we need to be updated; we need to pull out the new version
-
-    unless info =~ /\((\w+) has (.+)\)/
-      raise Puppet::Error,
-        "Could not match version info '#{info}'"
-    end
-
-    source, newversion = $1, $2
-
-    debug "Newer version in #{source}"
-    newversion
-  end
-
-  def query
-    # support portorigin_glob such as "mail/postfix"
-    name = self.name
-    if name =~ /\//
-      name = self.name.split(/\//).slice(1)
-    end
-    self.class.instances.each do |instance|
-      if instance.name == name
-        return instance.properties
-      end
-    end
-
-    nil
-  end
-
-  def uninstall
-    portuninstall @resource[:name]
-  end
-
-  def update
-    install
-  end
-end
-