summaryrefslogtreecommitdiffstats
path: root/tools/devtool
diff options
context:
space:
mode:
Diffstat (limited to 'tools/devtool')
-rw-r--r--tools/devtool/binarydump.cpp2
-rw-r--r--tools/devtool/main.cpp16
2 files changed, 14 insertions, 4 deletions
diff --git a/tools/devtool/binarydump.cpp b/tools/devtool/binarydump.cpp
index ad5093837..bd8e9053c 100644
--- a/tools/devtool/binarydump.cpp
+++ b/tools/devtool/binarydump.cpp
@@ -54,7 +54,7 @@ int BinaryDump::dump(const QInstaller::ResourceCollectionManager &manager, const
}
}
- QInstaller::CopyDirectoryOperation copyMetadata(0);
+ QInstaller::CopyDirectoryOperation copyMetadata(nullptr);
copyMetadata.setArguments(QStringList() << QLatin1String(":/")
<< (targetDir.path() + QLatin1Char('/'))); // Add "/" at the end to make operation work.
if (!copyMetadata.performOperation()) {
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();