Fix installer executable creation in Linux

If Linux has several partitions and tmp is pointing to a different
partition than where we are trying to create installer executable with
binarycreator, binarycreator fails with 'Invalid cross-device link'.
Fixed so that tmp is not used when creating an installer executable.

Change-Id: Ieee52ee1929f980345a7940dd381cc94dbf3d40e
Reviewed-by: Iikka Eklund <iikka.eklund@qt.io>
Reviewed-by: Katja Marttila <katja.marttila@qt.io>
This commit is contained in:
Katja Marttila 2019-11-13 14:23:41 +02:00
parent 9c2a507215
commit 7bac504eb6

View File

@ -409,7 +409,8 @@ static int assemble(Input input, const QInstaller::Settings &settings, const QSt
}
#endif
QTemporaryFile out;
QFile out(generateTemporaryFileName());
QString targetName = input.outputPath;
#ifdef Q_OS_MACOS
QDir resourcePath(QFileInfo(input.outputPath).dir());
@ -470,7 +471,6 @@ static int assemble(Input input, const QInstaller::Settings &settings, const QSt
QFile::remove(tempFile);
return EXIT_FAILURE;
}
out.setAutoRemove(false);
#ifndef Q_OS_WIN
chmod755(out.fileName());