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 |