Puppet's defaults change depending on which command invokes them.
This patch makes sure that we use the maintain the current behavior.
This is a temporary fix until I implement feature #2935.

Signed-off-by: Jesse Wolfe <[email protected]>
---
 bin/puppet             |   12 ++++++------
 lib/puppet/defaults.rb |   15 ++++++++++++++-
 2 files changed, 20 insertions(+), 7 deletions(-)

diff --git a/bin/puppet b/bin/puppet
index 2f497c5..bf4ee3a 100755
--- a/bin/puppet
+++ b/bin/puppet
@@ -8,13 +8,13 @@ usage = "Usage: puppet command <space separated arguments>"
 available = "Available commands are: #{builtins.sort.join(', ')}"
 
 require 'puppet/util/command_line'
-command_line = Puppet::Util::CommandLine.shift_subcommand_from_argv
+$puppet_subcommand_name = Puppet::Util::CommandLine.shift_subcommand_from_argv
 
-if command_name.nil?
+if $puppet_subcommand_name.nil?
     puts usage, available
-elsif builtins.include?(command_name) #subcommand
-    require File.join(appdir, command_name)
-    Puppet::Application[command_name].run
+elsif builtins.include?($puppet_subcommand_name) #subcommand
+    require File.join(appdir, $puppet_subcommand_name)
+    Puppet::Application[$puppet_subcommand_name].run
 else
-    abort "Error: Unknown command #{command_name}.\n#{usage}\n#{available}"
+    abort "Error: Unknown command 
#{$puppet_subcommand_name}.\n#{usage}\n#{available}"
 end
diff --git a/lib/puppet/defaults.rb b/lib/puppet/defaults.rb
index 2f397f4..b4f89cf 100644
--- a/lib/puppet/defaults.rb
+++ b/lib/puppet/defaults.rb
@@ -4,7 +4,20 @@ module Puppet
     # use basedirs that are in the user's home directory.
     conf = nil
     var = nil
-    name = $0.gsub(/.+#{File::SEPARATOR}/,'').sub(/\.rb$/, '')
+
+    legacy_name = Hash.new{ |h,k| k }.update({
+        'agent'      => 'puppetd',
+        'cert'       => 'puppetca',
+        'doc'        => 'puppetdoc',
+        'filebucket' => 'filebucket',
+        'apply'      => 'puppet',
+        'describe'   => 'pi',
+        'queue'      => 'puppetqd',
+        'resource'   => 'ralsh',
+        'kick'       => 'puppetrun',
+        'master'     => 'puppetmasterd',
+    })
+    name = legacy_name[ $puppet_subcommand_name ] || 
$0.gsub(/.+#{File::SEPARATOR}/,'').sub(/\.rb$/, '')
 
     # Make File.expand_path happy
     require 'etc'
-- 
1.6.3.3

-- 
You received this message because you are subscribed to the Google Groups 
"Puppet Developers" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to 
[email protected].
For more options, visit this group at 
http://groups.google.com/group/puppet-dev?hl=en.

Reply via email to