v1.0.0-rc.163 #73

Merged
leonarski_f merged 2 commits from rc163-unshare-doc-files into main 2026-08-25 13:38:29 +02:00
Owner
  • Packaging: each package installs its license notices under a directory of its own - share/doc/jfjoch_broker, share/doc/jfjoch_writer, share/doc/jfjoch_viewer, share/doc/jfjoch_driver_dkms - instead of all of them into the shared share/doc/jfjoch, so jfjoch and jfjoch-writer can be upgraded one at a time instead of only together.
* Packaging: each package installs its license notices under a directory of its own - `share/doc/jfjoch_broker`, `share/doc/jfjoch_writer`, `share/doc/jfjoch_viewer`, `share/doc/jfjoch_driver_dkms` - instead of all of them into the shared `share/doc/jfjoch`, so `jfjoch` and `jfjoch-writer` can be upgraded one at a time instead of only together.
leonarski_f added 2 commits 2026-08-25 13:38:20 +02:00
Since rc.153 every component package has installed LICENSE,
THIRD_PARTY_NOTICES.md and licenses/*.txt into share/doc/jfjoch, because the
install rule loops over CPACK_COMPONENTS_ALL with one fixed destination. So
jfjoch, jfjoch-writer, and (when built) jfjoch-viewer and jfjoch-driver-dkms all
claim the same paths.

rpm and dpkg only tolerate two installed packages owning one path while the
content matches. That is fine when the packages are installed or upgraded in a
single transaction, and it breaks the moment they are upgraded one after the
other: as soon as a release changes the notices, updating jfjoch alone conflicts
with the still-installed older jfjoch-writer. PSI deployment updates them
sequentially, so in practice jfjoch could never be updated without jfjoch-writer.

Each component now installs into a directory of its own, named after the
package's principal binary: share/doc/jfjoch_broker, jfjoch_writer, jfjoch_viewer
and jfjoch_driver_dkms.

The main package moves too, rather than keeping share/doc/jfjoch, so that no
rc.163 package claims the path the old ones shared. That is what makes the first
sequential update work from any earlier release: upgrading jfjoch to rc.163 can
no longer collide with an rc.153-rc.158 jfjoch-writer that still owns
share/doc/jfjoch with different content. Keeping the main package there would
have left that hop broken - rc.153 and rc.158 ship a different
THIRD_PARTY_NOTICES.md and licenses/traccc.txt from rc.163 - and would have
required a one-off combined update on every such host. When the old sibling is
finally upgraded its claim is dropped, nothing else owns those files, and the
stale share/doc/jfjoch is removed.

These notice files were the only paths any two components had in common. Checked
by extracting every file(INSTALL) rule from the generated cmake_install.cmake
tree per component and intersecting the four packaged components pairwise: 6 of 6
pairs share nothing, where before the fix each pair shared LICENSE,
THIRD_PARTY_NOTICES.md and all of licenses/.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_014QPzDRu2tbgFM1cCe3qYjc
v1.0.0-rc.163
Build Packages / build:windows:nocuda (pull_request) Successful in 16m6s
Build Packages / build:windows:nocuda (push) Successful in 10m58s
Build Packages / build:windows:cuda (pull_request) Successful in 16m56s
Build Packages / build:windows:cuda (push) Successful in 18m24s
Build Packages / build:viewer-tgz:cpu (pull_request) Successful in 11m45s
Build Packages / build:viewer-tgz:cuda (pull_request) Successful in 12m57s
Build Packages / build:rpm (rocky9_nocuda) (pull_request) Successful in 21m5s
Build Packages / build:rpm (ubuntu2404_nocuda) (pull_request) Successful in 20m30s
Build Packages / build:rpm (rocky8_nocuda) (pull_request) Successful in 23m56s
Build Packages / build:rpm (ubuntu2204_nocuda) (pull_request) Successful in 24m47s
Build Packages / build:rpm (rocky9_sls9) (pull_request) Successful in 21m37s
Build Packages / build:rpm (rocky8_sls9) (pull_request) Successful in 23m52s
Build Packages / XDS test (durin plugin) (pull_request) Successful in 11m53s
Build Packages / build:rpm (rocky9) (pull_request) Successful in 21m0s
Build Packages / build:rpm (rocky8) (pull_request) Successful in 24m30s
Build Packages / Generate python client (pull_request) Successful in 23s
Build Packages / build:rpm (ubuntu2404) (pull_request) Successful in 19m48s
Build Packages / Create release (pull_request) Skipped
Build Packages / build:rpm (ubuntu2204) (pull_request) Successful in 23m14s
Build Packages / Build documentation (pull_request) Successful in 1m21s
Build Packages / XDS test (JFJoch plugin) (pull_request) Successful in 9m14s
Build Packages / DIALS test (pull_request) Successful in 21m55s
Build Packages / XDS test (neggia plugin) (pull_request) Successful in 7m36s
Build Packages / build:viewer-tgz:cpu (push) Successful in 10m48s
Build Packages / build:viewer-tgz:cuda (push) Successful in 13m11s
Build Packages / build:rpm (rocky9_nocuda) (push) Successful in 17m53s
Build Packages / build:rpm (rocky8_nocuda) (push) Successful in 21m15s
Build Packages / build:rpm (ubuntu2204_nocuda) (push) Successful in 21m50s
Build Packages / build:rpm (ubuntu2404_nocuda) (push) Successful in 16m52s
Build Packages / build:rpm (rocky8_sls9) (push) Successful in 18m48s
Build Packages / build:rpm (rocky9_sls9) (push) Successful in 17m1s
Build Packages / build:rpm (rocky9) (push) Successful in 18m58s
Build Packages / build:rpm (rocky8) (push) Successful in 23m25s
Build Packages / build:rpm (ubuntu2204) (push) Successful in 21m27s
Build Packages / build:rpm (ubuntu2404) (push) Successful in 17m51s
Build Packages / Generate python client (push) Successful in 29s
Build Packages / Build documentation (push) Successful in 52s
Build Packages / Create release (push) Skipped
Build Packages / XDS test (durin plugin) (push) Successful in 8m36s
Build Packages / XDS test (JFJoch plugin) (push) Successful in 7m47s
Build Packages / XDS test (neggia plugin) (push) Successful in 7m1s
Build Packages / DIALS test (push) Successful in 17m47s
Build Packages / Unit tests (pull_request) Successful in 2h0m50s
Build Packages / Unit tests (push) Successful in 1h20m51s
8f618e24cf
Version bump: VERSION, the OpenAPI spec version and its three generated clients
(C++ server model, python client, TypeScript frontend client), the Redoc html,
docs/conf.py, the FPGA HDL version registers and the PCIe driver/DKMS version
strings, all rewritten by update_version.sh.

The API itself is unchanged in this release - the only difference in the
generated clients is the version string.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_014QPzDRu2tbgFM1cCe3qYjc
leonarski_f merged commit 61c603b274 into main 2026-08-25 13:38:29 +02:00
Sign in to join this conversation.
No Reviewers
No labels
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: mx/Jungfraujoch#73