1
0
Fork 0
forked from hanez/xtc

Phase 20: package Linux builds and document release and maintenance workflows

This commit is contained in:
Johannes Findeisen 2026-10-27 06:44:22 +01:00
commit 830b6e1914
22 changed files with 490 additions and 17 deletions

View file

@ -56,3 +56,29 @@ Static backend consumers need JACK if that optional backend was built; the pc
file records its private dependency. Public headers contain no JACK/FLTK types.
To build without optional libraries, set PKG_CONFIG=false FLTK_CONFIG=false.
Python is not needed to run the installed executables or library.
## Phase 20 binary/development archive
`make package` creates a system-linked Linux archive plus SHA-256 sidecar below
BUILD_DIR; `make test-package` verifies its contents. It includes usr/bin,
headers/static library/pkg-config metadata, desktop file (when FLTK is present),
manuals, baseline and MIT license. No shared library, third-party plugin, media,
service or dependency installer is bundled. `BINARY_MANIFEST.json` lists file
hashes/sizes, architecture/libc and ELF NEEDED libraries. The entire archive's hash
covers the manifest too. Do not assume compatibility with another distribution.
Inspect/test under a temporary directory first. For a writable user prefix,
extract the archive with two leading path components stripped (`xtc-VERSION-linux-
ARCH/usr`), placing bin/include/lib/share directly under that prefix. Put its bin
on PATH and lib/pkgconfig on PKG_CONFIG_PATH. The archive's pkg-config prefix is
relative to its installed location; normal `make install` retains explicit PREFIX.
Use the matching source's uninstall with that PREFIX, or review the manifest
before removing its files. Unknown/unrelated files are retained by source uninstall.
This local tar package is not a pacman/RPM/deb registration or public distribution.
`xtc-check --diagnose` reports build capabilities and format/engine limits without
opening a server or executing a plugin. `xtc --diagnose` works headlessly as well.
Missing runtime GUI libraries are loader errors: install the distribution's
compatible dependencies or rebuild the core-only configuration. Build without
optional libraries using a fresh directory, `PKG_CONFIG=false FLTK_CONFIG=false
CPPFLAGS=-DXTC_DISABLE_LADSPA`. No system setting or package is changed by tests.