summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorPavel Březina <pbrezina@redhat.com>2015-08-25 12:58:45 +0200
committerJakub Hrozek <jhrozek@redhat.com>2015-08-31 17:37:45 +0200
commit5e2ffb69dcdd157ea422c6aec256111653e4206b (patch)
tree2b4f16b1b6b47e7061b4f4b2aa62ad830a3e547a
parentb9901fe3d6cfe05cd75a2440c0f9c7985aea36c6 (diff)
downloadsssd-5e2ffb69dcdd157ea422c6aec256111653e4206b.tar.gz
sssd-5e2ffb69dcdd157ea422c6aec256111653e4206b.tar.xz
sssd-5e2ffb69dcdd157ea422c6aec256111653e4206b.zip
sss_override: document --debug options
Resolves: https://fedorahosted.org/sssd/ticket/2758 Reviewed-by: Petr Cech <pcech@redhat.com>
-rw-r--r--src/man/sss_override.8.xml16
-rw-r--r--src/tools/common/sss_tools.c25
2 files changed, 37 insertions, 4 deletions
diff --git a/src/man/sss_override.8.xml b/src/man/sss_override.8.xml
index d289f5b7d..c2ec5dd41 100644
--- a/src/man/sss_override.8.xml
+++ b/src/man/sss_override.8.xml
@@ -190,6 +190,22 @@
</variablelist>
</refsect1>
+ <refsect1 id='options'>
+ <title>COMMON OPTIONS</title>
+ <para>
+ Those options are available with all commands.
+ </para>
+ <variablelist remap='IP'>
+ <varlistentry>
+ <term>
+ <option>-d</option>,<option>--debug</option>
+ <replaceable>LEVEL</replaceable>
+ </term>
+ <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="include/debug_levels.xml" />
+ </varlistentry>
+ </variablelist>
+ </refsect1>
+
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="include/seealso.xml" />
</refentry>
diff --git a/src/tools/common/sss_tools.c b/src/tools/common/sss_tools.c
index 6bbce3a25..d50e9af7d 100644
--- a/src/tools/common/sss_tools.c
+++ b/src/tools/common/sss_tools.c
@@ -36,6 +36,13 @@ struct sss_cmdline {
const char **argv;
};
+static void sss_tool_print_common_opts(void)
+{
+ fprintf(stderr, _("Common options:\n"));
+ fprintf(stderr, " --debug=INT %s\n",
+ _("Enable debug at level"));
+}
+
static void sss_tool_common_opts(struct sss_tool_ctx *tool_ctx,
int *argc, const char **argv)
{
@@ -201,6 +208,9 @@ int sss_tool_usage(const char *tool_name,
fprintf(stderr, "* %s\n", commands[i].command);
}
+ fprintf(stderr, _("\n"));
+ sss_tool_print_common_opts();
+
return EXIT_FAILURE;
}
@@ -237,6 +247,13 @@ int sss_tool_route(int argc, const char **argv,
return sss_tool_usage(argv[0], commands);
}
+static void sss_tool_popt_print_help(poptContext pc)
+{
+ poptPrintHelp(pc, stderr, 0);
+ fprintf(stderr, "\n");
+ sss_tool_print_common_opts();
+}
+
int sss_tool_popt_ex(struct sss_cmdline *cmdline,
struct poptOption *options,
enum sss_tool_opt require_option,
@@ -286,7 +303,7 @@ int sss_tool_popt_ex(struct sss_cmdline *cmdline,
} else {
fprintf(stderr, _("Invalid option %s: %s\n\n"),
poptBadOption(pc, 0), poptStrerror(ret));
- poptPrintHelp(pc, stderr, 0);
+ sss_tool_popt_print_help(pc);
ret = EXIT_FAILURE;
goto done;
}
@@ -297,7 +314,7 @@ int sss_tool_popt_ex(struct sss_cmdline *cmdline,
*_fopt = poptGetArg(pc);
if (*_fopt == NULL) {
fprintf(stderr, _("Missing option: %s\n\n"), fopt_help);
- poptPrintHelp(pc, stderr, 0);
+ sss_tool_popt_print_help(pc);
ret = EXIT_FAILURE;
goto done;
}
@@ -305,7 +322,7 @@ int sss_tool_popt_ex(struct sss_cmdline *cmdline,
/* No more arguments expected. If something follows it is an error. */
if (poptGetArg(pc)) {
fprintf(stderr, _("Only one free argument is expected!\n\n"));
- poptPrintHelp(pc, stderr, 0);
+ sss_tool_popt_print_help(pc);
ret = EXIT_FAILURE;
goto done;
}
@@ -315,7 +332,7 @@ int sss_tool_popt_ex(struct sss_cmdline *cmdline,
if (require_option == SSS_TOOL_OPT_REQUIRED
&& ((_fopt != NULL && cmdline->argc < 2) || cmdline->argc < 1)) {
fprintf(stderr, _("At least one option is required!\n\n"));
- poptPrintHelp(pc, stderr, 0);
+ sss_tool_popt_print_help(pc);
ret = EXIT_FAILURE;
goto done;
}