aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorZac Medico <zmedico@gentoo.org>2019-08-30 15:41:08 -0700
committerZac Medico <zmedico@gentoo.org>2019-08-30 20:14:13 -0700
commitdb3bcdad84ea115ee94e20beb780713a1cf86839 (patch)
treed9bd40c56d857271c852ed4ddf3e9c4e11b513f5 /bin/glsa-check
parentglsa-check: Fix traceback with glsa-check -f (Bug 275105) (diff)
downloadportage-db3bcdad84ea115ee94e20beb780713a1cf86839.tar.gz
portage-db3bcdad84ea115ee94e20beb780713a1cf86839.tar.bz2
portage-db3bcdad84ea115ee94e20beb780713a1cf86839.zip
glsa-check: Make --pretend output nicer
This patch is a forward port of the following commit: https://gitweb.gentoo.org/proj/gentoolkit.git/commit/?id=72ba7b1274faf37451b1641ee51140f53f4b7098 commit 72ba7b1274faf37451b1641ee51140f53f4b7098 Author: rbu <rbu@gentoo.org> AuthorDate: 2009-08-18 17:47:20 +0000 Commit: rbu <rbu@gentoo.org> CommitDate: 2009-08-18 17:47:20 +0000 Make --pretend output in glsa-check nicer. Add colors and fix linebreaks. svn path=/trunk/gentoolkit/; revision=670 Bug: https://bugs.gentoo.org/693088 Acked-by: Aaron Bauman <bman@gentoo.org> Signed-off-by: Zac Medico <zmedico@gentoo.org>
Diffstat (limited to 'bin/glsa-check')
-rwxr-xr-xbin/glsa-check20
1 files changed, 15 insertions, 5 deletions
diff --git a/bin/glsa-check b/bin/glsa-check
index 3502812d9..bf81eca63 100755
--- a/bin/glsa-check
+++ b/bin/glsa-check
@@ -263,13 +263,23 @@ if mode in ["dump", "fix", "inject", "pretend"]:
for (vuln, update) in myglsa.getAffectionTable(least_change=least_change):
mergedict.setdefault(update, []).append(vuln)
+ # first, extract the atoms that cannot be upgraded (where key == "")
+ no_upgrades = []
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")
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.items():
+ 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()