Skip to content

ci: add multi-arch CI and DESTDIR-staged autopkgtests for libppd#75

Merged
tillkamppeter merged 4 commits into
OpenPrinting:masterfrom
rkt0209:add-autopkgtest-staging
Jun 12, 2026
Merged

ci: add multi-arch CI and DESTDIR-staged autopkgtests for libppd#75
tillkamppeter merged 4 commits into
OpenPrinting:masterfrom
rkt0209:add-autopkgtest-staging

Conversation

@rkt0209

@rkt0209 rkt0209 commented Jun 12, 2026

Copy link
Copy Markdown
Contributor

Summary

Adds a multi-architecture CI workflow and runs the downstream Debian
autopkgtests against an in-tree DESTDIR-staged build, so libppd is tested
end-to-end on every push/PR without needing the package installed system-wide.

What's included

  • Multi-arch CI (.github/workflows/build.yml): builds libppd and runs
    make check on four architectures — amd64, arm64 (native) and armhf,
    riscv64 (QEMU-emulated).
  • DESTDIR staging harness (Makefile.am, ci/autopkgtest/): installs
    into an ephemeral _ciroot tree and runs both downstream tests
    (libppd-2-dev, libppd-2-ppd-handling) against it via
    PATH / LD_LIBRARY_PATH / PKG_CONFIG_PATH pointed at the staged tree.
  • No absolute paths / no privilege: the libppd-2-ppd-handling test
    reads LIBPPD_TESTPPD / LIBPPD_PPDDIR env overrides that default to the
    original /usr paths (fully backward-compatible with the real Debian
    autopkgtest). This replaces the earlier bind-mount/proot redirection, so the
    full suite runs unprivileged and identically on native and emulated legs.

Notes

  • libppd.pc.in: Cflags now exports -I${includedir} -I${includedir}/ppd
    (was -I${includedir}/ppd only). Headers install under $(includedir)/ppd/
    and consumers use <ppd/ppd.h>, which needs -I${includedir}. The old flag
    is kept for backward compatibility — this is a genuine .pc fix, not just a
    CI workaround.
  • Build requires ./configure --enable-ppdc-utils (the libppd-2-dev test
    compiles a .drv with the staged ppdc).

@tillkamppeter tillkamppeter merged commit 18e509a into OpenPrinting:master Jun 12, 2026
6 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants