Commit graph

693 commits

Author SHA1 Message Date
Simon McVittie
47deeb4a9e doc: Don't install introspect.xsl for now
Maybe this should be installed, but for now maintain parity with
Autotools.

Signed-off-by: Simon McVittie <smcv@collabora.com>
2022-07-13 20:36:13 +01:00
Simon McVittie
c74504fb7e doc: Make Meson yelp-build invocation compatible with older versions
Older versions of yelp-build like the one in Debian 11 do not allow
permuting arguments, so all options (in this case -o) must appear
before all positional parameters.

Signed-off-by: Simon McVittie <smcv@collabora.com>
2022-07-13 20:36:13 +01:00
Simon McVittie
29ae675978 doc: Write absolute path to DTDS into XML catalog
Signed-off-by: Simon McVittie <smcv@collabora.com>
2022-07-13 20:36:13 +01:00
Simon McVittie
37e1728638 maintainer-upload-docs: Remove assumptions about source, build dirs
Signed-off-by: Simon McVittie <smcv@collabora.com>
2022-07-13 20:36:13 +01:00
Simon McVittie
4655d00952 maintainer-upload-docs: Fail if an undefined variable is referenced
"Unofficial strict mode" for shell scripting.

Signed-off-by: Simon McVittie <smcv@collabora.com>
2022-07-13 20:36:13 +01:00
Simon McVittie
0c948dc744 maintainer-upload-docs: Allow servers and directories to be overridden
This lets maintainers test the script without putting changes
directly into production!

Signed-off-by: Simon McVittie <smcv@collabora.com>
2022-07-13 20:36:13 +01:00
Simon McVittie
7445af51a4 build: Add machine-readable licensing markers to the Meson build system
Signed-off-by: Simon McVittie <smcv@collabora.com>
2022-07-13 20:36:13 +01:00
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
Simon McVittie
6b2d1d65f3 doc: Build Ducktype documentation even if doxygen is not found
Signed-off-by: Simon McVittie <smcv@collabora.com>
2022-07-13 20:36:13 +01:00
Félix Piédallu
cd2e382610 Add Meson build system
Signed-off-by: Félix Piédallu <felix@piedallu.me>
Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com>
2022-07-13 20:36:13 +01:00
Simon McVittie
7bf5b2b5d6 spec: Document a recommendation for IDNs in reversed domain names
D-Bus names are in an ASCII subset, so IDNs have to be in their ACE
encoding (Punycode). ACE-encoded labels contain hyphen/minus characters,
and like any other label containing a hyphen/minus, we recommend
replacing those with underscores, to improve interoperability with
contexts that allow underscores but not hyphen/minus, such as
D-Bus object paths and Flatpak app-IDs.

Prompted by <https://github.com/flatpak/flatpak/issues/4974>.

Signed-off-by: Simon McVittie <smcv@collabora.com>
2022-07-13 15:55:42 +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
Simon McVittie
1426cf811c doc: Use https URLs for home page and AUTHORS
Signed-off-by: Simon McVittie <smcv@collabora.com>
2022-05-18 16:05:31 +00:00
Marc-André Lureau
c0e2f47d3b doc: silence some xmlto man pages warnings
Some pages are missing AUTHOR section, xmlto complains about it, ex:
Warn: meta author : no refentry/info/author                        dbus-update-activation-environment
Note: meta author : see http://www.docbook.org/tdg5/en/html/autho  dbus-update-activation-environment
Warn: meta author : no author data, so inserted a fixme            dbus-update-activation-environment

Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com>
2022-05-18 16:41:09 +01:00
Ralf Habacker
f74fdf06ad cmake: Fix race condition on creating docbook based files
With the previous implementation, race conditions could arise because a
generated intermediate file was used by multiple targets.

To fix the mentioned problem, the macro 'generate_docbook_file' has been
integrated into a in a new macro 'add_docbook' to simplify the dependency
chain and make it easier to use.

When using an xml template with the 'TEMPLATE' parameter, a separate
intermediate xml file is used for each generated output file to avoid
overwriting each other, which was the main cause of the described problem.

Due to the adaptation of the calling conventions it was necessary to
introduce the parameter 'MAN_CATEGORY'.

Fixes #381

Signed-off-by: Ralf Habacker <ralf.habacker@freenet.de>
2022-03-04 09:18:01 +00:00
Simon McVittie
f0df311466 Revert "spec: Go back to v0.38"
This reverts commit 428f60e8b2.

