Gentoo Archives: gentoo-commits

From: Zac Medico <zmedico@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] proj/portage:master commit in: bin/
Date: Sat, 31 Aug 2019 03:42:42
Message-Id: 1567221253.db3bcdad84ea115ee94e20beb780713a1cf86839.zmedico@gentoo
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()