HiganWorks-llc. TechNote01
Rubygemsリポジトリの所要時間、Tokyo と production.cf を比較した
測定場所
大阪(Japan)
環境
MacbookAir + EモバイルLTE
測定対象
gem "rails" だけ書いてbundle。
測定回数
いっかい

source ‘http://tokyo-m.rubygems.org’


Your bundle is complete!
Use `bundle show [gemname]` to see where a bundled gem is installed.

real    0m44.275s
user    0m25.085s
sys 0m1.347s

source ‘http://production.cf.rubygems.org’


Your bundle is complete!
Use `bundle show [gemname]` to see where a bundled gem is installed.

real    0m50.059s
user    0m26.930s
sys 0m1.241s

5秒くらいTokyoが早かったね。

The diff of chef between 11.4.2 to 11.5.0.alpha.0

The diff of chef between 11.4.2 to 11.5.0.alpha.0


lib/chef/application.rb

lib/chef/application.rb

Diff


--- a/lib/chef/application.rb
+++ b/lib/chef/application.rb
@@ -29,9 +29,6 @@ require 'rbconfig'
 class Chef::Application
   include Mixlib::CLI
 
-  class Wakeup 

lib/chef/application/client.rb

lib/chef/application/client.rb

Diff


--- a/lib/chef/application/client.rb
+++ b/lib/chef/application/client.rb
@@ -184,10 +184,10 @@ class Chef::Application::Client  '--why-run',
     :description  => 'Enable whyrun mode',
     :boolean      => true
-  
+
   option :client_fork,
     :short        => "-f",
-    :long         => "--fork",
+    :long         => "--[no-]fork",
     :description  => "Fork client",
     :boolean      => true
 
@@ -217,9 +217,6 @@ class Chef::Application::Client  e
-        Chef::Log.debug("Received Wakeup signal.  Starting run.")
-        next
       rescue SystemExit => e
         raise
       rescue Exception => e

lib/chef/application/solo.rb

lib/chef/application/solo.rb

Diff


--- a/lib/chef/application/solo.rb
+++ b/lib/chef/application/solo.rb
@@ -147,13 +147,13 @@ class Chef::Application::Solo  "-f",
-    :long         => "--fork",
+    :long         => "--[no-]fork",
     :description  => "Fork client",
     :boolean      => true
-  
+
   option :why_run,
     :short        => '-W',
     :long         => '--why-run',

lib/chef/application/windows_service.rb

lib/chef/application/windows_service.rb

Diff


--- a/lib/chef/application/windows_service.rb
+++ b/lib/chef/application/windows_service.rb
@@ -17,6 +17,7 @@
 #
 
 require 'chef'
+require 'chef/monologger'
 require 'chef/application'
 require 'chef/client'
 require 'chef/config'
@@ -56,58 +57,54 @@ class Chef
         :description  => "Set the number of seconds to wait between chef-client runs",
         :proc         => lambda { |s| s.to_i }
 
-      option :override_runlist,
-        :short        => "-o RunlistItem,RunlistItem...",
-        :long         => "--override-runlist RunlistItem,RunlistItem...",
-        :description  => "Replace current run list with specified items",
-        :proc         => lambda{|items|
-          items = items.split(',')
-          items.compact.map{|item|
-            Chef::RunList::RunListItem.new(item)
-          }
-        }
-
       def service_init
+        @service_action_mutex = Mutex.new
+        @service_signal = ConditionVariable.new
+
         reconfigure
         Chef::Log.info("Chef Client Service initialized")
       end
 
       def service_main(*startup_parameters)
+        # Chef::Config is initialized during service_init
+        # Set the initial timeout to splay sleep time
+        timeout = rand Chef::Config[:splay]
 
-        while running?
-          if state == RUNNING
+        while running? do
+          # Grab the service_action_mutex to make a chef-client run
+          @service_action_mutex.synchronize do
             begin
+              Chef::Log.info("Next chef-client run will happen in #{timeout} seconds")
+              @service_signal.wait(@service_action_mutex, timeout)
+
+              # Continue only if service is RUNNING
+              next if state != RUNNING
+
               # Reconfigure each time through to pick up any changes in the client file
               Chef::Log.info("Reconfiguring with startup parameters")
               reconfigure(startup_parameters)
+              timeout = Chef::Config[:interval]
 
-              splay = 

** Too large, sniped!! **


lib/chef/application/windows_service_manager.rb

lib/chef/application/windows_service_manager.rb

New File!

Diff


--- /dev/null
+++ b/lib/chef/application/windows_service_manager.rb
@@ -0,0 +1,179 @@
+#
+# Author:: Seth Chisamore ()
+# Copyright:: Copyright (c) 2011 Opscode, Inc.
+# License:: Apache License, Version 2.0
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#     http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
+
+require 'win32/service'
+require 'chef/config'
+require 'mixlib/cli'
+
+class Chef
+  class Application
+    #
+    # This class is used to create and manage a windows service.
+    # Service should be created using Daemon class from
+    # win32/service gem.
+    # For an example see: Chef::Application::WindowsService
+    #
+    # Outside programs are expected to use this class to manage
+    # windows services.
+    #
+    class WindowsServiceManager
+      include Mixlib::CLI
+
+      option :action,
+        :short => "-a ACTION",
+        :long  => "--action ACTION",
+        :default => "status",
+        :description => "Action to carry out on chef-service (install, uninstall, status, start, stop, pause, or resume)"
+
+      option :config_file,
+        :short => "-c CONFIG",
+        :long  => "--config CONFIG",
+        :default => "#{ENV['SYSTEMDRIVE']}/chef/client.rb",
+        :description => "The configuration file to use for chef runs"
+
+      option :log_location,
+        :short        => "-L LOGLOCATION",
+        :long         => "--logfile LOGLOCATION",
+        :description  => "Set the log file location for chef-service",
+        :default => "#{ENV['SYSTEMDRIVE']}

** Too large, sniped!! **


lib/chef/client.rb

lib/chef/client.rb

Diff


--- a/lib/chef/client.rb
+++ b/lib/chef/client.rb
@@ -25,7 +25,7 @@ require 'chef/log'
 require 'chef/rest'
 require 'chef/api_client'
 require 'chef/api_client/registration'
-require 'chef/platform'
+require 'chef/platform/query_helpers'
 require 'chef/node'
 require 'chef/role'
 require 'chef/file_cache'
@@ -103,6 +103,7 @@ class Chef
       self.class.run_start_notifications.each do |notification|
         notification.call(run_status)
       end
+      @events.run_started(run_status)
     end
 
     # Callback to fire notifications that the run completed successfully
@@ -444,18 +445,18 @@ class Chef
     def do_run
       runlock = RunLock.new(Chef::Config)
       runlock.acquire
+      # don't add code that may fail before entering this section to be sure to release lock
+      begin
+        run_context = nil
+        @events.run_start(Chef::VERSION)
+        Chef::Log.info("*** Chef #{Chef::VERSION} ***")
+        enforce_path_sanity
+        run_ohai
+        @events.ohai_completed(node)
+        register unless Chef::Config[:solo]
 
-      run_context = nil
-      @events.run_start(Chef::VERSION)
-      Chef::Log.info("*** Chef #{Chef::VERSION} ***")
-      enforce_path_sanity
-      run_ohai
-      @events.ohai_completed(node)
-      register unless Chef::Config[:solo]
-
-      load_node
+        load_node
 
-      begin
         build_node
 
         run_status.start_clock

lib/chef/config.rb

lib/chef/config.rb

Diff


--- a/lib/chef/config.rb
+++ b/lib/chef/config.rb
@@ -74,10 +74,7 @@ class Chef
     config_attr_writer :chef_server_url do |url|
       url = url.strip
       configure do |c|
