Allow installing generated pdfs with 'make install' in all Osmocom
projects using osmo-gsm-manuals. This makes proper debian packaging of
the manuals easier.
Autotools will automatically run this file's install target, when
running 'make install' in the top source dir. Do not install anything,
when OSMO_GSM_MANUALS_NO_INSTALL is set, and set this variable for the
tests dir, so we don't install the test pdfs.
Related: OS#3899
Change-Id: I66f33172fa410681acbaef4592e9405627948705
Remove git from depends, because it isn't needed when building the
manuals from a source tarball. Avoid having git in the build
dependencies of the upcoming manuals packaging for debian.
Related: OS#3899
Change-Id: I46ad818a1d009c03357821f7c8100ecb5d62962e
Don't explicitly depend on python 3, so we don't need to have python 2
*and* python 3 installed to build osmo-gsm-manuals.
The script is short and works fine with either python version.
Related: OS#3899
Change-Id: I8af9b8159f5c7e39b905f85edd1584cb4d5a33ef
Move the "IMEI" and "IMEI Check Result" IEs from the "Session
(transaction) management" chapter (which describes session IEs) to the
"Information Elements" chapter. Add a comment to prevent this mistake in
the future.
Related: OS#2541
Change-Id: I6fd66419350e018a763b8fac3daf567b339a2637
Change-Id: I9a0536f285f98f24fec4d7318f1923782ed2e18c
Related Change-Id: Ie0150756c33c1352bc4eb49421824542c711175c
Related Change-Id: I549b6c8840a1e86caac09e77fb8bc5042d939e62
Make this part of the specification, so we can simplify libosmocore
code by knowing that error message is (request message | 0x000001).
Related: I46d9f2327791978710e2f90b4d28a3761d723d8f (libosmocore)
Change-Id: Iec1b4ce4b7d8eb157406f006e1c4241e8fba2cd6
The 'check' target is only available when including
Makefile.asciidoc.inc, which is not always the case. Some projects only
build the VTY reference. Do not depend on check, so publishing the
VTY reference for these projects is working as expected.
Related: OS#3385
Change-Id: I64aae0016095d81ca9e9ebda9a2e3336ac126639
Most likely, this was a copy-paste error. SGSN is not involved
in Supplemeptary Services handling, they are pure CS data.
Moreover, HLR is not the only entity that can initiate both
Process Supplementary Service Error and Response messages,
there is also EUSE (External USSD handling Entity).
Change-Id: I46ad7311747f2b392244c49d3df1e152e6f1bfe3
Remove leftover OsmoMSC/Makefile.am, which should have been deleted
already in Ib234fe4f4ac36c27a4ad8a8d0050c1d6874232bc ("remove OsmoMSC
files (now avail in osmo-msc.git)").
Remove the upload taget in Makefile.am, as there are not project
specific files anymore.
Related: OS#3385
Change-Id: I8716c41b03b09250e61e6a29fe9589454258fe03
Replace the symlink that points to OsmoBSC/vty/bsc_vty_additions.xml
with a copy of that file, so we can delete the OsmoBSC dir.
Change-Id: Ifbffc90d56f0fa90d2da77dd7807cd0bb197c0d7
Files were added in osmo-msc.git Change-Id
Ic3c5add3c87f0aadb1ffab668ce16be6d0805d33.
The other project specific files will be moved in future commits. One
commit per dir.
Depends: osmo-msc.git Change-Id Ic3c5add3c87f0aadb1ffab668ce16be6d0805d33
Related: OS#3385
Change-Id: Ib234fe4f4ac36c27a4ad8a8d0050c1d6874232bc
Do not publish PDFs for all projects anymore with jenkins.sh --publish
or "make publish". Extract known_hosts from jenkins.sh, and install it
along with the other shared files in OSMO_GSM_MANUALS_DIR. Add a
"publish" target to Makefile.common.inc, so we can use it from the
project repositories. Document its usage in INSTALL.txt.
No automatism for building and publishing the documentation of all
projects will be implemented in this patch series, as discussed here:
https://osmocom.org/issues/3385#note-7
(moving manuals to project repositories 19/19)
Related: OS#3385
Change-Id: Ibe0424ceace151115985896b6d43035c69067c50
Everything is in place for 'make distcheck' now.
(moving manuals to project repositories 18/19)
Related: OS#3385
Change-Id: Ie31fba3d1afd31c25489ce08169101d9ed9de536
Necessary for 'make distcheck': the files will otherwise not end up in
the dist archives.
(moving manuals to project repositories 17/19)
Related: OS#3385
Change-Id: I5a2d6e572d346addc8770d1331c9223a56635869
Force the xsltproc output file to be writable, if it exists already.
This is needed for 'make distcheck': xsltproc gives output files the
same permissions as input files. We need to change the output file in
multiple iterations in vty_reference_combine.sh, hence it must be
writable.
(moving manuals to project repositories 15/19)
Related: OS#3385
Change-Id: I693e12ee15665d01cbc50187e6cb3ca74ad0356a
Includes from other projects don't work anymore when moving project
specific manuals into other repositories.
(moving manuals to project repositories 14/19)
Related: OS#3385
Change-Id: I96933dd4dd6cac159847647f1c642215051a9aad
Define a new {srcdir} variable in Makefile.asciidoc.inc, that can be
used in all adoc files. The value is the same as the Makefile variable
$(srcdir). Use {srcdir} in the "include::" lines of all adoc files.
(moving manuals to project repositories 13/19)
Related: OS#3385
Change-Id: I823e3d534cbc9ffceb68d3ab14c9f6710ff2eb2a
Makefile.asciidoc.inc: create a symlink for the root adoc file, from
which a PDF gets generated, from the srcdir to the builddir. This file
may include other adoc files, which do not get symlinked. We need to do
this, because a2x (the program generating the PDF file) does not have a
parameter for the output file, and will otherwise generate the PDF in
the srcdir instead of the builddir. Do the same in the check target, so
the relative include paths work the same.
Makefile.asciidoc.inc, Makefile.docbook.inc: set the include paths for
the xstl parser, as well as the LaTeX compiler, so they can find the
files they need from both OSMO_GSM_MANUALS_DIR and builddir.
Makefile.asciidoc.inc, Makefile.docbook.inc: refer to the output file
$@ with $(notdir $@). This removes the path from the file, like
basename from coreutils. The output file will then be placed in the
builddir instead of the srcdir.
Makefile.vty-reference.inc: use $(srcdir) in references to vty/*.xml
files.
(moving manuals to project repositories 12/19)
Related: OS#3385
Change-Id: Ie6b212a6518f0fc29fae610a37ae6c533189278d
Use $(srcdir) infront of all relative paths, which reference other
files in the repository. Use $(top_srcdir) as OSMO_GSM_MANUALS_DIR.
This is needed for out-of-tree building.
(moving manuals to project repositories 11/19)
Related: OS#3385
Change-Id: I2454d7507fae4e1c47458a1adf36f68e637f4bbc
Pass the path to $(srcdir)/vty/*reference.xml as parameter to
vty_reference_combine.sh instead of assuming that it will be in
./vty/*reference.xml.
This is necessary to make the build scripts work for out-of-tree
builds. Because when building out-of-tree, the source dir and build dir
(the one where the Makefile gets generated, and in which "make" runs),
are not the same anymore. The relative vty/reference.xml path is only
valid in the source dir, not in the build dir. The next commits in this
series have more changes for out-of-tree builds.
Out-of-tree building is necessary for consistency with the other
Osmocom code, which can be built out-of-tree as well. It would be
strange if this did not work anymore as soon as the users enabled
building the manuals.
(moving manuals to project repositories 10/19)
Related: OS#3385
Change-Id: I3dcb49d7705f882bd117088d4e5eab91dd1c7d8c
Change hardcoded ../common paths, which will break when moving the
project specific manuals in other repositories, to ./common so they
use the dynamically created symlink that always points to the right
path.
(moving manuals to project repositories 9/19)
Change-Id: I5368bcff34586c515af23e5a868417e561fd539d
Change hardcoded ../common paths, which will break when moving the
project specific manuals in other repositories, to ./common so they
use the dynamically created symlink that always points to the right
path.
(moving manuals to project repositories 8/19)
Related: OS#3385
Change-Id: Id984f5e85481f7877567ee6d21f7ca455d773ef1
$(OSMO_GSM_MANUALS_DIR) is used in most places to reference to the top
dir, which contains "build" and "common". But not in the asciidoc
mscgen filter configurations, and in the custom LaTeX style. They have
../common or ../build hardcoded, which won't work anymore when the
project specific files will be in another repository.
Update the Makefiles to create symlinks to "build" and "common" in the
dir where the build was started. Use ./common in the files that had
../common hardcoded, and do the same for ./build.
Update the Makefile.common.inc comment to refer to common targets in
general, so we don't need to list each single one there (like the new
'common' and 'build' targets).
I've also thought about using variables there, but this would only work
for the asciidoc files, not for the .sty file. We would need to
generate the latter from another file and replace the variable
dynamically. Having the symlinks instead seemed to be slightly easier.
(moving manuals to project repositories 7/19)
Related: OS#3385
Change-Id: I4cfd1a9ef482d382f10cdf060e8e2cba81852864
OSMO_GSM_MANUALS_DIR should use pkg-config to figure out the location
of the shared osmo-gsm-manuals files.
(moving manuals to project repositories 6/19)
Related: OS#3385
Change-Id: I64cfffb5104edcf7a20f41aeb5bf8ee6988b57c4
For reasoning why a transition to autotools is desired, see the commit
message of the previous patch in this series.
"make install" copies the "build", "common" dirs, as well as the "*.xsl"
files to $(prefix)/share/osmo-gsm-manuals. Prefix is typically
/usr/local. Also a pkg-config file gets installed, so the path of the
shared files can be looked up by autoconf scripts of the project
repositories. The check-depends script is installed to
$(prefix)/bin/osmo-gsm-manuals-check-depends and will be used by
project specific autoconf scripts, too.
All existing make targets ("make", "make check", "make upload") are
still working, users only need to run "autoreconf -fi" and
"./configure" beforehand.
Makefile.am uses custom install-data-hook and uninstall-local targets,
so we don't need to specify each file of the relevant subdirs in a
_DATA variable (no extra maintenance effort).
(moving manuals to project repositories 5/19)
Related: OS#3385
Change-Id: I8e7036fae062ee783cb132b14608827a82c5e7c7
Add the same version of git-version-gen, which most other Osmocom
repositories (libasn1c, libosmocore, libosmo-netif, libosmo-sccp, ...)
are using, so they behave the same.
git-version-gen generates a version string derived from the git
repository, or from a .tarball-version file when running outside of a
git directory. Unfortunatelly it seems to be impossible to use
git-version-gen from autoconf without adding it to the source tree.
Autotools will be used to install the shared manual files into the
system in a way that is consistent with the other Osmocom repositories:
$ autoreconf -fi
$ ./configure --prefix=/usr/local
$ make
$ make install
Project repositories will check with pkg-config if osmo-gsm-manuals is
installed (like any other shared Osmocom component), when a new
configure flag for building the manuals is passed. This will also work
with distribution's package managers, for instance we could have a
osmo-gsm-manuals-dev package in Debian on which the other packages
would have a build-time dependency to build the UNIX man pages
(OS#3386).
(moving manuals to project repositories 4/19)
Related: OS#3385
Change-Id: I34b0d20046417179250a5065574e2bc303889cf6