aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorOliver Smith <osmith@sysmocom.de>2018-11-14 10:47:01 +0100
committerNeels Hofmeyr <neels@hofmeyr.de>2018-11-27 18:02:06 +0100
commitf08da2459b53c554b866e64a6d6f6282fa836842 (patch)
tree00d76b7c60c0fc93bc3d2841f0593839084e0a74
parent62ce834fbf0fb64244dfea3386294cbbd9dfe6fa (diff)
build manuals moved here from osmo-gsm-manuals.git
Moved to doc/manuals/, with full commit history, in preceding merge commit. Now incorporate in the build system. Build with: $ autoreconf -fi $ ./configure --enable-manuals $ make Shared files from osmo-gsm-manuals.git are found automatically if - the repository is checked out in ../osmo-gsm-manuals; or - if it osmo-gsm-manuals was installed with "make install"; or - OSMO_GSM_MANUALS_DIR is set. Related: OS#3385 Change-Id: I52b7b06fddd77c6dc272004f434e9e7651f6b349
-rw-r--r--.gitignore11
-rw-r--r--configure.ac43
-rw-r--r--doc/Makefile.am5
-rw-r--r--doc/manuals/Makefile51
-rw-r--r--doc/manuals/Makefile.am59
-rw-r--r--doc/manuals/osmohlr-usermanual.adoc28
-rw-r--r--doc/manuals/osmohlr-vty-reference.xml2
7 files changed, 132 insertions, 67 deletions
diff --git a/.gitignore b/.gitignore
index cba941d..c08a612 100644
--- a/.gitignore
+++ b/.gitignore
@@ -46,3 +46,14 @@ tests/auc/auc_test
tests/gsup_server/gsup_server_test
tests/gsup/gsup_test
tests/db/db_test
+
+# manuals
+doc/manuals/*.html
+doc/manuals/*.svg
+doc/manuals/*.pdf
+doc/manuals/*__*.png
+doc/manuals/*.check
+doc/manuals/generated/
+doc/manuals/osmomsc-usermanual.xml
+doc/manuals/common
+doc/manuals/build
diff --git a/configure.ac b/configure.ac
index 99f7829..618ae23 100644
--- a/configure.ac
+++ b/configure.ac
@@ -92,6 +92,48 @@ AC_MSG_CHECKING([whether to enable VTY/CTRL tests])
AC_MSG_RESULT([$enable_ext_tests])
AM_CONDITIONAL(ENABLE_EXT_TESTS, test "x$enable_ext_tests" = "xyes")
+# Generate manuals
+AC_ARG_ENABLE(manuals,
+ [AS_HELP_STRING(
+ [--enable-manuals],
+ [Generate manual PDFs [default=no]],
+ )],
+ [osmo_ac_build_manuals=$enableval], [osmo_ac_build_manuals="no"])
+AM_CONDITIONAL([BUILD_MANUALS], [test x"$osmo_ac_build_manuals" = x"yes"])
+AC_ARG_VAR(OSMO_GSM_MANUALS_DIR, [path to common osmo-gsm-manuals files, overriding pkg-config and "../osmo-gsm-manuals"
+ fallback])
+if test x"$osmo_ac_build_manuals" = x"yes"
+then
+ # Find OSMO_GSM_MANUALS_DIR (env, pkg-conf, fallback)
+ if test -n "$OSMO_GSM_MANUALS_DIR"; then
+ echo "checking for OSMO_GSM_MANUALS_DIR... $OSMO_GSM_MANUALS_DIR (from env)"
+ else
+ OSMO_GSM_MANUALS_DIR="$($PKG_CONFIG osmo-gsm-manuals --variable=osmogsmmanualsdir 2>/dev/null)"
+ if test -n "$OSMO_GSM_MANUALS_DIR"; then
+ echo "checking for OSMO_GSM_MANUALS_DIR... $OSMO_GSM_MANUALS_DIR (from pkg-conf)"
+ else
+ OSMO_GSM_MANUALS_DIR="../osmo-gsm-manuals"
+ echo "checking for OSMO_GSM_MANUALS_DIR... $OSMO_GSM_MANUALS_DIR (fallback)"
+ fi
+ fi
+ if ! test -d "$OSMO_GSM_MANUALS_DIR"; then
+ AC_MSG_ERROR("OSMO_GSM_MANUALS_DIR does not exist! Install osmo-gsm-manuals or set OSMO_GSM_MANUALS_DIR.")
+ fi
+
+ # Find and run check-depends
+ CHECK_DEPENDS="$OSMO_GSM_MANUALS_DIR/check-depends.sh"
+ if ! test -x "$CHECK_DEPENDS"; then
+ CHECK_DEPENDS="osmo-gsm-manuals-check-depends"
+ fi
+ if ! $CHECK_DEPENDS; then
+ AC_MSG_ERROR("missing dependencies for --enable-manuals")
+ fi
+
+ # Put in Makefile with absolute path
+ OSMO_GSM_MANUALS_DIR="$(realpath "$OSMO_GSM_MANUALS_DIR")"
+ AC_SUBST([OSMO_GSM_MANUALS_DIR])
+fi
+
# https://www.freedesktop.org/software/systemd/man/daemon.html
AC_ARG_WITH([systemdsystemunitdir],
[AS_HELP_STRING([--with-systemdsystemunitdir=DIR], [Directory for systemd service files])],,
@@ -120,6 +162,7 @@ AC_OUTPUT(
include/Makefile
libosmo-gsup-client.pc
sql/Makefile
+ doc/manuals/Makefile
contrib/Makefile
contrib/systemd/Makefile
tests/Makefile
diff --git a/doc/Makefile.am b/doc/Makefile.am
index aee2d7b..15f36b7 100644
--- a/doc/Makefile.am
+++ b/doc/Makefile.am
@@ -1 +1,4 @@
-SUBDIRS = examples
+SUBDIRS = \
+ examples \
+ manuals \
+ $(NULL)
diff --git a/doc/manuals/Makefile b/doc/manuals/Makefile
deleted file mode 100644
index 234a48c..0000000
--- a/doc/manuals/Makefile
+++ /dev/null
@@ -1,51 +0,0 @@
-TOPDIR = ..
-
-ASCIIDOC = osmohlr-usermanual.adoc
-ASCIIDOC_DEPS = chapters/*.adoc *.vty *.ctrl
-include $(TOPDIR)/build/Makefile.asciidoc.inc
-
-VTY_REFERENCE = osmohlr-vty-reference.xml
-include $(TOPDIR)/build/Makefile.vty-reference.inc
-
-include $(TOPDIR)/build/Makefile.common.inc
-
-OSMO_HLR_PATH ?= ../../osmo-hlr
-TMP_DB = generated/hlr.db
-
-update-examples: update-examples-ctrl update-examples-vty
-
-.PHONY: found-update-deps
-found-update-deps:
- @if [ ! -f "$(OSMO_HLR_PATH)/sql/hlr.sql" ]; then \
- echo "You need to define OSMO_HLR_PATH to point at an osmo-hlr.git"; \
- exit 1; \
- fi
- @if [ -z "$(shell which osmo-hlr)" ]; then \
- echo "osmo-hlr needs to be installed / available in the PATH"; \
- exit 1; \
- fi
- @if [ -z "$(shell which osmo_verify_transcript_ctrl.py)" ]; then \
- echo "You need to install git.osmocom.org/python/osmo-python-tests.git"; \
- exit 1; \
- fi
- @if [ -z "$(shell which osmo_verify_transcript_vty.py)" ]; then \
- echo "You need to install git.osmocom.org/python/osmo-python-tests.git"; \
- exit 1; \
- fi
-
-update-examples-ctrl: found-update-deps
- mkdir -p generated
- rm -f "$(TMP_DB)"
- sqlite3 "$(TMP_DB)" < "$(OSMO_HLR_PATH)/sql/hlr.sql"
- sqlite3 "$(TMP_DB)" < "$(OSMO_HLR_PATH)/tests/test_subscriber.sql"
- osmo_verify_transcript_ctrl.py \
- -r "osmo-hlr -l $(TMP_DB) -c /n/s/osmo/src/osmo-hlr/doc/examples/osmo-hlr.cfg" \
- -p 4259 --update *.ctrl
-
-update-examples-vty: found-update-deps
- mkdir -p generated
- rm -f "$(TMP_DB)"
- sqlite3 "$(TMP_DB)" < "$(OSMO_HLR_PATH)/sql/hlr.sql"
- osmo_verify_transcript_vty.py \
- -r "osmo-hlr -l $(TMP_DB) -c /n/s/osmo/src/osmo-hlr/doc/examples/osmo-hlr.cfg" \
- -p 4258 --update *.vty
diff --git a/doc/manuals/Makefile.am b/doc/manuals/Makefile.am
new file mode 100644
index 0000000..687698f
--- /dev/null
+++ b/doc/manuals/Makefile.am
@@ -0,0 +1,59 @@
+EXTRA_DIST = example_subscriber_add_update_delete.vty \
+ example_subscriber_cs_ps_enabled.ctrl \
+ example_subscriber_info.ctrl \
+ osmohlr-usermanual.adoc \
+ osmohlr-usermanual-docinfo.xml \
+ osmohlr-vty-reference.xml \
+ chapters \
+ vty
+
+if BUILD_MANUALS
+ ASCIIDOC = osmohlr-usermanual.adoc
+ ASCIIDOC_DEPS = $(srcdir)/chapters/*.adoc $(srcdir)/*.vty $(srcdir)/*.ctrl
+ include $(OSMO_GSM_MANUALS_DIR)/build/Makefile.asciidoc.inc
+
+ VTY_REFERENCE = osmohlr-vty-reference.xml
+ include $(OSMO_GSM_MANUALS_DIR)/build/Makefile.vty-reference.inc
+
+ include $(OSMO_GSM_MANUALS_DIR)/build/Makefile.common.inc
+endif
+
+TMP_DB = generated/hlr.db
+
+update-examples: update-examples-ctrl update-examples-vty
+
+.PHONY: found-update-deps
+found-update-deps:
+ @if [ ! -f "$(top_srcdir)/sql/hlr.sql" ]; then \
+ echo "You need to define OSMO_HLR_PATH to point at an osmo-hlr.git"; \
+ exit 1; \
+ fi
+ @if [ -z "$(shell which osmo-hlr)" ]; then \
+ echo "osmo-hlr needs to be installed / available in the PATH"; \
+ exit 1; \
+ fi
+ @if [ -z "$(shell which osmo_verify_transcript_ctrl.py)" ]; then \
+ echo "You need to install git.osmocom.org/python/osmo-python-tests.git"; \
+ exit 1; \
+ fi
+ @if [ -z "$(shell which osmo_verify_transcript_vty.py)" ]; then \
+ echo "You need to install git.osmocom.org/python/osmo-python-tests.git"; \
+ exit 1; \
+ fi
+
+update-examples-ctrl: found-update-deps
+ mkdir -p generated
+ rm -f "$(TMP_DB)"
+ sqlite3 "$(TMP_DB)" < "$(top_srcdir)/sql/hlr.sql"
+ sqlite3 "$(TMP_DB)" < "$(top_srcdir)/tests/test_subscriber.sql"
+ osmo_verify_transcript_ctrl.py \
+ -r "osmo-hlr -l $(TMP_DB) -c $(top_srcdir)/doc/examples/osmo-hlr.cfg" \
+ -p 4259 --update *.ctrl
+
+update-examples-vty: found-update-deps
+ mkdir -p generated
+ rm -f "$(TMP_DB)"
+ sqlite3 "$(TMP_DB)" < "$(top_srcdir)/sql/hlr.sql"
+ osmo_verify_transcript_vty.py \
+ -r "osmo-hlr -l $(TMP_DB) -c $(top_srcdir)/doc/examples/osmo-hlr.cfg" \
+ -p 4258 --update *.vty
diff --git a/doc/manuals/osmohlr-usermanual.adoc b/doc/manuals/osmohlr-usermanual.adoc
index d9a4654..7e709bd 100644
--- a/doc/manuals/osmohlr-usermanual.adoc
+++ b/doc/manuals/osmohlr-usermanual.adoc
@@ -6,31 +6,31 @@ OsmoHLR User Manual
Neels Hofmeyr <nhofmeyr@sysmocom.de>
-include::../common/chapters/preface.adoc[]
+include::./common/chapters/preface.adoc[]
-include::chapters/overview.adoc[]
+include::{srcdir}/chapters/overview.adoc[]
-include::chapters/running.adoc[]
+include::{srcdir}/chapters/running.adoc[]
-include::chapters/subscribers.adoc[]
+include::{srcdir}/chapters/subscribers.adoc[]
-include::chapters/ussd.adoc[]
+include::{srcdir}/chapters/ussd.adoc[]
-include::../common/chapters/vty.adoc[]
+include::./common/chapters/vty.adoc[]
-include::../common/chapters/logging.adoc[]
+include::./common/chapters/logging.adoc[]
-include::chapters/control.adoc[]
+include::{srcdir}/chapters/control.adoc[]
-include::../common/chapters/control_if.adoc[]
+include::./common/chapters/control_if.adoc[]
-include::../common/chapters/gsup.adoc[]
+include::./common/chapters/gsup.adoc[]
-include::../common/chapters/port_numbers.adoc[]
+include::./common/chapters/port_numbers.adoc[]
-include::../common/chapters/bibliography.adoc[]
+include::./common/chapters/bibliography.adoc[]
-include::../common/chapters/glossary.adoc[]
+include::./common/chapters/glossary.adoc[]
-include::../common/chapters/gfdl.adoc[]
+include::./common/chapters/gfdl.adoc[]
diff --git a/doc/manuals/osmohlr-vty-reference.xml b/doc/manuals/osmohlr-vty-reference.xml
index 11633fd..f2d06ef 100644
--- a/doc/manuals/osmohlr-vty-reference.xml
+++ b/doc/manuals/osmohlr-vty-reference.xml
@@ -5,7 +5,7 @@
-->
<!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook XML 5.0//EN"
"http://docbook.org/xml/5.0/dtd/docbook.dtd" [
-<!ENTITY chapter-vty SYSTEM "../common/chapters/vty.xml" >
+<!ENTITY chapter-vty SYSTEM "./common/chapters/vty.xml" >
<!ENTITY sections-vty SYSTEM "generated/docbook_vty.xml" >
]>