leonarski_fandClaude Opus 5 7b640edf6e Packaging: give each component its own license-notice directory
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
2026-08-25 12:59:41 +02:00
2026-08-25 08:21:39 +02:00
2026-08-13 17:03:10 +02:00
2026-08-25 08:21:39 +02:00
2026-08-25 08:21:39 +02:00
2026-08-13 17:03:10 +02:00
2026-08-25 08:21:39 +02:00
2026-07-19 09:39:28 +02:00
2026-08-25 08:21:39 +02:00
2025-12-04 11:56:14 +01:00
2026-08-25 08:21:39 +02:00
2026-08-25 08:21:39 +02:00
2026-08-25 08:21:39 +02:00
2026-07-13 13:54:03 +02:00
2026-08-25 08:21:39 +02:00
2026-07-12 19:42:29 +02:00
2026-08-13 17:03:10 +02:00
2026-03-26 20:50:33 +01:00
2026-06-23 20:29:49 +02:00
2026-08-13 17:03:10 +02:00
2026-07-19 09:39:28 +02:00
2026-08-13 17:03:10 +02:00
2026-08-25 08:21:39 +02:00
2026-08-25 08:21:39 +02:00
2026-08-25 08:21:39 +02:00
2026-08-25 08:21:39 +02:00
2026-08-25 08:21:39 +02:00
2026-08-25 08:21:39 +02:00
2026-08-25 08:21:39 +02:00
2026-06-13 21:27:41 +02:00
2026-06-23 20:29:49 +02:00
2026-08-25 08:21:39 +02:00
2024-11-22 21:25:20 +01:00
2026-08-25 08:21:39 +02:00
2024-12-02 21:17:14 +01:00
2026-08-13 17:03:10 +02:00
2025-10-25 22:05:47 +02:00
2026-07-03 19:18:56 +02:00
2026-06-23 20:29:49 +02:00
2026-08-13 17:03:10 +02:00
2024-12-02 21:17:14 +01:00
2026-08-25 08:21:39 +02:00
2026-08-25 08:21:39 +02:00
2026-08-13 17:03:10 +02:00
2026-08-13 17:03:10 +02:00
2026-08-25 08:21:39 +02:00

Jungfraujoch

Application to receive data from the PSI JUNGFRAU and EIGER detectors.

All documentation is now placed in docs/ subdirectory and for the current version hosted on Jungfraujoch Read The Docs page.

S
Description
Jungfraujoch Data Acquisition System
Readme GPL-3.0
3 GiB
Languages
C++ 75%
HTML 7.8%
C 6.2%
TypeScript 4.3%
Cuda 2.3%
Other 4.3%