microwave 0.1004.4 → 0.1004.5

Sign up to get free protection for your applications and to get access to all the features.
Files changed (105) hide show
  1. data/README.rdoc +0 -3
  2. data/lib/chef/client.rb +2 -11
  3. data/lib/chef/platform.rb +1 -192
  4. data/lib/chef/providers.rb +0 -68
  5. data/lib/chef/resources.rb +0 -36
  6. data/lib/chef/version.rb +1 -1
  7. metadata +123 -239
  8. data/lib/chef/provider/breakpoint.rb +0 -31
  9. data/lib/chef/provider/cron.rb +0 -186
  10. data/lib/chef/provider/cron/solaris.rb +0 -195
  11. data/lib/chef/provider/deploy.rb +0 -343
  12. data/lib/chef/provider/deploy/revision.rb +0 -80
  13. data/lib/chef/provider/deploy/timestamped.rb +0 -33
  14. data/lib/chef/provider/env.rb +0 -152
  15. data/lib/chef/provider/env/windows.rb +0 -75
  16. data/lib/chef/provider/erl_call.rb +0 -101
  17. data/lib/chef/provider/git.rb +0 -243
  18. data/lib/chef/provider/group.rb +0 -133
  19. data/lib/chef/provider/group/aix.rb +0 -70
  20. data/lib/chef/provider/group/dscl.rb +0 -121
  21. data/lib/chef/provider/group/gpasswd.rb +0 -53
  22. data/lib/chef/provider/group/groupadd.rb +0 -81
  23. data/lib/chef/provider/group/pw.rb +0 -84
  24. data/lib/chef/provider/group/suse.rb +0 -53
  25. data/lib/chef/provider/group/usermod.rb +0 -57
  26. data/lib/chef/provider/group/windows.rb +0 -79
  27. data/lib/chef/provider/ifconfig.rb +0 -134
  28. data/lib/chef/provider/log.rb +0 -54
  29. data/lib/chef/provider/mdadm.rb +0 -91
  30. data/lib/chef/provider/mount.rb +0 -114
  31. data/lib/chef/provider/mount/mount.rb +0 -240
  32. data/lib/chef/provider/mount/windows.rb +0 -81
  33. data/lib/chef/provider/ohai.rb +0 -42
  34. data/lib/chef/provider/package.rb +0 -163
  35. data/lib/chef/provider/package/apt.rb +0 -135
  36. data/lib/chef/provider/package/dpkg.rb +0 -115
  37. data/lib/chef/provider/package/easy_install.rb +0 -136
  38. data/lib/chef/provider/package/freebsd.rb +0 -125
  39. data/lib/chef/provider/package/macports.rb +0 -105
  40. data/lib/chef/provider/package/pacman.rb +0 -101
  41. data/lib/chef/provider/package/portage.rb +0 -135
  42. data/lib/chef/provider/package/rpm.rb +0 -104
  43. data/lib/chef/provider/package/rubygems.rb +0 -465
  44. data/lib/chef/provider/package/solaris.rb +0 -130
  45. data/lib/chef/provider/package/yum.rb +0 -1128
  46. data/lib/chef/provider/package/zypper.rb +0 -144
  47. data/lib/chef/provider/route.rb +0 -193
  48. data/lib/chef/provider/ruby_block.rb +0 -34
  49. data/lib/chef/provider/script.rb +0 -55
  50. data/lib/chef/provider/service.rb +0 -122
  51. data/lib/chef/provider/service/arch.rb +0 -116
  52. data/lib/chef/provider/service/debian.rb +0 -130
  53. data/lib/chef/provider/service/freebsd.rb +0 -154
  54. data/lib/chef/provider/service/gentoo.rb +0 -53
  55. data/lib/chef/provider/service/init.rb +0 -71
  56. data/lib/chef/provider/service/insserv.rb +0 -52
  57. data/lib/chef/provider/service/redhat.rb +0 -60
  58. data/lib/chef/provider/service/simple.rb +0 -120
  59. data/lib/chef/provider/service/solaris.rb +0 -85
  60. data/lib/chef/provider/service/systemd.rb +0 -102
  61. data/lib/chef/provider/service/upstart.rb +0 -198
  62. data/lib/chef/provider/service/windows.rb +0 -146
  63. data/lib/chef/provider/subversion.rb +0 -197
  64. data/lib/chef/provider/user.rb +0 -186
  65. data/lib/chef/provider/user/dscl.rb +0 -280
  66. data/lib/chef/provider/user/pw.rb +0 -113
  67. data/lib/chef/provider/user/useradd.rb +0 -137
  68. data/lib/chef/provider/user/windows.rb +0 -124
  69. data/lib/chef/resource/apt_package.rb +0 -34
  70. data/lib/chef/resource/bash.rb +0 -33
  71. data/lib/chef/resource/breakpoint.rb +0 -35
  72. data/lib/chef/resource/cron.rb +0 -188
  73. data/lib/chef/resource/csh.rb +0 -33
  74. data/lib/chef/resource/deploy.rb +0 -380
  75. data/lib/chef/resource/deploy_revision.rb +0 -40
  76. data/lib/chef/resource/dpkg_package.rb +0 -34
  77. data/lib/chef/resource/easy_install_package.rb +0 -57
  78. data/lib/chef/resource/erl_call.rb +0 -83
  79. data/lib/chef/resource/freebsd_package.rb +0 -35
  80. data/lib/chef/resource/gem_package.rb +0 -53
  81. data/lib/chef/resource/git.rb +0 -46
  82. data/lib/chef/resource/group.rb +0 -70
  83. data/lib/chef/resource/ifconfig.rb +0 -134
  84. data/lib/chef/resource/log.rb +0 -62
  85. data/lib/chef/resource/macports_package.rb +0 -29
  86. data/lib/chef/resource/mdadm.rb +0 -82
  87. data/lib/chef/resource/mount.rb +0 -134
  88. data/lib/chef/resource/ohai.rb +0 -40
  89. data/lib/chef/resource/package.rb +0 -80
  90. data/lib/chef/resource/pacman_package.rb +0 -33
  91. data/lib/chef/resource/perl.rb +0 -33
  92. data/lib/chef/resource/portage_package.rb +0 -33
  93. data/lib/chef/resource/python.rb +0 -33
  94. data/lib/chef/resource/route.rb +0 -135
  95. data/lib/chef/resource/rpm_package.rb +0 -34
  96. data/lib/chef/resource/ruby.rb +0 -33
  97. data/lib/chef/resource/ruby_block.rb +0 -40
  98. data/lib/chef/resource/scm.rb +0 -147
  99. data/lib/chef/resource/script.rb +0 -60
  100. data/lib/chef/resource/service.rb +0 -160
  101. data/lib/chef/resource/solaris_package.rb +0 -36
  102. data/lib/chef/resource/subversion.rb +0 -36
  103. data/lib/chef/resource/timestamped_deploy.rb +0 -31
  104. data/lib/chef/resource/user.rb +0 -130
  105. data/lib/chef/resource/yum_package.rb +0 -63
