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:

BUG: 452289
This commit is contained in:
Christian Hartmann 2022-04-05 13:06:19 +02:00
parent 9bdb36abf0
commit 65413bbad2

View file

@ -204,7 +204,7 @@ QString findRecursive(const QString &dir, const QString &basename)
{
QDirIterator it(dir, QStringList{basename}, QDir::Files, QDirIterator::Subdirectories);
while (it.hasNext()) {
return QFileInfo(it.next()).canonicalFilePath();
return QFileInfo(it.next()).absoluteFilePath();
}
return QString();