Commit graph

161 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
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
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
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
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
b9ef6d7bb5
fix(linux): Replace deprecated pkg_resources module with packaging.version
Fixes #10850.
2024-02-27 17:41:07 +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
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
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
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
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
3ad7710216
chore(linux): Update symbols file with current version
The new API methods landed in `master` with the merge of the epic branch.
This change updates the version numbers to the current version.
2024-02-08 10:22:23 +01:00
Marc Durdin
70ba1d1c1e
Merge branch 'chore/core/10520-hide-old-action-apis' into fix/core/10582-km_core_state_get_actions-idempotency 2024-02-05 13:44:47 +11:00
Eberhard Beilharz
a5e0ce0702
chore(linux): Update debian changelog
(cherry picked from commit 8d0f102936)
2024-02-01 12:58:21 +01:00
Marc Durdin
1b88ab99be fix(core): make km_core_state_get_actions() idempotent
Fixes #10582.

Returned struct from the `km_core_state_get_actions()` API is now owned
by the state object. This is a change in API contract. The corresponding
`km_core_actions_dispose()` API has been made private, because there is
never any need for API consumers to call it. As this change is happening
in alpha, we won't bump the ABI version.

`state->app_context` is now guaranteed to be in sync with
`state->context` after `km_core_process_event()`, with the actions
struct populated at that point.

The next and final step in this refactor is to remove the actions queue
altogether from the Core and make that a kmn-only concept, but that will
wait until 18.0. The only consumers of the actions queue are the
kmn-specific interactive debugger in Keyman Developer, and kmn-specific
Input Method eXtensions in Keyman Engine for Windows.
2024-02-01 11:28:08 +07:00
Marc Durdin
f546c44048
Merge pull request #10390 from keymanapp/epic/core/9999-normalization
epic: Keyman Core normalization 🌱
2024-01-31 10:45:51 +11:00
Eberhard Beilharz
6b5b44eddd
fix(linux): Fix packaging on Ubuntu and Debian servers
When building packages warnings are treated as errors. When building on
Ubuntu and Debian servers we don't have a patched ibus version but still
want to build the packages. So this change outputs a message instead of
a warning when building packages.
2024-01-29 17:50:04 +01:00
Marc Durdin
41cc2f4d1e feat(developer): make context_get and context_length public again
Rolls back the privatisation of the km_core_context_get and
km_core_context_length APIs because the debugger uses them.
2024-01-26 06:37:09 +07:00
Eberhard Beilharz
e33d5effdd
chore(linux): Fix changelog
Should be a new version...
2024-01-24 17:42:41 +01:00
Eberhard Beilharz
052ac3eae3
chore(linux): Update changelog 2024-01-24 17:33:50 +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
Marc Durdin
91f5177e0c
chore(linux): update symbols 2024-01-18 16:41:15 +11:00
Eberhard Beilharz
2f9a7de87c
chore(core): Update symbols file 2024-01-16 09:14:02 +01:00
Marc Durdin
df177569a5 chore(linux): libkeymancore.symbols to .244 2024-01-16 05:55:02 +07:00
Marc Durdin
ba3290de75 chore(core): Merge branch 'master' into feat/core/10365-context-debug
Note: resolved merge conflict with action_api.cpp by shifting new code
into state_context_api.cpp.
2024-01-16 05:46:36 +07:00
Eberhard Beilharz
15d87963b2
chore(core): Ignore C++ symbols
We have a C API, but (internal) C++ template instantiations are visible
and so get flagged by `dpkg-gensymbols`. This change ignores the one
use of C++ by marking it optional. This is listed as a usage scenario
in the dpkg-gensymbols man page.

Note this requires a change how we call dpkg-gensymbols: if the `-O`
parameter is specified, the file is not treated as being a template file
(see man deb-src-symbols) and so the tags are not interpreted.
Additionally the file gets overwritten with the non-tag version. So this
change removes the `-O` parameter, and changes the archiving of the
generated file.
2024-01-15 18:47:53 +01:00
Marc Durdin
1b29ad32f9 chore(linux): update .symbols 2024-01-15 08:26:43 +07:00
Eberhard Beilharz
742ae5379e
chore(linux): Update debian changelog
(cherry picked from commit e4385e284e)
2023-12-01 15:09:55 +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
fb347bba8d
chore(linux): Update debian changelog
(cherry picked from commit 97d7f3a11c)
2023-11-22 15:27:31 +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
Marc Durdin
8223792404 chore(core): rename kbp to core 2023-10-25 05:30:22 +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
52bb859817
chore(linux): Rename (lib)kmnkbp to (lib)keymancore 2023-10-19 10:35:09 +02:00
Eberhard Beilharz
965b8e5ecc
chore(linux): Rename kbp_state_get_intermediate_context to km_core_...
A previous rename missed this.
2023-10-16 19:39:18 +02:00
Marc Durdin
ba5f18defd chore: rename km_kbp_ to km_core_ 2023-10-09 14:53:13 +07:00
Marc Durdin
4ef18f5e29 chore(core): rename keyboardprocessor.h to keyman_core_api.h
Fixes #9721.

Also tweaks some documentation references to keyboardprocessor, but does
not touch those relating to debian/control.
2023-10-09 14:21:01 +07: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
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