Commit graph

54 commits

Author SHA1 Message Date
Eberhard Beilharz
b3bf2eac90
chore(linux): remove automatic installation of onboard-keyman 🍒
`onboard-keyman` isn't available on Debian/Ubuntu and doesn't work
properly with Wayland. This change removes the `onboard-keyman`
recommends which used to cause `onboard-keyman` to be installed
automatically together with `keyman`. The user can still manually install
`onboard-keyman`.

Fixes: #14769
Fixes: #5214
Cherry-pick-of: #14772
Build-bot: skip
Test-bot: skip
2025-09-17 15:33:58 +02:00
Eberhard Beilharz
95e594c1fa
maint(linux): fix lintian warnings
This addresses comments from Debian review of the package.

Cherry-pick-of: #13904
Test-bot: skip
2025-08-22 16:55:08 +02:00
Marc Durdin
f4f0cf6e80 chore: stable-18.0 2025-04-23 07:06:13 +07:00
Eberhard Beilharz
5ccbb65be2
chore(linux): some more replacements of setup.py
The recommended replacement for `setup.py build` is to use the `build`
module, so we have to add this as additional build dependency.

This change also removes the `devdist` target from the makefile - it
isn't referenced in any script, so I think we can do without.

Unfortunately the `python3-build` package available on Ubuntu 22.04 Jammy
is buggy and looks for `/usr/local/bin/python` so we can't use that.
Instead we continue to use `setup.py` for building on Jammy.
2025-03-18 19:57:37 +01:00
Eberhard Beilharz
749039b120
chore(linux): update to current Debian policy version 2025-02-27 10:02:16 +01:00
Eberhard Beilharz
2c7cd3a8d2
chore(linux): Update to new Debian policy version 2025-02-22 12:22:34 +01:00
Marc Durdin
d6e7c0b9d1 chore: Revert "Merge branch 'master' into beta"
This reverts commit fae3932e15, reversing
changes made to 793daddb48.
2025-02-14 07:45:28 +07:00
Marc Durdin
fae3932e15
Merge branch 'master' into beta 2025-02-13 19:51:57 +07:00
Eberhard Beilharz
f1b32a1439
chore(linux): additional code cleanup after Focal removal 2025-02-12 12:21:49 +01:00
Eberhard Beilharz
9491202e5b
chore(linux): update branch that's used for Debian packaging
Use the `beta` branch while we're in Beta.
2025-02-11 20:01:15 +01:00
Eberhard Beilharz
0918b3985f
fix(linux): add dependency 2024-08-29 08:48:06 +07:00
Eberhard Beilharz
c8cbc2fefe
fix(linux): get font facename from .ttf file 2024-08-24 11:31:23 +08:00
Marc Durdin
1b3be1540a chore(common): update linux documentation and control for meson 1.0 2024-05-24 14:49:27 +07:00
Steven R. Loomis
5e8b4a1a17 chre(linux): bump libkeymancore version
- also minor typo in docs
2024-05-07 08:55:48 -05:00
Eberhard Beilharz
888ec56d5a
chore(linux): Prepare for stable release
- Adjust branch name
- Update Debian standards version
- Update dependency name (`pkg-config` is deprecated and replaced by
  `pkgconf`)
