In Keyman 17 Alpha and the first versions of Beta the package name was
`libkeymancore` before we changed it to `libkeymancore1`. If that
version is installed we can't install the new package because it causes
conflicts. This change fixes it.
On Ubuntu 20.04 Focal ibus gets started by a shell command so that we
end up with two processes mentioning `ibus-daemon`. This change limits
the search to processes that specify with full path to `ibus-daemon` or
without path, but `ibus-daemon` has to be the command, not a parameter.
IBus around version 1.5.28 introduced the `start` subcommand for `ibus`.
If available we use that because that starts `ibus-daemon` with the
correct arguments. If the available IBus version is too old we use
our previous code where we pass arguments to `ibus-daemon` which might
be different from how ibus gets started on that system otherwise.
This is no longer needed and might cause problems because not all the
dependencies have been necessarily set up when we try to start Keyman.
Fixes#8996 and #10478.
In order to be able to create the source package we need quilt.
However, this is not needed to create the binary package and so it is
not considered a build dependency belonging to build-depends.
This change installs quilt on the GHA runner before building the source
package.
Due to Debian policy the libkeymancore package will now include
the SONAME (API version number) in the package name (PR #10800). This
change adjusts the API verification checks to be able to cope with
the modified .symbols file.
- Add new `--stable` and `--beta` parameters to be more explicit about
what to deploy
- Restore current branch at the end
- Output PR# if PR already exists
The upload of the beta version caused some comments on the [Debian Input
Method](https://lists.debian.org/debian-input-method/2024/02/msg00062.html)
mailing list. This change addresses these:
- rename libkeymancore package to include SONAME: libkeymancore1
- remove unnecessary dependency on quilt
Additionally this change sorts the build dependencies alphabetically.
If we can't create the cache dir, e.g. if `~/.cache` doesn't exist or
if we don't have enough permissions, we now return a temporary directory.
Fixes#10033.
If we process keys that have the (Super/Meta/Windows) IBUS_MOD4_MASK
modifier set we ignore the key. Core doesn't handle the Meta modifier
state and so would treat it as regular key. This fixes switching keyboards
in Ubuntu 23.10/24.04 on Wayland.
Fixes#10476.
If lines got removed in the .symbols file we won't find the current
version number in the .symbols file. This change fixes the expectations.
Also, if a major API change happens during the Alpha cycle we don't expect
another API version increment if one already happened since we released
the stable version.
This change also adds some unit tests for the new functionality. These
can be run manually and won't run during CI builds.
Fixes#10453.