When using a different DBus implementation `dbus-launch` might not exist,
but instantiating a `SessionBus` object might start a session dbus if
it's not already running. This change also replaces the `dbus-x11`
dependency with `default-dbus-session-bus | dbus-session-bus` and changes
the way we detect if dbus is already running.
Also remove `DBUS_SESSION_BUS_ADDRESS` from `sudo gsettings` call. It
turns out we don't need this since we execute the `gsettings` command
in the context of the user anyway which connects to the user's session
dbus.
Fixes: #14888
It looks like we no longer need these lintian overrides:
- `package-contains-documentation-outside-usr-share-doc` got resolved
by excluding these directories from our source package
- the other one was a false positive that looks like it got fixed in
Debian
`onboard-keyman` isn't available on Debian/Ubuntu and doesn't work
properly with Wayland. This change removes the `onboard-keyman`
recommends which used to cause `onboard-keyman` to be installed
automatically together with `keyman`. The user can still manually install
`onboard-keyman`.
Fixes: #14769Fixes: #5214
Build-bot: skip
Test-bot: skip
Until Ubuntu 24.10/Debian 12 `python3-pkg-resources` got installed as a
dependency of `python3-numpy`. With numpy version 2 (Ubuntu >= 25.04/
Debian >= 13) this is no longer the case, so we have to explicitly add
it as a runtime dependency. It might be a bug that this dependency
doesn't get automatically added, but this workaround will do.
Fixes: #14349
Fixes: KEYMAN-LINUX-82
The recommended replacement for `setup.py build` is to use the `build`
module, so we have to add this as additional build dependency.
This change also removes the `devdist` target from the makefile - it
isn't referenced in any script, so I think we can do without.
Unfortunately the `python3-build` package available on Ubuntu 22.04 Jammy
is buggy and looks for `/usr/local/bin/python` so we can't use that.
Instead we continue to use `setup.py` for building on Jammy.
Turns out that Keyman 18 already compiles with ICU 76, so the only thing
left to do is mark the Debian bug as being closed by this change.
Fixes: #12920
This change removes lines that sneaked in through a previous merge that
caused conflicts. The `changelog` on `master` should be idential to the
one in the stable branch.
We only use a C API, so we can safely ignore all C++ symbols that show up
in the symbols file. Those come from std template instantiations.
Fixes: #12051
- split keyboard loading into loading KMX file into blob and then
loading the keyboard processor from the blob.
- deprecate `km_core_keyboard_load`
- move file access next to deprecated method. This is now the only place
that loads a file in Core; unit tests have some more places that
load files.
- introduce GTest and add unit tests for loading from blob
Cherry-picked from `epic/web-core` branch.
Cherry-Pick-Commit: 1deaa323ad
Cherry-Pick-Commit: 59019cc8b7
Cherry-Pick-Commit: bc46458368
Cherry-Pick-Commit: d06aa29956
Cherry-Pick-Commit: 1c88166f6e
Cherry-Pick-Commit: 069cd21ecd
Cherry-Pick-Commit: 052ae2ec35
Cherry-Pick-Commit: 11a2a3ba3a
Part-of: #11293
Part-of: #8093