Skip to content

fix: Prevent json-c headers from being installed in packages#335

Open
AnkurDG wants to merge 2 commits intodevelopfrom
feature/meson-install-fix
Open

fix: Prevent json-c headers from being installed in packages#335
AnkurDG wants to merge 2 commits intodevelopfrom
feature/meson-install-fix

Conversation

@AnkurDG
Copy link
Copy Markdown

@AnkurDG AnkurDG commented May 6, 2026

Description
Problem:
Since version 26, openSeaChest has been installing json-c library headers (json.h, debug.h, arraylist.h, etc.) to /usr/include/ during meson install. This causes RPM/DEB packaging failures because:

These headers are build-time dependencies only (json-c is statically linked)
End users don't need these headers
Generic filenames conflict with other packages
RPM build complains about unpackaged files

Root Cause:
json-c is included as a Meson subproject with install: true in its build configuration. Even though openSeaChest statically links json-c, the install targets are still executed during meson install, copying headers to the staging directory that nfpm then packages.

Solution:
Added --skip-subprojects flag to all meson install commands in the GitHub Actions CI/CD workflow ([meson.yml]. This tells Meson to skip installing subproject files while still installing openSeaChest binaries and man pages.

Changes Made:
Modified 11 instances of meson install -C build to meson install -C build --skip-subprojects in [meson.yml]
Applied to all build platforms: Linux (GCC/Clang/MUSL), Windows (MSVC/MSYS2), BSD variants (FreeBSD, OpenBSD, NetBSD, DragonFlyBSD), and Solaris variants (Solaris, Illumos, OmniOS, OpenIndiana)
Testing:

Impact:
Fixes packaging issues for RPM/DEB distributions
No runtime impact (json-c is statically linked)
No code changes to openSeaChest itself
Relates to: [Issue #327 ] (if applicable)

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.

1 participant