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