-
-
Notifications
You must be signed in to change notification settings - Fork 133
fix(linux): include missing artifacts in source tarball 🗜️ #15566
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
With this change it's possible to build Keyman from the source tarball by running `./build.sh` from the Keyman root directory. When building Keyman as part of the Ubuntu/Debian packaging, we don't use the toplevel `build.sh` file but instead call the build scripts in the subdirectories. This omits building some components that are currently not needed for running Keyman for Linux. The `dist.sh` script only includes the necessary files in this case, distinguished by the `origdist` parameter. This results in a significantly smaller tarball (2.5MB vs 51MB). This change also enhances the `generate_tar_ignore_list` function so that it is now possible to add `build` to the exclude list to ignore all `build` subdirectories. Fixes: #15544 Build-bot: skip Test-bot: skip
User Test ResultsTest specification and instructions User tests are not required |
| function _is_exact_match() { | ||
| local var="$1" | ||
| local needle="$2" | ||
| local array="${var}[@]" | ||
| local haystack=("${!array}") | ||
| local item | ||
| for item in "${haystack[@]}"; do | ||
| if [[ "./${item#./}" == "${needle}" ]]; then | ||
| return 0 | ||
| fi | ||
| done | ||
| return 1 | ||
| } | ||
|
|
||
| function _starts_with() { | ||
| local var="$1" | ||
| local start="$2" | ||
| local array="${var}[@]" | ||
| local values=("${!array}") | ||
| local item | ||
| for item in "${values[@]}"; do | ||
| if [[ "./${item#./}" == ${start}* ]]; then | ||
| return 0 | ||
| fi | ||
| done | ||
| return 1 | ||
| } | ||
|
|
||
| function _ends_with() { | ||
| local array_var="$1" | ||
| local file="$2" | ||
| local array="${array_var}[@]" | ||
| local values=("${!array}") | ||
| local item | ||
| for item in "${values[@]}"; do | ||
| if [[ "${file}" == */${item#./} ]]; then | ||
| return 0 | ||
| fi | ||
| done | ||
| return 1 | ||
| } | ||
|
|
||
| function _is_wildcard_match() { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I'd like to see unit tests for these eminently testable functions 😁
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Ah yes, good point. Done.
| } | ||
|
|
||
| function debug() { | ||
| # echo "$@" |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Do you have access to check builder local and debug options?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I don't think so since it's not a full builder script.
This change adds the `assert-true` and `assert-false` function to our bash testing framework, together with unit tests. Also rename the test file to `testing-framework.inc.tests.sh` to match the implementation file.
This addresses code review comments. Also improve variable naming and documentation for these new functions.
Using the xz compression instead of gzip greatly reduces the size of the tarball. Follows: #15566 Test-bot: skip
Using the xz compression instead of gzip greatly reduces the size of the tarball. Follows: #15566 Test-bot: skip
Co-authored-by: Marc Durdin <marc@durdin.net>
Using the xz compression instead of gzip greatly reduces the size of the tarball. Follows: #15566 Test-bot: skip
chore(linux): use xz compression for source tarballs 🗜️ Using the xz compression instead of gzip greatly reduces the size of the tarball. Follows: #15566
|
Changes in this pull request will be available for download in Keyman version 19.0.201-alpha |
With this change it's possible to build Keyman from the source tarball by running
./build.shfrom the Keyman root directory.When building Keyman as part of the Ubuntu/Debian packaging, we don't use the toplevel
build.shfile but instead call the build scripts in the subdirectories. This omits building some components that are currently not needed for running Keyman for Linux. Thedist.shscript only includes the necessary files in this case, distinguished by theorigdistparameter. This results in a significantly smaller tarball (2.5MB vs 51MB).This change also enhances the
generate_tar_ignore_listfunction so that it is now possible to addbuildto the exclude list to ignore allbuildsubdirectories.Fixes: #15544
Build-bot: skip
Test-bot: skip