diff options
author | Katja Marttila <katja.marttila@qt.io> | 2018-10-30 11:54:58 +0200 |
---|---|---|
committer | Katja Marttila <katja.marttila@qt.io> | 2019-01-04 05:34:02 +0000 |
commit | da9e13b703ddd3b49031344c6be533e2029d0ef1 (patch) | |
tree | f30eb4efc43856f13808608d1ba4f1428c5a690d /tools | |
parent | 72d55882da62de7f10b8cbca19281824fff9ebe4 (diff) |
Fix devtool
After we implemented maintenancetool signing, we wrote the binary magic
marker to separate installer.dat file in maintenancetool (like we have always
done in macOS in both installer and maintenancetool). Devtool needs to
know about this change too to fetch the magic marker from correct place.
Task-number: QTIFW-1222
Change-Id: I08e74596033cb33ccb9c49d9db1ee7b4beef59ca
Reviewed-by: Jani Heikkinen <jani.heikkinen@qt.io>
Diffstat (limited to 'tools')
-rw-r--r-- | tools/devtool/main.cpp | 16 |
1 files changed, 13 insertions, 3 deletions
diff --git a/tools/devtool/main.cpp b/tools/devtool/main.cpp index e0b31695c..d75ab4e81 100644 --- a/tools/devtool/main.cpp +++ b/tools/devtool/main.cpp @@ -165,8 +165,16 @@ int main(int argc, char *argv[]) QString bundlePath; QString path = QFileInfo(arguments.first()).absoluteFilePath(); - if (QInstaller::isInBundle(path, &bundlePath)) + if (QInstaller::isInBundle(path, &bundlePath)) { path = QDir(bundlePath).filePath(QLatin1String("Contents/Resources/installer.dat")); + } +#ifndef Q_OS_OSX + QFileInfo fi = QFileInfo(path); + bundlePath = path; + QString tmp = QDir(fi.path()).filePath(QLatin1String("installer.dat")); + if (QFileInfo::exists(tmp)) + path = tmp; +#endif int result = EXIT_FAILURE; QVector<QByteArray> resourceMappings; @@ -184,8 +192,10 @@ int main(int argc, char *argv[]) if (layout.magicMarker == QInstaller::BinaryContent::MagicUninstallerMarker) { QFileInfo fi(path); - if (QInstaller::isInBundle(fi.absoluteFilePath(), &bundlePath)) - fi.setFile(bundlePath); + + QInstaller::isInBundle(fi.absoluteFilePath(), &bundlePath); + fi.setFile(bundlePath); + path = fi.absolutePath() + QLatin1Char('/') + fi.baseName() + QLatin1String(".dat"); tmp.close(); |