Commit graph

1693 commits

Author SHA1 Message Date
Marc Durdin
9517883909
Merge pull request #9386 from keymanapp/chore/gha-master
chore: add run-name to deb-packaging
2023-08-02 12:41:41 +10:00
Marc Durdin
669198add6 chore(linux): touch linux so we get a build 2023-08-02 09:36:55 +07:00
Eberhard Beilharz
5afa3c56d9
Merge pull request #9328 from keymanapp/docs/core/8913_BuildOnLinux
docs(core): Document how to build Core on Linux
2023-08-01 17:05:55 +02:00
Eberhard Beilharz
1d0db5945a
docs(core): Don't put emscripten on the path
This change addresses the code review comments. We don't want
emscripten to be in `PATH` and instead set the `EMSCRIPTEN_BASE`
environment variable.
2023-07-31 10:40:34 +02:00
Eberhard Beilharz
c4efba04d9
chore(linux): Don't fail on parallel builds
If another build runs on the same build agent at the same time and
installs dependencies at the same time, previously the build failed
because apt/dpkg was already running. This change checks for the
existence of the apt/dpkg lock file and waits until the other process
is finished before starting the installation of dependencies.
2023-07-31 09:54:09 +02:00
Eberhard Beilharz
b4e612d465
Merge pull request #9360 from keymanapp/chore/linux/uploadScript
chore(linux): Fix creation of PRs after uploading to Debian
2023-07-31 09:23:40 +02:00
Eberhard Beilharz
c4720a05a1
chore(linux): Update debian changelog
(cherry picked from commit 0e74e37a7c)
2023-07-28 08:46:56 +02:00
Eberhard Beilharz
b4c074ae4f
chore(linux): Fix creation of PRs after uploading to Debian 2023-07-28 08:35:52 +02:00
Eberhard Beilharz
a97a966d72
chore(linux): Update supported Ubuntu versions
- remove Ubuntu 22.10 Kinetic which is no longer supported
- add future Ubuntu 23.10 Mantic
2023-07-25 12:39:03 +02:00
Eberhard Beilharz
168a98d8bd
chore(linux): Update debian changelog
(cherry picked from commit 04a52e9b8e)
2023-07-25 08:38:20 +02:00
Eberhard Beilharz
93f05d6456
docs(core): Document how to build Core on Linux
Closes #8913.
2023-07-24 19:54:17 +02:00
Eberhard Beilharz
8f39a04375
Merge pull request #9027 from keymanapp/fix/linux/8620_keyboards-with-mul-tag
fix(linux): Fix installation of keyboards with lang tag `mul`
2023-07-21 06:34:58 +02:00
Eberhard Beilharz
f9896756f6
Merge pull request #9310 from keymanapp/fix/linux/logging
fix(linux): Fix logging
2023-07-20 22:48:52 +02:00
Eberhard Beilharz
2f25d198f4
fix(linux): Output not connected ibus as info instead of warning
There is nothing the user can do, and it's usually irrelevant
(except when troubleshooting).
2023-07-20 11:11:43 +02:00
Eberhard Beilharz
8a34a5d6ce
refactor(linux): Some refactorings 2023-07-20 11:09:55 +02:00
Eberhard Beilharz
33603c0f71
refactor(linux): Use better way to get username
`getpass.getuser()` tries several different ways to get the username
and is the recommended way of getting the username.
2023-07-20 11:04:04 +02:00
Eberhard Beilharz
8058d50999
fix(linux): Also output username 2023-07-20 10:48:50 +02:00
Eberhard Beilharz
b814bdd9fa
fix(linux): Reword error if uninstalling non-existent keyboard
This change reworks the output we show if the user tries to
uninstall a non-existing keyboard. This could be trying to uninstall
a shared keyboard when a user keyboard exists and vice versa. This
change rewords the message to include the area (shared/user), so
hopefully this makes it a bit clearer. We also now output this as a
warning instead of an error.

Completely suppressing the message as suggested in #9213 doesn't seem
to be the right way as that would lead to the user blaming uninstall
to not work when the real reason are wrong parameters.

Closes #9213.
2023-07-20 10:11:14 +02:00
Eberhard Beilharz
12165d73bc
fix(linux): Fix logging
We can't initialize Sentry during module initialization because our
`initialize_sentry` logs some status info. Setting the logging level
later on is then a no-op, breaking verbose and very-verbose logging.

This change fixes this by putting Sentry initialization into a
separate method that gets called after we set the log level.

Also refactor some common code into methods that appear in all our
executables.
2023-07-19 19:47:28 +02:00
Eberhard Beilharz
c616be6bf1
refactor(linux): Move common code to included file 2023-07-19 17:39:34 +02:00
Eberhard Beilharz
6622c70fd2
chore(linux): Fix running tests with Wayland
Because we passed in a wrong parameter (`--wayland`) but checked for
just `wayland` we never run the tests with Wayland. This change
rectifies this.
2023-07-19 16:22:31 +02:00
Eberhard Beilharz
81f46e1a6d
feat(linux): Minimize tags before adding keyboards
This ensures that bcp47 language tags are in a form the OS
understands.
2023-07-19 16:20:27 +02:00
Eberhard Beilharz
152d36a654
fix(linux): Fix installation of keyboards with lang tag mul
We now use the canonical tag without appending the script (unless
necessary).

