Commit graph

71 commits

Author SHA1 Message Date
Simon McVittie
e6e2370e9e doc: avoid Python injection if filenames contain quotes
Signed-off-by: Simon McVittie <smcv@collabora.com>
2022-07-13 20:36:13 +01:00
Simon McVittie
1582f713a3 build: Distribute Meson build system in release tarballs
As long as we are treating Autotools as a first-class citizen, what we
release will be `make distcheck` output.

Signed-off-by: Simon McVittie <smcv@collabora.com>
2022-07-13 20:36:13 +01:00
Jan Tojnar
dcd19cc0d9 build: Do not dist built XML catalog
It will have whatever paths the person who built the dist tarball hardcoded.
2022-05-24 11:25:31 +00:00
Jan Tojnar
2ac9a348f0 doc: Introduce XML catalog
This adds a nice way of loading the DTD files based on the identifier
in the DOCTYPE declaration, no matter where the DTDs are installed.
See also ‘XML catalog’ Wikipedia entry and update-xmlcatalog(8).
2022-02-21 14:01:20 +00:00
Simon McVittie
8afc535770 doc: Uninstall *.svg generated by Doxygen
Signed-off-by: Simon McVittie <smcv@collabora.com>
2021-12-17 13:08:08 +00:00
Arnout Engelen
43e0188dbf
docs: generate reproducible ids
With this parameter, docbook will generate the same id's when generating the
same docs. This is helpful to get bit-by-bit 'reproducible' output, which
makes auditing the package easier.

Tested both the cmake output and the automake output
2020-11-06 14:52:48 +01:00
Ralf Habacker
6e8d75834e Add support to generate the api documentation in Qt help format
Qt help files are used by Qt Creator and KDevelop, for example, to support
the development of Qt-based applications and libraries.

Generating api documentation in Qt help format is controlled by two
user specific options named --enable-qt-help and --with-qchdir (autotools)
and -DENABLE_QT_HELP and -DINSTALL_QCH_DIR (cmake).
2020-04-29 15:23:23 +00:00
Simon McVittie
f134e2d2c7 doc: Remove obsolete message about man2html
We no longer run man2html.

Signed-off-by: Simon McVittie <smcv@collabora.com>
2018-12-04 11:41:23 +00:00
Simon McVittie
21db07e18d doc: Don't include ChangeLog in dbus-docs.tar.xz
Signed-off-by: Simon McVittie <smcv@collabora.com>
Fixes: e93b421137
2018-12-04 11:18:39 +00:00
Simon McVittie
074fbb0a83 doc: Use tar --xz to create dbus-docs.tar.xz
Signed-off-by: Simon McVittie <smcv@collabora.com>
Fixes: b805744029
2018-12-04 11:17:38 +00:00
Simon McVittie
cc00a7a6e9 CONTRIBUTING: Reformat as Markdown
Signed-off-by: Simon McVittie <smcv@collabora.com>
2018-10-19 09:58:42 +00:00
Francesco Turco
b805744029 Distribute source code using .tar.xz archives
This saves around 32% of the size of the archive.

[smcv: Rebased onto current master]
Signed-off-by: Simon McVittie <smcv@collabora.com>
Reviewed-by: Philip Withnall <withnall@endlessm.com>
Bug: https://bugs.freedesktop.org/show_bug.cgi?id=107630
2018-08-29 17:57:43 +01:00
Simon McVittie
e4ec7ecbab Rename HACKING to CONTRIBUTING
Signed-off-by: Simon McVittie <smcv@collabora.com>
2018-08-22 17:48:42 +01:00
Simon McVittie
9391d769ae build: Uninstall JavaScript and CSS from htmldir
Otherwise, distcheck fails when mallard-ducktype is available.

Signed-off-by: Simon McVittie <smcv@collabora.com>
2018-04-27 18:18:11 +01:00
Simon McVittie
fa92263920 doxygen_to_devhelp: Produce Devhelp index format v2
The old version-1 format is deprecated and now produces warnings.

Bug: https://bugs.freedesktop.org/show_bug.cgi?id=106186
Reviewed-by: Philip Withnall <withnall@endlessm.com>
[smcv: Add the .devhelp2 file to .gitignore as suggested]
Signed-off-by: Simon McVittie <smcv@collabora.com>
2018-04-23 17:44:09 +01:00
Simon McVittie
49ad5b110f doc: Install highlight.pack.js if present
Newer versions of yelp-build use this instead of a jQuery syntax
highlighter.

