Gentoo Archives: gentoo-commits

From: Zac Medico <zmedico@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] proj/portage:master commit in: lib/portage/emaint/modules/merges/, man/
Date: Mon, 08 Feb 2021 01:06:08
Message-Id: 1612745897.443a108d545e79facd6916cbab38a10afdd212f2.zmedico@gentoo
1 commit: 443a108d545e79facd6916cbab38a10afdd212f2
2 Author: Zac Medico <zmedico <AT> gentoo <DOT> org>
3 AuthorDate: Sat Jan 23 23:33:57 2021 +0000
4 Commit: Zac Medico <zmedico <AT> gentoo <DOT> org>
5 CommitDate: Mon Feb 8 00:58:17 2021 +0000
6 URL: https://gitweb.gentoo.org/proj/portage.git/commit/?id=443a108d
7
8 emaint --fix merges: add -y, --yes option
9
10 Since the emaint --fix merges uses emerge --ask, add
11 a -y, --yes option to use --ask=n instead.
12
13 Bug: https://bugs.gentoo.org/766767
14 Reviewed-by: Brian Dolbec <dolsen <AT> gentoo.org>
15 Signed-off-by: Zac Medico <zmedico <AT> gentoo.org>
16
17 lib/portage/emaint/modules/merges/__init__.py | 14 ++++++++++++--
18 lib/portage/emaint/modules/merges/merges.py | 11 +++++++----
19 man/emaint.1 | 6 +++++-
20 3 files changed, 24 insertions(+), 7 deletions(-)
21
22 diff --git a/lib/portage/emaint/modules/merges/__init__.py b/lib/portage/emaint/modules/merges/__init__.py
23 index 89aa758a0..449f39dce 100644
24 --- a/lib/portage/emaint/modules/merges/__init__.py
25 +++ b/lib/portage/emaint/modules/merges/__init__.py
26 @@ -1,4 +1,4 @@
27 -# Copyright 2005-2014 Gentoo Foundation
28 +# Copyright 2005-2021 Gentoo Authors
29 # Distributed under the terms of the GNU General Public License v2
30
31 doc = """Scan for failed merges and fix them."""
32 @@ -26,7 +26,17 @@ module_spec = {
33 'action': 'store_true',
34 'func': 'purge'
35 }
36 - }
37 + },
38 + 'opt_desc': {
39 + 'yes': {
40 + "short": "-y",
41 + "long": "--yes",
42 + "help": ("(merges submodule only): Do not prompt for "
43 + "emerge invocations"),
44 + "action": "store_true",
45 + "dest": "yes",
46 + }
47 + },
48 }
49 }
50 }
51
52 diff --git a/lib/portage/emaint/modules/merges/merges.py b/lib/portage/emaint/modules/merges/merges.py
53 index 775dc59d2..d60916f1e 100644
54 --- a/lib/portage/emaint/modules/merges/merges.py
55 +++ b/lib/portage/emaint/modules/merges/merges.py
56 @@ -1,4 +1,4 @@
57 -# Copyright 2005-2020 Gentoo Authors
58 +# Copyright 2005-2021 Gentoo Authors
59 # Distributed under the terms of the GNU General Public License v2
60
61 import portage
62 @@ -186,7 +186,7 @@ class MergesHandler:
63 pkg_atoms.add(pkg_atom)
64
65
66 - def _emerge_pkg_atoms(self, module_output, pkg_atoms):
67 + def _emerge_pkg_atoms(self, module_output, pkg_atoms, yes=False):
68 """
69 Emerge the specified packages atoms.
70
71 @@ -194,6 +194,8 @@ class MergesHandler:
72 @type module_output: Class
73 @param pkg_atoms: packages atoms to emerge
74 @type pkg_atoms: set
75 + @param yes: do not prompt for emerge invocations
76 + @type yes: bool
77 @rtype: list
78 @return: List of results
79 """
80 @@ -206,7 +208,7 @@ class MergesHandler:
81 portage._python_interpreter,
82 '-b',
83 os.path.join(EPREFIX or '/', 'usr', 'bin', 'emerge'),
84 - '--ask',
85 + '--ask=n' if yes else '--ask',
86 '--quiet',
87 '--oneshot',
88 '--complete-graph=y'
89 @@ -265,7 +267,8 @@ class MergesHandler:
90 errors.append(', '.join(sorted(failed_pkgs)))
91 return (False, errors)
92 self._remove_failed_dirs(failed_pkgs)
93 - results = self._emerge_pkg_atoms(module_output, pkg_atoms)
94 + results = self._emerge_pkg_atoms(module_output, pkg_atoms,
95 + yes=kwargs.get('options', {}).get("yes", False))
96 # list any new failed merges
97 for pkg in sorted(self._scan()):
98 results.append("'%s' still found as a failed merge." % pkg)
99
100 diff --git a/man/emaint.1 b/man/emaint.1
101 index d244756e9..682487c74 100644
102 --- a/man/emaint.1
103 +++ b/man/emaint.1
104 @@ -1,4 +1,4 @@
105 -.TH "EMAINT" "1" "Jan 2017" "Portage VERSION" "Portage"
106 +.TH "EMAINT" "1" "Feb 2021" "Portage VERSION" "Portage"
107 .SH NAME
108 emaint \- performs package management related system health checks and maintenance
109 .SH SYNOPSIS
110 @@ -82,6 +82,10 @@ OPTION
111 .BR \-t \ \fINUM\fR,\ \-\-time \ \fINUM\fR
112 Changes the minimum age \fINUM\fR (in days) of the logs to be listed or
113 deleted.
114 +.SH OPTIONS merges command only
115 +.TP
116 +.BR \-y ", " \-\-yes
117 +Do not prompt for emerge invocations.
118 .SH OPTIONS sync command only
119 .TP
120 .BR \-a ", " \-\-auto