Age | Commit message (Collapse) | Author | Files | Lines |
|
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
|
|
$(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
|
|
Replace TOPDIR with OSMO_GSM_MANUALS_DIR. When the project specific
manuals will be built out of this repository, we still need to refer to
the top directory of the shared content. But it will be in another
repository, so we need to rename the variable to avoid confusion.
(moving manuals to project repositories 3/19)
Related: OS#3385
Change-Id: I2af797546de048a6ab19a5cbc755e5e15575d7ab
|
|
Use $(ASCIIDOC_DEPS) instead of assuming that the value would be
"chapters/*.adoc". The variable exists already, but it was not used
yet in 'make check' of Makefile.asciidoc.inc.
This allows creating a tests dir without its own chapters subdir
(follow-up commit), which is part of a larger effort to move manuals to
project repositories.
The reason for moving manuals to project repositories is that we can
have documentation changes together with code changes in the same
patches. Not part of this patchset, but possible in the future, is
optionally building UNIX man pages in the project repositories
(OS#3386) as well as generating the VTY documentation on the fly from
running the project binaries (OS#3695).
(moving manuals to project repositories 1/19)
Related: OS#3386
Change-Id: Id8b26759607a3490d6cbd93c68ba1f89aa8ef1f2
|
|
Allow building manuals without the libosmocore source.
Related: OS#3385
Change-Id: Ifb81b18422987cdf36b75993d2782abf93b5f48c
|
|
Print "unknown" to stdout when unix-time-to-fmt.py was called without
an argument, instead of printing a Python stack trace to stderr. It gets
called that way when building outside of a git folder.
Change-Id: I3ba27cc23543e47cc8a1e494c35cc33f1dc8f297
|
|
HTML files get created when a2x fails and asciidoc runs.
Change-Id: I4d5e9c36f75141ce88d11b16c89809be4dce87d8
|
|
a2x wraps asciidoc. When a2x fails, we run asciidoc without a2x to
print verbose output. Make sure that 'make' fails at this point, even
if asciidoc runs through.
Change-Id: I30931303ecc6094efaedcb08380433a34211a169
|
|
If LIBOSMO_DIR is not set explicitly than ~/source/gsm/libosmocore is
used which is base for MERGE_DOC which is used by
vty_reference_combine.sh as it is. If the shell used by
vty_reference_combine.sh does not expand ~ than the build will
fail. Let's be nice and use realpath on MERGE_DOC before giving it to
vty_reference_combine.sh to make sure complete path is used.
Change-Id: I2edf64348502cbe498d9fd27a686c712b044c926
|
|
The initial goal was to make sure we don't have overall FORCE rules causing
unnecessary rebuilds -- annoying while writing documentation. As I looked
through possible dependencies, I finally understood what's going on here.
Remove code dup and nicely sort which belongs where in build/Makefile.*.inc. In
each, describe in a top comment how to use it, and also unify how they are
used:
- Rename Makefile.inc to Makefile.docbook.inc and refactor
- Add Makefile.vty-reference.inc
- Add Makefile.common.inc
Make sure that we accurately pick up all dependencies.
Drop use of the macro called 'command', that silenced the actual command lines
invoked and replaced them with short strings: it obscures what is actually
going on and makes the Makefiles hard to read and understand.
Each manual's makefile is greatly reduced to few definitions and a Makefile
include, e.g. one for asciidoc, one for VTY reference.
Move common/bsc_vty_additions.xml to OsmoBSC/vty/libbsc_vty_additions.xml, link
from OsmoNITB. It applies only to OsmoBSC and OsmoNITB.
Add a script that combines a VTY reference file with *all* additions files
found in a manual's vty/ dir. Call this from Makefile.vty-reference.inc.
Change-Id: I9758e04162a480e28c7dc83475b514cf7fd25ec0
|
|
Change-Id: Iecf8e18ce2f1dac61bf55019e1fec601b33abb95
|
|
Change-Id: I8fa60c1f95436c39fd1ff9424a907876d367484e
|
|
Otherwise long doc titles (top left) run on top of release and date
making it impossible to read any of them correctly.
Change-Id: I685a981a5cfd82214d1d654aa1553a844c2af157
|
|
Unconditionally show a 'DRAFT' watermark only on the first page of each
document.
I would have liked to make this conditional based on the BUILD_RELEASE=*
variable, but could not figure out how to switch off a .sty code segment based
on command line parameters.
Since we only seem to render all manuals in DRAFT mode all the time, it seems
reasonable to include the DRAFT watermark always, requiring manual .sty editing
if anyone wanted to build a non-DRAFT version.
In the makefile, add an echo to say so in case of non-draft builds.
Change-Id: Ia71795481c2467aab11ab344517df74775b2a852
|
|
The 'DRAFT' watermark in the page background is a hindrance when trying to
copy-paste text from the rendered PDFs. It segments the texts so that many code
lines cannot be marked in whole to copy.
So drop the watermark and instead just show 'DRAFT' in the page header.
Change-Id: Ie22cdddf46bf7640e7f027940a6db904bf639142
|
|
Change-Id: Ic03ff99df4d655ce0b2dbc5a042a3a62f07cfef7
|
|
This is only used to output warnings in case the a2x build failed.
Use ASCIIDOC_OPTS instead of repeating the same options (with one missing)
and add verbose output by asciidoc.
Change-Id: I6135ba1a3e46610eea6089e2218f1024c49054be
|
|
Generate *.check files from asciidoc output and grep for WARNINGs.
Add *.check files to gitignore and to 'make clean'.
Change-Id: Ibccc83a3415930a528f2e8e4e4dda3b81c6d0b64
|
|
Allows the user to set by env or argument
Change-Id: Ibc2c9ff6e61fd8cb59b908a9586ad5841d698924
|
|
On FreeBSD, the 'date' command's -d option has a completely different meaning.
Instead, use a small python script to do the date format conversion, which
should be more portable.
As a side effect, we now also use UTC instead of the build server's timezone,
which may be considered a more international choice.
Add build/unix-time-to-fmt.py, call in build/Makefile.asciidoc.inc.
Change-Id: I91a40656184f553ee375216d8ba5c7788fe9990d
|
|
|
|
By using the same name for the config it overwrite the one used
by the mscgen plugin. Let's avoid this and switch from svg to png
as well as the docbook classification doesn't seem to work.
|
|
The CI does not generate(?) or include the svg files in the PDF. It
is not clear why that is done if something is missing from mscgen or
from asciidoc or something else is wrong. Let's try once with the PNG
output.
|
|
The GFDL specifically names a "History" section, so let's make sure we
stay within that language.
|
|
This is a bit awkward, as the 'revnumber' asciidoc variable so far
doesn't seem to end up in the docbook-xml. We now put it into
'releaseinfo' which gets then put into \DBKreleeaseinfo by dblatex.
makefile watermark fixup
|
|
The manuals existed in different form for several years in an internal
sysmocom repository. However, since they had just recently been
converted from docboox-xml to asciidoc and all files have been
re-shuffled for enabling the public release, there's not much point in
keeping the history with git-filter-branch.
|