Change in libosmocore[master]: osmo-config-merge: Add manual page

This is merely a historical archive of years 2008-2021, before the migration to mailman3.

A maintained and still updated list archive can be found at https://lists.osmocom.org/hyperkitty/list/gerrit-log@lists.osmocom.org/.

Harald Welte gerrit-no-reply at lists.osmocom.org
Fri Sep 28 22:59:22 UTC 2018


Harald Welte has submitted this change and it was merged. ( https://gerrit.osmocom.org/11133 )

Change subject: osmo-config-merge: Add manual page
......................................................................

osmo-config-merge: Add manual page

Change-Id: Ifaa5afe28779a805764caf76a89efb0a3169942e
---
M .gitignore
M Makefile.am
M configure.ac
A man/Makefile.am
A man/osmo-config-merge.adoc
5 files changed, 95 insertions(+), 1 deletion(-)

Approvals:
  Jenkins Builder: Verified
  Harald Welte: Looks good to me, approved



diff --git a/.gitignore b/.gitignore
index 451c883..cb2ce68 100644
--- a/.gitignore
+++ b/.gitignore
@@ -81,6 +81,7 @@
 doc/gb
 doc/html.tar
 doc/*.tag
+man/*.8
 tags
 
 src/crc*gen.c
diff --git a/Makefile.am b/Makefile.am
index de5eb35..745d482 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -1,7 +1,7 @@
 ACLOCAL_AMFLAGS = -I m4
 
 AM_CPPFLAGS = $(all_includes) -I$(top_srcdir)/include
-SUBDIRS = include src src/vty src/codec src/gsm src/coding src/gb src/ctrl src/sim src/pseudotalloc utils tests
+SUBDIRS = include src src/vty src/codec src/gsm src/coding src/gb src/ctrl src/sim src/pseudotalloc utils tests man
 
 pkgconfigdir = $(libdir)/pkgconfig
 pkgconfig_DATA = libosmocore.pc libosmocodec.pc libosmovty.pc libosmogsm.pc \
diff --git a/configure.ac b/configure.ac
index bc3358a..529aad1 100644
--- a/configure.ac
+++ b/configure.ac
@@ -77,6 +77,19 @@
 AC_PATH_PROG(DOXYGEN,doxygen,false)
 AM_CONDITIONAL(HAVE_DOXYGEN, test $DOXYGEN != false && test "x$doxygen" = "xyes")
 
+AC_ARG_ENABLE([man-doc],
+	      [AS_HELP_STRING([--disable-man-doc], [Disable man page documentation])],
+	      [ BUILD_MAN=$enableval ], [ BUILD_MAN="yes" ])
+
+AS_IF([test "x$BUILD_MAN" = "xyes"], [
+      AC_CHECK_PROG(A2X, [a2x], [yes])
+      AS_IF([test "$A2X" != "yes"],
+	    [AC_MSG_ERROR([a2x not found, please install asciidoc or use the
+	     option --disable-man-doc])])
+])
+AM_CONDITIONAL(BUILD_MAN, test "x$BUILD_MAN" = "xyes")
+AC_SUBST(BUILD_MAN)
+
 # check for syscal fallback on glibc < 2.25 - can be removed once glibc version requirement is bumped
 AC_CHECK_DECLS([SYS_getrandom], [], [], [[#include <sys/syscall.h>]])
 
@@ -370,6 +383,7 @@
 	libosmoctrl.pc
 	libosmosim.pc
 	include/Makefile
+	man/Makefile
 	src/Makefile
 	src/vty/Makefile
 	src/codec/Makefile
diff --git a/man/Makefile.am b/man/Makefile.am
new file mode 100644
index 0000000..b287714
--- /dev/null
+++ b/man/Makefile.am
@@ -0,0 +1,15 @@
+if BUILD_MAN
+man_MANS =  osmo-config-merge.8
+endif
+
+ASCIIDOCS = osmo-config-merge.adoc
+
+A2X_OPTS_MANPAGE = --doctype manpage --format manpage -D ${builddir}
+
+%.8 : %.adoc
+		a2x ${A2X_OPTS_MANPAGE} $<
+
+EXTRA_DIST = ${ASCIIDOCS}
+
+CLEANFILES = \
+	     osmo-config-merge.8
diff --git a/man/osmo-config-merge.adoc b/man/osmo-config-merge.adoc
new file mode 100644
index 0000000..205fb50
--- /dev/null
+++ b/man/osmo-config-merge.adoc
@@ -0,0 +1,64 @@
+osmo-config-merge(8)
+=====================
+
+NAME
+----
+osmo-config-merge - Merge osmocom config snippets into an existing config
+
+SYNOPSIS
+--------
+[verse]
+*osmo-config-merge* <config-file> <config-patch> [--debug]
+
+DESCRIPTION
+-----------
+This utility allows you to merge an incremental config "patch"
+into an osmocom-style config file.
+
+The patch file follows the same syntax as the original config file.
+
+It works by appending the leaf nodes of the patch file to the respective
+nodes of the input config file.
+
+This process allows configuration file changes/updates to be performed
+in a more stable/reliable way than by means of (unified) diff files,
+as they break every time the context lines break.
+
+osmo-config-merge doesn't suffer from this problem, as it understands
+the tree-like nature of VTY config files.
+
+The resulting config is printed to stdout.
+
+NOTE: This only works with configuration files that have proper
+indenting, i.e. every level in the hierarchy must be indented excatly
+one character, not multiple.
+
+OPTIONS
+-------
+*--debug*::
+	Show debugging output when parsing the config tree. Needs to be the last argument.
+
+EXAMPLE USAGE
+-------------
+[verse]
+$ osmo-config-merge osmo-msc.cfg.base osmo-msc_change_network.cfg > osmo-msc.cfg
+
+EXIT STATUS
+-----------
+Exit status is 0 if the command was successful, and 1 in case of a
+wrong/missing argument. If the tool detects an error in the patch file the
+exit status is 2.
+
+SEE ALSO
+--------
+The official Osmocom documentation including the VTY config refernce can be
+found at: http://ftp.osmocom.org/docs/latest/
+
+The Osmocom wiki is located at: http://projects.osmocom.org/
+
+
+AUTHORS
+-------
+osmo-config-merge was written by Harald Welte.
+
+The man page was written by Daniel Willmann.

-- 
To view, visit https://gerrit.osmocom.org/11133
To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings

Gerrit-Project: libosmocore
Gerrit-Branch: master
Gerrit-MessageType: merged
Gerrit-Change-Id: Ifaa5afe28779a805764caf76a89efb0a3169942e
Gerrit-Change-Number: 11133
Gerrit-PatchSet: 5
Gerrit-Owner: daniel <dwillmann at sysmocom.de>
Gerrit-Reviewer: Harald Welte <laforge at gnumonks.org>
Gerrit-Reviewer: Jenkins Builder (1000002)
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.osmocom.org/pipermail/gerrit-log/attachments/20180928/289088d9/attachment.htm>


More information about the gerrit-log mailing list