1 |
This patch is a forward port of the following commit: |
2 |
|
3 |
https://gitweb.gentoo.org/proj/gentoolkit.git/commit/?id=72ba7b1274faf37451b1641ee51140f53f4b7098 |
4 |
|
5 |
commit 72ba7b1274faf37451b1641ee51140f53f4b7098 |
6 |
Author: rbu <rbu@g.o> |
7 |
AuthorDate: 2009-08-18 17:47:20 +0000 |
8 |
Commit: rbu <rbu@g.o> |
9 |
CommitDate: 2009-08-18 17:47:20 +0000 |
10 |
|
11 |
Make --pretend output in glsa-check nicer. Add colors and fix linebreaks. |
12 |
|
13 |
svn path=/trunk/gentoolkit/; revision=670 |
14 |
|
15 |
Bug: https://bugs.gentoo.org/693088 |
16 |
Signed-off-by: Zac Medico <zmedico@g.o> |
17 |
--- |
18 |
bin/glsa-check | 20 +++++++++++++++----- |
19 |
1 file changed, 15 insertions(+), 5 deletions(-) |
20 |
|
21 |
diff --git a/bin/glsa-check b/bin/glsa-check |
22 |
index 3502812d9..bf81eca63 100755 |
23 |
--- a/bin/glsa-check |
24 |
+++ b/bin/glsa-check |
25 |
@@ -263,13 +263,23 @@ if mode in ["dump", "fix", "inject", "pretend"]: |
26 |
for (vuln, update) in myglsa.getAffectionTable(least_change=least_change): |
27 |
mergedict.setdefault(update, []).append(vuln) |
28 |
|
29 |
+ # first, extract the atoms that cannot be upgraded (where key == "") |
30 |
+ no_upgrades = [] |
31 |
sys.stdout.write(">>> The following updates will be performed for this GLSA:\n") |
32 |
- for pkg in mergedict: |
33 |
- if pkg != "": |
34 |
- sys.stdout.write(" " + pkg + " (vulnerable: " + ", ".join(mergedict[pkg]) + ")\n") |
35 |
if "" in mergedict: |
36 |
- sys.stdout.write("\n>>> For the following packages, no upgrade path exists:\n") |
37 |
- sys.stdout.write(" " + ", ".join(mergedict[""])) |
38 |
+ no_upgrades = mergedict[""] |
39 |
+ del mergedict[""] |
40 |
+ |
41 |
+ # see if anything is left that can be upgraded |
42 |
+ if mergedict: |
43 |
+ sys.stdout.write(">>> Updates that will be performed:\n") |
44 |
+ for (upd, vuln) in mergedict.items(): |
45 |
+ sys.stdout.write(" " + green(upd) + " (vulnerable: " + red(", ".join(vuln)) + ")\n") |
46 |
+ |
47 |
+ if no_upgrades: |
48 |
+ sys.stdout.write(">>> No upgrade path exists for these packages:\n") |
49 |
+ sys.stdout.write(" " + red(", ".join(no_upgrades)) + "\n") |
50 |
+ sys.stdout.write("\n") |
51 |
elif mode == "inject": |
52 |
sys.stdout.write("injecting " + myid + "\n") |
53 |
myglsa.inject() |
54 |
-- |
55 |
2.21.0 |