On lundi 19 octobre 2020 12:30:59 CEST Milian Wolff wrote: > On Montag, 19. Oktober 2020 11:27:29 CEST Harald Sitter wrote: > > Yo > > > > On 18.10.20 10:11, Milian Wolff wrote: > > > Hey all, > > > > > > since some time now I'm only compiling parts of KF5 selectively into a > > > custom prefix. Most notably, I'm only interested in ktexteditor and > > > syntax- highlighting, and would like to obtain all other frameworks > > > through my distribution packages. > > > > > > Sadly, this doesn't work as easily, as ktexteditor is trying to do this: > > > > > > ``` > > > install(TARGETS kauth_ktexteditor_helper DESTINATION $ > > > {KAUTH_HELPER_INSTALL_DIR} ) > > > kauth_install_helper_files(kauth_ktexteditor_helper > > > org.kde.ktexteditor.katetextbuffer root) > > > kauth_install_actions(org.kde.ktexteditor.katetextbuffer buffer/ > > > org.kde.ktexteditor.katetextbuffer.actions) > > > ``` > > > > > > Because my KAuth is a system-provided installation, and KTextEditor > > > should > > > be installed into a user-writable prefix, I get this error on `ninja > > > install`: > > > > > > ``` > > > > > > CMake Error at src/cmake_install.cmake:143 (file): > > > file INSTALL cannot copy file > > > "/home/milian/projects/kf5/build/frameworks/ktexteditor/src/ > > > > > > org.kde.ktexteditor.katetextbuffer.policy" > > > > > > to > > > "/usr/share/polkit-1/actions/org.kde.ktexteditor.katetextbuffer.policy > > > " > > > > > > Permission denied. > > > > > > Call Stack (most recent call first): > > > cmake_install.cmake:77 (include) > > > > > > ``` > > > > > > I can workaround this by either commenting out the kauth install bits in > > > ktexteditor or by installing kauth seperately too. But both are in my > > > opinion not ideal. > > > > > > I don't think it's currently possible to overwrite the KAuth install > > > directory at cmake configure time. I would like to change that, unless > > > there is something I'm missing which would prevent this? I am hoping > > > that > > > any folder works as long as it's listed in the `XDG_DATA_DIRS` env var - > > > can someone confirm this? > > > > Alas, the path is hardcoded at buildtime from what I see: > > https://gitlab.freedesktop.org/polkit/polkit/-/blob/master/src/polkitbacke > > nd /polkitbackendinteractiveauthority.c#L302 > > > > Relevant: https://bugs.kde.org/show_bug.cgi?id=425272 > > So the path that needs to be used is actually the polkit path? Meaning the > question where KAuth is being installed to doesn't really matter? That would > imply that KAuth is broken anyways when it's not installed to the same > prefix that polkit is being installed to, no? > Yes. Polkit is a security tool, it doesn't allow reading files in random locations.
> If so, then it's just one more reason to be able to skip kauth policy > installation, as they won't be picked up anyways... kauth can be configured with -DKAUTH_BACKEND_NAME=FAKE