Commit graph

7 commits

Author SHA1 Message Date
Eberhard Beilharz
f339ceb722
maint(linux): fix Linux source tarball
Previously we tried to include all necessary files in the Linux source
tarball, so that a user would be able to successfully run the top-level
`build.sh` file. However, that causes problems when new dependencies
between sub-projects get introduced that would require adding additional
sub-projects to the tarball.

This change modifies the tarball to only include files that are necessary
to run the `linux/build.sh` file, i.e. necessary to build Keyman for
Linux. This is likely what users would expect when they download a source
tarball for Linux. If users want to build other parts of Keyman that are
buildable on Linux they can download the source tarball that the GitHub
releases page provides, or clone the repo.

In order to be able to still run the top-level `build.sh` script, this
change replaces the top-level `build.sh` with a script that simply
forwards the arguments to `linux/build.sh`.

This change also reverts the recent introduction of a *.pkg.tar.xz file
that contained all files necessary to build a Debian/Ubuntu package. There
wouldn't be a difference anymore between the two .tar.xz files.

Fixes: #16004
Fixes: #16005
Build-bot: skip build:linux
Test-bot: skip
2026-05-26 16:14:57 +02:00
Eberhard Beilharz
be63a51b66
fix(linux): install emscripten prior to verifying source tarball
When running on CI kmcmplib gets fully build, which requires emscripten.
This change installs emscripten before running the source tarball
verification.

Also modify `launchpad.sh` and add option `--no-sign` so that we don't
have to set up things for signing. Use long options for `debuild` where
possible.

Build-bot: skip build:linux
Test-bot: skip
2026-05-19 19:53:25 +02:00
Eberhard Beilharz
711363651b
maint(linux): fix source tarball verification
- fix tarball to include `common/schemas`
- use `*.pkg.tar.xz` for running lintian
- also add 'Linux source verification' to PR status check

Test-bot: skip
2026-05-18 18:18:51 +02:00
Eberhard Beilharz
cef3160c74
Merge pull request #15928 from keymanapp/maint/core/15905_build
maint(core): exclude `.configured` files from source tarball 🏗️

In the source tarball we don't want to include `.configured` files so that a build will call `npm i` first.

Fixes: #15905
Follows: #15926
2026-05-11 18:19:52 +02:00
Eberhard Beilharz
1f02bc02f6
chore(linux): address code review comments
Some checks failed
Keyman Build Summary / Summarize build status checks (push) Has been cancelled
- make `verify_source.sh` a full builder script
- make options for `launchpad.sh` less confusing
- reference `--help` in `packaging.md`
- run new script as part of Ubuntu packaging workflow

Co-authored-by: Marc Durdin <marc@durdin.net>
2026-05-08 19:11:18 +02:00
Eberhard Beilharz
69db9e9a37
maint(core): exclude .configured files from source tarball 🏗️
In the source tarball we don't want to include `.configured` files so
that a build will call `npm i` first.

Fixes: #15905
Follows: #15926
Test-bot: skip
2026-05-07 19:06:26 +02:00
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