Commit graph

1900 commits

Author SHA1 Message Date
Eberhard Beilharz
0bf30d3ef9
chore(linux): Update debian changelog 2024-03-27 17:14:55 +01:00
Eberhard Beilharz
b4755c20ac
feat(linux): Add pyxdg as binary pkg dependency and to setup.py 2024-03-22 18:10:30 +01:00
Eberhard Beilharz
aefcfb1849
fix(linux): Fix cleanup of files 2024-03-22 15:42:27 +01:00
Eberhard Beilharz
6b292ae7b7
fix(linux): Don't expect DBUS_SESSION_BUS_PID to be set
`DBUS_SESSION_BUS_PID` gets only set when launching dbus in the process,
but not when it's already running.
2024-03-22 15:41:50 +01:00
Eberhard Beilharz
23a558d88e
feat(linux): Deal with temporary dbus session
When we launch dbus if it is not running, we're probably (un-)installing
keyboards for a different user. This is an unusual environment where not
everything is available, e.g. dconf-service won't be running and can't
be started because DISPLAY variable is not set. This means we can't
write gsettings values through the API. However, we can read them, and we
can write a keyfile and update the database. This is what this change
implements for the cases where we started dbus.
2024-03-22 12:54:50 +01:00
Eberhard Beilharz
27b09fc728
chore(linux): Merge branch 'beta' into feat/linux/9363DBusEnv 2024-03-20 15:48:43 +01:00
Eberhard Beilharz
d7d5c8045b
Merge pull request #10860 from keymanapp/fix/linux/10850_deprecation
fix(linux): Replace deprecated `pkg_resources` module with `packaging.version`
2024-03-20 15:47:34 +01:00
Eberhard Beilharz
2af4a04881
fix(linux): Start ibus if not running
Also need to start as daemon so that it works when run as a different user.
2024-03-20 12:17:57 +01:00
Eberhard Beilharz
b9d116adad
fix(linux): Replace deprecated pkg_resources module in remaining places
Previous commit missed a few places where `pkg_resources` module was
used.
2024-03-20 11:44:00 +01:00
Eberhard Beilharz
01b8016b92
chore(linux): Merge remote-tracking branch 'origin/beta' into feat/linux/9363DBusEnv 2024-03-20 11:24:35 +01:00
Eberhard Beilharz
37024fa832
chore(linux): Change order of initialization
If we want to log messages we need to start DBus after we initialized
logging.
2024-03-20 11:18:28 +01:00
Eberhard Beilharz
9d4213bb6a
Merge branch 'beta' into fix/linux/10850_deprecation 2024-03-05 10:47:58 +01:00
Eberhard Beilharz
046c25b3d2
Merge branch 'beta' into fix/linux/postinst
# Conflicts:
#	linux/debian/changelog
2024-03-05 10:42:54 +01:00
Eberhard Beilharz
024553dd26
chore(linux): Update debian changelog 2024-02-29 19:17:22 +01:00
Eberhard Beilharz
42fd48c808
fix(linux): Improve error values 2024-02-29 18:54:25 +01:00
Eberhard Beilharz
f899627129
fix(linux): Add packaging Python dependency
It isn't enough to have the package as build dependency, we also have to
list is in the binary package or in the `install_requires` list in
`setup.py`. This change also adds other missing python modules to
`install_requires` so that things work correctly if building/installing
from source.
2024-02-29 18:50:30 +01:00
Eberhard Beilharz
639ac25397
chore(linux): Merge remote-tracking branch 'origin/beta' into feat/linux/9363DBusEnv 2024-02-29 18:10:17 +01:00
Eberhard Beilharz
42e76d4a88
fix(linux): Fix package problem with alpha version
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.
2024-02-29 15:14:14 +01:00
Eberhard Beilharz
adcca9ae5c
chore(linux): Merge branch 'beta' into fix/linux/postinst 2024-02-29 15:04:13 +01:00
Eberhard Beilharz
973af61495
fix(linux): Fix libkeymancore-dev dependencies
This change adds `libicu-dev` as a dependency for `libkeymancore-dev`.
While it is possible to dynamically build without ICU it is required
when doing a static build.

Closes #10864 and [Debian bug #1064915](
https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1064915).
2024-02-28 18:58:42 +01:00
Eberhard Beilharz
664b5e0d54
Update linux/help/about/whatsnew.md
Co-authored-by: Darcy Wong <darcy_wong@sil.org>
2024-02-28 10:15:45 +01:00
Eberhard Beilharz
196796b67a
feat(linux): Start dbus if not running
This change checks the DBus environment variables when initializing the
`keyman_config` module and starts DBus if the variables are not set.
This particularly happens when trying to install or uninstall a keyboard
for a different user, which will now be possible with this change.

