Backport to stable: --version option
poma
pomidorabelisima at gmail.com
Wed Apr 22 16:07:21 PDT 2015
$ ModemManager --version
** (ModemManager:3842): WARNING **: Unknown option --version
Backport to stable "core: add --version option to the ModemManager daemon"
See http://cgit.freedesktop.org/ModemManager/ModemManager/commit/?id=c4e7fdf
---
src/main.c | 4 ----
src/mm-context.c | 19 +++++++++++++++++++
src/mm-context.h | 5 +++++
3 files changed, 24 insertions(+), 4 deletions(-)
diff --git a/src/main.c b/src/main.c
index f44a2c6..a5ff664 100644
--- a/src/main.c
+++ b/src/main.c
@@ -30,10 +30,6 @@
#include "mm-log.h"
#include "mm-context.h"
-#if !defined(MM_DIST_VERSION)
-# define MM_DIST_VERSION VERSION
-#endif
-
/* Maximum time to wait for all modems to get disabled and removed */
#define MAX_SHUTDOWN_TIME_SECS 20
diff --git a/src/mm-context.c b/src/mm-context.c
index c02a4cf..4f88851 100644
--- a/src/mm-context.c
+++ b/src/mm-context.c
@@ -20,6 +20,7 @@
/*****************************************************************************/
/* Application context */
+static gboolean version_flag;
static gboolean debug;
static const gchar *log_level;
static const gchar *log_file;
@@ -27,6 +28,7 @@ static gboolean show_ts;
static gboolean rel_ts;
static const GOptionEntry entries[] = {
+ { "version", 'V', 0, G_OPTION_ARG_NONE, &version_flag, "Print version", NULL },
{ "debug", 0, 0, G_OPTION_ARG_NONE, &debug, "Run with extended debugging capabilities", NULL },
{ "log-level", 0, 0, G_OPTION_ARG_STRING, &log_level, "Log level: one of [ERR, WARN, INFO, DEBUG]", "INFO" },
{ "log-file", 0, 0, G_OPTION_ARG_STRING, &log_file, "Path to log file", NULL },
@@ -121,6 +123,19 @@ mm_context_get_test_plugin_dir (void)
/*****************************************************************************/
+static void
+print_version (void)
+{
+ g_print ("\n"
+ "ModemManager " MM_DIST_VERSION "\n"
+ "Copyright (2008 - 2014) The ModemManager authors\n"
+ "License GPLv2+: GNU GPL version 2 or later <http://gnu.org/licenses/gpl-2.0.html>\n"
+ "This is free software: you are free to change and redistribute it.\n"
+ "There is NO WARRANTY, to the extent permitted by law.\n"
+ "\n");
+ exit (EXIT_SUCCESS);
+}
+
void
mm_context_init (gint argc,
gchar **argv)
@@ -147,4 +162,8 @@ mm_context_init (gint argc,
if (!show_ts && !rel_ts)
show_ts = TRUE;
}
+
+ /* If just version requested, print and exit */
+ if (version_flag)
+ print_version ();
}
diff --git a/src/mm-context.h b/src/mm-context.h
index 727cbd7..6627a60 100644
--- a/src/mm-context.h
+++ b/src/mm-context.h
@@ -16,8 +16,13 @@
#ifndef MM_CONTEXT_H
#define MM_CONTEXT_H
+#include <config.h>
#include <glib.h>
+#if !defined(MM_DIST_VERSION)
+# define MM_DIST_VERSION VERSION
+#endif
+
void mm_context_init (gint argc,
gchar **argv);
--
2.1.0
More information about the ModemManager-devel
mailing list