Debian/lintian recommends to add a symbols file which allows to
check for API changes. The package build on Jenkins now has an
additional build step that will compare the API of the newly
built package with the committed symbols file and will fail the
build if the API changed and we didn't update the symbols file
yet. The current symbols file gets stored as build artifact, so
it can easily be copied from Jenkins.
During the build of the binary package this check is also run but
won't fail the build.
This change outputs a warning if the user tries to install a
keyboard (to his home directory) and the keyboard is already
installed in the shared area, and vice versa.
This change adds a `--bcp47 <TAG>` parameter to km-package-install.
This allows to specify a language tag which will be used to install
the keyboard for that language.
Closes#7725.
DEB_VERSION is used to set `pkgversion` in the
`override_dh_auto_build` build step. When we moved to the
consolidated source package and thus could no longer use the
default debhelper build tools we lost the automatic setting of
DEB_VERSION, so this change adds the relevant definitions.
Fixes#7724.
The help text for `km-config` mentioned a `keyman://` URL but we
nowhere explained how that URL should look like. This change adds
an example keyman:// URL with a bcp47 tag which should make things
clearer.
This refactoring makes use of the already defined strings.
It also simplifies setting the values by directly specifying an
UTF-16 string.
Motivated by the changes in PR #7667.
The previous method name `ibus_keyman_engine_commit_string`
suggests that this method is overridden from ibus-engine class.
However, while it is true that ibus-engine has a
`ibus_engine_commit_string` method it can't be overridden. This
change renames the method to make it clearer that this is an internal
method that won't be called by ibus.
Both `ibus_keyman_engine_reset` and `ibus_keyman_engine_focus_in`
are methods that get called by ibus. Having `ibus_keyman_engine_reset`
call `ibus_keyman_engine_focus_in` makes it much harder to see in
log files which methods get really called by ibus.
This change replaces the call of `...focus_in` with `reset_context`,
which is what `...focus_in` does as well. The only other thing that
`ibus_keyman_engine_focus_in` does in addition to that is calling
`ibus_engine_register_properties` - which shouldn't be necessary on
a reset (besides that we don't seem to do anything with the one
status property we register).