Debian Bullseye release was EOLed and removed from the main archive.
Drop it from the CI configuration
Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com>
qrtr ships an Android.bp (Soong) build that produces libqrtr and the
qrtr-cfg/qrtr-lookup tools for the vendor image, but nothing in CI
exercises an Android build, so bionic-specific breakage goes unnoticed.
Building Android.bp the real way needs a full AOSP/Soong tree, which is
impractical in GitHub CI.
Add an Android job that cross-compiles the meson build with the Android
NDK via a generated meson cross-file, which is enough to catch compile
and link regressions on bionic. The job runs on the ubuntu-latest host
(not inside a distro container) across the arm64-v8a, armeabi-v7a and
x86_64 ABIs, caches the downloaded NDK, and verifies that the resulting
qrtr-cfg binary really targets the requested ABI.
Assisted-by: Claude Code:claude-opus-4-8
Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com>
Commit dece9315ea ("treewide: meson")
moved headers to `include` dir, however the Android build rules
weren't updated to use headers from the new include dir. Fix this.
Signed-off-by: Yumi Yukimura <me.cafebabe@gmail.com>
The build matrix still pins several release-specific Fedora images that
have reached end of life, whose package repositories are no longer served
from the normal location and can fail during dependency installation.
Drop the fixed fedora:39/38/37 jobs and keep fedora:latest so CI continues
to catch issues on the active release. Move the Alpine images out of the
include block into the main container list so they are exercised with both
gcc and clang like every other distribution, and add the rolling
alpine:edge and the ubuntu:latest/noble targets to broaden coverage.
Assisted-by: Claude Code:claude-opus-4-8
Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com>
The Alpine clang jobs fail during Meson compiler setup rather than during
source compilation. Installing clang alone does not guarantee the complete
native build environment needed for compiler sanity checks, linking, and
startup objects on Alpine.
Install build-base in the Alpine CI setup so both gcc and clang jobs have
the standard compiler, libc, binutils, and make toolchain expected by Meson.
Assisted-by: Claude Code:claude-opus-4-8
Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com>
GitHub Actions now warns that actions targeting Node.js 20 are being
forced to run on Node.js 24. The warning is emitted by actions/checkout@v3
in every matrix job, which obscures the real CI output and will eventually
become a hard compatibility problem as older Node support is removed from
the runners.
Move to actions/checkout@v5 so the workflow uses an action version that is
compatible with the current runner JavaScript runtime.
Assisted-by: Claude Code:claude-opus-4-8
Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com>
Allow the build system to build a static version of libqrtr when the
user requests it.
As per meson manual:
> You should use this [library()] instead of shared_library(),
> static_library() or both_libraries() most of the time.
Signed-off-by: Luca Weiss <luca.weiss@fairphone.com>
The qrtr-ns has been superceded by the in-kernel nameserver since
multiple years. If anybody wants to do archeology, they can find qrtr-ns
with old releases / in the git history. Drop it and remove quite some
code.
Signed-off-by: Luca Weiss <luca.weiss@fairphone.com>
On some older SoCs (older than SDM845) downstream userspace starts a
Sensor Registry service (271) to provide sensor configuration information
to a remote processor (SDSP or ADSP). After receiving registry data, SDSP
or ADSP exposes a Sensor Manager service "SMGR" (256), which allows to
access sensor readings. Add these services to the known list of services.
Signed-off-by: Alexey Minnekhanov <alexeymin@postmarketos.org>
The previous version of `libqrtr` had `libqrtr.so.1` as their SONAME,
while the current version have only `libqrtr.so`. This is problematic as
previously built binaries using this lib will have to be rebuilt for
this new version (or rather, re-linked, which is practically
equivalent).
This change ensures the SONAME is kept by setting the project version
in the top-level `meson.build` and uses this string as the shared
library version.
In practice, the generated library filename is now `libqrtr.so.1.1` with
SONAME still being `libqrtr.so.1`.