Repository navigation
Fix Plasma setup on Arch library compatibility paths - #361
Merged
Merged
Conversation
Merged
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
On CachyOS,
/usr/lib64is a compatibility symlink to/usr/lib. Plasma setup discovers the lib64 spelling, then the privileged installer rejects its symlink ancestor. This blocks setup and removal even when a compatible plugin is available.Normalize only the known
/usr/lib64 -> libor/usr/libalias to the supported/usr/lib/qt6/pluginsroot during discovery and privileged operations. Existing receipts using the old spelling can be cleaned up. Real lib64 directories remain supported, and unexpected symlink ancestors retain the installer refusal.Add Cucumber coverage that runs production discovery, provisioning, privileged installation, verification and cleanup together in disposable namespaces. KWin's D-Bus API and external package/configuration tools are contract fixtures; privileged file operations are real. A new Arch/Fedora CI job additionally exercises setup and repair with real headless KWin through normal system plugin directories, and feeds the bundle smoke gate.
Scope
CONTRIBUTING.mdand the relevant docs linked there.User-Visible Behavior
Plasma setup, repair and removal work on the normal Arch/CachyOS library layout, including cleanup of legacy installation receipts. No configuration or permission-policy change is required.
Validation
650b7332: both compatibility-symlink scenarios failed with the exact reported installer refusal; both real-lib64 controls and the unexpected-Qt-symlink safety scenario passed. The implementation followed in6dc32472.cargo test --locked -p lg-buddypassed: 1,622 library tests, one existing ignored hardware test, all 160 Cucumber scenarios (2,017 steps), and the remaining integration/doc tests.QT_PLUGIN_PATHinjection. The preserved pre-fix binary failed the same native CachyOS check at/usr/lib64after successfully compiling its plugin.modal_recheck_cannot_retry_a_still_active_helpertest; its isolated rerun and the subsequent full runtime suite passed without changing that test.devwas merged; the tested Rust/source/native-smoke files are unchanged by that synchronization. GitHub CI will validate the pushed head, including the existing GUI checks.Related Issue
Fixes #359.