diff options
Diffstat (limited to 'src/b2qt-flashing-wizard/scriptwriter.cpp')
-rw-r--r-- | src/b2qt-flashing-wizard/scriptwriter.cpp | 20 |
1 files changed, 11 insertions, 9 deletions
diff --git a/src/b2qt-flashing-wizard/scriptwriter.cpp b/src/b2qt-flashing-wizard/scriptwriter.cpp index 9b85c24..594aecc 100644 --- a/src/b2qt-flashing-wizard/scriptwriter.cpp +++ b/src/b2qt-flashing-wizard/scriptwriter.cpp @@ -32,6 +32,7 @@ ScriptWriter::ScriptWriter(QObject *parent) : Actor(parent) , mDebug(false) + , mRoot(false) { mProcess.setProcessChannelMode(QProcess::MergedChannels); mDebug = qEnvironmentVariableIsSet("DEBUG"); @@ -84,17 +85,13 @@ void ScriptWriter::start() connect(&mProcess, (void (QProcess::*)(QProcess::ProcessError))&QProcess::error, this, &ScriptWriter::processError); connect(&mProcess, (void (QProcess::*)(int, QProcess::ExitStatus))&QProcess::finished, this, &ScriptWriter::processFinished); - // Due to some random convenience output in the deploy scripts "set -x" has to be used to synchronize - QStringList args = elevate() << "/bin/sh" << "-x" << mScriptName << mAdditionalArgs; + QStringList args; + + if (mRoot) + args << elevate(); + args << "/bin/sh" << "-x" << mScriptName << mAdditionalArgs; qDebug() << "Executing" << args; -/* QProcessEnvironment pe ; - QString var = qgetenv("XDG_SESSION_COOKIE"); - pe.insert("XDG_SESSION_COOKIE", var); - var = qgetenv("HOME"); - pe.insert("HOME", var); - mProcess.setProcessEnvironment(pe); - */ mProcess.setProcessEnvironment(QProcessEnvironment::systemEnvironment()); mProcess.start(args.takeFirst(), args); @@ -140,3 +137,8 @@ void ScriptWriter::setAdditionalArgs(const QStringList &args) { mAdditionalArgs = args; } + +void ScriptWriter::setRootFlag(bool value) +{ + mRoot = value; +} |