[Pkg-puppet-devel] [SCM] Puppet packaging for Debian branch, upstream, updated. 0.25.5-639-g8f94f35
test branch
puppet-dev at googlegroups.com
Wed Jul 14 10:33:17 UTC 2010
The following commit has been merged in the upstream branch:
commit b0737228b8b56019e417d68d7215270ce282f535
Author: Jesse Wolfe <jes5199 at gmail.com>
Date: Wed Apr 21 00:37:15 2010 -0700
feature #2276 Single Executable: help for apply
restore the help text for the apply command
Signed-off-by: Jesse Wolfe <jes5199 at gmail.com>
diff --git a/bin/puppet b/bin/puppet
index bf4ee3a..5e619de 100755
--- a/bin/puppet
+++ b/bin/puppet
@@ -1,5 +1,74 @@
#!/usr/bin/env ruby
+#
+# = Synopsis
+#
+# Run a stand-alone +puppet+ manifest.
+#
+# = Usage
+#
+# puppet apply [-h|--help] [-V|--version] [-d|--debug] [-v|--verbose] [-e|--execute]
+# [--detailed-exitcodes] [-l|--logdest <file>] <file>
+#
+# = Description
+#
+# This is the standalone puppet execution tool; use it to execute
+# individual manifests that you write. If you need to execute site-wide
+# manifests, use 'puppet agent' and 'puppet master'.
+#
+# = Options
+#
+# Note that any configuration parameter that's valid in the configuration file
+# is also a valid long argument. For example, 'ssldir' is a valid configuration
+# parameter, so you can specify '--ssldir <directory>' as an argument.
+#
+# See the configuration file documentation at
+# http://reductivelabs.com/trac/puppet/wiki/ConfigurationReference for
+# the full list of acceptable parameters. A commented list of all
+# configuration options can also be generated by running puppet with
+# '--genconfig'.
+#
+# debug::
+# Enable full debugging.
+#
+# detailed-exitcodes::
+# Provide transaction information via exit codes. If this is enabled, an exit
+# code of '2' means there were changes, and an exit code of '4' means that there
+# were failures during the transaction.
+#
+# help::
+# Print this help message
+#
+# loadclasses::
+# Load any stored classes. 'puppet agent' caches configured classes (usually at
+# /etc/puppet/classes.txt), and setting this option causes all of those classes
+# to be set in your puppet manifest.
+#
+# logdest::
+# Where to send messages. Choose between syslog, the console, and a log file.
+# Defaults to sending messages to the console.
+#
+# execute::
+# Execute a specific piece of Puppet code
+#
+# verbose::
+# Print extra information.
+#
+# = Example
+#
+# puppet -l /tmp/manifest.log manifest.pp
+#
+# = Author
+#
+# Luke Kanies
+#
+# = Copyright
+#
+# Copyright (c) 2005 Reductive Labs, LLC
+# Licensed under the GNU Public License
+
+#Puppet::Application[:apply].run # this is so the RDoc::usage hack can find this file
+
appdir = File.join('puppet', 'application')
absolute_appdir = $:.collect { |x| File.join(x,'puppet','application') }.detect{ |x| File.directory?(x) }
builtins = Dir[File.join(absolute_appdir, '*.rb')].map{|fn| File.basename(fn, '.rb')}
diff --git a/lib/puppet/util/command_line.rb b/lib/puppet/util/command_line.rb
index ba474df..f231ee7 100644
--- a/lib/puppet/util/command_line.rb
+++ b/lib/puppet/util/command_line.rb
@@ -4,6 +4,7 @@ module Puppet
def self.shift_subcommand_from_argv( argv = ARGV, stdin = STDIN )
case argv.first
when nil; "apply" unless stdin.tty? # ttys get usage info
+ when "--help"; nil # help should give you usage, not the help for `puppet apply`
when /^-|\.pp$|\.rb$/; "apply"
else argv.shift
end
diff --git a/spec/unit/util/command_line.rb b/spec/unit/util/command_line.rb
index b8fd876..265535b 100644
--- a/spec/unit/util/command_line.rb
+++ b/spec/unit/util/command_line.rb
@@ -51,6 +51,14 @@ describe Puppet::Util::CommandLine do
args.should == %w( - )
end
+ it "should return nil if the first argument is --help" do
+ args = %w( --help )
+ command = Puppet::Util::CommandLine.shift_subcommand_from_argv( args, @tty )
+
+ command.should == nil
+ end
+
+
it "should return nil if there are no arguments on a tty" do
args = []
command = Puppet::Util::CommandLine.shift_subcommand_from_argv( args, @tty )
--
Puppet packaging for Debian
More information about the Pkg-puppet-devel
mailing list