This improves the implementation for normalizing language tags
when installing a keyboard. Based on the Windows implementation
in `Keyman.System.CanonicalLanguageCodeUtils.pas`.
One difference to the Windows implementation is that the mapping of
3- to 2-letter tags is based on `langtags.json` instead of
`iso639-3.tab`.
Closes#3399.
If a Keyman keyboard is the only installed/selected keyboard in Gnome
and the user uninstalls this in km-config, we have to set the value
for `sources` to an empty array variant. Previously this crashed.
Fixes#4375.
When running unit tests we try to install some keyboards with
invalid URLs which normally results in an issue being reported on
Sentry. This change detects when we're running unit tests and
in that case doesn't initialize Sentry reporting.
When running unit tests we try to install some keyboards with
invalid URLs which normally results in an issue being reported on
Sentry. This change sets an environment variable when running
the tests and modifies the initialization code to not initialize
Sentry reporting when the environment variable `KEYMAN_NOSENTRY`
is set to 1.
This change switches the package version number for packages that
are intended for the Debian package repo to match the Debian policies.
It also removes the comment from the watch file.
This is a cherry-pick of PR#4223:
- Add script to create debian source package
- Update debian metadata based on Debian repos
- Remove some lintian warnings and errors
- Remove support Xenial
- Reduce size of icon
- Omit confusing values from gbp.conf
If (re-)starting ibus fails for whatever reason we should simply
ignore the failure instead of failing the entire installation/
uninstallation.
This fixes#3902.
This change fixes the launchpad build script and also improves
updating the watch file.
If we use the variables that uscan provides we don't have to
hard-code the package name in the watch file. This makes it possible
to use a generic one for all packages.
Xenial is missing some dependencies. This causes the Launchpad builds
to fail. On Jenkins we skip the package builds with missing
dependencies in our build scripts, but we don't have that option on
Launchpad. Therefore we remove Xenial from the list of distros to
build.
If for whatever reason ibus wasn't running for the current user
the installation failed previously, leaving the user in a broken
state until he reboots and tries the installation again. This change
detects this situation and skips restarting ibus.