logic: explicitly add u+w permission when copying initial user data on Linux (#1072)

This commit is contained in:
midchildan
2020-08-23 00:31:48 +02:00
committed by GitHub
parent 7d51b7d917
commit d079d1787c
@@ -3,6 +3,7 @@
#include <QCoreApplication>
#include <QDir>
#include <QDirIterator>
#include "AppPath.h"
#include "FilePath.h"
@@ -70,6 +71,13 @@ void setupApp(int argc, char* argv[])
utility::copyNewFilesFromDirectory(
QString::fromStdWString(AppPath::getSharedDataPath().concatenate(L"user/").wstr()),
userDataPath);
// Add u+w permissions because the source files may be marked read-only in some distros
QDirIterator it(userDataPath, QDir::Files, QDirIterator::Subdirectories);
while (it.hasNext()) {
QFile f(it.next());
f.setPermissions(f.permissions() | QFile::WriteOwner);
}
}
#endif // INCLUDES_DEFAULT_H