summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorStef Walter <stefw@redhat.com>2013-08-13 14:46:38 +0200
committerStef Walter <stefw@redhat.com>2013-08-13 15:37:12 +0200
commit462bcd86dee13aae6845abcd8619092c867c7ace (patch)
tree7e4ad5c21df0ec6abaa16006cd42dd0288276102
parent1f8c7a25249373b54884968211c7c6d24331dc86 (diff)
downloadostree-462bcd86dee13aae6845abcd8619092c867c7ace.tar.gz
Add --verbose and -v arguments to ostree for details
Use the GLib debug mechanism to handle verbose output. https://bugzilla.gnome.org/show_bug.cgi?id=705905
-rw-r--r--src/libotutil/otutil.h1
-rw-r--r--src/ostree/main.c2
-rw-r--r--src/ostree/ot-main.c38
3 files changed, 35 insertions, 6 deletions
diff --git a/src/libotutil/otutil.h b/src/libotutil/otutil.h
index c7a2842b..e0e30d51 100644
--- a/src/libotutil/otutil.h
+++ b/src/libotutil/otutil.h
@@ -47,4 +47,3 @@
#include <ot-checksum-utils.h>
void ot_ptrarray_add_many (GPtrArray *a, ...) G_GNUC_NULL_TERMINATED;
-
diff --git a/src/ostree/main.c b/src/ostree/main.c
index 580fc8e2..cec12b3f 100644
--- a/src/ostree/main.c
+++ b/src/ostree/main.c
@@ -70,7 +70,7 @@ main (int argc,
if (error != NULL)
{
- g_printerr ("error: %s\n", error->message);
+ g_message ("%s", error->message);
g_error_free (error);
}
diff --git a/src/ostree/ot-main.c b/src/ostree/ot-main.c
index 4691bce2..6f751c71 100644
--- a/src/ostree/ot-main.c
+++ b/src/ostree/ot-main.c
@@ -55,6 +55,19 @@ ostree_usage (char **argv,
return (is_error ? 1 : 0);
}
+static void
+message_handler (const gchar *log_domain,
+ GLogLevelFlags log_level,
+ const gchar *message,
+ gpointer user_data)
+{
+ /* Make this look like normal console output */
+ if (log_level & G_LOG_LEVEL_DEBUG)
+ g_printerr ("OT: %s\n", message);
+ else
+ g_printerr ("%s: %s\n", g_get_prgname (), message);
+}
+
int
ostree_run (int argc,
char **argv,
@@ -79,6 +92,8 @@ ostree_run (int argc,
g_set_prgname (argv[0]);
+ g_log_set_handler (NULL, G_LOG_LEVEL_MESSAGE, message_handler, NULL);
+
if (argc < 2)
return ostree_usage (argv, commands, TRUE);
@@ -122,6 +137,11 @@ ostree_run (int argc,
repo = argv[in] + 7;
skip = TRUE;
}
+ else if (g_str_equal (argv[in], "--verbose"))
+ {
+ g_log_set_handler (NULL, G_LOG_LEVEL_DEBUG, message_handler, NULL);
+ skip = TRUE;
+ }
else if (cmd == NULL && g_str_equal (argv[in], "--version"))
{
g_print ("%s\n %s\n", PACKAGE_STRING, OSTREE_FEATURES);
@@ -146,7 +166,10 @@ ostree_run (int argc,
case 'h':
want_help = TRUE;
break;
-
+ case 'v':
+ g_log_set_handler (NULL, G_LOG_LEVEL_DEBUG, message_handler, NULL);
+ skip = TRUE;
+ break;
default:
if (cmd == NULL)
{
@@ -201,11 +224,18 @@ ostree_run (int argc,
{
if (g_file_test ("objects", G_FILE_TEST_IS_DIR)
&& g_file_test ("config", G_FILE_TEST_IS_REGULAR))
- repo = ".";
+ {
+ g_debug ("Assuming repo is in current directory");
+ repo = ".";
+ }
else if (g_file_test (host_repo_path, G_FILE_TEST_EXISTS))
- repo = host_repo_path;
+ {
+ g_debug ("Assuming repo is at: %s", host_repo_path);
+ repo = host_repo_path;
+ }
else
{
+ g_debug ("Could not automatically determine --repo");
g_set_error_literal (&error, G_IO_ERROR, G_IO_ERROR_FAILED,
"Command requires a --repo argument");
ostree_usage (argv, commands, TRUE);
@@ -244,7 +274,7 @@ ostree_main (int argc,
if (error)
{
- g_printerr ("%s\n", error->message);
+ g_message ("%s", error->message);
g_error_free (error);
}