agama/doc/dbus/bus/README.md
Martin Vidner 79272638d6 Respect AGAMA_MAINFRAME_COSPLAY=1 to expose s390 D-Bus objects
Calling them would crash but we only want them seen and documented.

Usage, within a ./testing_using_container.sh shell:

```sh
AGAMA_MAINFRAME_COSPLAY=1 ./setup-services.sh
(cd doc/dbus/bus; ./seed.sh)
```
2025-04-12 13:20:48 +02:00

24 lines
1 KiB
Markdown

The `*.bus.xml` files here are produced by introspecting actual objects
exported by the Agama services.
The files are produced by `seed.sh`.
- FIXME: run it in CI.
- FIXME: make it easy to run it *and* commit the result to git.
testing_using_container.sh,
(cd doc/dbus/bus; ./seed.sh)
Each file name represents a D-Bus **interface** that we want to document.
That is why some files have symlinks pointing to them (and why you see no
`org.freedesktop.DBus.*` filenames, we don't need to document those interfaces)
The interfaces implemented in Rust already have documentation in them
(courtesy of Rust macro magic) but it is not in the exact format that
`gdbus-codegen` understands :sob:.
You are expected to copy a new `foo.bus.xml` to `../foo.doc.xml`, remove the
`<interface>` elements other than `foo`, and add meaningful documentation.
Run `make check`.
FIXME: Storage1.ZFCP and Storage1.DASD needs an s390 machine to run,
we should expose them on x86 too (returning errors), perhaps guarded by an
`AGAMA_MAINFRAME_COSPLAY` flag?