1 |
commit: 971546efe69394743584107c0657b62fb65ee163 |
2 |
Author: Zac Medico <zmedico <AT> gentoo <DOT> org> |
3 |
AuthorDate: Wed Apr 21 04:28:12 2021 +0000 |
4 |
Commit: Zac Medico <zmedico <AT> gentoo <DOT> org> |
5 |
CommitDate: Wed Apr 21 04:29:21 2021 +0000 |
6 |
URL: https://gitweb.gentoo.org/proj/portage.git/commit/?id=971546ef |
7 |
|
8 |
emerge: use parse_intermixed_args when available (bug 784566) |
9 |
|
10 |
The included unit test case previously failed with this error: |
11 |
|
12 |
emerge: error: unrecognized arguments: dev-libs/A |
13 |
|
14 |
Bug: https://bugs.gentoo.org/784566 |
15 |
Signed-off-by: Zac Medico <zmedico <AT> gentoo.org> |
16 |
|
17 |
lib/_emerge/main.py | 2 +- |
18 |
lib/portage/tests/emerge/test_simple.py | 10 +++++++++- |
19 |
2 files changed, 10 insertions(+), 2 deletions(-) |
20 |
|
21 |
diff --git a/lib/_emerge/main.py b/lib/_emerge/main.py |
22 |
index 31e690584..191be6479 100644 |
23 |
--- a/lib/_emerge/main.py |
24 |
+++ b/lib/_emerge/main.py |
25 |
@@ -834,7 +834,7 @@ def parse_opts(tmpcmdline, silent=False): |
26 |
|
27 |
tmpcmdline = insert_optional_args(tmpcmdline) |
28 |
|
29 |
- myoptions = parser.parse_args(args=tmpcmdline) |
30 |
+ myoptions = getattr(parser, "parse_intermixed_args", parser.parse_args)(args=tmpcmdline) |
31 |
|
32 |
if myoptions.alert in true_y: |
33 |
myoptions.alert = True |
34 |
|
35 |
diff --git a/lib/portage/tests/emerge/test_simple.py b/lib/portage/tests/emerge/test_simple.py |
36 |
index 6e282337f..5b110407f 100644 |
37 |
--- a/lib/portage/tests/emerge/test_simple.py |
38 |
+++ b/lib/portage/tests/emerge/test_simple.py |
39 |
@@ -1,6 +1,7 @@ |
40 |
# Copyright 2011-2021 Gentoo Authors |
41 |
# Distributed under the terms of the GNU General Public License v2 |
42 |
|
43 |
+import argparse |
44 |
import subprocess |
45 |
|
46 |
import portage |
47 |
@@ -289,7 +290,14 @@ call_has_and_best_version() { |
48 |
port=binhost_server.server_port, |
49 |
path=binhost_remote_path) |
50 |
|
51 |
- test_commands = ( |
52 |
+ test_commands = () |
53 |
+ |
54 |
+ if hasattr(argparse.ArgumentParser, "parse_intermixed_args"): |
55 |
+ test_commands += ( |
56 |
+ emerge_cmd + ("--oneshot", "dev-libs/A", "-v", "dev-libs/A"), |
57 |
+ ) |
58 |
+ |
59 |
+ test_commands += ( |
60 |
emerge_cmd + ("--usepkgonly", "--root", cross_root, "--quickpkg-direct=y", "--quickpkg-direct-root", "/", "dev-libs/A"), |
61 |
emerge_cmd + ("--usepkgonly", "--quickpkg-direct=y", "--quickpkg-direct-root", cross_root, "dev-libs/A"), |
62 |
env_update_cmd, |