SUMMARY *** service-menu-installer ignores <package-name>.tar.gz-dir/uninstall.sh if this is actualy just a symbolic link to install.sh in the same directory (hardlinks and copies worked) *** STEPS TO REPRODUCE 1. create a context menu extension as an archive with install.sh and run $ ln -sf install.sh uninstall.sh 2. run servicemenuinstaller install <package-name-tar-gz> 3. run servicemenuinstaller uninstall <package-name-tar-gz> OBSERVED RESULT package is not deinstalled EXPECTED RESULT package will be deinstalled SOFTWARE/OS VERSIONS Windows: - macOS: - Linux/KDE Plasma: (available in About System) KDE Plasma Version: 5.24.4 KDE Frameworks Version: 5.92.0 Qt Version: 5.15.3 ADDITIONAL INFORMATION X11 KDE neon 5.24
A possibly relevant merge request was started @ https://invent.kde.org/system/dolphin/-/merge_requests/371
Git commit 65413bbad29ea31ea0fab83bbe0f55a3befc5a11 by Christian Hartmann. Committed on 21/05/2022 at 06:21. Pushed by felixernst into branch 'master'. fix: service-menu-installer ignoring symlinks on un-install service-menu-installer ignores <package-name>.tar.gz-dir/uninstall.sh if this is actualy just a symbolic link to install.sh in the same directory (hardlinks and copies work) canonicalPath() is used to get the name of the file on disk and returns install.sh in the case of a symbolic link. install.sh without any arguments is called instead of uninstall.sh consequently and no de-installation takes place. replace canonicalPath() with absolutePath() as used in the rest of source file resolves: M +1 -1 src/settings/contextmenu/servicemenuinstaller/servicemenuinstaller.cpp https://invent.kde.org/system/dolphin/commit/65413bbad29ea31ea0fab83bbe0f55a3befc5a11