Fixes #9363.
2024-02-27 19:13:02 +01:00
Eberhard Beilharz
b9ef6d7bb5
fix(linux): Replace deprecated pkg_resources module with packaging.version
Fixes #10850.
2024-02-27 17:41:07 +01:00
Eberhard Beilharz
f94650fd6a
docs(linux): Updated whatsnew for Keyman for Linux 17
Closes #10715.
2024-02-27 16:30:30 +01:00
Eberhard Beilharz
753ae80bea
chore(linux): Merge remote-tracking branch 'origin/beta' into fix/linux/postinst 2024-02-27 16:01:36 +01:00
Eberhard Beilharz
c4f612b6c0
Merge pull request #10828 from keymanapp/chore/linux/changelog
chore(linux): Update debian changelog
2024-02-27 10:01:43 +01:00
Eberhard Beilharz
8ff35c8657
fix(linux): fix regex to detect running ibus-daemon
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.
2024-02-26 18:40:23 +01:00
Eberhard Beilharz
d396a397e3
chore(linux): Use ibus start if available
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.
2024-02-26 16:34:46 +01:00
Eberhard Beilharz
8e0cb667ca
fix(linux): Remove ibus-keyman.post{inst,rm}
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.
2024-02-26 16:34:45 +01:00
Eberhard Beilharz
5e661c4196
fix(linux): When starting km-package-install verify that ibus-daemon is running 2024-02-26 16:34:45 +01:00
Eberhard Beilharz
131d4989ec
fix(linux): When starting km-config verify that ibus-daemon is running 2024-02-26 16:34:44 +01:00
Eberhard Beilharz
8c8d339bb1
refactor(linux): Change verify_ibus_daemon to return a state 2024-02-26 16:34:44 +01:00
Eberhard Beilharz
9b4673e8a9
chore(linux): Update debian changelog 2024-02-26 11:16:33 +01:00
Eberhard Beilharz
1d18ed41e4
chore(linux): Fix autopkg tests
Recent changes removed the `km_core_context` struct which caused the
autopkg tests to fail.
2024-02-26 11:13:11 +01:00
Eberhard Beilharz
bdfe60d2ee
Merge pull request #10785 from keymanapp/chore/linux/changelog
chore(linux): Update debian changelog
2024-02-23 12:36:54 +01:00
Eberhard Beilharz
b01a76b809
Merge pull request #10800 from keymanapp/chore/linux/lintian
chore(linux): Address comments from Debian mailing list
2024-02-23 09:23:58 +01:00
Eberhard Beilharz
5480b6fce0
Merge pull request #10813 from keymanapp/chore/linux/verifyapi
chore(linux): Fix API verification after adding SONAME
2024-02-23 09:23:36 +01:00
Eberhard Beilharz
650634bae9
Merge pull request #10784 from keymanapp/chore/linux/debian
chore(linux): Fix `upload-to-debian.sh` script for beta releases
2024-02-23 09:23:07 +01:00
Eberhard Beilharz
b747a60040
chore(linux): Install quilt on GHA runner
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.
2024-02-22 17:55:10 +01:00
Eberhard Beilharz
8177180b48
chore(linux): Fix API verification after adding SONAME
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.
2024-02-22 17:25:52 +01:00
Eberhard Beilharz
a886f2e93d
chore(linux): Be more explicit what to deploy
- 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
2024-02-22 14:53:00 +01:00
Eberhard Beilharz
1120e8a2a1
chore(linux): Update debian changelog 2024-02-21 16:36:28 +01:00
Eberhard Beilharz
816734d3c0
chore(linux): Address comments from Debian mailing list
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.
2024-02-21 16:04:21 +01:00
Eberhard Beilharz
e9c1a9b46f
chore(linux): Ignore existing PRs
Don't try (and fail) to create the PR if it already exists. Instead
simply skip this step because the PR will already be updated by the
`git push`.
2024-02-20 15:32:23 +01:00
Eberhard Beilharz
ea2536072a
chore(linux): Fix more lintian warnings 2024-02-20 14:56:11 +01:00
Eberhard Beilharz
48e418b60f
chore(linux): Update Debian control file
- update standards version
- update debhelper version to the one that Ubuntu 20.04 Focal supports
- update branch in git repo
2024-02-20 12:16:43 +01:00
Eberhard Beilharz
55f2dbfc19
chore(linux): Unnecessary to checkout stable branch for beta releases 2024-02-20 11:27:13 +01:00
Eberhard Beilharz
d6d0b40fa5
chore(linux): Fix upload-to-debian.sh script for beta releases 2024-02-20 11:21:45 +01:00
Eberhard Beilharz
eb862915e4
Merge pull request #10772 from keymanapp/chore/linux/debian
chore(linux): Fix `debian.sh` by removing quotes
2024-02-20 08:49:31 +01:00
Eberhard Beilharz
4f92fef91e
Merge pull request #10768 from keymanapp/docs/linux/screenshots
docs(linux): Update screenshots and FAQ
2024-02-20 08:49:04 +01:00