Commit graph

47 commits

Author SHA1 Message Date
Eberhard Beilharz
9d2b17613c
chore(linux): add manual test for localization
This change adds a manual test that allows to see if all strings are
localizable. It also fixes the `update-template` target in the
`Makefile`.

Build-bot: skip
Test-bot: skip
2025-12-15 19:05:58 +01:00
Eberhard Beilharz
f9a41473c0
chore(linux): remove obsolete targets from Makefile
`make deb` no longer worked, so this change removes it. The other targets
were just calling `./build.sh` and so are not really necessary and not
used.
2025-10-15 11:57:02 +02:00
Eberhard Beilharz
4d81589f48
maint(common): use unique names for Keyman version variables
Previously the builder scripts defined a readonly `VERSION` environment
variable for the Keyman version. That caused problems when another
(external) script tried to define a `VERSION` variable. We encountered
this problem when trying to move the TC build steps of a configuration
into a single script (#13399) when we tried to source `~/.nvm/nvm.sh`.

This change uses a Keyman specific prefix for the version variables and
renames `VERSION` → `KEYMAN_VERSION` etc. Unfortunately these variables
are used in a lot of places, so this turned out to be a bit of a yak
shave.

Test-bot: skip
2025-05-07 18:46:51 +02: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
248f01f1e3
chore(linux): change SIL International to SIL Global 2024-12-10 10:26:44 +01:00
Eberhard Beilharz
9b4ca1aebd
chore(linux): Move build steps to build.sh
Closes #8712.
2023-05-30 09:25:27 +02:00
Eberhard Beilharz
83615b9d6c
chore(linux): Fix installation build step on TC
When building on TC we install into a temporary directory. This
broke with the recent introduction of build.sh because that
now calls `make install` whereas previously we explicitly called
`make install-temp` on TC. Instead of adding a `install-temp`
action to `build.sh` we now check in the Makefile if sudo is set.
2023-05-12 17:57:19 +02:00
Eberhard Beilharz
61ba40a212
chore(linux): Refactor scripts and packaging
This change modifies the scripts and the Debian packaging to use
the meson build / build.sh script for building instead of autotools.
2023-02-14 09:42:13 +01:00
Eberhard Beilharz
c891f870b6
fix(linux): Fix make install
Several fixes for building and installing locally.

Fixes #7397. Closes #7398. Closes #7400.
2022-10-12 12:28:46 +02:00
Eberhard Beilharz
34b8e136b0
fix(linux): Fix ignored error
Previously we ignored an error that showed in the build logs
because the eval line got executed before calling reconf.sh which
created the version file. I think despite this error things worked,
but it didn't look nice to have and ignore a build error in the
build log.

Fixes #7275.
2022-09-13 16:01:10 +02:00
Eberhard Beilharz
8d00074312 docs(linux): Add debugging info for keyman-config to readme 2021-12-09 14:45:10 +01:00
Eberhard Beilharz
0bca50f799
fix(linux): fix auto-generate help files during package build
During a package build we don't have access to `scripts/reconf.sh`.
However, we don't really need it since we already ran it before.
This change adds a `--no-reconf` flag that allows skipping
`reconf.sh`.
2021-06-22 09:09:14 +02:00
Eberhard Beilharz
004ab1d48a
feat(linux): Auto-generate reference help
Closes #4419
2021-06-21 18:32:36 +02:00
Eberhard Beilharz
fd15bf4eb3
fix(linux): Fix Makefile and instructions for building
Building km-config now requires an additional step so that
generates `lang_tags_map.py`. During a package build this happens in
`reconf.sh`. This change updates the documentation, and also adds
this build step to the Makefile, so that the file gets generated
when building from the command line.

Closes #5074.
2021-05-27 18:39:01 +02:00
Eberhard Beilharz
693f13a953
fix(linux): Improve fix for #3399
This improves the implementation for normalizing language tags
when installing a keyboard. Based on the Windows implementation
in `Keyman.System.CanonicalLanguageCodeUtils.pas`.

One difference to the Windows implementation is that the mapping of
3- to 2-letter tags is based on `langtags.json` instead of
`iso639-3.tab`.

Closes #3399.
2021-02-03 19:08:03 +01:00
Eberhard Beilharz
55e6ab117e
fix(linux): Fix makefile 2020-08-24 19:31:18 +02:00
Eberhard Beilharz
11f018366b
feat(linux): Add i18n for Linux 2020-08-19 19:22:33 +02:00
Eberhard Beilharz
4652a04581
feat(linux): Hook up Sentry for km-config 2020-07-24 19:43:18 +02:00
Darcy Wong
34ee4b5ba3 fix(linux): Install python3-qrcode on Xenial 2020-02-13 12:02:15 +07:00
Darcy Wong
c83b390601 feat(linux): Add ability to configure keyboard options 2020-01-31 11:43:58 +07:00
Darcy
c53585f176 fix(linux): Cleanup qrcode package during uninstall 2020-01-13 12:55:44 +07:00
glasseyes
f477729dcd don't do setup.py clean 2019-01-02 14:40:40 +07:00
glasseyes
f9186f386c add missing files get_info and ibus_util 2019-01-02 11:28:01 +07:00
glasseyes
be44f072b3 put icons in the rights place, thanks Nikita 2018-12-03 10:08:15 +07:00
glasseyes
a029e4442d [linux] keyman-config: set package version in local make deb 2018-09-24 09:28:51 +07:00
glasseyes
35d4e92ab0 [linux] set the version of keyman-config 2018-09-20 09:29:11 +07:00
glasseyes
ce9aa2b7f2 [linux] separate configure, build and install steps
build steps are now:
make configure (if needed)
make
sudo make install

or:
make fullbuild
sudo make install
2018-09-18 15:45:19 +07:00
glasseyes
12dc10c6ab [linux] another problem from patch in makefile 2018-09-17 16:31:55 +07:00
glasseyes
9a9d063667 [linux] whitespace error in earlier commit 2018-09-17 16:27:49 +07:00
glasseyes
70e871e7af [linux] after testing, fix last commit 2018-09-17 16:23:11 +07:00
glasseyes
3c685c129a [linux] make uninstall (for /usr/local/ install)
move restore of package kmfl.xml to after the rest of uninstall
2018-09-17 15:45:17 +07:00
glasseyes
4def814908 [linux] install and use icons in local install 2018-09-17 15:13:46 +07:00
glasseyes
c3963575a7 python 3.5 compatible string in make step 2018-09-17 10:57:56 +07:00
glasseyes
4e058aabff tmp python site packages dir depends on python version 2018-09-17 10:48:22 +07:00
glasseyes
c169d9ec95 include keyman-config in tmpbuild
sudo make install now installs keyman-config as well
2018-09-17 09:28:17 +07:00
glasseyes
7fbba6036f use date of last git commit not current date for VERSION
more things needed in some README.repo

cow.sh: make it compatible with xenial
  set DIST for use with optional local .pbuilderrc, also in deb.sh
  link linux/.pbuilderrc to ~/.pbuilderrc if it doesn't exist
2018-09-15 17:49:28 +07:00
glasseyes
4d3a88eb1a also build keyman-config package 2018-09-15 17:49:25 +07:00
glasseyes
b63fb6fb5c linux: changes for PR893 build and install targets for keyman-config
doc in README.md
update README.md with new scripts names and add doc for
km-package-get and km-kvk2ldml
2018-09-10 15:06:49 +07:00
glasseyes
b87e2da501 linux: rename scripts to km-* from PR 893
remove generated man pages, regenerate in 'make deb'
2018-09-10 14:29:10 +07:00
glasseyes
1d8417c7d9 keyman-config man page
add more info to other man pages
2018-09-01 16:36:30 +07:00
glasseyes
43d0e9cdc4 add name/short description to manpages 2018-09-01 15:48:21 +07:00
glasseyes
22b6c585ae remove kmpmetadata, make man target to build manpages
kmpmetadata isn't a program for users
developers can still run it from keyman_config/kmpmetadata.py
2018-09-01 15:45:49 +07:00
glasseyes
910d6780ec debconf question for making keyman dirs mode 777
This allows all users to install keyboards and only the
user that installed one to uninstall it

more setup instructions in README.md
2018-09-01 11:43:34 +07:00
glasseyes
3c591b60d5 more dependencies
python-magic and gir1.2-webkit-3.0
also create /usr/local/share/keyman etc
2018-08-31 13:48:06 +07:00
glasseyes
8af781e63b list_installed_kmp ignore /usr/share/keyman/icons
d/control: fix dependency
Makefile: add clean target
2018-08-30 21:28:47 +07:00
glasseyes
94398b2f32 Debian packaging
now builds 2 packages keyman-config with the scripts to run
and python3-keyman-config with the keymanconfig module
2018-08-30 17:15:22 +07:00
glasseyes
0d3b2539b2 initial Debian packaging and basic Makefile
Makefile only has 'make deb'
2018-08-30 15:28:38 +07:00