View Issue Details
|ID||Project||Category||View Status||Date Submitted||Last Update|
|0015755||Scribus||General||public||2019-08-03 19:47||2019-08-03 19:47|
|Platform||Linux||OS||Linux||OS Version||custom w/ 5.2.5|
|Target Version||Fixed in Version|
|Summary||0015755: Unnecessary use of QDir::NoSymLinks blocks encap/stow/etc|
|Description||I use encap/epkg to manage software built from source. This is similar to stow, graft, and a few others. Basically it works by installing packages into custom directories, and then symlinking them into the /usr hierarchy. For example on my system /usr/share/scribus/icons/1_5_0.xml is actually a symlink to /encap/packages/scribus-1.5.5/share/scribus/icons/1_5_0.xml.|
After building and installing, when i ran scribus i got the message "No icons found :(". Investigating, i traced this to the use of QDir::NoSymLinks in scribus/iconmanager.cpp. I also found this used throughout the scribus source, which probably blocked it from loading all kinds of resources other than icons.
I did also find bug 0015028, which is about plugins not loading for this same reason, but i figured the more general case warranted its own bug.
My own brute-force approach to fixing this was just to remove all references to QDir::NoSymLinks, which seems to have done the trick for me. Of course there may be cases where it's used legitimately, so a more subtle approach would be to evaluate each use. But to enable usage with encap/stow/graft and other similar package management styles, scribus should allow symlinks for all system resources it attempts to load.
|Steps To Reproduce||- Install scribus using encap/stow/graft or any package management system using symlinks|
- Run scribus; anything it tries to load from /usr will fail
|Tags||No tags attached.|