Phase 30: complete configurable installation and release qualification
This commit is contained in:
parent
afc049e2c8
commit
90eac33a71
18 changed files with 399 additions and 59 deletions
|
|
@ -72,3 +72,37 @@ policy. Build diagnostics make no server/plugin calls. There is no asynchronous
|
|||
crash uploader or signal-handler cleanup: inspect OS core/debugger evidence on
|
||||
the control side, preserving project/media recovery paths. No release is publicly
|
||||
published by these commands, and human/device/listening checks remain pending.
|
||||
|
||||
## Phase 30 release workflow
|
||||
|
||||
Installation now shares one explicit file inventory with uninstallation. GNU-style
|
||||
`exec_prefix`, `bindir`, `libdir`, `includedir`, `datarootdir`, `datadir`, `docdir`,
|
||||
`pkgconfigdir` and the xtc-specific `licensedir`, `examplesdir`, `desktopdir` can be
|
||||
overridden alongside `PREFIX`/`DESTDIR`. Paths must be absolute POSIX paths;
|
||||
spaces are supported. Do not include DESTDIR in a directory variable: staging is
|
||||
applied separately and never embedded in pkg-config metadata. Staging refuses
|
||||
parent symlinks that escape DESTDIR. Use exactly the same variables for removal.
|
||||
|
||||
```sh
|
||||
make BUILD_DIR=build/release-check all test gui
|
||||
make BUILD_DIR=build/release-check test-install test-install-layout
|
||||
make PREFIX=/usr DESTDIR=/tmp/xtc-stage libdir=/usr/lib64 install-gui
|
||||
make PREFIX=/usr DESTDIR=/tmp/xtc-stage libdir=/usr/lib64 uninstall
|
||||
make test-release test-package
|
||||
```
|
||||
|
||||
Core install includes the static library, public headers, `xtc-check`, pkg-config
|
||||
metadata, Markdown documentation, all checked-in performance reports, license and
|
||||
`share/xtc/examples` (a media/plugin-free MIDI demo). GUI install adds the desktop
|
||||
entry and `xtc`. No desktop MIME association is claimed. Package archives keep
|
||||
their fixed `/usr` layout and relocatable pkg-config metadata; custom live layouts
|
||||
are tested separately. Existing owned file symlinks are replaced, not followed;
|
||||
installation is atomic per file, not a transaction over the entire prefix.
|
||||
|
||||
`make dist` now writes a `.sha256` sidecar as well as the normalized source archive.
|
||||
Record that hash, the reviewed commit, version and build/dependency conditions
|
||||
with release logs. `test-release` verifies the hash, builds/tests two fresh source
|
||||
exports and compares artifacts and repacks. It validates exported tracked content,
|
||||
including staged work; it does not attest that the caller's Git tree is clean.
|
||||
For public release use a clean reviewed checkout and inspect `git status` first.
|
||||
RELEASE_NOTES.md supplies upgrade guidance and remaining qualification limits.
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue