From 5a9a189512a050cbf1418e0dd315e47a4e8bb0d2 Mon Sep 17 00:00:00 2001 From: Bernd Wachter Date: Sun, 7 Apr 2013 00:14:06 +0300 Subject: [PATCH] Warn if kickstarter can't write kickstart file --- rpm/ssu.changes | 5 +++++ rpm/ssu.spec | 2 +- ssuks/ssukickstarter.cpp | 21 +++++++++++++++------ 3 files changed, 21 insertions(+), 7 deletions(-) diff --git a/rpm/ssu.changes b/rpm/ssu.changes index 902d85a..dd760a0 100644 --- a/rpm/ssu.changes +++ b/rpm/ssu.changes @@ -1,3 +1,8 @@ +* Sat Apr 06 2013 Bernd Wachter - 0.31.3 +- Add warning when updating repos as non-root to ssu cli +- Rewrite repo files on flavour, release and mode changes +- Warn if kickstarter can't write kickstart file + * Fri Apr 05 2013 Bernd Wachter - 0.31.2 - Add DisplayName for imager diff --git a/rpm/ssu.spec b/rpm/ssu.spec index f8c7f43..b324015 100644 --- a/rpm/ssu.spec +++ b/rpm/ssu.spec @@ -1,5 +1,5 @@ Name: ssu -Version: 0.31.2 +Version: 0.31.3 Release: 1 Summary: SSU enabler for RND Group: System/Base diff --git a/ssuks/ssukickstarter.cpp b/ssuks/ssukickstarter.cpp index e3be040..f7473f0 100644 --- a/ssuks/ssukickstarter.cpp +++ b/ssuks/ssukickstarter.cpp @@ -218,23 +218,32 @@ bool SsuKickstarter::write(QString kickstart){ if (!repoOverride.contains("deviceModel")) repoOverride.insert("deviceModel", deviceInfo.deviceModel()); + bool opened = false; + QString outputDir = repoOverride.value("outputdir"); + if (!outputDir.isEmpty()) outputDir.append("/"); + if (kickstart.isEmpty()){ if (repoOverride.contains("filename")){ - QString fileName = QString("%1/%2") - .arg(repoOverride.value("outputdir")) + QString fileName = QString("%1%2") + .arg(outputDir) .arg(var.resolveString(repoOverride.value("filename"), &repoOverride)); ks.setFileName(fileName); - ks.open(QIODevice::WriteOnly); + opened = ks.open(QIODevice::WriteOnly); } else { qerr << "No filename specified, and no default filename configured" << endl; return false; } } else if (kickstart == "-") - ks.open(stdout, QIODevice::WriteOnly); + opened = ks.open(stdout, QIODevice::WriteOnly); else { - ks.setFileName(repoOverride.value("outputdir") + kickstart); - ks.open(QIODevice::WriteOnly); + ks.setFileName(outputDir + kickstart); + opened = ks.open(QIODevice::WriteOnly); + } + + if (!opened) { + qerr << "Unable to write output file " << ks.fileName() << ": " << ks.errorString() << endl; + return false; } QString displayName = QString("# DisplayName: %1 %2/%3 (%4) %5")