diff options
-rw-r--r-- | .gitignore | 11 | ||||
-rw-r--r-- | configure.ac | 43 | ||||
-rw-r--r-- | doc/Makefile.am | 5 | ||||
-rw-r--r-- | doc/manuals/Makefile | 51 | ||||
-rw-r--r-- | doc/manuals/Makefile.am | 59 | ||||
-rw-r--r-- | doc/manuals/osmohlr-usermanual.adoc | 28 | ||||
-rw-r--r-- | doc/manuals/osmohlr-vty-reference.xml | 2 |
7 files changed, 132 insertions, 67 deletions
@@ -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" > ]> |