2024-04-25 09:29:35 +02: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
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
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
9d4213bb6a
Merge branch 'beta' into fix/linux/10850_deprecation 2024-03-05 10:47:58 +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
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
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
b9ef6d7bb5
fix(linux): Replace deprecated pkg_resources module with packaging.version
Fixes #10850.
2024-02-27 17:41:07 +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
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
29c71253db
chore(core): Update debian package to use webkit2 4.1
Ubuntu 20.04 Focal doesn't have webkit2 4.1. The API is the same as
with 4.0, so we use that if we can't find 4.1.
2024-01-24 16:47:22 +01:00
Eberhard Beilharz
688f9f34d9
chore(linux): Add support for loong64 architecture
Closes Debian bug
[#1057134](https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1057134).

(cherry picked from commit f50eccc4c0)
2023-11-30 18:01:18 +01:00
Eberhard Beilharz
6adfa8a9cf
fix(linux): Fix environment for Debian packages
When didn't set the correct environment when building Debian packages
with GitHub actions. The version information wasn't included in the
source file but instead was generated at binary package build time,
at which time not all necessary environment variables were available.
This change will create a patch file on-the-fly which gets
included in the source package that contains the correct information.

Fixes #9878.
2023-11-02 22:18:02 +07:00
Eberhard Beilharz
2e5e586860
chore(linux): Rename libkmnkbp0-0 package
Also removes the temporary libkeymancore/libkmnkbp hack that we put in
for packaging GHA.

Closes #9733.
2023-10-20 17:31:39 +02:00
Eberhard Beilharz
5f5054b93c
chore(linux): Fix lintian warnings
- add rudimentary man page for keyman-system-service
- remove hashbang for bash completion files
- reword description for keyman-system-service

This fixes these lintian warnings:
keyman-system-service: description-is-pkg-name Keyman system service
keyman: bash-completion-with-hashbang /usr/bin/env bash
        [usr/share/bash-completion/completions/km-config:1]
keyman-system-service: no-manual-page
        [usr/libexec/keyman-system-service]
2023-06-05 17:18:55 +02:00
Eberhard Beilharz
879a34a180
feat(linux): Add package for keyman-system-service 2023-05-15 09:13:58 +02:00
Steven R. Loomis
aa1a702432 chore(core): icu fixes in comments and linux packaging 🙀
- version is 73.1 not 72.1
- add mention in linux build docs
- add libicu-dev dependency in debian control (but not runtime)

for #8495
2023-04-24 09:04:35 -05:00
Eberhard Beilharz
60a6794271
chore(linux): Remove dependency on sudo
Fixes #8468.
2023-03-28 19:34:33 +02:00
Eberhard Beilharz
255fabe6fe
chore(linux): Remove python3-raven dependency
Now that we no longer support Ubuntu 18.04 Bionic we can remove
the python3-raven dependency.
2023-03-24 16:46:15 +01:00
Eberhard Beilharz
27a6decec9
chore(linux): Prevent building on s390x
This reverts commit 07ae306fd4 which
got merged in PR #6500 after a discussion on the Debian mailing list.

However, Keyman currently doesn't work on s390x architecture because
we don't support big-endian (#5111). This shows in test failures during
package build (cf https://buildd.debian.org/status/fetch.php?pkg=keyman&arch=s390x&ver=16.0.138-4&stamp=1676139609&raw=0).

(cherry picked from commit b771e14de8)
2023-03-20 20:11:51 +01:00
Eberhard Beilharz
096643395b
fix(linux): Fix autopkgtests
Autopkgtests couldn't find pkg-config, so this change adds that as
test dependency.

(cherry picked from commit 71462d9705)
2023-02-07 11:22:04 +01:00
Eberhard Beilharz
95aa92ff9a
chore(core): Merge remote-tracking branch 'origin/master' into chore/core/mesonversion 2023-02-02 19:37:26 +01:00
Jelmer Vernooij
7a5df85722 Include packaging path in Vcs-Git header 2023-01-25 23:50:20 +00:00
Eberhard Beilharz
90d8feabe1
fix(linux): Fix crash (un-)installing shared keyboard
The reason for the crash is the missing file `dbus-launch` which
gets called when running with `sudo`. This change adds a dependency
to `dbus-x11` which provides `dbus-launch`.

Fixes #8012.

(cherry picked from commit 0584db39c3)
2023-01-13 18:03:55 +01:00
Eberhard Beilharz
cbe0dd944b chore(core): Update meson version
We no longer support Ubuntu 18.04 Bionic, so we can update to a newer meson
version. The oldest supported platform is now Ubuntu 20.04 Focal which
comes with Meson 0.53, so we make that the minimal required version.
2022-12-08 09:45:37 +01:00
Eberhard Beilharz
26516e65d8
chore(linux): Update Debian standards version
This removes a warning on the Debian package page
(https://tracker.debian.org/pkg/keyman).
2022-11-10 18:08:23 +01:00
Eberhard Beilharz
07ae306fd4
chore(linux): change to Architecture: any
As per request by Debian this changes the architecture to `any`
so that it'll try to build on all architectures.

See https://lists.debian.org/debian-input-method/2022/03/msg00095.html.
2022-04-07 17:44:00 +02:00
Eberhard Beilharz
4d0dfbe3a5
chore(linux): Update Standards-Version 2022-03-14 12:08:10 +01:00
Eberhard Beilharz
4cad24cac3
chore(linux): Fix lintian warnings 2022-03-10 20:30:44 +01:00
Steven R. Loomis
3658efa5f1 chore(common): remove rust (for now!) 🦀
Fixes #6290
2022-02-24 17:34:23 -06:00
Eberhard Beilharz
1c9f9e9cb2
chore(linux): Improve dependencies in Linux package
This will make it easier to upgrade or downgrade since all
packages will be the same version.
2022-02-03 10:09:10 +01:00
Eberhard Beilharz
c04fa525fc
chore(linux): Revert workaround for Python bug
A new version of python3-requests-cache is now available in
Debian and Ubuntu that fixes the bug, so we can revert the
workaround.

This reverts commit 10e169739d.
2022-01-20 11:54:52 +01:00
Eberhard Beilharz
10e169739d
fix(linux): Add workaround for Python bug
This works around a Python bug introduced in Python 3.10.2 and
3.9.10 (https://github.com/python-attrs/cattrs/issues/206).

This change should be reverted once that bug is fixed and new
Python packages are available in Debian/Ubuntu.

Fixes #6119.
2022-01-18 17:49:09 +01:00
Eberhard Beilharz
0b32e470dd
fix(linux): Update minimum sentry-sdk version
This is a follow-up for #5325.
2022-01-11 14:35:35 +01:00