Do not mark entry as uninstalled if uninstallation script failed

Authored by alex on May 11 2020, 6:29 PM.

Description

Do not mark entry as uninstalled if uninstallation script failed

Summary:
BUG: 420312
As described in the bug report the uninstallation failed, but the
service was marked as removed. Now the service gets only marked as
uninstalled if the script runs without an error. If there is an error
the user gets a popup.

Depends on D29101

Test Plan:
Set the exit code to 1 and try to install a dolphin plugin.
You should get an error message.

Without modifying the exit code you should be able to install services.

The manual deletion can be tested by removing the installed service file. for example:
rm ~/.local/share/kservices5/ServiceMenus/iso_mounter_unmounter.desktop
Then the uninstaller will crash:
"Failed to remove .desktop file ... No such file or directory"
Then you delete the installed file manually:
rm ~/.local/share/servicemenu-download/iso_mounter_unmounter.desktop
And now you can click the uninstall button and it gets removed
from the list of installed services.

Reviewers: KNewStuff, meven, ngraham, leinir

Reviewed By: KNewStuff, ngraham, leinir

Subscribers: leinir, kde-frameworks-devel

Tags: Frameworks

Differential Revision: https://phabricator.kde.org/D29123