Check if opkg_command failed, and if this is the case, stop the
update-process without showing a wrong UPDATE-SUCCESS.
This commit is contained in:
parent
bdcb073bf8
commit
0d353cfbcf
44
worker.cpp
44
worker.cpp
@ -795,39 +795,47 @@ bool Worker::updateFiles(quint8 percent) {
|
|||||||
if (f.exists()) {
|
if (f.exists()) {
|
||||||
if (f.open(QIODevice::ReadOnly)) {
|
if (f.open(QIODevice::ReadOnly)) {
|
||||||
QTextStream in(&f);
|
QTextStream in(&f);
|
||||||
int cmdCount = 0;
|
|
||||||
QStringList opkgCommands;
|
QStringList opkgCommands;
|
||||||
|
bool executeOpkgCommandFailed = false;
|
||||||
while (!in.atEnd()) {
|
while (!in.atEnd()) {
|
||||||
QString line = in.readLine();
|
QString line = in.readLine();
|
||||||
static const QRegularExpression comment("^\\s*#.*$");
|
static const QRegularExpression comment("^\\s*#.*$");
|
||||||
if (line.indexOf(comment, 0) == -1) {
|
if (line.indexOf(comment, 0) == -1) {
|
||||||
// found opkg command
|
// found opkg command
|
||||||
QString opkgCommand = line.trimmed();
|
QString opkgCommand = line.trimmed();
|
||||||
++cmdCount;
|
if (!executeOpkgCommand(opkgCommand)) {
|
||||||
executeOpkgCommand(opkgCommand);
|
executeOpkgCommandFailed = true;
|
||||||
QString cmd = "\n " + opkgCommand;
|
} else {
|
||||||
emit appendText(cmd);
|
QString cmd = "\n " + opkgCommand;
|
||||||
opkgCommands << cmd;
|
emit appendText(cmd);
|
||||||
|
opkgCommands << cmd;
|
||||||
|
|
||||||
m_ismasClient.setProgressInPercent(++percent);
|
m_ismasClient.setProgressInPercent(++percent);
|
||||||
m_updateStatus = UpdateStatus(UPDATE_STATUS::EXEC_OPKG_COMMAND,
|
m_updateStatus = UpdateStatus(UPDATE_STATUS::EXEC_OPKG_COMMAND,
|
||||||
QString("EXEC OPKG-COMMAND ") + opkgCommand);
|
QString("EXEC OPKG-COMMAND ") + opkgCommand);
|
||||||
IsmasClient::sendRequestReceiveResponse(IsmasClient::APISM::DB_PORT,
|
IsmasClient::sendRequestReceiveResponse(IsmasClient::APISM::DB_PORT,
|
||||||
QString("#M=APISM#C=CMD_EVENT#J=") +
|
QString("#M=APISM#C=CMD_EVENT#J=") +
|
||||||
m_ismasClient.execOpkgCommand(m_updateStatus.m_statusDescription, ""));
|
m_ismasClient.execOpkgCommand(m_updateStatus.m_statusDescription, ""));
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
f.close();
|
f.close();
|
||||||
if (cmdCount > 0) {
|
if (!executeOpkgCommandFailed) {
|
||||||
m_displayIndex = 1;
|
if (opkgCommands.size() > 0) {
|
||||||
QString prepend = QString("(") + QString("%1").arg(m_displayIndex).rightJustified(3, ' ') + QString(")")
|
m_displayIndex = 1;
|
||||||
+ QString(" Update opkg pakets ... ");
|
QString prepend = QString("(") + QString("%1").arg(m_displayIndex).rightJustified(3, ' ') + QString(")")
|
||||||
opkgCommands.prepend(prepend);
|
+ QString(" Update opkg pakets ... ");
|
||||||
emit replaceLast(opkgCommands, UPDATE_STEP_DONE);
|
opkgCommands.prepend(prepend);
|
||||||
|
emit replaceLast(opkgCommands, UPDATE_STEP_DONE);
|
||||||
|
}
|
||||||
} else {
|
} else {
|
||||||
m_displayIndex = 1;
|
m_displayIndex = 1;
|
||||||
emit replaceLast(QString("(") + QString("%1").arg(m_displayIndex).rightJustified(3, ' ') + QString(")")
|
emit replaceLast(QString("(") + QString("%1").arg(m_displayIndex).rightJustified(3, ' ') + QString(")")
|
||||||
+ QString(" Update opkg pakets ... "), UPDATE_STEP_FAIL);
|
+ QString(" Update opkg pakets ... "), UPDATE_STEP_FAIL);
|
||||||
|
|
||||||
|
stopProgressLoop();
|
||||||
|
setProgress(100);
|
||||||
|
return false;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user