From 92f3bd901e359649cab05c7cb566d333e1f46f19 Mon Sep 17 00:00:00 2001 From: Michael Brown Date: Wed, 11 Feb 2015 13:49:02 +0000 Subject: [PATCH] [build] Allow command help text URI to be customised via config/branding.h Signed-off-by: Michael Brown --- src/config/branding.h | 44 +++++++++++++++++++++++++++++++++++++++++++ src/core/parseopt.c | 3 ++- 2 files changed, 46 insertions(+), 1 deletion(-) diff --git a/src/config/branding.h b/src/config/branding.h index 4bd7e3cc7..43f7592df 100644 --- a/src/config/branding.h +++ b/src/config/branding.h @@ -73,6 +73,50 @@ FILE_LICENCE ( GPL2_OR_LATER ); */ #define PRODUCT_ERROR_URI "http://ipxe.org/%08x" +/* + * Command help messages + * + * iPXE command help messages include a URI constructed from the + * command name, such as + * + * "See http://ipxe.org/cmd/vcreate for further information" + * + * The iPXE web site includes documentation for the commands provided + * by the iPXE shell, including: + * + * - details of the command syntax (e.g. "vcreate --tag + * [--priority ] "). + * + * - example usages of the command (e.g. "vcreate --tag 123 net0") + * + * - a formal description of the command (e.g. "Create a VLAN network + * interface on an existing trunk network interface. The new network + * interface will be named by appending a hyphen and the VLAN tag + * value to the trunk network interface name.") + * + * - details of the possible exit statuses from the command. + * + * - links to documentation for related commands (e.g. "vdestroy") + * + * - links to documentation for relevant build options (e.g. "VLAN_CMD"). + * + * - general hints and tips on using the command. + * + * If you want to provide your own documentation for all of the + * commands provided by the iPXE shell, rather than using the existing + * support infrastructure provided by http://ipxe.org, then you may + * define a custom URI to be included within command help messages. + * + * Note that the custom URI is a printf() format string which must + * include a format specifier for the command name. + * + * [ Please also note that the existing documentation is licensed + * under Creative Commons terms which require attribution to the + * iPXE project and prohibit the alteration or removal of any + * references to "iPXE". ] + */ +#define PRODUCT_COMMAND_URI "http://ipxe.org/cmd/%s" + #include #endif /* CONFIG_BRANDING_H */ diff --git a/src/core/parseopt.c b/src/core/parseopt.c index d268c0594..2c853eeaf 100644 --- a/src/core/parseopt.c +++ b/src/core/parseopt.c @@ -32,6 +32,7 @@ FILE_LICENCE ( GPL2_OR_LATER ); #include #include #include +#include /** @file * @@ -343,7 +344,7 @@ void print_usage ( struct command_descriptor *cmd, char **argv ) { } if ( cmd->usage ) printf ( " %s", cmd->usage ); - printf ( "\n\nSee http://ipxe.org/cmd/%s for further information\n", + printf ( "\n\nSee " PRODUCT_COMMAND_URI " for further information\n", argv[0] ); }