summaryrefslogtreecommitdiff
path: root/bin
diff options
context:
space:
mode:
authorrbu <rbu@gentoo.org>2009-08-18 17:47:20 +0000
committerrbu <rbu@gentoo.org>2009-08-18 17:47:20 +0000
commit72ba7b1274faf37451b1641ee51140f53f4b7098 (patch)
tree11e4506f2e26d68d087644e3e992b15347a55558 /bin
parent232d69fa230abb490e0b0f8eef550f28745be6a3 (diff)
downloadgentoolkit-72ba7b1274faf37451b1641ee51140f53f4b7098.tar.gz
Make --pretend output in glsa-check nicer. Add colors and fix linebreaks.
svn path=/trunk/gentoolkit/; revision=670
Diffstat (limited to 'bin')
-rwxr-xr-xbin/glsa-check21
1 files changed, 15 insertions, 6 deletions
diff --git a/bin/glsa-check b/bin/glsa-check
index a66371c..9f2e344 100755
--- a/bin/glsa-check
+++ b/bin/glsa-check
@@ -298,13 +298,22 @@ if mode in ["dump", "fix", "inject", "pretend"]:
for (vuln, update) in myglsa.getAffectionTable(least_change=least_change):
mergedict.setdefault(update, []).append(vuln)
- sys.stdout.write(">>> The following updates will be performed for this GLSA:\n")
- for pkg in mergedict:
- if pkg != "":
- sys.stdout.write(" " + pkg + " (vulnerable: " + ", ".join(mergedict[pkg]) + ")\n")
+ # first, extract the atoms that cannot be upgraded (where key == "")
+ no_upgrades = []
if "" in mergedict:
- sys.stdout.write("\n>>> For the following packages, no upgrade path exists:\n")
- sys.stdout.write(" " + ", ".join(mergedict[""]))
+ no_upgrades = mergedict[""]
+ del mergedict[""]
+
+ # see if anything is left that can be upgraded
+ if mergedict:
+ sys.stdout.write(">>> Updates that will be performed:\n")
+ for (upd, vuln) in mergedict.iteritems():
+ sys.stdout.write(" " + green(upd) + " (vulnerable: " + red(", ".join(vuln)) + ")\n")
+
+ if no_upgrades:
+ sys.stdout.write(">>> No upgrade path exists for these packages:\n")
+ sys.stdout.write(" " + red(", ".join(no_upgrades)) + "\n")
+ sys.stdout.write("\n")
elif mode == "inject":
sys.stdout.write("injecting " + myid + "\n")
myglsa.inject()