Bug: https://bugs.freedesktop.org/show_bug.cgi?id=106171
Reviewed-by: Philip Withnall <withnall@endlessm.com>
[smcv: Also add it to .gitignore as suggested]
Signed-off-by: Simon McVittie <smcv@collabora.com>
2018-04-23 17:38:56 +01:00
Simon McVittie
bab857fb6f doc: Only install ancillary files from yelp-build if they exist
Newer versions of yelp-build don't install jquery.

Bug: https://bugs.freedesktop.org/show_bug.cgi?id=106171
Signed-off-by: Simon McVittie <smcv@collabora.com>
Reviewed-by: Philip Withnall <withnall@endlessm.com>
2018-04-23 17:37:12 +01:00
Philip Withnall
371e7109f8 doc: Install introspection and busconfig DTDs
Install them to $(datadir)/xml/dbus-1, which seems to be the standard
location for installed DTDs. This means that developers can use them to
validate their introspection XML, and sysadmins can use them to validate
their bus configuration files.

Bug: https://bugs.freedesktop.org/show_bug.cgi?id=89011
Reviewed-by: Simon McVittie <simon.mcvittie@collabora.co.uk>
2016-10-05 10:08:10 +01:00
Simon McVittie
2a6cefbc3b Add dbus-update-activation-environment tool
If OS builders (distributions) have chosen to use the per-user bus,
this provides two possible modes of operation for compatibility with
existing X session startup hooks.

A legacy-free system can just upload DISPLAY, XAUTHORITY and possibly
DBUS_SESSION_BUS_ADDRESS into dbus-daemon's and systemd's activation
environments, similar to
http://cgit.freedesktop.org/systemd/systemd/tree/xorg/50-systemd-user.sh
installed by systemd (but unlike systemctl,
dbus-update-activation-environment works for traditional
D-Bus-activated services, not just for systemd services).

A system where compatibility is required for environment variables
exported by snippets in /etc/X11/xinit/xinitrc.d (in Red Hat derivatives,
Gentoo, etc.) or /etc/X11/Xsession.d (Debian derivatives) can upload
the entire environment of the X session, minus some selected environment
variables which are specific to a login session (notably XDG_SESSION_ID).

In Debian, I plan to put the former in a new dbus-user-session package
that enables a user-session-centric mode of operation for D-Bus,
and the latter in the existing dbus-x11 package, with the intention that
dbus-x11 eventually becomes a tool for change-averse setups or goes
away entirely.

Bug: https://bugs.freedesktop.org/show_bug.cgi?id=61301
Reviewed-by: Philip Withnall <philip.withnall@collabora.co.uk>
2015-02-24 11:15:52 +00:00
Philip Withnall
bd707406a4 doc: Add a guide to designing D-Bus APIs
This guide gives some pointers on how to write D-Bus APIs which are nice
to use.

It adds an optional dependency on Ducktype and yelp-build from
yelp-tools. These are used when available, but are not required unless
--enable-ducktype-docs is passed to configure. They are required for
uploading the docs, however.

