We have a C API, but (internal) C++ template instantiations are visible
and so get flagged by `dpkg-gensymbols`. This change ignores the one
use of C++ by marking it optional. This is listed as a usage scenario
in the dpkg-gensymbols man page.
Note this requires a change how we call dpkg-gensymbols: if the `-O`
parameter is specified, the file is not treated as being a template file
(see man deb-src-symbols) and so the tags are not interpreted.
Additionally the file gets overwritten with the non-tag version. So this
change removes the `-O` parameter, and changes the archiving of the
generated file.
- fix the Node.js install script deprecation
- also make items configurable such as Ubuntu version and Node version
Fixes: chore(linux): script deprecation warning from nodesource #10024
1. Fcitx does not need restart to load newly installed keyman keyboard
2. Restart fcitx may cause issue on kwin/weston Wayland where input
method have to be spawned by compositor process.
When didn't set the correct environment when building Debian packages
with GitHub actions. The version information wasn't included in the
source file but instead was generated at binary package build time,
at which time not all necessary environment variables were available.
This change will create a patch file on-the-fly which gets
included in the source package that contains the correct information.
Fixes#9878.
This change adds additional checks for the symbols file:
- if a line with a method name gets changed, the package version number
in that line also needs to be updated
- for major API changes (methods renamed or removed) the API version
numbers needs to be incremented
- the API version numbers in the .symbols file and in `CORE_API_VERSION.md`
need to match
This enhances the packaging GHA to be able to verify the renamed
core library. Since the GHA packaging build always uses the action
definition from `master` this change has to land before we can
successfully build the PR that does the actual renaming of the core
library and Debian package. Later we can remove the references to
`libkmnkbp0-0` again.
Part of #9733.
Since keyman-system-service is a dependency of ibus-keyman it gets
build when ibus-keyman gets build. However, in that case the `--coverage`
flag doesn't get passed through in which case the `coverage-html`
target is missing from ninja. This change fixes this problem by checking
if ninja has the `coverage-html` target. If not we remove the output
directory which causes the configure action to run again with the
`--coverage` option.
Creating the coverage option to ninja previously didn't work reliably.
This change re-orders the parameters passed to `meson setup` and seems
to work better. Additionally this change refactors the scripts and makes
use of `builder_run_action`.
Ubuntu 20.04 comes with Python 3.8 which doesn't have
`platform.freedesktop_os_release()`. This change catches the exception
if this happens, as well as other exceptions we might get so that the
initialization of Sentry will succeed.
Fixes#9773.