I finally got around to doing some testing and debugging in a VM on this,
and there is now an important change:
I wrote in the announcement:
The patched executables are written to /usr/local/bin.
As of version 3 released today, the patched executables are instead written
to /usr/sbin.
This change was necessary due to the hardcoded search path in kdesu:
https://bugzilla.redhat.com/show_bug.cgi?id=1506422 . I was not aware that
kdesu does not follow the Fedora policy of having /usr/local/bin in the PATH
(and neither does sudo, for what it's worth, whereas login shells as root
do, what a mess!).
Advantages of the change:
+ kdesu now finds the executables, so, e.g., "kdesu kwrite" really just
works. With previous versions, only "kdesu /usr/local/bin/kwrite" or
"kdesu `which kwrite`" actually worked.
+ The package no longer writes anything to /usr/local, which should not be
written to by packages.
Drawbacks of the change:
- Anything that tries to use the regular user PATH while running as root
will not work, because it will find the unpatched binary in /usr/bin
first. (Normal users now get the unpatched binary, but for them, it will
work fine.)
- In particular, something like "kdesu `which kwrite`" will also no longer
work.
If you are not happy with those drawbacks, you can add symlinks:
ln -s /usr/sbin/{dolphin,kwrite,kate} /usr/local/bin/
I decided against doing this in the package because it is cleaner to not
mess with /usr/local in a package. (I did not realize at first that sbin can
be used for this purpose, or I would have already done it before.)
I verified in a VM that the new version really works as advertised. Upgrades
from the old package also do what is expected. (They remove the binaries
from /usr/local/bin and recreate them in /usr/sbin.)
Enjoy!
Kevin Kofler