Commit graph

29 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
da1371ff4c
fix(linux): remove schema during keyman-config/build.sh uninstall
Part-of: #14943
Test-bot: skip
2025-10-16 16:47:57 +02:00
Eberhard Beilharz
211f05afe3
fix(linux): improve local installation
This improves two scenarios when running `keyman-config/build.sh install`:
- on newer Ubuntu versions it's no longer possible to directly install
  Python packages, so we have to use a virtual environment. This change
  detects a virtual environment and installs into that.
- detect if we're running directly as `root` user instead of `sudo`
  and explicitly install into `/usr/local`.

Test-bot: skip
2025-10-15 11:57:02 +02:00
Eberhard Beilharz
d3abb26bca
fix(linux): install schema during keyman-config/build.sh install
Also improve detection when running with root permissions.

Fixes: #14943
Test-bot: skip
2025-10-15 11:57:01 +02:00
Marc Durdin
f394245636 maint(common): consolidate builder scripts
Clarifies the confusing builder.inc.sh / build-utils.sh distinction by
giving the scripts more appropriate names. Most build scripts should use
builder-full.inc.sh; some helper scripts can use builder-basic.inc.sh.
Documented in resources/build/README.md.

Renames:
* resources/build/builder.inc.sh to resources/build/builder-full.inc.sh
* resources/build/build-utils.sh to resources/build/builder-basic.inc.sh

Other changes:
* Moves Android-specific functions out of builder-basic.inc.sh and into
  android/build.sh.
* Renames functions in builder-basic.inc.sh

More functions may be moved from builder-basic.inc.sh into utils.inc.sh
or other scripts in the future.

Fixes: #14065
Build-bot: build all
Test-bot: skip
2025-08-02 08:11:24 +10:00
Eberhard Beilharz
3cb9fe2a65
fix(linux): fix variable replacements
This fixes the version numbers in `km-config` which broke with #13854.
This also fixes opening the download page in `km-config` because that
uses a version number in the URL.

Fixes: #14031
Follow-up-of: #13854
2025-05-22 16:20:18 +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
3346a31115
chore(linux): replace deprecated setup.py
Now that we no longer support Focal we can move to more modern ways of
installing `km-config`. This change removes the deprecated use of
`setup.py` and replaces it with `pip3 install`.

Fixes: #13319
2025-03-17 18:41:25 +01:00
Marc Durdin
0e5fbb225d refactor(common): fixup help path script references
Relates-to: #12347
2024-09-16 06:19:14 +07:00
Marc Durdin
cd8121ef65 chore(common): builder scripts now use /resources/build/builder.inc.sh
Note: there is a bit of potential confusion about the difference between
/resources/builder.inc.sh (the full implementation for builder scripts),
and /resources/build/builder.inc.sh (the source script that builder
scripts should always use).

This allows us to make assumptions that will always be true for builder
scripts that may not be true for other scripts, such as setting base
folder.
2024-05-02 15:54:31 +07:00
Marc Durdin
0f390d47cc chore(common): maintenance on build scripts - cd
Fixes #11324.

* Always `cd "$THIS_SCRIPT_PATH"`
* Remove unnecessary `cd` from all build.sh
* Remove unnecessary `set -eu` from all build.sh (and `# set -x`)
* Replace old build-utils.sh incantation in a few build.sh scripts
2024-05-02 15:54:29 +07:00
Eberhard Beilharz
09907b66e0
chore(linux): Additionally specify regular schemas path 2023-10-18 18:20:48 +02:00
Eberhard Beilharz
4ad730d6f6
chore(linux): Add code coverage report for keyman-config 2023-10-12 10:21:11 +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
d20cc6978c
chore(linux): Add support for --no-integration flag to build files
This allows to use the `linux/build.sh` file to specify the
`--no-integration` flag which makes it easier to specify jobs on CI
because it then doesn't need to know all subprojects.
2023-07-06 12:39:21 +02:00
Eberhard Beilharz
779417594c
chore(linux): Merge remote-tracking branch 'origin/master' into fix/linux/725_help-links 2023-06-07 10:22:49 +02:00
Eberhard Beilharz
82d86af91a
chore(linux): Adjust documentation 2023-06-07 10:18:58 +02:00
Eberhard Beilharz
979564f0a2
fix(linux): Fix title of reference page and links
Fixes help.keyman.com#725
2023-06-06 15:19:24 +02:00
Eberhard Beilharz
4873cda5cc
chore(linux): Address code review comments and refactor
This extracts common code in a separate function.
2023-06-06 12:04:18 +02:00
Eberhard Beilharz
cbc24f5421
chore(linux): Fix tests 2023-06-05 15:24:42 +02:00
Eberhard Beilharz
749112660d
chore(linux): Move some files to keyman-config
Some of the configuration files are useful for other distributions
as well. So this change moves them out of `debian/` to
`linux/keyman-config` so that they will be included in the source
tar ball.

Also remove zero-width space from one file.

Closes #8880.
2023-06-05 15:24:41 +02:00
Eberhard Beilharz
d615659d5e
chore(linux): Address code review comments 2023-06-01 19:14:17 +02:00
Eberhard Beilharz
b6c90c67b0
chore(linux): Temporarily install schema during creation of man pages 2023-05-30 20:01:05 +02:00
Eberhard Beilharz
fd562019dd
chore(linux): Use build.sh for Debian packaging 2023-05-30 17:51:24 +02:00
Eberhard Beilharz
9b4ca1aebd
chore(linux): Move build steps to build.sh
Closes #8712.
2023-05-30 09:25:27 +02:00
Eberhard Beilharz
1b76f98ec8
chore(linux): Add .shellcheckrc instead of inline directives
Also improve output specification.

Co-authored-by: Marc Durdin <marc@durdin.net>
2023-05-11 10:31:12 +02:00
Eberhard Beilharz
ac8517ad3a
chore(linux): Make us of new builder_run_action 2023-05-10 18:12:10 +02:00
Eberhard Beilharz
efb48e5568
chore(linux): Add build.sh for keyman-config
Also remove second output from build.sh which isn't supported and
doesn't work. `ibus-keyman-tests` will be built when running
`build.sh test`.
2023-05-09 11:59:21 +02:00