-        [ :registration_url,
-          :template_url,
-          :remotefile_url,
-          :search_url,
+        [ :search_url,
           :chef_server_url,
           :role_url ].each do |u|
             c[u] = url
@@ -116,26 +113,12 @@ class Chef
       end
     end
 
-    # Override the config dispatch to set the value of authorized_openid_providers when openid_providers (deprecated) is used
-    #
-    # === Parameters
-    # providers:: An array of openid providers that are authorized to login to the chef server
-    #
-    config_attr_writer :openid_providers do |providers|
-      configure { |c| c[:authorized_openid_providers] = providers }
-      providers
-    end
-
     # Turn on "path sanity" by default. See also: http://wiki.opscode.com/display/chef/User+Environment+PATH+Sanity
     enforce_path_sanity(true)
 
     # Formatted Chef Client output is a beta feature, disabled by default:
     formatter "null"
 
-    # Used when OpenID authentication is enabled in the Web UI
-    authorized_openid_identifiers nil
-    authorized_openid_providers nil
-
     # The number of times the client should retry when registering with the server
     client_registration_retries 5
 
@@ -147,9 +130,6 @@ class Chef
     # An array of paths to search for knife exec scripts if they aren't in the current directory
     script_path []
 
-    # Where files are stored temporarily during uploads
-    sandbox_path "/var/chef/sandboxes"
-
     # Where cookbook files are stored on the server (by content checksum)
     checksum_path "/var/chef/checksums"
 
@@ -174,7 +154,6 @@ class Chef
     group nil
     umask 0022
 
-
     # Valid log_levels are:
     # * :debug
     # * :info
@@ -202,30 +181,22 @@ class Chef
     # toggle info level log items that can create a lot of output
     verbose_logging t

** Too large, sniped!! **


lib/chef/cookbook_uploader.rb

lib/chef/cookbook_uploader.rb

Diff


--- a/lib/chef/cookbook_uploader.rb
+++ b/lib/chef/cookbook_uploader.rb
@@ -110,7 +110,16 @@ class Chef
       # files are uploaded, so save the manifest
       cookbooks.each do |cb|
         save_url = opts[:force] ? cb.force_save_url : cb.save_url
-        rest.put_rest(save_url, cb)
+        begin
+          rest.put_rest(save_url, cb)
+        rescue Net::HTTPServerException => e
+          case e.response.code
+          when "409"
+            raise Chef::Exceptions::CookbookFrozen, "Version #{cb.version} of cookbook #{cb.name} is frozen. Use --force to override."
+          else
+            raise
+          end
+        end
       end
 
       Chef::Log.info("Upload complete!")

lib/chef/encrypted_data_bag_item.rb

lib/chef/encrypted_data_bag_item.rb

Diff


--- a/lib/chef/encrypted_data_bag_item.rb
+++ b/lib/chef/encrypted_data_bag_item.rb
@@ -48,9 +48,11 @@ require 'open-uri'
 # such nodes in the infrastructure.
 #
 class Chef::EncryptedDataBagItem
-  DEFAULT_SECRET_FILE = "/etc/chef/encrypted_data_bag_secret"
   ALGORITHM = 'aes-256-cbc'
 
+  class UnacceptableEncryptedDataBagItemFormat 

** Too large, sniped!! **


lib/chef/event_dispatch/base.rb

lib/chef/event_dispatch/base.rb

Diff


--- a/lib/chef/event_dispatch/base.rb
+++ b/lib/chef/event_dispatch/base.rb
@@ -32,6 +32,9 @@ class Chef
       def run_start(version)
       end
 
+      def run_started(run_status)
+      end
+
       # Called at the end a successful Chef run.
       def run_completed(node)
       end

lib/chef/exceptions.rb

lib/chef/exceptions.rb

Diff


--- a/lib/chef/exceptions.rb
+++ b/lib/chef/exceptions.rb
@@ -97,6 +97,8 @@ class Chef
     # Attempting to run windows code on a not-windows node
     class Win32NotWindows 

lib/chef/formatters/error_inspectors/registration_error_inspector.rb

lib/chef/formatters/error_inspectors/registration_error_inspector.rb

Diff


--- a/lib/chef/formatters/error_inspectors/registration_error_inspector.rb
+++ b/lib/chef/formatters/error_inspectors/registration_error_inspector.rb
@@ -41,6 +41,10 @@ E
             error_description.section("Relevant Config Settings:",

lib/chef/json_compat.rb

lib/chef/json_compat.rb

Diff


--- a/lib/chef/json_compat.rb
+++ b/lib/chef/json_compat.rb
@@ -27,6 +27,7 @@ class Chef
     JSON_CLASS = "json_class".freeze
 
     CHEF_APICLIENT          = "Chef::ApiClient".freeze
+    CHEF_CHECKSUM           = "Chef::Checksum".freeze
     CHEF_COOKBOOKVERSION    = "Chef::CookbookVersion".freeze
     CHEF_DATABAG            = "Chef::DataBag".freeze
     CHEF_DATABAGITEM        = "Chef::DataBagItem".freeze
@@ -114,6 +115,8 @@ class Chef
         case json_class
         when CHEF_APICLIENT
           Chef::ApiClient
+        when CHEF_CHECKSUM
+          Chef::Checksum
         when CHEF_COOKBOOKVERSION
           Chef::CookbookVersion
         when CHEF_DATABAG

lib/chef/knife.rb

lib/chef/knife.rb

Diff


--- a/lib/chef/knife.rb
+++ b/lib/chef/knife.rb
@@ -201,12 +201,18 @@ class Chef
       subcommand_class || subcommand_not_found!(args)
     end
 
+    def self.dependency_loaders
+      @dependency_loaders ||= []
+    end
+
     def self.deps(&block)
-      @dependency_loader = block
+      dependency_loaders 

lib/chef/knife/bootstrap.rb

lib/chef/knife/bootstrap.rb

Diff


--- a/lib/chef/knife/bootstrap.rb
+++ b/lib/chef/knife/bootstrap.rb
@@ -94,6 +94,11 @@ class Chef
         :description => "Execute the bootstrap via sudo",
         :boolean => true
 
+      option :use_sudo_password,
+        :long => "--use-sudo-password",
+        :description => "Execute the bootstrap via sudo with password",
+        :boolean => false
+
       option :template_file,
         :long => "--template-file TEMPLATE",
         :description => "Full path to location of template to use",
@@ -127,6 +132,15 @@ class Chef
           name, path = h.split("=")
           Chef::Config[:knife][:hints][name] = path ? JSON.parse(::File.read(path)) : Hash.new  }
 
+      option :secret,
+        :short => "-s SECRET",
+        :long  => "--secret ",
+        :description => "The secret key to use to encrypt data bag item values"
+
+      option :secret_file,
+        :long => "--secret-file SECRET_FILE",
+        :description => "A file containing the secret key to use to encrypt data bag item values"
+
       def find_template(template=nil)
         # Are we bootstrapping using an already shipped template?
         if config[:template_file]
@@ -166,11 +180,12 @@ class Chef
 
       def run
         validate_name_args!
+        warn_chef_config_secret_key
         @template_file = find_template(config[:bootstrap_template])
         @node_name = Array(@name_args).first
         # back compat--templates may use this setting:
         config[:server_name] = @node_name
-        
+
         $stdout.sync = true
 
         ui.info("Bootstrapping Chef on #{ui.color(@node_name, :bold)}")
@@ -222,12 +237,34 @@ class Chef
         command = render_template(read_template)
 
         if config[:use_sudo]
-          command = "sudo #{command}"
+          command = config[:use_sudo_password] ? "echo #{config[:ssh_password]} | sudo -S #{command}" : "sudo #{command}"
         end
 
         command
       end
 
+      def warn_chef_config_secret_key
+        unless Chef::Config[:

** Too large, sniped!! **


lib/chef/knife/bootstrap/archlinux-gems.erb

lib/chef/knife/bootstrap/archlinux-gems.erb

Diff


--- a/lib/chef/knife/bootstrap/archlinux-gems.erb
+++ b/lib/chef/knife/bootstrap/archlinux-gems.erb
@@ -16,7 +16,7 @@ awk NF > /etc/chef/validation.pem 
+
 awk NF > /etc/chef/encrypted_data_bag_secret 
 EOP

lib/chef/knife/bootstrap/centos5-gems.erb

lib/chef/knife/bootstrap/centos5-gems.erb

Diff


--- a/lib/chef/knife/bootstrap/centos5-gems.erb
+++ b/lib/chef/knife/bootstrap/centos5-gems.erb
@@ -33,7 +33,7 @@ awk NF > /etc/chef/validation.pem 
+
 awk NF > /etc/chef/encrypted_data_bag_secret 
 EOP

lib/chef/knife/bootstrap/chef-full.erb

lib/chef/knife/bootstrap/chef-full.erb

Diff


--- a/lib/chef/knife/bootstrap/chef-full.erb
+++ b/lib/chef/knife/bootstrap/chef-full.erb
@@ -31,7 +31,7 @@ awk NF > /etc/chef/validation.pem 
+
 awk NF > /etc/chef/encrypted_data_bag_secret 
 EOP

lib/chef/knife/bootstrap/fedora13-gems.erb

lib/chef/knife/bootstrap/fedora13-gems.erb

Diff


--- a/lib/chef/knife/bootstrap/fedora13-gems.erb
+++ b/lib/chef/knife/bootstrap/fedora13-gems.erb
@@ -15,7 +15,7 @@ awk NF > /etc/chef/validation.pem 
+
 awk NF > /etc/chef/encrypted_data_bag_secret 
 EOP

lib/chef/knife/bootstrap/ubuntu10.04-apt.erb

lib/chef/knife/bootstrap/ubuntu10.04-apt.erb

Diff


--- a/lib/chef/knife/bootstrap/ubuntu10.04-apt.erb
+++ b/lib/chef/knife/bootstrap/ubuntu10.04-apt.erb
@@ -15,7 +15,7 @@ awk NF > /etc/chef/validation.pem 
+
 awk NF > /etc/chef/encrypted_data_bag_secret 
 EOP

lib/chef/knife/bootstrap/ubuntu10.04-gems.erb

lib/chef/knife/bootstrap/ubuntu10.04-gems.erb

Diff


--- a/lib/chef/knife/bootstrap/ubuntu10.04-gems.erb
+++ b/lib/chef/knife/bootstrap/ubuntu10.04-gems.erb
@@ -19,7 +19,7 @@ awk NF > /etc/chef/validation.pem 
+
 awk NF > /etc/chef/encrypted_data_bag_secret 
 EOP

lib/chef/knife/bootstrap/ubuntu12.04-gems.erb

lib/chef/knife/bootstrap/ubuntu12.04-gems.erb

Diff


--- a/lib/chef/knife/bootstrap/ubuntu12.04-gems.erb
+++ b/lib/chef/knife/bootstrap/ubuntu12.04-gems.erb
@@ -17,7 +17,7 @@ awk NF > /etc/chef/validation.pem 
+
 awk NF > /etc/chef/encrypted_data_bag_secret 
 EOP

lib/chef/knife/cookbook_create.rb

lib/chef/knife/cookbook_create.rb

Diff


--- a/lib/chef/knife/cookbook_create.rb
+++ b/lib/chef/knife/cookbook_create.rb
@@ -185,13 +185,14 @@ EOH
         unless File.exists?(File.join(dir,cookbook_name,'CHANGELOG.md'))
           open(File.join(dir, cookbook_name, 'CHANGELOG.md'),'w') do |file|
             file.puts 

lib/chef/knife/cookbook_upload.rb

lib/chef/knife/cookbook_upload.rb

Diff


--- a/lib/chef/knife/cookbook_upload.rb
+++ b/lib/chef/knife/cookbook_upload.rb
@@ -19,6 +19,7 @@
 #
 
 require 'chef/knife'
+require 'chef/cookbook_uploader'
 
 class Chef
   class Knife
@@ -228,15 +229,9 @@ WARNING
           check_for_dependencies!(cb)
         end
         Chef::CookbookUploader.new(cookbooks, config[:cookbook_path], :force => config[:force]).upload_cookbooks
-      rescue Net::HTTPServerException => e
-        case e.response.code
-        when "409"
-          ui.error "Version #{cookbook.version} of cookbook #{cookbook.name} is frozen. Use --force to override."
-          Log.debug(e)
-          raise Exceptions::CookbookFrozen
-        else
-          raise
-        end
+      rescue Chef::Exceptions::CookbookFrozen => e
+        ui.error e
+        raise
       end
 
       def check_for_broken_links!(cookbook)

lib/chef/knife/core/bootstrap_context.rb

lib/chef/knife/core/bootstrap_context.rb

Diff


--- a/lib/chef/knife/core/bootstrap_context.rb
+++ b/lib/chef/knife/core/bootstrap_context.rb
@@ -25,7 +25,7 @@ class Chef
       # following instance variables:
       # * @config   - a hash of knife's config values
       # * @run_list - the run list for the node to boostrap
-      # 
+      #
       class BootstrapContext
 
         def initialize(config, run_list, chef_config)
@@ -51,7 +51,13 @@ class Chef
         end
 
         def encrypted_data_bag_secret
-          IO.read(File.expand_path(@chef_config[:encrypted_data_bag_secret]))
+          @config[:secret] || begin
+            if @config[:secret_file] && File.exist?(@config[:secret_file])
+              IO.read(File.expand_path(@config[:secret_file]))
+            elsif @chef_config[:encrypted_data_bag_secret] && File.exist?(@chef_config[:encrypted_data_bag_secret])
+              IO.read(File.expand_path(@chef_config[:encrypted_data_bag_secret]))
+            end
+          end
         end
 
         def config_content
@@ -72,7 +78,7 @@ CONFIG
             client_rb  @run_list)
         end

lib/chef/knife/core/ui.rb

lib/chef/knife/core/ui.rb

Diff


--- a/lib/chef/knife/core/ui.rb
+++ b/lib/chef/knife/core/ui.rb
@@ -19,7 +19,7 @@
 #
 
 require 'forwardable'
-require 'chef/platform'
+require 'chef/platform/query_helpers'
 require 'chef/knife/core/generic_presenter'
 
 class Chef
@@ -64,14 +64,24 @@ class Chef
       # Prints a message to stdout. Aliased as +info+ for compatibility with
       # the logger API.
       def msg(message)
-        stdout.puts message
+        begin
+          stdout.puts message
+        rescue Errno::EPIPE => e
+          raise e if @config[:verbosity] >= 2
+          exit 0
+        end
       end
 
       alias :info :msg
 
       # Prints a msg to stderr. Used for warn, error, and fatal.
       def err(message)
-        stderr.puts message
+        begin
+          stderr.puts message
+        rescue Errno::EPIPE => e
+          raise e if @config[:verbosity] >= 2
+          exit 0
+        end
       end
 
       # Print a warning message
@@ -143,7 +153,12 @@ class Chef
       end
 
       def pretty_print(data)
-        stdout.puts data
+        begin
+          stdout.puts data
+        rescue Errno::EPIPE => e
+          raise e if @config[:verbosity] >= 2
+          exit 0
+        end
       end
 
       def edit_data(data, parse_output=true)

lib/chef/log.rb

lib/chef/log.rb

Diff


--- a/lib/chef/log.rb
+++ b/lib/chef/log.rb
@@ -18,6 +18,7 @@
 # limitations under the License.
 
 require 'logger'
+require 'chef/monologger'
 require 'mixlib/log'
 
 class Chef
@@ -25,8 +26,7 @@ class Chef
     extend Mixlib::Log
 
     # Force initialization of the primary log device (@logger)
-    init
-
+    init(MonoLogger.new(STDOUT))
 
     class Formatter
       def self.show_time=(*args)

lib/chef/mixin/language_include_recipe.rb

lib/chef/mixin/language_include_recipe.rb

Diff


--- a/lib/chef/mixin/language_include_recipe.rb
+++ b/lib/chef/mixin/language_include_recipe.rb
@@ -23,7 +23,7 @@ class Chef
   module Mixin
 
     deprecate_constant(:LanguageIncludeRecipe, Chef::DSL::IncludeRecipe, 

lib/chef/mixin/windows_architecture_helper.rb

lib/chef/mixin/windows_architecture_helper.rb

New File!

Diff


--- /dev/null
+++ b/lib/chef/mixin/windows_architecture_helper.rb
@@ -0,0 +1,91 @@
+#
+# Author:: Adam Edwards ()
+# Copyright:: Copyright (c) 2013 Opscode, Inc.
+# License:: Apache License, Version 2.0
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+# 
+#     http://www.apache.org/licenses/LICENSE-2.0
+# 
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
+
+
+require 'chef/exceptions' 
+require 'win32/api' if Chef::Platform.windows?
+
+class Chef
+  module Mixin
+    module WindowsArchitectureHelper
+
+      def node_windows_architecture(node)
+        node[:kernel][:machine].to_sym
+      end
+
+      def wow64_architecture_override_required?(node, desired_architecture)
+        is_i386_windows_process? &&
+          node_windows_architecture(node) == :x86_64 &&
+          desired_architecture == :x86_64
+      end          
+
+      def node_supports_windows_architecture?(node, desired_architecture)
+        assert_valid_windows_architecture!(desired_architecture)
+        return (node_windows_architecture(node) == :x86_64 ||
+                desired_architecture == :i386) ? true : false
+      end
+
+      def valid_windows_architecture?(architecture)
+        return (architecture == :x86_64) || (architecture == :i386)
+      end
+
+      def assert_valid_windows_architecture!(architecture)
+        if ! valid_windows_architecture?(architecture)
+          raise Chef::Exceptions::Win32ArchitectureIncorrect,
+          "The specified architecture was not valid. It must be one of :i386 or :x86_64"
+        end
+      end
+
+      def is_i386_win

** Too large, sniped!! **


lib/chef/monologger.rb

lib/chef/monologger.rb

New File!

Diff


--- /dev/null
+++ b/lib/chef/monologger.rb
@@ -0,0 +1,93 @@
+require 'logger'
+
+require 'pp'
+
+#== MonoLogger
+# A subclass of Ruby's stdlib Logger with all the mutex and logrotation stuff
+# ripped out.
+class MonoLogger  ignored
+      warn("log writing failed. #{ignored}")
+    end
+
+    def close
+      @dev.close rescue nil
+    end
+
+  private
+
+    def open_logfile(filename)
+      if (FileTest.exist?(filename))
+        open(filename, (File::WRONLY | File::APPEND))
+      else
+        create_logfile(filename)
+      end
+    end
+
+    def create_logfile(filename)
+      logdev = open(filename, (File::WRONLY | File::APPEND | File::CREAT))
+      logdev.sync = true
+      add_log_header(logdev)
+      logdev
+    end
+
+    def add_log_header(file)
+     

** Too large, sniped!! **


lib/chef/node.rb

lib/chef/node.rb

Diff


--- a/lib/chef/node.rb
+++ b/lib/chef/node.rb
@@ -505,5 +505,9 @@ class Chef
       "node[#{name}]"
     end
 
+    def (other_node)
+      self.name  other_node.name
+    end
+
   end
 end

lib/chef/platform.rb

lib/chef/platform.rb

Diff


--- a/lib/chef/platform.rb
+++ b/lib/chef/platform.rb
@@ -16,500 +16,14 @@
 # limitations under the License.
 #
 
-require 'chef/config'
-require 'chef/log'
-require 'chef/mixin/params_validate'
-
-# This file depends on nearly every provider in chef, but requiring them
-# directly causes circular requires resulting in uninitialized constant errors.
-require 'chef/provider'
-require 'chef/provider/log'
-require 'chef/provider/user'
-require 'chef/provider/group'
-require 'chef/provider/mount'
-require 'chef/provider/service'
-require 'chef/provider/package'
-
+require 'chef/platform/provider_mapping'
+require 'chef/platform/query_helpers'
 
 class Chef
   class Platform
 
-    class  {
-            :default => {
-              :package => Chef::Provider::Package::Macports,
-              :service => Chef::Provider::Service::Macosx,
-              :user => Chef::Provider::User::Dscl,
-              :group => Chef::Provider::Group::Dscl
-            }
-          },
-          :mac_os_x_server => {
-            :default => {
-              :package => Chef::Provider::Package::Macports,
-              :service => Chef::Provider::Service::Macosx,
-              :user => Chef::Provider::User::Dscl,
-              :group => Chef::Provider::Group::Dscl
-            }
-          },
-          :freebsd => {
-            :default => {
-              :group   => Chef::Provider::Group::Pw,
-              :package => Chef::Provider::Package::Freebsd,
-              :service => Chef::Provider::Service::Freebsd,
-              :user    => Chef::Provider::User::Pw,
-              :cron    => Chef::Provider::Cron
-            }
-          },
-          :ubuntu   => {
-            :default => {
-              :package => Chef::Provider::Package::Apt,
-              :service => Chef::Provider::Service::Debian,
-              :cron => Chef::Provider::Cron,
-              :mdadm =

** Too large, sniped!! **


lib/chef/platform/provider_mapping.rb

lib/chef/platform/provider_mapping.rb

New File!

Diff


--- /dev/null
+++ b/lib/chef/platform/provider_mapping.rb
@@ -0,0 +1,516 @@
+#
+# Author:: Adam Jacob ()
+# Copyright:: Copyright (c) 2008 Opscode, Inc.
+# License:: Apache License, Version 2.0
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#     http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
+
+require 'chef/config'
+require 'chef/log'
+require 'chef/mixin/params_validate'
+require 'chef/version_constraint/platform'
+
+# This file depends on nearly every provider in chef, but requiring them
+# directly causes circular requires resulting in uninitialized constant errors.
+require 'chef/provider'
+require 'chef/provider/log'
+require 'chef/provider/user'
+require 'chef/provider/group'
+require 'chef/provider/mount'
+require 'chef/provider/service'
+require 'chef/provider/package'
+
+
+class Chef
+  class Platform
+
+    class  {
+            :default => {
+              :package => Chef::Provider::Package::Macports,
+              :service => Chef::Provider::Service::Macosx,
+              :user => Chef::Provider::User::Dscl,
+              :group => Chef::Provider::Group::Dscl
+            }
+          },
+          :mac_os_x_server => {
+            :default => {
+              :package => Chef::Provider::Package::Macports,
+              :service => Chef::Provider::Service::Macosx,
+              :user => Chef::Provider::User::Dscl,
+              :group => Chef::Provider::Group::Dscl
+ 

** Too large, sniped!! **


lib/chef/platform/query_helpers.rb

lib/chef/platform/query_helpers.rb

New File!

Diff


--- /dev/null
+++ b/lib/chef/platform/query_helpers.rb
@@ -0,0 +1,42 @@
+#
+# Author:: Adam Jacob ()
+# Copyright:: Copyright (c) 2008 Opscode, Inc.
+# License:: Apache License, Version 2.0
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#     http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
+
+class Chef
+  class Platform
+
+    class 

lib/chef/provider.rb

lib/chef/provider.rb

Diff


--- a/lib/chef/provider.rb
+++ b/lib/chef/provider.rb
@@ -162,7 +162,7 @@ class Chef
       # this block cannot interact with resources outside, e.g.,
       # manipulating notifies.
 
-      converge_by ("would evaluate block and run any associated actions") do
+      converge_by ("evaluate block and run any associated actions") do
         saved_run_context = @run_context
         @run_context = @run_context.dup
         @run_context.resource_collection = Chef::ResourceCollection.new

lib/chef/provider/batch.rb

lib/chef/provider/batch.rb

New File!

Diff


--- /dev/null
+++ b/lib/chef/provider/batch.rb
@@ -0,0 +1,35 @@
+#
+# Author:: Adam Edwards ()
+# Copyright:: Copyright (c) 2013 Opscode, Inc.
+# License:: Apache License, Version 2.0
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+# 
+#     http://www.apache.org/licenses/LICENSE-2.0
+# 
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
+
+require 'chef/provider/windows_script'
+
+class Chef
+  class Provider
+    class Batch 

lib/chef/provider/deploy.rb

lib/chef/provider/deploy.rb

Diff


--- a/lib/chef/provider/deploy.rb
+++ b/lib/chef/provider/deploy.rb
@@ -299,7 +299,7 @@ class Chef
 
       def run_symlinks_before_migrate
         links_info = @new_resource.symlink_before_migrate.map { |src, dst| "#{src} => #{dst}" }.join(", ")
-        converge_by("make pre-migration symliinks: #{links_info}") do
+        converge_by("make pre-migration symlinks: #{links_info}") do
           @new_resource.symlink_before_migrate.each do |src, dest|
             begin
               FileUtils.ln_sf(@new_resource.shared_path + "/#{src}", release_path + "/#{dest}")

lib/chef/provider/execute.rb

lib/chef/provider/execute.rb

Diff


--- a/lib/chef/provider/execute.rb
+++ b/lib/chef/provider/execute.rb
@@ -37,11 +37,9 @@ class Chef
       def action_run
         opts = {}
 
-        if sentinel_file = @new_resource.creates
-          if ::File.exists?(sentinel_file)
-            Chef::Log.debug("#{@new_resource} sentinel file #{sentinel_file} exists - nothing to do")
-            return false
-          end
+        if sentinel_file = sentinel_file_if_exists
+          Chef::Log.debug("#{@new_resource} sentinel file #{sentinel_file} exists - nothing to do")
+          return false
         end
 
         # original implementation did not specify a timeout, but ShellOut
@@ -63,6 +61,25 @@ class Chef
           Chef::Log.info("#{@new_resource} ran successfully")
         end
       end
+
+      private
+
+      def sentinel_file_if_exists
+        if sentinel_file = @new_resource.creates
+          relative = Pathname(sentinel_file).relative?
+          cwd = @new_resource.cwd
+          if relative && !cwd
+            Chef::Log.warn "You have provided relative path for execute#creates (#{sentinel_file}) without execute#cwd (see CHEF-3819)"
+          end
+
+          if ::File.exists?(sentinel_file)
+            sentinel_file
+          elsif cwd && relative
+            sentinel_file = ::File.join(cwd, sentinel_file)
+            sentinel_file if ::File.exists?(sentinel_file)
+          end
+        end
+      end
     end
   end
 end

lib/chef/provider/mount.rb

lib/chef/provider/mount.rb

Diff


--- a/lib/chef/provider/mount.rb
+++ b/lib/chef/provider/mount.rb
@@ -79,7 +79,7 @@ class Chef
       end
 
       def action_enable
-        unless @current_resource.enabled
+        unless @current_resource.enabled && mount_options_unchanged?
           converge_by("remount #{@current_resource.device}") do 
             status = enable_fs
             if status

lib/chef/provider/mount/mount.rb

lib/chef/provider/mount/mount.rb

Diff


--- a/lib/chef/provider/mount/mount.rb
+++ b/lib/chef/provider/mount/mount.rb
@@ -225,7 +225,11 @@ class Chef
             # ignore trailing slash
             Regexp.escape(device_real)+"/?"
           elsif ::File.symlink?(device_real)
-            "(?:#{Regexp.escape(device_real)})|(?:#{Regexp.escape(::File.readlink(device_real))})"
+            # This regular expression tries to match device_real. If that does not match it will try to match the target of device_real.
+            # So given a symlink like this:
+            # /dev/mapper/vgroot-tmp.vol -> /dev/dm-9
+            # First it will try to match "/dev/mapper/vgroot-tmp.vol". If there is no match it will try matching for "/dev/dm-9".
+            "(?:#{Regexp.escape(device_real)}|#{Regexp.escape(::File.readlink(device_real))})"
           else
             Regexp.escape(device_real)
           end

lib/chef/provider/package/rubygems.rb

lib/chef/provider/package/rubygems.rb

Diff


--- a/lib/chef/provider/package/rubygems.rb
+++ b/lib/chef/provider/package/rubygems.rb
@@ -31,7 +31,14 @@ require 'rubygems/version'
 require 'rubygems/dependency'
 require 'rubygems/spec_fetcher'
 require 'rubygems/platform'
-require 'rubygems/format'
+
+# Compatibility note: Rubygems 2.0 removes rubygems/format in favor of
+# rubygems/package.
+begin
+  require 'rubygems/format'
+rescue LoadError
+  require 'rubygems/package'
+end
 require 'rubygems/dependency_installer'
 require 'rubygems/uninstaller'
 require 'rubygems/specification'
@@ -106,6 +113,22 @@ class Chef
           end
 
           ##
+          # Extracts the gemspec from a (on-disk) gem package.
+          # === Returns
+          # Gem::Specification
+          #
+          #--
+          # Compatibility note: Rubygems 1.x uses Gem::Format, 2.0 moved this
+          # code into Gem::Package.
+          def spec_from_file(file)
+            if defined?(Gem::Format)
+              Gem::Format.from_file_by_path(file).spec
+            else
+              Gem::Package.new(file).spec
+            end
+          end
+
+          ##
           # Determines the candidate version for a gem from a .gem file on disk
           # and checks if it matches the version contraints in +gem_dependency+
           # === Returns
@@ -114,7 +137,7 @@ class Chef
           # nil           returns nil if the gem on disk doesn't match the
           #               version constraints for +gem_dependency+
           def candidate_version_from_file(gem_dependency, source)
-            spec = Gem::Format.from_file_by_path(source).spec
+            spec = spec_from_file(source)
             if spec.satisfies_requirement?(gem_dependency)
               logger.debug {"#{@new_resource} found candidate gem version #{spec.version} from local gem package #{source}"}
               spec.version
@@ -142,17 +165,26 @@ class Chef
           # Find the newest gem version available from Gem.sources that satisfies
           # the constra

** Too large, sniped!! **


lib/chef/provider/package/smartos.rb

lib/chef/provider/package/smartos.rb

Diff


--- a/lib/chef/provider/package/smartos.rb
+++ b/lib/chef/provider/package/smartos.rb
@@ -2,6 +2,7 @@
 # Authors:: Trevor O (trevoro@joyent.com)
 #           Bryan McLellan (btm@loftninjas.org)
 #           Matthew Landauer (matthew@openaustralia.org)
+#           Ben Rockwood (benr@joyent.com)
 # Copyright:: Copyright (c) 2009 Bryan McLellan, Matthew Landauer
 # License:: Apache License, Version 2.0
 #
@@ -17,10 +18,6 @@
 # See the License for the specific language governing permissions and
 # limitations under the License.
 #
-# Notes
-#
-#  * Supports installing using a local package name
-#  * Otherwise reverts to installing from the pkgsrc repositories URL
 
 require 'chef/provider/package'
 require 'chef/mixin/shell_out'
@@ -36,47 +33,61 @@ class Chef
 
 
         def load_current_resource
-                   Chef::Log.debug("#{@new_resource} loading current resource")
-                   @current_resource = Chef::Resource::Package.new(@new_resource.name)
-                   @current_resource.package_name(@new_resource.package_name)
-                   @current_resource.version(nil)
+          Chef::Log.debug("#{@new_resource} loading current resource")
+          @current_resource = Chef::Resource::Package.new(@new_resource.name)
+          @current_resource.package_name(@new_resource.package_name)
+          @current_resource.version(nil)
           check_package_state(@new_resource.package_name)
-                   @current_resource # modified by check_package_state
-               end
-               
-               def check_package_state(name)
-                   Chef::Log.debug("#{@new_resource} checking package #{name}")
-                   # XXX
-                   version = nil
-                   info = shell_out!("pkg_info -E \"#{name}*\"", :env => nil, :returns => [0,1])
-                   
-                   if info.stdout
-                       version = info.stdout[/^#{@new_resource.package_name}-(.+)/, 1]
+          @current_resource # modified by check_package_state
+        end
+
+        def check_package_state(name)
+          Chef::Log.debug("#{@new_resource} checking package #{name}")
+          version = nil
+          info = shell_o

** Too large, sniped!! **


lib/chef/provider/package/zypper.rb

lib/chef/provider/package/zypper.rb

Diff


--- a/lib/chef/provider/package/zypper.rb
+++ b/lib/chef/provider/package/zypper.rb
@@ -91,11 +91,11 @@ class Chef
             )
           elsif version
             run_command(
-              :command => "zypper -n --no-gpg-checks install -l  #{name}=#{version}"
+              :command => "zypper -n#{gpg_checks} install -l #{name}=#{version}"
             )
           else
             run_command(
-              :command => "zypper -n --no-gpg-checks install -l  #{name}"
+              :command => "zypper -n#{gpg_checks} install -l #{name}"
             )
           end
         end
@@ -107,11 +107,11 @@ class Chef
             )
           elsif version
             run_command(
-              :command => "zypper -n --no-gpg-checks install -l #{name}=#{version}"
+              :command => "zypper -n#{gpg_checks} install -l #{name}=#{version}"
             )
           else
             run_command(
-              :command => "zypper -n --no-gpg-checks install -l #{name}"
+              :command => "zypper -n#{gpg_checks} install -l #{name}"
             )
           end
         end
@@ -123,21 +123,33 @@ class Chef
             )
           elsif version
             run_command(
-              :command => "zypper -n --no-gpg-checks remove  #{name}=#{version}"
+              :command => "zypper -n#{gpg_checks} remove #{name}=#{version}"
             )
           else
             run_command(
-              :command => "zypper -n --no-gpg-checks remove  #{name}"
+              :command => "zypper -n#{gpg_checks} remove #{name}"
             )
           end
-            
-         
         end
       
         def purge_package(name, version)
           remove_package(name, version)
         end
-      
+
+        private
+        def gpg_checks()
+          case Chef::Config[:zypper_check_gpg]
+          when true
+            ""
+          when false
+            " --no-gpg-checks"
+          when nil
+            Chef::Log.warn("Chef::Config[:zypper_check_g

** Too large, sniped!! **


lib/chef/provider/powershell.rb

lib/chef/provider/powershell.rb

New File!

Diff


--- /dev/null
+++ b/lib/chef/provider/powershell.rb
@@ -0,0 +1,35 @@
+#
+# Author:: Adam Edwards ()
+# Copyright:: Copyright (c) 2013 Opscode, Inc.
+# License:: Apache License, Version 2.0
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+# 
+#     http://www.apache.org/licenses/LICENSE-2.0
+# 
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
+
+require 'chef/provider/windows_script'
+
+class Chef
+  class Provider
+    class Powershell 

lib/chef/provider/script.rb

lib/chef/provider/script.rb

Diff


--- a/lib/chef/provider/script.rb
+++ b/lib/chef/provider/script.rb
@@ -29,7 +29,7 @@ class Chef
 
         set_owner_and_group
 
-        @new_resource.command("\"#{@new_resource.interpreter}\" #{@new_resource.flags} \"#{script_file.path}\"")
+        @new_resource.command("\"#{interpreter}\" #{flags} \"#{script_file.path}\"")
         super
         converge_by(nil) do
           # ensure script is unlinked at end of converge!
@@ -52,6 +52,13 @@ class Chef
         @script_file && @script_file.close!
       end
 
+      def interpreter
+        @new_resource.interpreter
+      end
+
+      def flags
+        @new_resource.flags
+      end
     end
   end
 end

lib/chef/provider/service/solaris.rb

lib/chef/provider/service/solaris.rb

Diff


--- a/lib/chef/provider/service/solaris.rb
+++ b/lib/chef/provider/service/solaris.rb
@@ -16,6 +16,7 @@
 # limitations under the License.
 #
 
+require 'chef/mixin/shell_out'
 require 'chef/provider/service'
 require 'chef/mixin/command'
 
@@ -23,6 +24,7 @@ class Chef
   class Provider
     class Service
       class Solaris  "#{default_init_command} enable #{@new_resource.service_name}")
-          return service_status.enabled
+          shell_out!("#{default_init_command} enable -s #{@new_resource.service_name}")
         end
 
         def disable_service
-          run_command(:command => "#{default_init_command} disable #{@new_resource.service_name}")
-          return service_status.enabled
+          shell_out!("#{default_init_command} disable -s #{@new_resource.service_name}")
         end
 
         alias_method :stop_service, :disable_service
         alias_method :start_service, :enable_service
 
         def reload_service
-          run_command(:command => "#{default_init_command} refresh #{@new_resource.service_name}")
+          shell_out!("#{default_init_command} refresh #{@new_resource.service_name}")
         end
 
         def restart_service
+          ## svcadm restart doesn't supports sync(-s) option
           disable_service
           return enable_service
         end

lib/chef/provider/user/solaris.rb

lib/chef/provider/user/solaris.rb

New File!

Diff


--- /dev/null
+++ b/lib/chef/provider/user/solaris.rb
@@ -0,0 +1,90 @@
+#
+# Author:: Stephen Nelson-Smith ()
+# Author:: Jon Ramsey ()
+# Copyright:: Copyright (c) 2012 Opscode, Inc.
+# License:: Apache License, Version 2.0
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#     http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+class Chef
+  class Provider
+    class User
+      class Solaris 

** Too large, sniped!! **


lib/chef/provider/user/useradd.rb

lib/chef/provider/user/useradd.rb

Diff


--- a/lib/chef/provider/user/useradd.rb
+++ b/lib/chef/provider/user/useradd.rb
@@ -6,9 +6,9 @@
 # Licensed under the Apache License, Version 2.0 (the "License");
 # you may not use this file except in compliance with the License.
 # You may obtain a copy of the License at
-# 
+#
 #     http://www.apache.org/licenses/LICENSE-2.0
-# 
+#
 # Unless required by applicable law or agreed to in writing, software
 # distributed under the License is distributed on an "AS IS" BASIS,
 # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
@@ -21,7 +21,7 @@ require 'chef/provider/user'
 
 class Chef
   class Provider
-    class User 
+    class User
       class Useradd  command)
         end
-        
+
         def manage_user
-          command = compile_command("usermod") do |u|
-            u  command)
           end
-          run_command(:command => command)
         end
-        
+
         def remove_user
           command = "userdel"
           command  command)
         end
-        
+
         def check_lock
           status = popen4("passwd -S #{@new_resource.username}") do |pid, stdin, stdout, stderr|
             status_line = stdout.gets.split(' ')
@@ -80,11 +82,11 @@ class Chef
 
           @locked
         end
-        
+
         def lock_user
           run_command(:command => "usermod -L #{@new_resource.username}")
         end
-        
+
         def unlock_user
           run_command(:command => "usermod 

** Too large, sniped!! **


lib/chef/provider/windows_script.rb

lib/chef/provider/windows_script.rb

New File!

Diff


--- /dev/null
+++ b/lib/chef/provider/windows_script.rb
@@ -0,0 +1,73 @@
+#
+# Author:: Adam Edwards ()
+# Copyright:: Copyright (c) 2013 Opscode, Inc.
+# License:: Apache License, Version 2.0
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+# 
+#     http://www.apache.org/licenses/LICENSE-2.0
+# 
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
+
+require 'chef/provider/script'
+require 'chef/mixin/windows_architecture_helper'
+
+class Chef
+  class Provider
+    class WindowsScript 

** Too large, sniped!! **


lib/chef/providers.rb

lib/chef/providers.rb

Diff


--- a/lib/chef/providers.rb
+++ b/lib/chef/providers.rb
@@ -16,6 +16,7 @@
 # limitations under the License.
 #
 
+require 'chef/provider/batch'
 require 'chef/provider/breakpoint'
 require 'chef/provider/cookbook_file'
 require 'chef/provider/cron'
@@ -36,6 +37,7 @@ require 'chef/provider/ohai'
 require 'chef/provider/mdadm'
 require 'chef/provider/mount'
 require 'chef/provider/package'
+require 'chef/provider/powershell'
 require 'chef/provider/remote_directory'
 require 'chef/provider/remote_file'
 require 'chef/provider/route'
@@ -82,6 +84,7 @@ require 'chef/provider/user/dscl'
 require 'chef/provider/user/pw'
 require 'chef/provider/user/useradd'
 require 'chef/provider/user/windows'
+require 'chef/provider/user/solaris'
 
 require 'chef/provider/group/aix'
 require 'chef/provider/group/dscl'

lib/chef/resource.rb

lib/chef/resource.rb

Diff


--- a/lib/chef/resource.rb
+++ b/lib/chef/resource.rb
@@ -129,6 +129,17 @@ F
 
     extend Chef::Mixin::ConvertToClassName
 
+
+    if Module.method(:const_defined?).arity == 1
+      def self.strict_const_defined?(const)
+        const_defined?(const)
+      end
+    else
+      def self.strict_const_defined?(const)
+        const_defined?(const, false)
+      end
+    end
+
     # Track all subclasses of Resource. This is used so names can be looked up
     # when attempting to deserialize from JSON. (See: json_compat)
     def self.resource_classes

lib/chef/resource/batch.rb

lib/chef/resource/batch.rb

New File!

Diff


--- /dev/null
+++ b/lib/chef/resource/batch.rb
@@ -0,0 +1,31 @@
+#
+# Author:: Adam Edwards ()
+# Copyright:: Copyright (c) 2013 Opscode, Inc.
+# License:: Apache License, Version 2.0
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+# 
+#     http://www.apache.org/licenses/LICENSE-2.0
+# 
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
+
+require 'chef/resource/windows_script'
+
+class Chef
+  class Resource
+    class Batch 

lib/chef/resource/file.rb

lib/chef/resource/file.rb

Diff


--- a/lib/chef/resource/file.rb
+++ b/lib/chef/resource/file.rb
@@ -18,7 +18,7 @@
 #
 
 require 'chef/resource'
-require 'chef/platform'
+require 'chef/platform/query_helpers'
 require 'chef/provider/file'
 require 'chef/mixin/securable'
 

lib/chef/resource/lwrp_base.rb

lib/chef/resource/lwrp_base.rb

Diff


--- a/lib/chef/resource/lwrp_base.rb
+++ b/lib/chef/resource/lwrp_base.rb
@@ -39,7 +39,7 @@ class Chef
 
         # Add log entry if we override an existing light-weight resource.
         class_name = convert_to_class_name(rname)
-        if Resource.const_defined?(class_name)
+        if Resource.strict_const_defined?(class_name)
           old_class = Resource.send(:remove_const, class_name)
           # CHEF-3432 -- Chef::Resource keeps a list of subclasses; need to
           # remove old ones from the list when replacing.

lib/chef/resource/powershell.rb

lib/chef/resource/powershell.rb

New File!

Diff


--- /dev/null
+++ b/lib/chef/resource/powershell.rb
@@ -0,0 +1,31 @@
+#
+# Author:: Adam Edwards ()
+# Copyright:: Copyright (c) 2013 Opscode, Inc.
+# License:: Apache License, Version 2.0
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+# 
+#     http://www.apache.org/licenses/LICENSE-2.0
+# 
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
+
+require 'chef/resource/windows_script'
+
+class Chef
+  class Resource
+    class Powershell 

lib/chef/resource/windows_script.rb

lib/chef/resource/windows_script.rb

New File!

Diff


--- /dev/null
+++ b/lib/chef/resource/windows_script.rb
@@ -0,0 +1,62 @@
+#
+# Author:: Adam Edwards ()
+# Copyright:: Copyright (c) 2013 Opscode, Inc.
+# License:: Apache License, Version 2.0
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+# 
+#     http://www.apache.org/licenses/LICENSE-2.0
+# 
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
+
+require 'chef/resource/script'
+require 'chef/mixin/windows_architecture_helper'
+
+class Chef
+  class Resource
+    class WindowsScript  Symbol
+        )
+      end
+      
+      protected
+
+      def assert_architecture_compatible!(desired_architecture)
+        if ! node_supports_windows_architecture?(node, desired_architecture)
+          raise Chef::Exceptions::Win32ArchitectureIncorrect,
+          "cannot execute script with requested architecture '#{desired_architecture.to_s}' on a system with architecture '#{node_windows_architecture(node)}'"
+        end
+      end
+
+      def node
+        run_context && run_context.node
+      end
+      
+    end
+  end
+end

lib/chef/resource_collection.rb

lib/chef/resource_collection.rb

Diff


--- a/lib/chef/resource_collection.rb
+++ b/lib/chef/resource_collection.rb
@@ -52,8 +52,12 @@ class Chef
         @resources 

lib/chef/resources.rb

lib/chef/resources.rb

Diff


--- a/lib/chef/resources.rb
+++ b/lib/chef/resources.rb
@@ -18,6 +18,7 @@
 
 require 'chef/resource/apt_package'
 require 'chef/resource/bash'
+require 'chef/resource/batch'
 require 'chef/resource/breakpoint'
 require 'chef/resource/cookbook_file'
 require 'chef/resource/chef_gem'
@@ -49,6 +50,7 @@ require 'chef/resource/package'
 require 'chef/resource/pacman_package'
 require 'chef/resource/perl'
 require 'chef/resource/portage_package'
+require 'chef/resource/powershell'
 require 'chef/resource/python'
 require 'chef/resource/registry_key'
 require 'chef/resource/remote_directory'

lib/chef/rest.rb

lib/chef/rest.rb

Diff


--- a/lib/chef/rest.rb
+++ b/lib/chef/rest.rb
@@ -31,7 +31,7 @@ require 'chef/monkey_patches/string'
 require 'chef/monkey_patches/net_http'
 require 'chef/config'
 require 'chef/exceptions'
-require 'chef/platform'
+require 'chef/platform/query_helpers'
 
 
 class Chef
@@ -185,7 +185,11 @@ class Chef
           elsif response.kind_of?(Net::HTTPNotModified) # Must be tested before Net::HTTPRedirection because it's subclass.
             false
           elsif redirect_location = redirected_to(response)
-            follow_redirect {api_request(:GET, create_url(redirect_location))}
+            if [:GET, :HEAD].include?(method)
+              follow_redirect {api_request(method, create_url(redirect_location))}
+            else
+              raise Exceptions::InvalidRedirect, "#{method} request was redirected from #{url} to #{redirect_location}. Only GET and HEAD support redirects."
+            end
           else
             # have to decompress the body before making an exception for it. But the body could be nil.
             response.body.replace(response_body) if response.body.respond_to?(:replace)

lib/chef/runner.rb

lib/chef/runner.rb

Diff


--- a/lib/chef/runner.rb
+++ b/lib/chef/runner.rb
@@ -22,7 +22,6 @@ require 'chef/exceptions'
 require 'chef/mixin/params_validate'
 require 'chef/node'
 require 'chef/resource_collection'
-require 'chef/platform'
 
 class Chef
   # == Chef::Runner

lib/chef/shell/shell_session.rb

lib/chef/shell/shell_session.rb

Diff


--- a/lib/chef/shell/shell_session.rb
+++ b/lib/chef/shell/shell_session.rb
@@ -204,8 +204,8 @@ module Shell
       Chef::Cookbook::FileVendor.on_create { |manifest| Chef::Cookbook::RemoteFileVendor.new(manifest, Chef::REST.new(Chef::Config[:server_url])) }
       cookbook_hash = @client.sync_cookbooks
       cookbook_collection = Chef::CookbookCollection.new(cookbook_hash)
-      @run_context = Chef::RunContext.new(node, cookbook_collection, @events) 
-      @run_context.load(Chef::RunList::RunListExpansionFromAPI.new("_default", []))
+      @run_context = Chef::RunContext.new(node, cookbook_collection, @events)
+      @run_context.load(@node.run_list.expand(@node.chef_environment))
       @run_status.run_context = run_context
     end
 

lib/chef/version.rb

lib/chef/version.rb

Diff


--- a/lib/chef/version.rb
+++ b/lib/chef/version.rb
@@ -17,7 +17,7 @@
 
 class Chef
   CHEF_ROOT = File.dirname(File.expand_path(File.dirname(__FILE__)))
-  VERSION = '11.4.2'
+  VERSION = '11.5.0.alpha.0'
 end
 
 # NOTE: the Chef::Version class is defined in version_class.rb

lib/chef/version/platform.rb

lib/chef/version/platform.rb

New File!

Diff


--- /dev/null
+++ b/lib/chef/version/platform.rb
@@ -0,0 +1,42 @@
+# Author:: Xabier de Zuazo ()
+# Copyright:: Copyright (c) 2013 Onddo Labs, SL.
+# License:: Apache License, Version 2.0
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#     http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+require 'chef/version_class'
+
+class Chef
+  class Version
+    class Platform 

lib/chef/version_class.rb

lib/chef/version_class.rb

Diff


--- a/lib/chef/version_class.rb
+++ b/lib/chef/version_class.rb
@@ -51,7 +51,7 @@ class Chef
       other.is_a?(Version) && self == other
     end
 
-    private
+    protected
 
     def parse(str="")
       @major, @minor, @patch =

lib/chef/version_constraint.rb

lib/chef/version_constraint.rb

Diff


--- a/lib/chef/version_constraint.rb
+++ b/lib/chef/version_constraint.rb
@@ -22,6 +22,7 @@ class Chef
     STANDARD_OPS = %w( =)
     OPS = %w( = = ~>)
     PATTERN = /^(#{OPS.join('|')}) (.+)$/
+    VERSION_CLASS = Chef::Version
 
     attr_reader :op, :version
 
@@ -41,9 +42,9 @@ class Chef
 
     def include?(v)
       version = if v.respond_to? :version # a CookbookVersion-like object
-                  Chef::Version.new(v.version.to_s)
+                  self.class::VERSION_CLASS.new(v.version.to_s)
                 else
-                  Chef::Version.new(v.to_s)
+                  self.class::VERSION_CLASS.new(v.to_s)
                 end
      do_op(version)
     end
@@ -98,13 +99,13 @@ class Chef
       @missing_patch_level = false
       if str.index(" ").nil? && str =~ /^[0-9]/
         # try for lone version, implied '='
-        @version = Chef::Version.new(str)
+        @version = self.class::VERSION_CLASS.new(str)
         @op = "="
       elsif PATTERN.match str
         @op = $1
         raw_version = $2
-        @version = Chef::Version.new(raw_version)
-        if raw_version.split('.').size == 2
+        @version = self.class::VERSION_CLASS.new(raw_version)
+        if raw_version.split('.').size 

lib/chef/version_constraint/platform.rb

lib/chef/version_constraint/platform.rb

New File!

Diff


--- /dev/null
+++ b/lib/chef/version_constraint/platform.rb
@@ -0,0 +1,26 @@
+# Author:: Xabier de Zuazo ()
+# Copyright:: Copyright (c) 2013 Onddo Labs, SL.
+# License:: Apache License, Version 2.0
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#     http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+require 'chef/version_constraint'
+require 'chef/version/platform'
+
+class Chef
+  class VersionConstraint
+    class Platform 

lib/chef/win32/version.rb

lib/chef/win32/version.rb

Diff


--- a/lib/chef/win32/version.rb
+++ b/lib/chef/win32/version.rb
@@ -29,7 +29,17 @@ class Chef
       # http://msdn.microsoft.com/en-us/library/ms724833(v=vs.85).aspx
       # http://msdn.microsoft.com/en-us/library/ms724358(v=vs.85).aspx
 
+      private
+      
+      def self.get_system_metrics(n_index)
+        Win32API.new('user32', 'GetSystemMetrics', 'I', 'I').call(n_index)
+      end
+
+      public
+      
       WIN_VERSIONS = {
+        "Windows 8" => {:major => 6, :minor => 2, :callable => lambda{ @product_type == VER_NT_WORKSTATION }},
+        "Windows Server 2012" => {:major => 6, :minor => 2, :callable => lambda{ @product_type != VER_NT_WORKSTATION }},
         "Windows 7" => {:major => 6, :minor => 1, :callable => lambda{ @product_type == VER_NT_WORKSTATION }},
         "Windows Server 2008 R2" => {:major => 6, :minor => 1, :callable => lambda{ @product_type != VER_NT_WORKSTATION }},
         "Windows Server 2008" => {:major => 6, :minor => 0, :callable => lambda{ @product_type != VER_NT_WORKSTATION }},
@@ -48,7 +58,17 @@ class Chef
         @suite_mask = ver_info[:w_suite_mask]
         @sp_major_version = ver_info[:w_service_pack_major]
         @sp_minor_version = ver_info[:w_service_pack_minor]
-        @sku = get_product_info(@major_version, @minor_version, @sp_major_version, @sp_minor_version)
+
+        # Obtain sku information for the purpose of identifying
+        # datacenter, cluster, and core skus, the latter 2 only
+        # exist in releases after Windows Server 2003
+        if ! Chef::Platform::windows_server_2003?
+          @sku = get_product_info(@major_version, @minor_version, @sp_major_version, @sp_minor_version)
+        else
+          # The get_product_info API is not supported on Win2k3,
+          # use an alternative to identify datacenter skus
+          @sku = get_datacenter_product_info_windows_server_2003(ver_info)
+        end        
       end
 
       marketing_names = Array.new
@@ -77,11 +97,6 @@ class Chef
      

** Too large, sniped!! **


The diff of chef between 11.4.4 to 11.4.2

The diff of chef between 11.4.4 to 11.4.2


distro/common/html/chef-client.8.html

distro/common/html/chef-client.8.html

Diff


--- a/distro/common/html/chef-client.8.html
+++ b/distro/common/html/chef-client.8.html
@@ -124,9 +124,9 @@ wiki, http://wiki.opscode.com/display/chef/Home.
 
 

AUTHOR

-

Chef was written by Adam Jacob adam@ospcode.com of Opscode +

Chef was written by Adam Jacob adam@ospcode.com of Opscode (http://www.opscode.com), with contributions from the community. This -manual page was written by Joshua Timberman joshua@opscode.com with +manual page was written by Joshua Timberman joshua@opscode.com with help2man. Permission is granted to copy, distribute and / or modify this document under the terms of the Apache 2.0 License.

@@ -135,7 +135,7 @@ found in /usr/share/common-licenses/Apache-2.0.
    -
  1. Chef 11.4.4
  2. +
  3. Chef 11.4.2
  4. April 2013
  5. chef-client(8)

distro/common/html/chef-expander.8.html

distro/common/html/chef-expander.8.html

Diff


--- a/distro/common/html/chef-expander.8.html
+++ b/distro/common/html/chef-expander.8.html
@@ -143,9 +143,9 @@ wiki, http://wiki.opscode.com/display/chef/Home.
 
 

AUTHOR

-

Chef was written by Adam Jacob adam@ospcode.com of Opscode +

Chef was written by Adam Jacob adam@ospcode.com of Opscode (http://www.opscode.com), with contributions from the community. This -manual page was created by Nuo Yan nuo@opscode.com. Permission is +manual page was created by Nuo Yan nuo@opscode.com. Permission is granted to copy, distribute and / or modify this document under the terms of the Apache 2.0 License.

@@ -154,7 +154,7 @@ found in /usr/share/common-licenses/Apache-2.0.
    -
  1. Chef 11.4.4
  2. +
  3. Chef 11.4.2
  4. April 2013
  5. chef-expander(8)

distro/common/html/chef-expanderctl.8.html

distro/common/html/chef-expanderctl.8.html

Diff


--- a/distro/common/html/chef-expanderctl.8.html
+++ b/distro/common/html/chef-expanderctl.8.html
@@ -125,9 +125,9 @@ wiki, http://wiki.opscode.com/display/chef/Home.
 
 

AUTHOR

-

Chef was written by Adam Jacob adam@ospcode.com of Opscode +

Chef was written by Adam Jacob adam@ospcode.com of Opscode (http://www.opscode.com), with contributions from the community. This -manual page was created by Nuo Yan nuo@opscode.com. Permission is +manual page was created by Nuo Yan nuo@opscode.com. Permission is granted to copy, distribute and / or modify this document under the terms of the Apache 2.0 License.

@@ -136,7 +136,7 @@ found in /usr/share/common-licenses/Apache-2.0.
    -
  1. Chef 11.4.4
  2. +
  3. Chef 11.4.2
  4. April 2013
  5. chef-expanderctl(8)

distro/common/html/chef-server-webui.8.html

distro/common/html/chef-server-webui.8.html

Diff


--- a/distro/common/html/chef-server-webui.8.html
+++ b/distro/common/html/chef-server-webui.8.html
@@ -163,9 +163,9 @@ is located on the Chef wiki, http://wiki.opscode.com/display/chef/Home.
 
 

AUTHOR

-

Chef was written by Adam Jacob adam@ospcode.com of Opscode +

Chef was written by Adam Jacob adam@ospcode.com of Opscode (http://www.opscode.com), with contributions from the community. This -manual page was written by Joshua Timberman joshua@opscode.com with +manual page was written by Joshua Timberman joshua@opscode.com with help2man for the Debian project (but may be used by others). Permission is granted to copy, distribute and / or modify this document under the terms of the Apache 2.0 License.

@@ -175,7 +175,7 @@ found in /usr/share/common-licenses/Apache-2.0.
    -
  1. Chef 11.4.4
  2. +
  3. Chef 11.4.2
  4. A

** Too large, sniped!! **


distro/common/html/chef-server.8.html

distro/common/html/chef-server.8.html

Diff


--- a/distro/common/html/chef-server.8.html
+++ b/distro/common/html/chef-server.8.html
@@ -161,9 +161,9 @@ wiki, http://wiki.opscode.com/display/chef/Home.
 
 

AUTHOR

-

Chef was written by Adam Jacob adam@ospcode.com of Opscode +

Chef was written by Adam Jacob adam@ospcode.com of Opscode (http://www.opscode.com), with contributions from the community. This -manual page was written by Joshua Timberman joshua@opscode.com with +manual page was written by Joshua Timberman joshua@opscode.com with help2man. Permission is granted to copy, distribute and / or modify this document under the terms of the Apache 2.0 License.

@@ -172,7 +172,7 @@ found in /usr/share/common-licenses/Apache-2.0.
    -
  1. Chef 11.4.4
  2. +
  3. Chef 11.4.2
  4. April 2013
  5. chef-server(8)

distro/common/html/chef-shell.1.html

distro/common/html/chef-shell.1.html

Diff


--- a/distro/common/html/chef-shell.1.html
+++ b/distro/common/html/chef-shell.1.html
@@ -260,13 +260,13 @@ libraries.
 
 

AUTHOR

-

Chef was written by Adam Jacob adam@opscode.com with many +

Chef was written by Adam Jacob adam@opscode.com with many contributions from the community. chef-shell was written by Daniel DeLeo.

DOCUMENTATION

-

This manual page was written by Daniel DeLeo dan@opscode.com. +

This manual page was written by Daniel DeLeo dan@opscode.com. Permission is granted to copy, distribute and / or modify this document under the terms of the Apache 2.0 License.

@@ -276,7 +276,7 @@ libraries.
    -
  1. Chef 11.4.4
  2. +
  3. Chef 11.4.2
  4. April 2013
  5. chef-shell(1)

distro/common/html/chef-solo.8.html

distro/common/html/chef-solo.8.html

Diff


--- a/distro/common/html/chef-solo.8.html
+++ b/distro/common/html/chef-solo.8.html
@@ -170,9 +170,9 @@ http://wiki.opscode.com/display/chef/Home.
 
 

AUTHOR

-

Chef was written by Adam Jacob adam@ospcode.com of Opscode +

Chef was written by Adam Jacob adam@ospcode.com of Opscode (http://www.opscode.com), with contributions from the community. This -manual page was written by Joshua Timberman joshua@opscode.com with +manual page was written by Joshua Timberman joshua@opscode.com with help2man. Permission is granted to copy, distribute and / or modify this document under the terms of the Apache 2.0 License.

@@ -181,7 +181,7 @@ found in /usr/share/common-licenses/Apache-2.0.
    -
  1. Chef 11.4.4
  2. +
  3. Chef 11.4.2
  4. April 2013
  5. chef-solo(8)

distro/common/html/chef-solr.8.html

distro/common/html/chef-solr.8.html

Diff


--- a/distro/common/html/chef-solr.8.html
+++ b/distro/common/html/chef-solr.8.html
@@ -144,9 +144,9 @@ wiki, http://wiki.opscode.com/display/chef/Home.
 
 

AUTHOR

-

Chef was written by Adam Jacob adam@ospcode.com of Opscode +

Chef was written by Adam Jacob adam@ospcode.com of Opscode (http://www.opscode.com), with contributions from the community. This -manual page was written by Joshua Timberman joshua@opscode.com with +manual page was written by Joshua Timberman joshua@opscode.com with help2man. Permission is granted to copy, distribute and / or modify this document under the terms of the Apache 2.0 License.

@@ -155,7 +155,7 @@ found in /usr/share/common-licenses/Apache-2.0.
    -
  1. Chef 11.4.4
  2. +
  3. Chef 11.4.2
  4. April 2013
  5. chef-solr(8)

distro/common/html/knife-bootstrap.1.html

distro/common/html/knife-bootstrap.1.html

Diff


--- a/distro/common/html/knife-bootstrap.1.html
+++ b/distro/common/html/knife-bootstrap.1.html
@@ -218,11 +218,11 @@ to other users via the process list using tools such as ps
 
 

AUTHOR

-

Chef was written by Adam Jacob adam@opscode.com with many contributions from the community.

+

Chef was written by Adam Jacob adam@opscode.com with many contributions from the community.

DOCUMENTATION

-

This manual page was written by Joshua Timberman joshua@opscode.com. +

This manual page was written by Joshua Timberman joshua@opscode.com. Permission is granted to copy, distribute and / or modify this document under the terms of the Apache 2.0 License.

CHEF

@@ -231,7 +231,7 @@ to other users via the process list using tools such as ps
    -
  1. Chef 11

** Too large, sniped!! **


distro/common/html/knife-client.1.html

distro/common/html/knife-client.1.html

Diff


--- a/distro/common/html/knife-client.1.html
+++ b/distro/common/html/knife-client.1.html
@@ -196,11 +196,11 @@ setting up a host for management with Chef.
 
 

AUTHOR

-

Chef was written by Adam Jacob adam@opscode.com with many contributions from the community.

+

Chef was written by Adam Jacob adam@opscode.com with many contributions from the community.

DOCUMENTATION

-

This manual page was written by Joshua Timberman joshua@opscode.com. +

This manual page was written by Joshua Timberman joshua@opscode.com. Permission is granted to copy, distribute and / or modify this document under the terms of the Apache 2.0 License.

CHEF

@@ -209,7 +209,7 @@ setting up a host for management with Chef.
    -
  1. Chef 11.4.4
  2. +
  3. Chef 11.4.2

** Too large, sniped!! **


distro/common/html/knife-configure.1.html

distro/common/html/knife-configure.1.html

Diff


--- a/distro/common/html/knife-configure.1.html
+++ b/distro/common/html/knife-configure.1.html
@@ -147,11 +147,11 @@ may need to modify that setting after copying to a remote host.
 
 

AUTHOR

-

Chef was written by Adam Jacob adam@opscode.com with many contributions from the community.

+

Chef was written by Adam Jacob adam@opscode.com with many contributions from the community.

DOCUMENTATION

-

This manual page was written by Joshua Timberman joshua@opscode.com. +

This manual page was written by Joshua Timberman joshua@opscode.com. Permission is granted to copy, distribute and / or modify this document under the terms of the Apache 2.0 License.

CHEF

@@ -160,7 +160,7 @@ may need to modify that setting after copying to a remote host.
    -
  1. Chef 11.4.4
  2. +

** Too large, sniped!! **


distro/common/html/knife-cookbook-site.1.html

distro/common/html/knife-cookbook-site.1.html

Diff


--- a/distro/common/html/knife-cookbook-site.1.html
+++ b/distro/common/html/knife-cookbook-site.1.html
@@ -218,11 +218,11 @@ configuration file.
 
 

AUTHOR

-

Chef was written by Adam Jacob adam@opscode.com with many contributions from the community.

+

Chef was written by Adam Jacob adam@opscode.com with many contributions from the community.

DOCUMENTATION

-

This manual page was written by Joshua Timberman joshua@opscode.com. +

This manual page was written by Joshua Timberman joshua@opscode.com. Permission is granted to copy, distribute and / or modify this document under the terms of the Apache 2.0 License.

CHEF

@@ -231,7 +231,7 @@ configuration file.
    -
  1. Chef 11.4.4
  2. +
  3. Chef 11.4.2
  4. April 2013
  5. -
  6. Chef 11.4.4
  7. +
  8. Chef 11.4.2
  9. April 2013
  10. knife-cookbook(1)
** Too large, sniped!! ** —— ## distro/common/html/knife-data-bag.1.html ### distro/common/html/knife-data-bag.1.html ### Diff

--- a/distro/common/html/knife-data-bag.1.html
+++ b/distro/common/html/knife-data-bag.1.html
@@ -215,11 +215,11 @@ encryption keys.
 
 

AUTHOR

-

Chef was written by Adam Jacob adam@opscode.com with many contributions from the community.

+

Chef was written by Adam Jacob adam@opscode.com with many contributions from the community.

DOCUMENTATION

-

This manual page was written by Joshua Timberman joshua@opscode.com. +

This manual page was written by Joshua Timberman joshua@opscode.com. Permission is granted to copy, distribute and / or modify this document under the terms of the Apache 2.0 License.

CHEF

@@ -228,7 +228,7 @@ encryption keys.
    -
  1. Chef 11.4.4
  2. +
  3. Chef 11.4.2
  4. April 2013
  5. knife-data-bag(
** Too large, sniped!! ** —— ## distro/common/html/knife-environment.1.html ### distro/common/html/knife-environment.1.html ### Diff

--- a/distro/common/html/knife-environment.1.html
+++ b/distro/common/html/knife-environment.1.html
@@ -244,11 +244,11 @@ override_attributes "aws_s3_bucket" => "production"
 
 

AUTHOR

-

Chef was written by Adam Jacob adam@opscode.com with many contributions from the community.

+

Chef was written by Adam Jacob adam@opscode.com with many contributions from the community.

DOCUMENTATION

-

This manual page was written by Daniel DeLeo dan@opscode.com. +

This manual page was written by Daniel DeLeo dan@opscode.com. Permission is granted to copy, distribute and / or modify this document under the terms of the Apache 2.0 License.

CHEF

@@ -257,7 +257,7 @@ override_attributes "aws_s3_bucket" => "production"
    -
  1. Chef 11.4.4
  2. +
  3. Chef 11.4.2
  4. April 2013
  5. knife-environment(1)
** Too large, sniped!! ** —— ## distro/common/html/knife-exec.1.html ### distro/common/html/knife-exec.1.html ### Diff

--- a/distro/common/html/knife-exec.1.html
+++ b/distro/common/html/knife-exec.1.html
@@ -111,11 +111,11 @@ description of the commands available.
 
 

AUTHOR

-

Chef was written by Adam Jacob adam@opscode.com with many contributions from the community.

+

Chef was written by Adam Jacob adam@opscode.com with many contributions from the community.

DOCUMENTATION

-

This manual page was written by Joshua Timberman joshua@opscode.com. +

This manual page was written by Joshua Timberman joshua@opscode.com. Permission is granted to copy, distribute and / or modify this document under the terms of the Apache 2.0 License.

CHEF

@@ -124,7 +124,7 @@ description of the commands available.
    -
  1. Chef 11.4.4
  2. +
  3. Chef 11.4.2
  4. April 2013
** Too large, sniped!! ** —— ## distro/common/html/knife-index.1.html ### distro/common/html/knife-index.1.html ### Diff

--- a/distro/common/html/knife-index.1.html
+++ b/distro/common/html/knife-index.1.html
@@ -102,11 +102,11 @@ time for all objects to be indexed and available for search.
 
 

AUTHOR

-

Chef was written by Adam Jacob adam@opscode.com with many contributions from the community.

+

Chef was written by Adam Jacob adam@opscode.com with many contributions from the community.

DOCUMENTATION

-

This manual page was written by Joshua Timberman joshua@opscode.com. +

This manual page was written by Joshua Timberman joshua@opscode.com. Permission is granted to copy, distribute and / or modify this document under the terms of the Apache 2.0 License.

CHEF

@@ -115,7 +115,7 @@ time for all objects to be indexed and available for search.
    -
  1. Chef 11.4.4
  2. +
  3. Chef 11.
** Too large, sniped!! ** —— ## distro/common/html/knife-node.1.html ### distro/common/html/knife-node.1.html ### Diff

--- a/distro/common/html/knife-node.1.html
+++ b/distro/common/html/knife-node.1.html
@@ -227,11 +227,11 @@ run list, the correct syntax is "role[ROLE_NAME]"
 
 

AUTHOR

-

Chef was written by Adam Jacob adam@opscode.com with many contributions from the community.

+

Chef was written by Adam Jacob adam@opscode.com with many contributions from the community.

DOCUMENTATION

-

This manual page was written by Joshua Timberman joshua@opscode.com. +

This manual page was written by Joshua Timberman joshua@opscode.com. Permission is granted to copy, distribute and / or modify this document under the terms of the Apache 2.0 License.

CHEF

@@ -240,7 +240,7 @@ run list, the correct syntax is "role[ROLE_NAME]"
    -
  1. Chef 11.4.4
  2. +
  3. Chef 11.4.2
** Too large, sniped!! ** —— ## distro/common/html/knife-role.1.html ### distro/common/html/knife-role.1.html ### Diff

--- a/distro/common/html/knife-role.1.html
+++ b/distro/common/html/knife-role.1.html
@@ -177,11 +177,11 @@ run_list.
 
 

AUTHOR

-

Chef was written by Adam Jacob adam@opscode.com with many contributions from the community.

+

Chef was written by Adam Jacob adam@opscode.com with many contributions from the community.

DOCUMENTATION

-

This manual page was written by Joshua Timberman joshua@opscode.com. +

This manual page was written by Joshua Timberman joshua@opscode.com. Permission is granted to copy, distribute and / or modify this document under the terms of the Apache 2.0 License.

CHEF

@@ -190,7 +190,7 @@ run_list.
    -
  1. Chef 11.4.4
  2. +
  3. Chef 11.4.2
  4. April 2013
  5. knife-role(1)
—— ## distro/common/html/knife-search.1.html ### distro/common/html/knife-search.1.html ### Diff

--- a/distro/common/html/knife-search.1.html
+++ b/distro/common/html/knife-search.1.html
@@ -265,11 +265,11 @@ www.example.com:
 
 

AUTHOR

-

Chef was written by Adam Jacob adam@opscode.com with many contributions from the community.

+

Chef was written by Adam Jacob adam@opscode.com with many contributions from the community.

DOCUMENTATION

-

This manual page was written by Joshua Timberman joshua@opscode.com. +

This manual page was written by Joshua Timberman joshua@opscode.com. Permission is granted to copy, distribute and / or modify this document under the terms of the Apache 2.0 License.

CHEF

@@ -278,7 +278,7 @@ www.example.com:
    -
  1. Chef 11.4.4
  2. +
  3. Chef 11.4.2
  4. April 2013
  5. knife-search(1)
** Too large, sniped!! ** —— ## distro/common/html/knife-ssh.1.html ### distro/common/html/knife-ssh.1.html ### Diff

--- a/distro/common/html/knife-ssh.1.html
+++ b/distro/common/html/knife-ssh.1.html
@@ -133,11 +133,11 @@ option.
 
 

AUTHOR

-

Chef was written by Adam Jacob adam@opscode.com with many contributions from the community.

+

Chef was written by Adam Jacob adam@opscode.com with many contributions from the community.

DOCUMENTATION

-

This manual page was written by Joshua Timberman joshua@opscode.com. +

This manual page was written by Joshua Timberman joshua@opscode.com. Permission is granted to copy, distribute and / or modify this document under the terms of the Apache 2.0 License.

CHEF

@@ -146,7 +146,7 @@ option.
    -
  1. Chef 11.4.4
  2. +
  3. Chef 11.4.2
  4. April 2013
  5. knife-ssh(1)
—— ## distro/common/html/knife-status.1.html ### distro/common/html/knife-status.1.html ### Diff

--- a/distro/common/html/knife-status.1.html
+++ b/distro/common/html/knife-status.1.html
@@ -105,11 +105,11 @@ may not be publicly reachable.
 
 

AUTHOR

-

Chef was written by Adam Jacob adam@opscode.com with many contributions from the community.

+

Chef was written by Adam Jacob adam@opscode.com with many contributions from the community.

DOCUMENTATION

-

This manual page was written by Joshua Timberman joshua@opscode.com. +

This manual page was written by Joshua Timberman joshua@opscode.com. Permission is granted to copy, distribute and / or modify this document under the terms of the Apache 2.0 License.

CHEF

@@ -118,7 +118,7 @@ may not be publicly reachable.
    -
  1. Chef 11.4.4
  2. +
  3. Chef 11.4.2
  4. April 2013
** Too large, sniped!! ** —— ## distro/common/html/knife-tag.1.html ### distro/common/html/knife-tag.1.html ### Diff

--- a/distro/common/html/knife-tag.1.html
+++ b/distro/common/html/knife-tag.1.html
@@ -114,11 +114,11 @@
 
 

AUTHOR

-

Chef was written by Adam Jacob adam@opscode.com with many contributions from the community.

+

Chef was written by Adam Jacob adam@opscode.com with many contributions from the community.

DOCUMENTATION

-

This manual page was written by Daniel DeLeo dan@opscode.com. +

This manual page was written by Daniel DeLeo dan@opscode.com. Permission is granted to copy, distribute and / or modify this document under the terms of the Apache 2.0 License.

CHEF

@@ -127,7 +127,7 @@
    -
  1. Chef 11.4.4
  2. +
  3. Chef 11.4.2
  4. April 2013
  5. knife-tag(1)
—— ## distro/common/html/knife.1.html ### distro/common/html/knife.1.html ### Diff

--- a/distro/common/html/knife.1.html
+++ b/distro/common/html/knife.1.html
@@ -286,12 +286,12 @@ data editing entirely.
 
 

AUTHOR

-

Chef was written by Adam Jacob adam@opscode.com of Opscode +

Chef was written by Adam Jacob adam@opscode.com of Opscode (http://www.opscode.com), with contributions from the community.

DOCUMENTATION

-

This manual page was written by Joshua Timberman joshua@opscode.com.

+

This manual page was written by Joshua Timberman joshua@opscode.com.

LICENSE

@@ -305,7 +305,7 @@ data editing entirely.
    -
  1. Chef 11.4.4
  2. +
  3. Chef 11.4.2
  4. April 2013
  5. knife(1)
—— ## distro/common/man/man1/chef-shell.1 ### distro/common/man/man1/chef-shell.1 ### Diff

--- a/distro/common/man/man1/chef-shell.1
+++ b/distro/common/man/man1/chef-shell.1
@@ -1,7 +1,7 @@
 .\" generated with Ronn/v0.7.3
 .\" http://github.com/rtomayko/ronn/tree/0.7.3
 .
-.TH "CHEF\-SHELL" "1" "April 2013" "Chef 11.4.4" "Chef Manual"
+.TH "CHEF\-SHELL" "1" "April 2013" "Chef 11.4.2" "Chef Manual"
 .
 .SH "NAME"
 \fBchef\-shell\fR \- Interactive Chef Console
—— ## distro/common/man/man1/knife-bootstrap.1 ### distro/common/man/man1/knife-bootstrap.1 ### Diff

--- a/distro/common/man/man1/knife-bootstrap.1
+++ b/distro/common/man/man1/knife-bootstrap.1
@@ -1,7 +1,7 @@
 .\" generated with Ronn/v0.7.3
 .\" http://github.com/rtomayko/ronn/tree/0.7.3
 .
-.TH "KNIFE\-BOOTSTRAP" "1" "April 2013" "Chef 11.4.4" "Chef Manual"
+.TH "KNIFE\-BOOTSTRAP" "1" "April 2013" "Chef 11.4.2" "Chef Manual"
 .
 .SH "NAME"
 \fBknife\-bootstrap\fR \- Install Chef Client on a remote host
—— ## distro/common/man/man1/knife-client.1 ### distro/common/man/man1/knife-client.1 ### Diff

--- a/distro/common/man/man1/knife-client.1
+++ b/distro/common/man/man1/knife-client.1
@@ -1,7 +1,7 @@
 .\" generated with Ronn/v0.7.3
 .\" http://github.com/rtomayko/ronn/tree/0.7.3
 .
-.TH "KNIFE\-CLIENT" "1" "April 2013" "Chef 11.4.4" "Chef Manual"
+.TH "KNIFE\-CLIENT" "1" "April 2013" "Chef 11.4.2" "Chef Manual"
 .
 .SH "NAME"
 \fBknife\-client\fR \- Manage Chef API Clients
—— ## distro/common/man/man1/knife-configure.1 ### distro/common/man/man1/knife-configure.1 ### Diff

--- a/distro/common/man/man1/knife-configure.1
+++ b/distro/common/man/man1/knife-configure.1
@@ -1,7 +1,7 @@
 .\" generated with Ronn/v0.7.3
 .\" http://github.com/rtomayko/ronn/tree/0.7.3
 .
-.TH "KNIFE\-CONFIGURE" "1" "April 2013" "Chef 11.4.4" "Chef Manual"
+.TH "KNIFE\-CONFIGURE" "1" "April 2013" "Chef 11.4.2" "Chef Manual"
 .
 .SH "NAME"
 \fBknife\-configure\fR \- Generate configuration files for knife or Chef Client
—— ## distro/common/man/man1/knife-cookbook-site.1 ### distro/common/man/man1/knife-cookbook-site.1 ### Diff

--- a/distro/common/man/man1/knife-cookbook-site.1
+++ b/distro/common/man/man1/knife-cookbook-site.1
@@ -1,7 +1,7 @@
 .\" generated with Ronn/v0.7.3
 .\" http://github.com/rtomayko/ronn/tree/0.7.3
 .
-.TH "KNIFE\-COOKBOOK\-SITE" "1" "April 2013" "Chef 11.4.4" "Chef Manual"
+.TH "KNIFE\-COOKBOOK\-SITE" "1" "April 2013" "Chef 11.4.2" "Chef Manual"
 .
 .SH "NAME"
 \fBknife\-cookbook\-site\fR \- Install and update open source cookbooks
—— ## distro/common/man/man1/knife-cookbook.1 ### distro/common/man/man1/knife-cookbook.1 ### Diff

--- a/distro/common/man/man1/knife-cookbook.1
+++ b/distro/common/man/man1/knife-cookbook.1
@@ -1,7 +1,7 @@
 .\" generated with Ronn/v0.7.3
 .\" http://github.com/rtomayko/ronn/tree/0.7.3
 .
-.TH "KNIFE\-COOKBOOK" "1" "April 2013" "Chef 11.4.4" "Chef Manual"
+.TH "KNIFE\-COOKBOOK" "1" "April 2013" "Chef 11.4.2" "Chef Manual"
 .
 .SH "NAME"
 \fBknife\-cookbook\fR \- upload and manage chef cookbooks
—— ## distro/common/man/man1/knife-data-bag.1 ### distro/common/man/man1/knife-data-bag.1 ### Diff

--- a/distro/common/man/man1/knife-data-bag.1
+++ b/distro/common/man/man1/knife-data-bag.1
@@ -1,7 +1,7 @@
 .\" generated with Ronn/v0.7.3
 .\" http://github.com/rtomayko/ronn/tree/0.7.3
 .
-.TH "KNIFE\-DATA\-BAG" "1" "April 2013" "Chef 11.4.4" "Chef Manual"
+.TH "KNIFE\-DATA\-BAG" "1" "April 2013" "Chef 11.4.2" "Chef Manual"
 .
 .SH "NAME"
 \fBknife\-data\-bag\fR \- Store arbitrary data on a Chef Server
—— ## distro/common/man/man1/knife-environment.1 ### distro/common/man/man1/knife-environment.1 ### Diff

--- a/distro/common/man/man1/knife-environment.1
+++ b/distro/common/man/man1/knife-environment.1
@@ -1,7 +1,7 @@
 .\" generated with Ronn/v0.7.3
 .\" http://github.com/rtomayko/ronn/tree/0.7.3
 .
-.TH "KNIFE\-ENVIRONMENT" "1" "April 2013" "Chef 11.4.4" "Chef Manual"
+.TH "KNIFE\-ENVIRONMENT" "1" "April 2013" "Chef 11.4.2" "Chef Manual"
 .
 .SH "NAME"
 \fBknife\-environment\fR \- Define cookbook policies for the environments in your infrastructure
—— ## distro/common/man/man1/knife-exec.1 ### distro/common/man/man1/knife-exec.1 ### Diff

--- a/distro/common/man/man1/knife-exec.1
+++ b/distro/common/man/man1/knife-exec.1
@@ -1,7 +1,7 @@
 .\" generated with Ronn/v0.7.3
 .\" http://github.com/rtomayko/ronn/tree/0.7.3
 .
-.TH "KNIFE\-EXEC" "1" "April 2013" "Chef 11.4.4" "Chef Manual"
+.TH "KNIFE\-EXEC" "1" "April 2013" "Chef 11.4.2" "Chef Manual"
 .
 .SH "NAME"
 \fBknife\-exec\fR \- Run user scripts using the Chef API DSL
—— ## distro/common/man/man1/knife-index.1 ### distro/common/man/man1/knife-index.1 ### Diff

--- a/distro/common/man/man1/knife-index.1
+++ b/distro/common/man/man1/knife-index.1
@@ -1,7 +1,7 @@
 .\" generated with Ronn/v0.7.3
 .\" http://github.com/rtomayko/ronn/tree/0.7.3
 .
-.TH "KNIFE\-INDEX" "1" "April 2013" "Chef 11.4.4" "Chef Manual"
+.TH "KNIFE\-INDEX" "1" "April 2013" "Chef 11.4.2" "Chef Manual"
 .
 .SH "NAME"
 \fBknife\-index\fR \- Rebuild the search index on a Chef Server
—— ## distro/common/man/man1/knife-node.1 ### distro/common/man/man1/knife-node.1 ### Diff

--- a/distro/common/man/man1/knife-node.1
+++ b/distro/common/man/man1/knife-node.1
@@ -1,7 +1,7 @@
 .\" generated with Ronn/v0.7.3
 .\" http://github.com/rtomayko/ronn/tree/0.7.3
 .
-.TH "KNIFE\-NODE" "1" "April 2013" "Chef 11.4.4" "Chef Manual"
+.TH "KNIFE\-NODE" "1" "April 2013" "Chef 11.4.2" "Chef Manual"
 .
 .SH "NAME"
 \fBknife\-node\fR \- Manage the hosts in your infrastructure
—— ## distro/common/man/man1/knife-role.1 ### distro/common/man/man1/knife-role.1 ### Diff

--- a/distro/common/man/man1/knife-role.1
+++ b/distro/common/man/man1/knife-role.1
@@ -1,7 +1,7 @@
 .\" generated with Ronn/v0.7.3
 .\" http://github.com/rtomayko/ronn/tree/0.7.3
 .
-.TH "KNIFE\-ROLE" "1" "April 2013" "Chef 11.4.4" "Chef Manual"
+.TH "KNIFE\-ROLE" "1" "April 2013" "Chef 11.4.2" "Chef Manual"
 .
 .SH "NAME"
 \fBknife\-role\fR \- Group common configuration settings
—— ## distro/common/man/man1/knife-search.1 ### distro/common/man/man1/knife-search.1 ### Diff

--- a/distro/common/man/man1/knife-search.1
+++ b/distro/common/man/man1/knife-search.1
@@ -1,7 +1,7 @@
 .\" generated with Ronn/v0.7.3
 .\" http://github.com/rtomayko/ronn/tree/0.7.3
 .
-.TH "KNIFE\-SEARCH" "1" "April 2013" "Chef 11.4.4" "Chef Manual"
+.TH "KNIFE\-SEARCH" "1" "April 2013" "Chef 11.4.2" "Chef Manual"
 .
 .SH "NAME"
 \fBknife\-search\fR \- Find objects on a Chef Server by query
—— ## distro/common/man/man1/knife-ssh.1 ### distro/common/man/man1/knife-ssh.1 ### Diff

--- a/distro/common/man/man1/knife-ssh.1
+++ b/distro/common/man/man1/knife-ssh.1
@@ -1,7 +1,7 @@
 .\" generated with Ronn/v0.7.3
 .\" http://github.com/rtomayko/ronn/tree/0.7.3
 .
-.TH "KNIFE\-SSH" "1" "April 2013" "Chef 11.4.4" "Chef Manual"
+.TH "KNIFE\-SSH" "1" "April 2013" "Chef 11.4.2" "Chef Manual"
 .
 .SH "NAME"
 \fBknife\-ssh\fR \- Run a command or interactive session on multiple remote hosts
—— ## distro/common/man/man1/knife-status.1 ### distro/common/man/man1/knife-status.1 ### Diff

--- a/distro/common/man/man1/knife-status.1
+++ b/distro/common/man/man1/knife-status.1
@@ -1,7 +1,7 @@
 .\" generated with Ronn/v0.7.3
 .\" http://github.com/rtomayko/ronn/tree/0.7.3
 .
-.TH "KNIFE\-STATUS" "1" "April 2013" "Chef 11.4.4" "Chef Manual"
+.TH "KNIFE\-STATUS" "1" "April 2013" "Chef 11.4.2" "Chef Manual"
 .
 .SH "NAME"
 \fBknife\-status\fR \- Display status information for the nodes in your infrastructure
—— ## distro/common/man/man1/knife-tag.1 ### distro/common/man/man1/knife-tag.1 ### Diff

--- a/distro/common/man/man1/knife-tag.1
+++ b/distro/common/man/man1/knife-tag.1
@@ -1,7 +1,7 @@
 .\" generated with Ronn/v0.7.3
 .\" http://github.com/rtomayko/ronn/tree/0.7.3
 .
-.TH "KNIFE\-TAG" "1" "April 2013" "Chef 11.4.4" "Chef Manual"
+.TH "KNIFE\-TAG" "1" "April 2013" "Chef 11.4.2" "Chef Manual"
 .
 .SH "NAME"
 \fBknife\-tag\fR \- Apply tags to nodes on a Chef Server
—— ## distro/common/man/man1/knife.1 ### distro/common/man/man1/knife.1 ### Diff

--- a/distro/common/man/man1/knife.1
+++ b/distro/common/man/man1/knife.1
@@ -1,7 +1,7 @@
 .\" generated with Ronn/v0.7.3
 .\" http://github.com/rtomayko/ronn/tree/0.7.3
 .
-.TH "KNIFE" "1" "April 2013" "Chef 11.4.4" "Chef Manual"
+.TH "KNIFE" "1" "April 2013" "Chef 11.4.2" "Chef Manual"
 .
 .SH "NAME"
 \fBknife\fR \- Chef Server API client utility
—— ## distro/common/man/man8/chef-client.8 ### distro/common/man/man8/chef-client.8 ### Diff

--- a/distro/common/man/man8/chef-client.8
+++ b/distro/common/man/man8/chef-client.8
@@ -1,7 +1,7 @@
 .\" generated with Ronn/v0.7.3
 .\" http://github.com/rtomayko/ronn/tree/0.7.3
 .
-.TH "CHEF\-CLIENT" "8" "April 2013" "Chef 11.4.4" "Chef Manual"
+.TH "CHEF\-CLIENT" "8" "April 2013" "Chef 11.4.2" "Chef Manual"
 .
 .SH "NAME"
 \fBchef\-client\fR \- Runs a client node connecting to a chef\-server\.
—— ## distro/common/man/man8/chef-expander.8 ### distro/common/man/man8/chef-expander.8 ### Diff

--- a/distro/common/man/man8/chef-expander.8
+++ b/distro/common/man/man8/chef-expander.8
@@ -1,7 +1,7 @@
 .\" generated with Ronn/v0.7.3
 .\" http://github.com/rtomayko/ronn/tree/0.7.3
 .
-.TH "CHEF\-EXPANDER" "8" "April 2013" "Chef 11.4.4" "Chef Manual"
+.TH "CHEF\-EXPANDER" "8" "April 2013" "Chef 11.4.2" "Chef Manual"
 .
 .SH "NAME"
 \fBchef\-expander\fR \- fetches messages from RabbitMQ, processes, and loads into chef\-solr
—— ## distro/common/man/man8/chef-expanderctl.8 ### distro/common/man/man8/chef-expanderctl.8 ### Diff

--- a/distro/common/man/man8/chef-expanderctl.8
+++ b/distro/common/man/man8/chef-expanderctl.8
@@ -1,7 +1,7 @@
 .\" generated with Ronn/v0.7.3
 .\" http://github.com/rtomayko/ronn/tree/0.7.3
 .
-.TH "CHEF\-EXPANDERCTL" "8" "April 2013" "Chef 11.4.4" "Chef Manual"
+.TH "CHEF\-EXPANDERCTL" "8" "April 2013" "Chef 11.4.2" "Chef Manual"
 .
 .SH "NAME"
 \fBchef\-expanderctl\fR \- management program for chef\-expander
—— ## distro/common/man/man8/chef-server-webui.8 ### distro/common/man/man8/chef-server-webui.8 ### Diff

--- a/distro/common/man/man8/chef-server-webui.8
+++ b/distro/common/man/man8/chef-server-webui.8
@@ -1,7 +1,7 @@
 .\" generated with Ronn/v0.7.3
 .\" http://github.com/rtomayko/ronn/tree/0.7.3
 .
-.TH "CHEF\-SERVER\-WEBUI" "8" "April 2013" "Chef 11.4.4" "Chef Manual"
+.TH "CHEF\-SERVER\-WEBUI" "8" "April 2013" "Chef 11.4.2" "Chef Manual"
 .
 .SH "NAME"
 \fBchef\-server\-webui\fR \- Start the Chef Server merb application slice providing Web User Interface (Management Console)\.
—— ## distro/common/man/man8/chef-server.8 ### distro/common/man/man8/chef-server.8 ### Diff

--- a/distro/common/man/man8/chef-server.8
+++ b/distro/common/man/man8/chef-server.8
@@ -1,7 +1,7 @@
 .\" generated with Ronn/v0.7.3
 .\" http://github.com/rtomayko/ronn/tree/0.7.3
 .
-.TH "CHEF\-SERVER" "8" "April 2013" "Chef 11.4.4" "Chef Manual"
+.TH "CHEF\-SERVER" "8" "April 2013" "Chef 11.4.2" "Chef Manual"
 .
 .SH "NAME"
 \fBchef\-server\fR \- Start the Chef Server merb application slice\.
—— ## distro/common/man/man8/chef-solo.8 ### distro/common/man/man8/chef-solo.8 ### Diff

--- a/distro/common/man/man8/chef-solo.8
+++ b/distro/common/man/man8/chef-solo.8
@@ -1,7 +1,7 @@
 .\" generated with Ronn/v0.7.3
 .\" http://github.com/rtomayko/ronn/tree/0.7.3
 .
-.TH "CHEF\-SOLO" "8" "April 2013" "Chef 11.4.4" "Chef Manual"
+.TH "CHEF\-SOLO" "8" "April 2013" "Chef 11.4.2" "Chef Manual"
 .
 .SH "NAME"
 \fBchef\-solo\fR \- Runs chef in solo mode against a specified cookbook location\.
—— ## distro/common/man/man8/chef-solr.8 ### distro/common/man/man8/chef-solr.8 ### Diff

--- a/distro/common/man/man8/chef-solr.8
+++ b/distro/common/man/man8/chef-solr.8
@@ -1,7 +1,7 @@
 .\" generated with Ronn/v0.7.3
 .\" http://github.com/rtomayko/ronn/tree/0.7.3
 .
-.TH "CHEF\-SOLR" "8" "April 2013" "Chef 11.4.4" "Chef Manual"
+.TH "CHEF\-SOLR" "8" "April 2013" "Chef 11.4.2" "Chef Manual"
 .
 .SH "NAME"
 \fBchef\-solr\fR \- Runs as Chef\'s search server

lib/chef/resource/lwrp_base.rb

lib/chef/resource/lwrp_base.rb

Diff


--- a/lib/chef/resource/lwrp_base.rb
+++ b/lib/chef/resource/lwrp_base.rb
@@ -39,7 +39,7 @@ class Chef
 
         # Add log entry if we override an existing light-weight resource.
         class_name = convert_to_class_name(rname)
-        if Resource.const_defined?(class_name, false)
+        if Resource.const_defined?(class_name)
           old_class = Resource.send(:remove_const, class_name)
           # CHEF-3432 -- Chef::Resource keeps a list of subclasses; need to
           # remove old ones from the list when replacing.

lib/chef/version.rb

lib/chef/version.rb

Diff


--- a/lib/chef/version.rb
+++ b/lib/chef/version.rb
@@ -17,7 +17,7 @@
 
 class Chef
   CHEF_ROOT = File.dirname(File.expand_path(File.dirname(__FILE__)))
-  VERSION = '11.4.4'
+  VERSION = '11.4.2'
 end
 
 # NOTE: the Chef::Version class is defined in version_class.rb

spec/data/lwrp_const_scoping/resources/conflict.rb

spec/data/lwrp_const_scoping/resources/conflict.rb

Deleted!

Diff




spec/support/shared/functional/diff_disabled.rb

spec/support/shared/functional/diff_disabled.rb

Deleted!

Diff


--- a/spec/support/shared/functional/diff_disabled.rb
+++ /dev/null
@@ -1,10 +0,0 @@
-
-shared_context "diff disabled"  do
-  before do
-    Chef::Config[:diff_disabled] = true
-  end
-
-  after do
-    Chef::Config[:diff_disabled] = false
-  end
-end

spec/support/shared/functional/directory_resource.rb

spec/support/shared/functional/directory_resource.rb

Diff


--- a/spec/support/shared/functional/directory_resource.rb
+++ b/spec/support/shared/functional/directory_resource.rb
@@ -18,8 +18,6 @@
 
 shared_examples_for "a directory resource" do
 
-  include_context "diff disabled"
-
   let(:expect_updated?) {true}
 
   context "when the target directory does not exist" do

spec/support/shared/functional/file_resource.rb

spec/support/shared/functional/file_resource.rb

Diff


--- a/spec/support/shared/functional/file_resource.rb
+++ b/spec/support/shared/functional/file_resource.rb
@@ -25,8 +25,6 @@ shared_examples_for "a file with the wrong content" do
     sha256_checksum(path).should == @expected_checksum
   end
 
-  include_context "diff disabled"
-
   context "when running action :create" do
     context "with backups enabled" do
       before do
@@ -98,8 +96,6 @@ shared_examples_for "a file with the correct content" do
     sha256_checksum(path).should == @expected_checksum
   end
 
-  include_context "diff disabled"
-
   describe "when running action :create" do
     before do
       resource.run_action(:create)
@@ -147,13 +143,9 @@ shared_examples_for "a file with the correct content" do
 end
 
 shared_examples_for "a file resource" do
-
-  include_context "diff disabled"
-
   before do
     Chef::Log.level = :info
   end
-
    # note the stripping of the drive letter from the tmpdir on windows
   let(:backup_glob) { File.join(CHEF_SPEC_BACKUP_PATH, Dir.tmpdir.sub(/^([A-Za-z]:)/, ""), "#{file_base}*") }
 
@@ -299,7 +291,6 @@ shared_examples_for "a file resource" do
 end
 
 shared_examples_for "a file that inherits permissions from a parent directory" do
-  include_context "diff disabled"
   include_context "use Windows permissions"
   context "on Windows", :windows_only do
     it "has only inherited aces if no explicit aces were specified" do

spec/support/shared/functional/securable_resource.rb

spec/support/shared/functional/securable_resource.rb

Diff


--- a/spec/support/shared/functional/securable_resource.rb
+++ b/spec/support/shared/functional/securable_resource.rb
@@ -127,9 +127,6 @@ shared_context "use Windows permissions", :windows_only do
 end
 
 shared_examples_for "a securable resource" do
-
-  include_context "diff disabled"
-
   context "on Unix", :unix_only do
     let(:expected_user_name) { 'nobody' }
     let(:expected_uid) { Etc.getpwnam(expected_user_name).uid }

spec/support/shared/functional/securable_resource_with_reporting.rb

spec/support/shared/functional/securable_resource_with_reporting.rb

Diff


--- a/spec/support/shared/functional/securable_resource_with_reporting.rb
+++ b/spec/support/shared/functional/securable_resource_with_reporting.rb
@@ -1,8 +1,6 @@
 
 shared_examples_for "a securable resource with reporting" do
 
-  include_context "diff disabled"
-
   let(:current_resource) do
     provider = resource.provider_for_action(resource.action)
     provider.load_current_resource

spec/unit/lwrp_spec.rb

spec/unit/lwrp_spec.rb

Diff


--- a/spec/unit/lwrp_spec.rb
+++ b/spec/unit/lwrp_spec.rb
@@ -18,8 +18,6 @@
 
 require 'spec_helper'
 
-module LwrpConstScopingConflict
-end
 
 describe "LWRP" do
   before do
@@ -74,12 +72,6 @@ describe "LWRP" do
       Chef::Resource.resource_classes.should_not include(first_lwr_foo_class)
     end
 
-    it "does not attempt to remove classes from higher up namespaces [CHEF-4117]" do
-      conflicting_lwrp_file = File.expand_path( "lwrp_const_scoping/resources/conflict.rb", CHEF_SPEC_DATA)
-      # The test is that this should not raise an error:
-      Chef::Resource::LWRPBase.build_from_file("lwrp_const_scoping", conflicting_lwrp_file, nil)
-    end
-
   end
 
   describe "Lightweight Chef::Resource" do

test

# mail post test

ディストリビューションの差を気にしないでchef-apply


# chef-apply -e 'package "git"'
Recipe: (chef-apply cookbook)::(chef-apply recipe)
  * package[git] action install
    - install version 1:1.7.9.5-1 of package git

# chef-apply ./setup.rb 
Recipe: (chef-apply cookbook)::(chef-apply recipe)
  * package[nagios3] action install
    - install version 3.2.3-3ubuntu1 of package nagios3

なんとゆるい(w

メモ:ipf.confが最近svcでデフォルトではないので追加する

svccfg -s ipfilter:default setprop config/ipf_config_file = astring: /etc/ipf/ipf.conf svcadm refresh ipfilter

How to skip license agreement when installing the java/jre for joyent smartmachine.

Just touch a file before pkgin.

touch /opt/local/.dlj_license_accepted
joyent quickbackup-mongodb needs LANG=C

quickbackup-mongodb doesn’t work well under shell session.

# quickbackup-mongodb backup
* Backup for /backups/2013-02-13_15-48-22-backup.tar.gz
/opt/local/bin/quickbackup-mongodb: line 252: 44848: Abort(coredump)
There was an error with the last backup.  Check /var/log/mongodb/quickbackup-mongodb.log.

Use LANG=C

# LANG=C quickbackup-mongodb backup
* Backup for /backups/2013-02-13_15-49-54-backup.tar.gz
* Backup completed successfully
* Rotation completed successfully
cocrete5任意メジャーバージョンのlatestを自動で取ってくるワンライナー

最新版が案内されているURIがあるので、ワンライナーで取ってみる。

5.6系最新版の場合

$ wget -O latest56.zip `(curl -s "http://concrete5-japan.org/tools/get_latest_version_number.php?APP_VERSION=5.6" | gawk 'match($0, /(.*)/, a) {print a[1]}')`

$ stat -x latest56.zip 
  File: "latest56.zip"
  Size: 14709020     FileType: Regular File
  Mode: (0644/-rw-r--r--)         Uid: (  501/sawanoboriyu)  Gid: (   20/   staff)
Device: 1,2   Inode: 3130276    Links: 1
Access: Tue Jan 22 10:47:51 2013
Modify: Thu Dec 20 18:08:37 2012
Change: Tue Jan 22 10:47:51 2013

よろしい。