summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--configure.ac5
-rw-r--r--src/conf_macros.m411
-rw-r--r--src/man/sssd.8.xml10
-rw-r--r--src/monitor/monitor.c12
4 files changed, 35 insertions, 3 deletions
diff --git a/configure.ac b/configure.ac
index 1fa6c583..b371ad13 100644
--- a/configure.ac
+++ b/configure.ac
@@ -26,6 +26,9 @@ AM_GNU_GETTEXT_VERSION([0.14])
AC_SUBST([PRERELEASE_VERSION],
PRERELEASE_VERSION_NUMBER)
+AC_DEFINE([PRERELEASE_VERSION], "PRERELEASE_VERSION_NUMBER",
+ [Prerelease version number of package])
+
AM_CONDITIONAL([GIT_CHECKOUT], [git log -1 &>/dev/null])
m4_pattern_allow([AM_SILENT_RULES])
@@ -71,6 +74,7 @@ AC_SUBST(pammoddir)
m4_include([src/external/platform.m4])
m4_include(src/conf_macros.m4)
+WITH_DISTRO_VERSION
WITH_DB_PATH
WITH_PLUGIN_PATH
WITH_PID_PATH
@@ -223,4 +227,3 @@ AC_CONFIG_FILES([Makefile contrib/sssd.spec src/examples/rwtab src/doxy.config
src/sysv/systemd/sssd.service po/Makefile.in src/man/Makefile
src/providers/ipa/ipa_hbac.pc src/providers/ipa/ipa_hbac.doxy])
AC_OUTPUT
-
diff --git a/src/conf_macros.m4 b/src/conf_macros.m4
index 45d54841..fc5dec67 100644
--- a/src/conf_macros.m4
+++ b/src/conf_macros.m4
@@ -1,3 +1,14 @@
+AC_DEFUN([WITH_DISTRO_VERSION],
+ [ AC_ARG_WITH([distro-version],
+ [AC_HELP_STRING([--with-distro-version=VERSION],
+ [Distro version number []]
+ )
+ ]
+ )
+ AC_DEFINE_UNQUOTED(DISTRO_VERSION, "$with_distro_version",
+ [Distro version number])
+ ])
+
AC_DEFUN([WITH_DB_PATH],
[ AC_ARG_WITH([db-path],
[AC_HELP_STRING([--with-db-path=PATH],
diff --git a/src/man/sssd.8.xml b/src/man/sssd.8.xml
index 5fda3ad7..8eba1866 100644
--- a/src/man/sssd.8.xml
+++ b/src/man/sssd.8.xml
@@ -130,6 +130,16 @@
</listitem>
</varlistentry>
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="include/param_help.xml" />
+ <varlistentry>
+ <term>
+ <option>--version</option>
+ </term>
+ <listitem>
+ <para>
+ Print version number and exit.
+ </para>
+ </listitem>
+ </varlistentry>
</variablelist>
</refsect1>
diff --git a/src/monitor/monitor.c b/src/monitor/monitor.c
index 2db9d541..a0a0cc2f 100644
--- a/src/monitor/monitor.c
+++ b/src/monitor/monitor.c
@@ -2386,6 +2386,7 @@ int main(int argc, const char *argv[])
poptContext pc;
int opt_daemon = 0;
int opt_interactive = 0;
+ int opt_version = 0;
char *opt_config_file = NULL;
char *config_file = NULL;
int flags = 0;
@@ -2404,6 +2405,8 @@ int main(int argc, const char *argv[])
_("Run interactive (not a daemon)"), NULL}, \
{"config", 'c', POPT_ARG_STRING, &opt_config_file, 0, \
_("Specify a non-default config file"), NULL}, \
+ {"version", '\0', POPT_ARG_NONE, &opt_version, 0, \
+ _("Print version number and exit"), NULL }, \
POPT_TABLEEND
};
@@ -2423,8 +2426,13 @@ int main(int argc, const char *argv[])
CONVERT_AND_SET_DEBUG_LEVEL(debug_level);
- /* If the level, timestamps or microseconds was passed at the command-line,
- * we want to save it and pass it to the children later.
+ if (opt_version) {
+ puts(VERSION""DISTRO_VERSION""PRERELEASE_VERSION);
+ return EXIT_SUCCESS;
+ }
+
+ /* If the level or timestamps was passed at the command-line, we want
+ * to save it and pass it to the children later.
*/
cmdline_debug_level = debug_level;
cmdline_debug_timestamps = debug_timestamps;