Signed-off-by: Simon McVittie <smcv@collabora.com>
2022-02-28 18:20:17 +00:00
Simon McVittie
428f60e8b2 spec: Go back to v0.38
Nothing changed in v0.39 yet, and it would be confusing to have the
version uploaded alongside dbus 1.14.0 say "not yet finalized".

Signed-off-by: Simon McVittie <smcv@collabora.com>
2022-02-28 11:23:39 +00:00
Michael Nosthoff
bed735b493 doc/dbus-api-design: fix broken links
* use version independent qtdbus url
* developer.gnome.org links moved to developer-old.gnome.org
* bustle now on freedesktop gitlab
2022-02-28 08:01:34 +00:00
Simon McVittie
21784cacd3 Start development of dbus 1.13.24
Signed-off-by: Simon McVittie <smcv@collabora.com>
2022-02-23 19:40:15 +00:00
Simon McVittie
0381298e45 Prepare dbus 1.13.22 and spec 0.38
Signed-off-by: Simon McVittie <smcv@collabora.com>
2022-02-23 14:35:10 +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
Ralf Habacker
673d48c7c9 cmake: fix for ninja phony cycle related configuring errors
A prefix has been added to the custom target names in docbook-related
macros to fix the reported error:

  ninja: error: build.ninja:xxx: multiple rules generate
  doc/dbus-xxx.1.html [-w dupbuild=err]

Fixes #377

Signed-off-by: Ralf Habacker <ralf.habacker@freenet.de>
2022-02-17 14:12:09 +01:00
Ralf Habacker
a3937715ae cmake: drop obsolete dependencies for generated docbook source files
The docbook source files are already dependencies of the generated
docbook files.

Signed-off-by: Ralf Habacker <ralf.habacker@freenet.de>
2022-02-17 14:12:09 +01:00
Ralf Habacker
8d97452051 cmake: let macro docbook handle all requested formats in one call
Signed-off-by: Ralf Habacker <ralf.habacker@freenet.de>
2022-02-17 14:12:09 +01:00
Ralf Habacker
4bb89044df cmake: in macro generate_docbook_file use easier to read parameter names
Signed-off-by: Ralf Habacker <ralf.habacker@freenet.de>
2022-02-17 14:12:09 +01:00
Ralf Habacker
5efc97f03c dbus-specification: Add signal 'ActivatableServicesChanged' and related bus feature
Signed-off-by: Ralf Habacker <ralf.habacker@freenet.de>
2022-02-16 14:00:13 +01:00
Kir Kolyshkin
87070a615a spec: add * to optionally-escaped bytes set
Commit ee71e1ff60 added * to the list of optionally escaped bytes
set, but did not update the documentation. I guess this happened because
the change is not backward compatible.

It seems that the period of 14+ years should be enough to not cause any
backward compatibility issues, so let's document this.

Signed-off-by: Kir Kolyshkin <kolyshkin@gmail.com>
2022-01-31 20:34:00 -08: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
Simon McVittie
f013f991fa Prepare v1.13.20
Signed-off-by: Simon McVittie <smcv@collabora.com>
2021-12-17 13:07:48 +00:00
Simon McVittie
83232393ef Update NEWS
Since we're heading for a 1.14.x branch (dbus#350), also draft the
summary of what has changed since 1.12.x.

Signed-off-by: Simon McVittie <smcv@collabora.com>
2021-12-10 17:10:12 +00:00
Simon McVittie
9d60676ae0 Disable the Containers interface
We've had a request for a 1.14.x stable-branch, but the Containers
interface is only partially implemented, not yet described in the
D-Bus Specification, and not ready to be part of our API guarantees.

Signed-off-by: Simon McVittie <smcv@collabora.com>
2021-12-10 16:48:51 +00:00
Ralf Habacker
79df3d2811 tools/dbus-run-session: fix race between manual and automatically started dbus-daemon on Windows
dbus-run-session starts a dbus-daemon before the client application.
We must avoid letting the application try to connect before the
dbus-daemon's DBusServer is listening for connections.

In the Unix implementation, we already achieved this via the
--print-address option. If the client tried to connect too soon,
the server would not yet be listening and the client would fail.