Fixes #8620.
2023-07-19 12:01:52 +02:00
Eberhard Beilharz
35ee5b7549
docs(linux): Update man page for ibus-engine-keyman
Change the man page to reflect the actual options.
2023-07-18 20:29:01 +02:00
Eberhard Beilharz
bc4b1fd19f
chore(linux): Remove do-nothing option --verbose
`ibus-engine-keyman` accepted a `--verbose` and `-v` command line
option which didn't do anything. Instead this change adds a comment
explaining how to get more verbose output.
2023-07-18 20:21:26 +02:00
Eberhard Beilharz
8624ebcfb0
Merge pull request #9245 from keymanapp/refactor/linux/refactor
refactor(linux): Refactor image loading
2023-07-13 12:32:07 +02:00
Eberhard Beilharz
e1dc9574c3
Merge pull request #9215 from keymanapp/chore/linux/newtests
chore(linux): Add unit tests for dconf_util.py
2023-07-13 12:31:26 +02:00
Eberhard Beilharz
87ccb6e945
chore(linux): Use different backend for unit tests 2023-07-11 17:36:22 +02:00
Eberhard Beilharz
8b9f3eb2c5
chore(linux): Add another test 2023-07-11 17:33:46 +02:00
Eberhard Beilharz
3cc9f09d82
fix(linux): Replace deprecated Image.ANTIALIAS
Fixes #9244.
2023-07-11 12:14:26 +02:00
Eberhard Beilharz
eedf7545c8
refactor(linux): Refactor some code 2023-07-11 12:13:45 +02:00
Eberhard Beilharz
847556b176
Merge pull request #9193 from keymanapp/chore/update-data
chore: Update standards data
2023-07-11 08:59:25 +02:00
Eberhard Beilharz
74643d39ed
chore(linux): Add unit tests for dconf_util.py
Tests were generated by ChatGPT (although it didn't get it quite
right - was missing the parameter in `self.settings.reset`).
2023-07-07 18:29:31 +02:00
Eberhard Beilharz
e450e645ff
Merge pull request #9212 from keymanapp/chore/linux/tests
chore(linux): Add support for `--no-integration` flag to build files
2023-07-07 10:21:27 +02:00
Eberhard Beilharz
0f8fe48167
fix(linux): Fix Linux build
New langtags.json adds data that a test on Linux uses, so this
change adjust the test.
2023-07-06 19:47:46 +02:00
Eberhard Beilharz
75d507ca83
Merge pull request #9017 from keymanapp/feat/linux/8619_multiple-languages
feat(linux): Allow to install keyboard for multiple languages
2023-07-06 16:37:28 +02:00
Eberhard Beilharz
d20cc6978c
chore(linux): Add support for --no-integration flag to build files
This allows to use the `linux/build.sh` file to specify the
`--no-integration` flag which makes it easier to specify jobs on CI
because it then doesn't need to know all subprojects.
2023-07-06 12:39:21 +02:00
Eberhard Beilharz
8ae2af9d44
Merge pull request #9192 from keymanapp/chore/linux/tests
chore(linux): Allow to run tests without integration tests
2023-07-06 08:29:48 +02:00
Eberhard Beilharz
0bce446f6a
Merge pull request #9188 from keymanapp/chore/linux/docker
chore(linux): Update docker builds
2023-07-05 18:58:00 +02:00
Eberhard Beilharz
fee21869fb
chore(linux): Allow to run tests without integration tests 2023-07-05 17:08:06 +02:00
Eberhard Beilharz
6b4b4fda61
Merge pull request #9165 from keymanapp/fix/linux/4769_tags
fix(linux): Remove tags from package description
2023-07-05 16:26:29 +02:00
Eberhard Beilharz
d60f30e7d9
Merge pull request #9166 from keymanapp/fix/linux/9005_AboutPage
fix(linux): Add scrollbar to About dialog
2023-07-05 16:15:33 +02:00
Eberhard Beilharz
f7a593deac
Merge pull request #9167 from keymanapp/fix/linux/vertical_align
fix(linux): Fix vertical alignment of labels in About dialog
2023-07-05 14:53:49 +02:00
Eberhard Beilharz
55fbd1a814
Merge pull request #9168 from keymanapp/refactor/linux/extractions
refactor(linux): Extract methods
2023-07-05 14:53:33 +02:00
Eberhard Beilharz
124a0794f1
chore(linux): Update docker builds
- add keyman ppa and update to patched ibus
- install nodejs 18
- update documentation
2023-07-05 12:19:51 +02:00
Eberhard Beilharz
c6419a9e4c
chore(linux): Add clarifying comment 2023-07-05 11:57:23 +02:00
Eberhard Beilharz
9f5ac8eb4a
fix(linux): Fix uninstalling keyboard for multiple languages with ibus
After this change uninstalling a keyboard will remove all installed
language/keyboard combinations for that particular keyboard.
Previously we only uninstalled for the first language listed in the
keyboard.
2023-07-05 11:57:23 +02:00
Eberhard Beilharz
1b63cf59b4
chore(linux): Address code review comments 2023-07-05 11:56:55 +02:00
Eberhard Beilharz
e02b1514da
refactor(linux): Some refactorings 2023-07-05 11:56:54 +02:00
Eberhard Beilharz
66461b7677
feat(linux): Remove message box if same kbd version already installed
We no longer ask the user if he tries to install a keyboard that is
already installed with the same version. The only time we ask is for
downgrades.

A similar change is implemented in `km-package-install` where we
changed the logic to match `install_window.py`. We now silently
install the new version unless it's a downgrade in which case we
output a error message and exit. This change also introduces the
`--force` parameter which allows to install the downgrade. For
upgrades or re-installing the same version it will cause an
uninstall of the current version first.
2023-07-05 11:56:54 +02:00