[CI] Detect flag collisions caused by Pikaur's configuration logic #55
Reference in New Issue
Block a user
No description provided.
Delete Branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Problem
We are seeing reports of build failures on Arch Linux for users running
pikaur. These failures occur during the compilation stage, often appearing as "variable redefined" errors or conflicting compiler options.Root Cause
The issue stems from how
pikaurhandlesmakepkgconfigurations. Specifically, itsmakepkg_config.pylogic causes flags from the system-wide/etc/makepkg.confto be merged into the build environment.When these system flags collide with flags explicitly defined in our project's
Makefile.am(for example, different versions of-D_FORTIFY_SOURCE), the compiler encounters duplicate or conflicting definitions and aborts the build.Impact
Our current CI environment is "too clean." Because the CI uses a standard Arch Linux container without the cascading configuration logic used by
pikaur, our automated tests are failing to catch these collisions.This creates a "silent killer" scenario: a developer can push a change that works perfectly in CI but breaks the build for all Arch users using
pikaur.Goal
We need to improve our Arch Linux CI pipeline to achieve parity with the
pikaurenvironment. The CI should be able to detect when a code change introduces a flag collision by simulating the injection of system-level flags into the build environment.Acceptance Criteria
/etc/makepkg.conf.Makefile.amsuccessfully triggers a failure in the Arch CI matrix.Add autotests with pikaur-like build flagsto [CI] Detect flag collisions caused by Pikaur's configuration logicResolved by #108