Bug: https://bugs.freedesktop.org/show_bug.cgi?id=88994
Reviewed-by: Simon McVittie <simon.mcvittie@collabora.co.uk>
2015-02-16 13:45:37 +00:00
Simon McVittie
15506779a7 Document dbus-test-tool
Bug: https://bugs.freedesktop.org/show_bug.cgi?id=89086
Reviewed-by: Philip Withnall <philip.withnall@collabora.co.uk>
2015-02-12 14:13:03 +00:00
Simon McVittie
50674ed689 Use GNU make features to reduce repetition
Bug: https://bugs.freedesktop.org/show_bug.cgi?id=48277
Signed-off-by: Simon McVittie <simon.mcvittie@collabora.co.uk>
Reviewed-by: Chengwei Yang <chengwei.yang@intel.com>
2013-09-05 13:56:36 +01:00
Simon McVittie
59acbc4854 Put dbus-run-session through doclifter and adjust to match other man pages 2013-06-05 17:58:51 +01:00
Simon McVittie
f691c24dd1 Add dbus-run-session
Bug: https://bugs.freedesktop.org/show_bug.cgi?id=39196
Reviewed-by: Colin Walters <walters@verbum.org>
2013-06-05 17:55:23 +01:00
Simon McVittie
3f2286f13a Turn all man pages' source into configure-generated files
Bug: https://bugs.freedesktop.org/show_bug.cgi?id=59805
Reviewed-by: Ralf Habacker <ralf.habacker@freenet.de>
[dropped whitespace changes per Ralf's review -smcv]
Signed-off-by: Simon McVittie <simon.mcvittie@collabora.co.uk>
2013-02-14 13:27:54 +00:00
Simon McVittie
af96b13d57 Use Docbook XML as the source for all man pages
This means we no longer need man2html, which is nice.

Bug: https://bugs.freedesktop.org/show_bug.cgi?id=59805
Reviewed-by: Ralf Habacker <ralf.habacker@freenet.de>
Signed-off-by: Simon McVittie <simon.mcvittie@collabora.co.uk>
2013-02-14 13:27:48 +00:00
Simon McVittie
16d0564f30 Don't include generated documentation in the tarball
Building it unconditionally causes problems for minimal installations
(OSTree), and building it opportunistically means the tarball isn't
guaranteed to contain it, depending who releases libdbus and which
packages they happen to have installed at the time. If this documentation
is important enough that we need to ship it precompiled in tarballs,
we should guarantee it; or if it isn't important enough to justify that,
we should just drop it.

I don't think we really need it in the tarballs at all: most users
will get their libdbus from a binary distribution (in which case I expect
the distribution's dbus maintainers to set appropriate
build-dependencies), and those who build from source can either
install xmlto, read the documentation on our website, or at worst,
read the source XML. (We don't put the Doxygen-generated API reference
HTML in the tarball either, and I haven't heard any complaints.)

Bug: https://bugs.freedesktop.org/show_bug.cgi?id=55426
Reviewed-by: Colin Walters <walters@verbum.org>
2012-11-13 16:13:26 +00:00
Colin Walters
e296f5c824 build: Make --disable-xml-docs build work again
We can't build the .html files without xmlto, so don't add them
to a dist_ variable.

https://bugs.freedesktop.org/show_bug.cgi?id=55426
2012-10-02 08:41:44 -04:00
Simon McVittie
8f7e9cdd60 Fix distcheck with newer Doxygen: remove *.js, too, during uninstall 2012-06-05 13:29:11 +01:00
Jack Nagel
336483a6cc docs: correctly invoke man2html
man2html expects to find its input on stdin, so just passing the
filename will cause it to hang waiting for input.

[man2html 1.6g as shipped in Debian seems to be fine with files on the
command line, but apparently other versions aren't? -smcv]

Signed-off-by: Jack Nagel <jacknagel@gmail.com>
Reviewed-by: Simon McVittie <simon.mcvittie@collabora.co.uk>
Bug: https://bugs.freedesktop.org/show_bug.cgi?id=43875
2012-02-08 18:58:36 +00:00
Simon McVittie
f4c02e7829 Fix maintainer-upload-docs target to work out-of-tree
The STATIC_DOCS, DTDS and all dist_ files except XMLTO_OUTPUT are in the
source tree. The XMLTO_OUTPUT and the man2html output are in the build
tree, and the BONUS_FILES already have $(srcdir) in their names.

Also change the rules that generate the dbus-docs directory so that if
they fail, they leave behind a temporary directory, rather than leaving
behind a dbus-docs directory that causes make to not run those rules
if re-run; and change the rules to scp files to the server, to put a
trailing "/" on paths, ensuring that the tarball won't be uploaded as
"www" if the www directory doesn't already exist.

Bug: https://bugs.freedesktop.org/show_bug.cgi?id=41047
Reviewed-by: Will Thompson <will.thompson@collabora.co.uk>
2011-09-21 11:25:48 +01:00
Chris Mayo
c82a83fb1b Install diagrams in htmldir
diagram.png and diagram.svg are linked from dbus-tutorial.html but recent
changes to doc/Makefile.am mean that if htmldir is set with configure they are
installed such that the relative link from dbus-tutorial.html does not work.

Reviewed-by: Simon McVittie <simon.mcvittie@collabora.co.uk>
2011-08-15 10:23:04 +01:00
Simon McVittie
693e2fc463 Uninstall the installed docs
Bug: https://bugs.freedesktop.org/show_bug.cgi?id=36156
Reviewed-by: Will Thompson <will.thompson@collabora.co.uk>
2011-07-18 19:24:52 +01:00
Simon McVittie
39b6b898c5 Install man2html output to $(htmldir)
Bug: https://bugs.freedesktop.org/show_bug.cgi?id=36156
Reviewed-by: Will Thompson <will.thompson@collabora.co.uk>
2011-07-18 19:24:47 +01:00
Simon McVittie
14dab0789e Install diagram.*, system-activation.txt to the $(docdir)
Bug: https://bugs.freedesktop.org/show_bug.cgi?id=36156
Reviewed-by: Will Thompson <will.thompson@collabora.co.uk>
2011-07-18 19:24:23 +01:00
Simon McVittie
53af0b903c Install xmlto output to $(htmldir) automatically
Also rename HTML_FILES to XMLTO_OUTPUT, as a more self-describing name:
we have other HTML files which are not the output from xmlto.

Bug: https://bugs.freedesktop.org/show_bug.cgi?id=36156
Reviewed-by: Will Thompson <will.thompson@collabora.co.uk>
2011-07-18 19:24:15 +01:00
Simon McVittie
37cb1522fe Install dbus.devhelp to $(htmldir), not $(apidir), and remove it in clean
It needs to be in $(htmldir) so that its relative paths will work.

Bug: https://bugs.freedesktop.org/show_bug.cgi?id=36156
Reviewed-by: Will Thompson <will.thompson@collabora.co.uk>
2011-07-18 19:23:45 +01:00
Simon McVittie
59c6663293 When uploading docs, use rsync -p to set permissions
It turns out that rsync --chmod means "pretend the source files had
already had this chmod operation applied to them", and not "chmod the
destination files" like you'd expect.

As a result, the -p (--perms) option is also needed, so that rsync will
"preserve" the modified permissions. Otherwise, the docs will not be
group-writeable as intended, and only the person who made the previous
upload will be able to upload them next time.

Bug: https://bugs.freedesktop.org/show_bug.cgi?id=36130
Reviewed-by: Will Thompson <will.thompson@collabora.co.uk>
2011-04-12 11:26:49 +01:00
Simon McVittie
23d4a2ec5d Implement uninstallation and cleanup for Doxygen docs, fixing distcheck
Reviewed-by: Will Thompson <will.thompson@collabora.co.uk>
2011-03-10 19:00:23 +00:00
Simon McVittie
f1ba52066c Merge branch 'doxygenate' into dbus-1.4
Reviewed-by: Will Thompson <will.thompson@collabora.co.uk>
Conflicts:
	configure.ac
	doc/Makefile.am
2011-02-25 15:49:19 +00:00
Simon McVittie
d5e4fc13e8 Don't distribute dbus-daemon.1 in the tarball
It's generated by configure.

Also use a more normal way to distribute man pages that are actually
source, and use man1_MANS rather than auto-detecting the section from
the man page, which is best-practice and slightly faster.

Reviewed-by: Colin Walters <walters@verbum.org>
Bug: https://bugs.freedesktop.org/show_bug.cgi?id=34292
2011-02-17 16:31:44 +00:00
Simon McVittie
1be098611e Build dbus.devhelp using doxygen_to_devhelp.xsl and install it
Bug: https://bugs.freedesktop.org/show_bug.cgi?id=13495
2011-01-14 12:46:01 +00:00
Simon McVittie
fbe8c192e2 Install the Doxygen documentation to $(htmldir)
Use ./configure --docdir=/foo (or --htmldir=/foo) to control where it
ends up. For instance, Debian could use:

    --docdir=/usr/share/doc/dbus-1-doc --htmldir='${docdir}/html'

Bug: https://bugs.freedesktop.org/show_bug.cgi?id=13495
2011-01-14 12:45:56 +00:00
Simon McVittie
5277d3c232 docs: use $(MKDIR_P), which we already check for in configure.in
mkdir -p isn't 100% portable, whereas $(MKDIR_P) can either be mkdir -p,
install -d or (as a last resort) ./install-sh -d.
2011-01-14 12:45:54 +00:00
Simon McVittie
b72f6e0ca0 Use a stamp file to represent the Doxygen output
This avoids thinking it's up to date if the Doxygen build fails, but writes
partial output to index.html before failing.
2011-01-14 12:45:52 +00:00
Simon McVittie
1edc077257 Add doxygen_to_devhelp.xsl (from Fedora, via Debian)
Originally committed by Matthias Clasen <mclasen@fedoraproject.org>.

Bug: https://bugs.freedesktop.org/show_bug.cgi?id=13495
Bug-Debian: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=454142
2011-01-14 12:45:46 +00:00
Will Thompson
783baf9df2 Move uploading docs into build system.
This uploads a doc tarball, and its contents, to the appropriate
location on dbus.freedesktop.org. It also uploads the DTDs to the
appropriate location on specifications.freedesktop.org.

I believe this uploads the same files as the old update-dbus-docs.sh
script did.
2010-10-05 11:46:00 +01:00
Will Thompson
ee17175118 Integrate building HTML-ified manpages with the build system 2010-10-05 11:46:00 +01:00
Will Thompson
46b9961be7 Move manpages to doc/
This will make integrating the building of HTML versions of these
manpages into the build system way easier, at the cost of keeping
manpages in a different directory to the source for the program they
describe. I think this is an acceptable trade-off.
2010-10-05 11:45:59 +01:00
Will Thompson
d0dda86f33 Build Doxygen documentation for make all.
This depends on GNU Make for the wildcard dependency on all the source
files in dbus/. If anyone objects very strongly to this, I'd welcome
suggestions of a more portable way to do this.
2010-10-05 11:45:59 +01:00