Commit graph

35 commits

Author SHA1 Message Date
Eberhard Beilharz
2c8f878f1d
chore(linux): add verification for source tarball and source package
This change adds a new GitHub action that verifies that Keyman can build
from the source package. Also check that source package used for Launchpad
and Debian/Ubuntu packaging doesn't produce lintian errors. Previously
lintian errors did go unnoticed because they didn't stop the build.

Also refactor `launchpad.sh` script to be a proper builder script, and add
some new parameters to allow skipping some steps in the script.

Build-bot: skip
Test-bot: skip
2026-05-06 19:03:12 +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
Marc Durdin
65158a0526 maint(common): rename shellHelperFunctions.sh to utils.inc.sh
Adds documentation for various functions, removes unused functions (a
couple of simple, very lightly used functions were unDRYed; these could
go back the other way across all shell scripts if necessary). TODO items
noted for follow-up refactoring.

Fixes: #14275
Relates-to: #14269
Build-bot: build all
Test-bot: skip
2025-08-02 06:58:40 +10:00
Eberhard Beilharz
ee93d0d27a
maint(linux): add --no-werror option to not report warnings as errors
By default we add the `--werror` option to meson builds. This might cause
problems when compiling with a different compiler, so this option adds
the `--no-werror` option to our build scripts. This enables integrators
to compile with other compiler versions.

Fixes: #13970
Test-bot: skip
2025-05-20 09:01:22 +02:00
Eberhard Beilharz
2ff9e309fa
chore(common): allow to run tests in virtual environment
This changes the shebang at the top of the file to allow use Python
from a virtual environment instead of hard-coding the path. This might
not be strictly necessary, but reduces confusion and doesn't hurt.
2025-04-29 19:20:49 +02:00
Marc Durdin
b42d027f52
Merge branch 'epic/linux-mcompile' into chore/merge-master-into-linux-mcompile 2024-10-25 03:42:29 +02:00
Marc Durdin
640d3e5096 test(developer): add markdown link check test for product documentation
Adds check-markdown package that parses .md files, looks for links and
images, and verifies that they are valid links (for internal links).
2024-09-25 15:51:32 -07:00
Marc Durdin
a4159de1d1 chore(linux): add mcompile to linux build.sh
@keymanapp-test-bot skip
2024-08-16 11:02:22 +02: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
943370d682
chore(linux): Add --open option to open coverage reports in browser
This addresses code review comments.
2023-10-16 17:22:41 +02:00
Eberhard Beilharz
0ed8d35bb2
chore(linux): Add code coverage index page
This change adds an index page that can show the reports for the
child projects.

Also fix a path problem in the `keyman-system-service/build.sh` script.
2023-10-13 22:51:00 +02:00
Eberhard Beilharz
fe81d8cc07
chore(linux): Add code coverage report for keyman-system-service 2023-10-12 10:21: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
603c1d6ea0
feat(linux): Add system service to toggle capslock LED
This implements the server side.
2023-05-15 09:13:58 +02:00
Eberhard Beilharz
032a123347
chore(linux): Properly fix shellcheck SC1091 warnings
The secret is to disable the "shellcheck.useWorkspaceRootAsCwd".
2023-05-11 11:59:15 +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
Marc Durdin
ce864ea923 chore: update standard script prolog to use builtin instead of dirname 2023-02-22 11:04:15 +07:00
Marc Durdin
463c7ff907 chore: remove greadlink from standard script prolog 2023-02-22 10:43:06 +07:00
Eberhard Beilharz
2e12021a74
Apply suggestions from code review
Co-authored-by: Marc Durdin <marc@durdin.net>
2023-02-20 09:43:04 +01:00
Eberhard Beilharz
5c5cae8933
chore(linux): Cleanup 2023-02-16 12:43:21 +01:00
Eberhard Beilharz
37b9c9bc2c
chore(linux): Add ibus-keyman as child project
Also address code review comments.
2023-02-16 12:39:38 +01:00
Eberhard Beilharz
a3d1654364
chore(linux): Address code review comments 2023-02-06 20:25:56 +01:00
Eberhard Beilharz
4fbf53fc6f
chore(linux): Add dependency
This change adds a dependency between `configure:engine` and
`build:core` so that when we run `configure:engine` it will
build `build:core` first.
2023-02-03 11:49:13 +01:00
Eberhard Beilharz
a76a08c2c9
chore(linux): Add linux build.sh script
`linux/build.sh` can build both core and ibus-keyman in the
right order.
2023-02-02 19:08:10 +01:00
glasseyes
c294c8d9df move scripts to scripts dir
add VS code workspace for linux dir
that also includes onboard-keyman dir
fix cow.sh creation of hook scripts
2018-09-15 17:49:26 +07:00
glasseyes
a620b56399 make Debian source packages 2018-09-15 17:49:26 +07:00
glasseyes
ec0102c4d9 add make nightlydist target
also autotools update
2018-09-15 17:49:25 +07:00
glasseyes
b933898884 scripts to build local Debian packages with pbuilder
Makefile

make deb - build debs for kmflcomp, libkmfl, ibus-kmfl
make cow - set up pbuilder environment
make tmpbuild(default) - build and install to /tmp/kmfl
make install_local - build and install to /usr/local
make uninstall_local - uninstall ibus-kmfl config file

non-release version numbers will be stamped with date to
distinguish between builds
2018-09-15 17:49:25 +07:00
glasseyes
12ab8f963a [linux] remove autotool generated files
document in README.repo to use autogen.sh to regenerate
change build.sh to use autoreconf -if
add the generated files to .gitignore
2018-09-12 11:04:28 +07:00
glasseyes
f3dd382d4b autoreconf on build agent 2018-05-03 16:20:20 +07:00
glasseyes
f0cce5ee96 separate make from configure 2018-05-03 16:09:46 +07:00
glasseyes
28ef5c1a14 [KMFL] option to install ibus-kmfl to be used with ibus
this installs /usr/share/ibus/component/kmfl.xml
and moves the ibus-kmfl package version of that file out of
the way and lets you put it back afterwards
2018-04-25 00:08:24 +07:00
glasseyes
9626d32bfb [KMFL] set INSTALLDIR for build.sh
autoreconf projects for consistency
2018-04-23 14:06:23 +07:00
glasseyes
67d28a80d7 [KMFL] rename ci.sh to build.sh 2018-04-23 11:39:43 +07:00
Renamed from linux/ci.sh (Browse further)