@@ -1,42 +0,0 @@
1
- #
2
- # Author:: Michael Leianrtas (<mleinartas@gmail.com>)
3
- # Copyright:: Copyright (c) 2010 Michael Leinartas
4
- # License:: Apache License, Version 2.0
5
- #
6
- # Licensed under the Apache License, Version 2.0 (the "License");
7
- # you may not use this file except in compliance with the License.
8
- # You may obtain a copy of the License at
9
- #
10
- # http://www.apache.org/licenses/LICENSE-2.0
11
- #
12
- # Unless required by applicable law or agreed to in writing, software
13
- # distributed under the License is distributed on an "AS IS" BASIS,
14
- # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15
- # See the License for the specific language governing permissions and
16
- # limitations under the License.
17
- #
18
-
19
- require 'ohai'
20
-
21
- class Chef
22
- class Provider
23
- class Ohai < Chef::Provider
24
-
25
- def load_current_resource
26
- true
27
- end
28
-
29
- def action_reload
30
- ohai = ::Ohai::System.new
31
- if @new_resource.plugin
32
- ohai.require_plugin @new_resource.plugin
33
- else
34
- ohai.all_plugins
35
- end
36
- node.automatic_attrs.merge! ohai.data
37
- Chef::Log.info("#{@new_resource} reloaded")
38
- @new_resource.updated_by_last_action(true)
39
- end
40
- end
41
- end
42
- end
@@ -1,163 +0,0 @@
1
- #
2
- # Author:: Adam Jacob (<adam@opscode.com>)
3
- # Copyright:: Copyright (c) 2008 Opscode, Inc.
4
- # License:: Apache License, Version 2.0
5
- #
6
- # Licensed under the Apache License, Version 2.0 (the "License");
7
- # you may not use this file except in compliance with the License.
8
- # You may obtain a copy of the License at
9
- #
10
- # http://www.apache.org/licenses/LICENSE-2.0
11
- #
12
- # Unless required by applicable law or agreed to in writing, software
13
- # distributed under the License is distributed on an "AS IS" BASIS,
14
- # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15
- # See the License for the specific language governing permissions and
16
- # limitations under the License.
17
- #
18
-
19
- require 'chef/mixin/command'
20
- require 'chef/log'
21
- require 'chef/file_cache'
22
- require 'chef/platform'
23
-
24
- class Chef
25
- class Provider
26
- class Package < Chef::Provider
27
-
28
- include Chef::Mixin::Command
29
-
30
- attr_accessor :candidate_version
31
-
32
- def initialize(new_resource, run_context)
33
- super
34
- @candidate_version = nil
35
- end
36
-
37
- def action_install
38
- # If we specified a version, and it's not the current version, move to the specified version
39
- if @new_resource.version != nil && @new_resource.version != @current_resource.version
40
- install_version = @new_resource.version
41
- # If it's not installed at all, install it
42
- elsif @current_resource.version == nil
43
- install_version = candidate_version
44
- else
45
- Chef::Log.debug("#{@new_resource} is already installed - nothing to do")
46
- return
47
- end
48
-
49
- unless install_version
50
- raise(Chef::Exceptions::Package, "No version specified, and no candidate version available for #{@new_resource.package_name}")
51
- end
52
-
53
-
54
- # We need to make sure we handle the preseed file
55
- if @new_resource.response_file
56
- $testrun || preseed_package(@new_resource.package_name, install_version)
57
- end
58
-
59
- status = $testrun || install_package(@new_resource.package_name, install_version)
60
- if status
61
- @new_resource.updated_by_last_action(true)
62
- end
63
- Chef::Log.info("#{@new_resource} installed version #{install_version}")
64
- end
65
-
66
- def action_upgrade
67
- if @current_resource.version != candidate_version
68
- orig_version = @current_resource.version || "uninstalled"
69
- status = upgrade_package(@new_resource.package_name, candidate_version)
70
- if status
71
- @new_resource.updated_by_last_action(true)
72
- end
73
- Chef::Log.info("#{@new_resource} upgraded from #{orig_version} to #{candidate_version}")
74
- else
75
- Chef::Log.debug("#{@new_resource} is at the latest version - nothing to do")
76
- end
77
- end
78
-
79
- def action_remove
80
- if removing_package?
81
- $testrun || remove_package(@current_resource.package_name, @new_resource.version)
82
- @new_resource.updated_by_last_action(true)
83
- Chef::Log.info("#{@new_resource} removed")
84
- else
85
- Chef::Log.debug("#{@new_resource} package does not exist - nothing to do")
86
- end
87
- end
88
-
89
- def removing_package?
90
- if @current_resource.version.nil?
91
- false # nothing to remove
92
- elsif @new_resource.version.nil?
93
- true # remove any version of a package
94
- elsif @new_resource.version == @current_resource.version
95
- true # remove the version we have
96
- else
97
- false # we don't have the version we want to remove
98
- end
99
- end
100
-
101
- def action_purge
102
- if removing_package?
103
- $testrun || purge_package(@current_resource.package_name, @new_resource.version)
104
- @new_resource.updated_by_last_action(true)
105
- Chef::Log.info("#{@new_resource} purged")
106
- end
107
- end
108
-
109
- def install_package(name, version)
110
- raise Chef::Exceptions::UnsupportedAction, "#{self.to_s} does not support :install"
111
- end
112
-
113
- def upgrade_package(name, version)
114
- raise Chef::Exceptions::UnsupportedAction, "#{self.to_s} does not support :upgrade"
115
- end
116
-
117
- def remove_package(name, version)
118
- raise Chef::Exceptions::UnsupportedAction, "#{self.to_s} does not support :remove"
119
- end
120
-
121
- def purge_package(name, version)
122
- raise Chef::Exceptions::UnsupportedAction, "#{self.to_s} does not support :purge"
123
- end
124
-
125
- def preseed_package(name, version)
126
- raise Chef::Exceptions::UnsupportedAction, "#{self.to_s} does not support pre-seeding package install/upgrade instructions - don't ask it to!"
127
- end
128
-
129
- def get_preseed_file(name, version)
130
- resource = preseed_resource(name, version)
131
- resource.run_action('create')
132
- Chef::Log.debug("#{@new_resource} fetched preseed file to #{resource.path}")
133
-
134
- if resource.updated_by_last_action?
135
- resource.path
136
- else
137
- false
138
- end
139
- end
140
-
141
- def preseed_resource(name, version)
142
- # A directory in our cache to store this cookbook's preseed files in
143
- file_cache_dir = Chef::FileCache.create_cache_path("preseed/#{@new_resource.cookbook_name}")
144
- # The full path where the preseed file will be stored
145
- cache_seed_to = "#{file_cache_dir}/#{name}-#{version}.seed"
146
-
147
- Chef::Log.debug("#{@new_resource} fetching preseed file to #{cache_seed_to}")
148
-
149
- remote_file = Chef::Resource::CookbookFile.new(cache_seed_to, run_context)
150
- remote_file.cookbook_name = @new_resource.cookbook_name
151
- remote_file.source(@new_resource.response_file)
152
- remote_file.backup(false)
153
-
154
- remote_file
155
- end
156
-
157
- def expand_options(options)
158
- options ? " #{options}" : ""
159
- end
160
-
161
- end
162
- end
163
- end
@@ -1,135 +0,0 @@
1
- #
2
- # Author:: Adam Jacob (<adam@opscode.com>)
3
- # Copyright:: Copyright (c) 2008 Opscode, Inc.
4
- # License:: Apache License, Version 2.0
5
- #
6
- # Licensed under the Apache License, Version 2.0 (the "License");
7
- # you may not use this file except in compliance with the License.
8
- # You may obtain a copy of the License at
9
- #
10
- # http://www.apache.org/licenses/LICENSE-2.0
11
- #
12
- # Unless required by applicable law or agreed to in writing, software
13
- # distributed under the License is distributed on an "AS IS" BASIS,
14
- # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15
- # See the License for the specific language governing permissions and
16
- # limitations under the License.
17
- #
18
-
19
- require 'chef/provider/package'
20
- require 'chef/mixin/command'
21
- require 'chef/resource/package'
22
- require 'chef/mixin/shell_out'
23
-
24
-
25
- class Chef
26
- class Provider
27
- class Package
28
- class Apt < Chef::Provider::Package
29
-
30
- include Chef::Mixin::ShellOut
31
- attr_accessor :is_virtual_package
32
-
33
- def load_current_resource
34
- @current_resource = Chef::Resource::Package.new(@new_resource.name)
35
- @current_resource.package_name(@new_resource.package_name)
36
- check_package_state(@new_resource.package_name)
37
- @current_resource
38
- end
39
-
40
- def check_package_state(package)
41
- Chef::Log.debug("#{@new_resource} checking package status for #{package}")
42
- installed = false
43
-
44
- shell_out!("apt-cache policy #{package}").stdout.each_line do |line|
45
- case line
46
- when /^\s{2}Installed: (.+)$/
47
- installed_version = $1
48
- if installed_version == '(none)'
49
- Chef::Log.debug("#{@new_resource} current version is nil")
50
- @current_resource.version(nil)
51
- else
52
- Chef::Log.debug("#{@new_resource} current version is #{installed_version}")
53
- @current_resource.version(installed_version)
54
- installed = true
55
- end
56
- when /^\s{2}Candidate: (.+)$/
57
- candidate_version = $1
58
- if candidate_version == '(none)'
59
- # This may not be an appropriate assumption, but it shouldn't break anything that already worked -- btm
60
- @is_virtual_package = true
61
- showpkg = shell_out!("apt-cache showpkg #{package}").stdout
62
- providers = Hash.new
63
- showpkg.rpartition(/Reverse Provides:? #{$/}/)[2].each_line do |line|
64
- provider, version = line.split
65
- providers[provider] = version
66
- end
67
- # Check if the package providing this virtual package is installed
68
- num_providers = providers.length
69
- raise Chef::Exceptions::Package, "#{@new_resource.package_name} has no candidate in the apt-cache" if num_providers == 0
70
- # apt will only install a virtual package if there is a single providing package
71
- raise Chef::Exceptions::Package, "#{@new_resource.package_name} is a virtual package provided by #{num_providers} packages, you must explicitly select one to install" if num_providers > 1
72
- # Check if the package providing this virtual package is installed
73
- Chef::Log.info("#{@new_resource} is a virtual package, actually acting on package[#{providers.keys.first}]")
74
- installed = check_package_state(providers.keys.first)
75
- else
76
- Chef::Log.debug("#{@new_resource} candidate version is #{$1}")
77
- @candidate_version = $1
78
- end
79
- end
80
- end
81
-
82
- return installed
83
- end
84
-
85
- def install_package(name, version)
86
- package_name = "#{name}=#{version}"
87
- package_name = name if @is_virtual_package
88
- run_command_with_systems_locale(
89
- :command => "apt-get -q -y#{expand_options(@new_resource.options)} install #{package_name}",
90
- :environment => {
91
- "DEBIAN_FRONTEND" => "noninteractive"
92
- }
93
- )
94
- end
95
-
96
- def upgrade_package(name, version)
97
- install_package(name, version)
98
- end
99
-
100
- def remove_package(name, version)
101
- package_name = "#{name}"
102
- run_command_with_systems_locale(
103
- :command => "apt-get -q -y#{expand_options(@new_resource.options)} remove #{package_name}",
104
- :environment => {
105
- "DEBIAN_FRONTEND" => "noninteractive"
106
- }
107
- )
108
- end
109
-
110
- def purge_package(name, version)
111
- run_command_with_systems_locale(
112
- :command => "apt-get -q -y#{expand_options(@new_resource.options)} purge #{@new_resource.package_name}",
113
- :environment => {
114
- "DEBIAN_FRONTEND" => "noninteractive"
115
- }
116
- )
117
- end
118
-
119
- def preseed_package(name, version)
120
- preseed_file = get_preseed_file(name, version)
121
- if preseed_file
122
- Chef::Log.info("#{@new_resource} pre-seeding package installation instructions")
123
- run_command_with_systems_locale(
124
- :command => "debconf-set-selections #{preseed_file}",
125
- :environment => {
126
- "DEBIAN_FRONTEND" => "noninteractive"
127
- }
128
- )
129
- end
130
- end
131
-
132
- end
133
- end
134
- end
135
- end
@@ -1,115 +0,0 @@
1
- #
2
- # Author:: Bryan McLellan (btm@loftninjas.org)
3
- # Copyright:: Copyright (c) 2009 Bryan McLellan
4
- # License:: Apache License, Version 2.0
5
- #
6
- # Licensed under the Apache License, Version 2.0 (the "License");
7
- # you may not use this file except in compliance with the License.
8
- # You may obtain a copy of the License at
9
- #
10
- # http://www.apache.org/licenses/LICENSE-2.0
11
- #
12
- # Unless required by applicable law or agreed to in writing, software
13
- # distributed under the License is distributed on an "AS IS" BASIS,
14
- # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15
- # See the License for the specific language governing permissions and
16
- # limitations under the License.
17
- #
18
-
19
- require 'chef/provider/package'
20
- require 'chef/mixin/command'
21
- require 'chef/resource/package'
22
- require 'chef/mixin/get_source_from_package'
23
-
24
- class Chef
25
- class Provider
26
- class Package
27
- class Dpkg < Chef::Provider::Package::Apt
28
- DPKG_INFO = /([a-z\d\-\+]+)\t([\w\d.~-]+)/
29
- DPKG_INSTALLED = /^Status: install ok installed/
30
- DPKG_VERSION = /^Version: (.+)$/
31
-
32
- include Chef::Mixin::GetSourceFromPackage
33
-
34
- def load_current_resource
35
- @current_resource = Chef::Resource::Package.new(@new_resource.name)
36
- @current_resource.package_name(@new_resource.package_name)
37
- @new_resource.version(nil)
38
-
39
- # if the source was not set, and we're installing, fail
40
- if Array(@new_resource.action).include?(:install) && @new_resource.source.nil?
41
- raise Chef::Exceptions::Package, "Source for package #{@new_resource.name} required for action install"
42
- end
43
-
44
- # We only -need- source for action install
45
- if @new_resource.source
46
- unless ::File.exists?(@new_resource.source)
47
- raise Chef::Exceptions::Package, "Package #{@new_resource.name} not found: #{@new_resource.source}"
48
- end
49
-
50
- # Get information from the package if supplied
51
- Chef::Log.debug("#{@new_resource} checking dpkg status")
52
- status = popen4("dpkg-deb -W #{@new_resource.source}") do |pid, stdin, stdout, stderr|
53
- stdout.each_line do |line|
54
- if pkginfo = DPKG_INFO.match(line)
55
- @current_resource.package_name(pkginfo[1])
56
- @new_resource.version(pkginfo[2])
57
- end
58
- end
59
- end
60
- end
61
-
62
- # Check to see if it is installed
63
- package_installed = nil
64
- Chef::Log.debug("#{@new_resource} checking install state")
65
- status = popen4("dpkg -s #{@current_resource.package_name}") do |pid, stdin, stdout, stderr|
66
- stdout.each_line do |line|
67
- case line
68
- when DPKG_INSTALLED
69
- package_installed = true
70
- when DPKG_VERSION
71
- if package_installed
72
- Chef::Log.debug("#{@new_resource} current version is #{$1}")
73
- @current_resource.version($1)
74
- end
75
- end
76
- end
77
- end
78
-
79
- unless status.exitstatus == 0 || status.exitstatus == 1
80
- raise Chef::Exceptions::Package, "dpkg failed - #{status.inspect}!"
81
- end
82
-
83
- @current_resource
84
- end
85
-
86
- def install_package(name, version)
87
- run_command_with_systems_locale(
88
- :command => "dpkg -i#{expand_options(@new_resource.options)} #{@new_resource.source}",
89
- :environment => {
90
- "DEBIAN_FRONTEND" => "noninteractive"
91
- }
92
- )
93
- end
94
-
95
- def remove_package(name, version)
96
- run_command_with_systems_locale(
97
- :command => "dpkg -r#{expand_options(@new_resource.options)} #{@new_resource.package_name}",
98
- :environment => {
99
- "DEBIAN_FRONTEND" => "noninteractive"
100
- }
101
- )
102
- end
103
-
104
- def purge_package(name, version)
105
- run_command_with_systems_locale(
106
- :command => "dpkg -P#{expand_options(@new_resource.options)} #{@new_resource.package_name}",
107
- :environment => {
108
- "DEBIAN_FRONTEND" => "noninteractive"
109
- }
110
- )
111
- end
112
- end
113
- end
114
- end
115
- end