This change improves our `.shellcheckrc` file so that several directives
are no longer needed and source files are still found. Also remove some
directives that are no longer necessary, either because the changes to
`.shellcheckrc` makes them obsolete, or because the lines changed so
that they no longer contain the problem.
Also remove some shellcheck warnings.
Build-bot: skip
Test-bot: skip
Decided to use the name `baseline` for this set of tests. They can be
used by any project in the repo now. Tests will be treated as shared,
and not modified (except in the case of a buggy test).
* Moves .kmn files, add `&NAME` line (don't use meson templating for
these files)
* Generates reference .kmx files using kmcomp for use as a baseline with
kmcmplib (kmc) tests, and for linux tests
* Updates references in core, kmcmplib, and linux builds
* Renames all the .kmn / .kmx to use a standardized, clean name format
(this was needed for building packages in the core tests)
Also improve upload script to force push changelog branches.
Lintian v2.115 (which is run on Debian servers) still produces
pedantic warnings, but there seems to be a bug - no matter what
pattern I add to `lintian-overrides`, I can't get it to ignore
the files. The following version v2.116 has these rules built in,
so we don't need `lintian-overrides` anymore.
(cherry picked from commit 134e084b80)
The Dev Containers vscode extension allows to run the unit tests in a container.
This is especially helpful when running on Ubuntu 22.04 where running the tests
on the host exits ibus when the tests exit, disabling any keyboard input.
Refactoring of build.sh to use the builder_ functions. The script should
now be a lot cleaner. Usage is available with `core/build.sh --help`
Targets are :x86, :x64, :wasm, :arch (linux/mac).
Supports additional requirements of Linux build (--target-path,
--configure).
By default will attempt to build all available targets.
Actions are: clean, configure, build, test, install, uninstall.
The install and uninstall actions only work for linux and mac targets at
present.