Commit graph

1873 commits

Author SHA1 Message Date
Eberhard Beilharz
4e4a1215ce
chore(linux): Fix bug in ibus-keyman run-tests.sh script 2023-09-21 18:55:27 +02:00
Eberhard Beilharz
3d8cf1830b
chore(linux): Add dependency to build.sh
For integration tests ibus-keyman requires keyman-system-service to
be built, so we add this as a dependency.
2023-09-21 16:11:43 +02:00
Eberhard Beilharz
b2084930af
fix(linux): Fix detection of unit tests
When running on Ubuntu 20.04 Focal, one of the Python dependencies
loads the `unittest` module so that running `km-config` output the
message that Sentry would be disabled because unit tests are running.

This change now uses the callstack to check if we're running unit
tests.

Fixes #9577.
2023-09-21 12:02:33 +02:00
Eberhard Beilharz
447bc842ae
docs(linux): Update readme for ibus-keyman tests 2023-09-21 10:25:48 +02:00
Eberhard Beilharz
c16b602865
chore(linux): Check existence of services directory
When running the integration tests, we provide a test service that
replaces `keyman-system-service`. DBus needs the updated `.service`
files in the `services` directory so that it will use the test
service. This change outputs an error and returns an non-zero
exit code if it can't find the `services` directory, which usually
means that `keyman-system-service` didn't get build.
2023-09-21 10:25:48 +02:00
Eberhard Beilharz
89eab5e0ee
chore(linux): Don't crash if error is not set 2023-09-21 10:25:48 +02:00
Eberhard Beilharz
b764a1c965
fix(linux): Correctly open files linked from help page
This works around the issue where browsers installed as snap package
can't access files under `$HOME/.local`. Instead we now only open
external links with the browser. Local non-html files we open with
the default app, and links to local html file we open in webview
(like we did previously with `welcome.htm` files).

Fixes #9600.
2023-09-20 11:49:53 +02:00
Eberhard Beilharz
4e8e09186c
Merge pull request #9583 from keymanapp/chore/linux/coverage
chore(linux): Add coverage action to `ibus-keyman/build.sh`
2023-09-20 08:52:48 +02:00
Eberhard Beilharz
20149b6a2f
chore(linux): Remove obsolete code
Addresses code review comment.
2023-09-20 08:52:13 +02:00
Eberhard Beilharz
3f4dae0231
chore(linux): make --report an option instead of action
This addresses code review comments.
2023-09-19 10:23:00 +02:00
Eberhard Beilharz
a870b9a6c0
chore(linux): Add coverage action to ibus-keyman/build.sh 2023-09-18 19:19:58 +02:00
Eberhard Beilharz
a03eca3d81
refactor(linux): Rename defines to clarify purpose 🏘️ 2023-09-18 19:00:29 +02:00
Eberhard Beilharz
7c7d46720c
chore(linux): Split startup process
This change improves the startup method so that it will also work
if ibus hasn't started yet. Also fixes two memory leaks.
2023-09-15 16:58:34 +02:00
Eberhard Beilharz
71c6bfb960
refactor(linux): Reformat file 2023-09-14 11:31:29 +02:00
Eberhard Beilharz
3a042586ab
chore(linux): Exclude environment.sh from build
`environment.sh` is used only on Mac. This change modifies `build.sh`
to generate this file only when building on Mac. It also excludes
`environment.sh` from the Linux source tarball.
2023-09-12 18:25:52 +02:00
Darcy Wong
427459ce29 chore(common): Add crowdin strings for Mon 2023-09-12 13:05:44 +07:00
Eberhard Beilharz
456254a896
chore(linux): Log if user not set 2023-09-11 18:21:36 +02:00
Eberhard Beilharz
ffa3324be2 fix(linux): Prevent exception if neither USER, LOGNAME nor SUDO_USER set
Closes #9542.
2023-09-05 09:17:10 +02:00
Eberhard Beilharz
aaef0f3c7f
chore(linux): Add clean target to rules
This allows to completely cleanup after a package build. Also fixes
`keyman-config/build.sh` to do a better job with clean.

Fixes #9518.
2023-08-31 16:18:18 +02:00
Eberhard Beilharz
bcee98486f
docs(linux): Explicitly specify emscripten version
emscripten 3.1.44 works, but 3.1.45 fails, so this change modifies
the documentation to explicitly request `3.1.44` instead of `latest`.
2023-08-30 19:38:56 +02:00
Eberhard Beilharz
940d5be5b9
fix(linux): Fix exception in km-kvk2ldml
This change fixes an exception that occurs if the user specifies
an outputfile in a non-existing directory. Also catch several other
related exceptions.

Fixes #9522.
2023-08-29 18:58:07 +02:00
Eberhard Beilharz
ea249da3b3
refactor(linux): Fix warning
Follow-up of #4999 (which mentions different warnings). This
change fixes other warnings that we were still getting.
2023-08-28 20:11:41 +02:00
Darcy Wong
9f651d00e6 chore(common): Update crowdin strings for French 2023-08-24 08:31:56 +07:00
Eberhard Beilharz
ab7a1a952a chore(linux): Disable Mantic builds on Launchpad
Mantic builds currently fail because there's a newer ibus version in
the official Ubuntu repos that overrides our patched ibus version.
Ubuntu is trying to get ibus 1.5.29-beta to work so there are often
new packages. We wait until that stabilized before we're providing a
new patched ibus version at which point we can enable building for
Ubuntu 23.10 Mantic.

Closes #9428.
2023-08-08 14:02:48 +02:00
Eberhard Beilharz
5a03371052
fix(linux): Get name, not version 2023-08-03 17:04:17 +02:00
Eberhard Beilharz
aac11a2c1e
chore(linux): Fix memory leaks 2023-08-03 17:04:16 +02:00
Eberhard Beilharz
9290d2d274
Merge pull request #9383 from keymanapp/docs/linux/8913_BuildOnLinux
docs(linux): Add build doc for Keyman Web and Android
2023-08-02 12:25:11 +02:00
Eberhard Beilharz
48e54b13b7
Merge pull request #9380 from keymanapp/chore/linux/jenkins
chore(linux): Remove package build on Jenkins for Keyman 17
2023-08-02 11:14:26 +02:00
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
f154c493e3
docs(linux): Add build doc for Keyman Web and Android
This adds the documentation how to build Keyman Web as well as
Keyman for Android on Linux. and adds the dependencies to the
`Dockerfile` so that it's now also possible to build Keyman Web
and Keyman for Android with Docker.
2023-08-01 18:13:46 +02: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
b8d0777800
chore(linux): Remove package build on Jenkins for Keyman 17 2023-08-01 15:03:47 +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