In the Windows implementation, we communicate the bus address to
the client application as an autolaunch: address, so if the client
tried to connect too soon, it would autolaunch a new dbus-daemon
instead of using the one that it was intended to use.

We can avoid this by using a new option to pass in a Windows event
object, which will be set when the server has started and is ready
to process connections.

Fixes #297
2021-11-23 08:38:14 +01:00
Ralf Habacker
caef850966 Clean up use of the term for an array of dict entries
fixes #347

Signed-off-by: Ralf Habacker <ralf.habacker@freenet.de>
2021-11-09 00:01:46 +01:00
Ralf Habacker
47768a2d75 Start spec 0.37 development 2021-11-08 14:26:29 +01:00
Thomas Kluyver
3eba9d5d9b Describe where machine ID comes from 2021-10-29 18:24:11 +00:00
Zeeshan Ali
e7db7e9390 spec: Clarify Array element needs to be padded even if inexistent 2021-03-10 12:39:27 +01:00
Zeeshan Ali
fcc3455b89 spec: Clarify that Variant's value needs padding 2021-03-10 12:39:27 +01: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
Chigozirim Chukwu
72dd2923d0 doc: Fix typo in dbus-daemon(1) 2020-10-19 18:38:09 +00:00
Simon McVittie
3f8b2ce52e spec: Update recommendations for DBUS_COOKIE_SHA1 timeouts
This had two issues that could damage interoperability.

First, the spec wording suggested that any cookie that had not been
deleted was suitable for use in authentication. However, this introduces
a race condition, which is called out in comments in both the reference
implementation and GDBus: the newest cookie might be less old than the
arbitrary lifetime when authentication *begins*, but older than the
lifetime at the time authentication *ends*. As a result, we need a grace
period during which an old cookie will still be accepted, but a newer
cookie exists and will be used for new authentication operations.

Second, the spec wording implied that the arbitrary timeouts were
completely up to the implementor. However, GLib bug
https://gitlab.gnome.org/GNOME/glib/-/issues/2164 indicates that they
need to be reasonably compatible: in particular, GDBus servers
historically didn't allocate new cookies until 10 minutes had passed,
but libdbus clients would decline to use a cookie older than 5 minutes,
causing authentication to fail if the gdbus-server test-case (in which
GDBus and libdbus clients connect to a GDBus server) happened to take
longer than 5 minutes to run.

While I'm here, also be consistent about calling the secrets "cookies"
(consistent with the name of the mechanism) rather than "keys" (which
is what they are called in libdbus' dbus-keyring.c).

Signed-off-by: Simon McVittie <smcv@collabora.com>
2020-09-07 11:03:00 +00:00
Ralf Habacker
eb6d4a1439 cmake: Add macro check_auto_option() as an addition to add_auto_option()
check_auto_option() checks the values given to an auto-option and prints
a fatal error in case of invalid combinations.
2020-06-10 18:13:47 +00:00
Ralf Habacker
ab404c5ffb cmake: rename tristateoption() to add_auto_option() and make signature compatible to option() 2020-06-10 18:13:47 +00: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
f741c14d17 Reference implementation v1.13.14 and Specification v0.36
Signed-off-by: Simon McVittie <smcv@collabora.com>
2020-04-21 11:25:27 +01:00
Zygmunt Krynicki
d61d10eb67 spec: fix typo in example
The length of "bar" is encoded as 3. The annotation is incorrect.
2020-04-16 06:55:42 +00:00
Ralf Habacker
a094728abd cmake: Don't build dbus.devhelp2 if Doxygen is disabled
Previously this would be attempted whenever xsltproc was found, but
would fail if Doxygen documentation was disabled.
2020-02-20 20:02:30 +01:00
Philip Withnall
bf71a58e4a doc: Fix environment variable name in dbus-daemon(1)
Spotted by Mubin. This documentation relates to the code in
add_bus_environment() in bus/activation.c.

Signed-off-by: Philip Withnall <withnall@endlessm.com>
Fixes: #275
2019-08-13 16:08:03 +02:00
Christopher Morin
9842689a29 dbus-send: add --sender option
Clients listening for a signal can match against the 'sender', expecting
it to come from a connection with a specific name. With this change,
dbus-send can send signals to them.
2019-07-15 12:36:50 +00:00
Christopher Morin
75bf56e16d Apply suggestion to doc/dbus-send.1.xml.in 2019-07-03 00:20:12 +00:00