You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
~/gentoo/tooling/pkgdev $ pkgdev commit
Traceback (most recent call last):
File "/usr/lib/python-exec/python3.11/pkgdev", line 8, in <module>
sys.exit(main())
^^^^^^
File "/usr/lib/python3.11/site-packages/pkgdev/scripts/__init__.py", line 48, in main
run(os.path.basename(sys.argv[0]))
File "/usr/lib/python3.11/site-packages/pkgdev/scripts/__init__.py", line 40, in run
sys.exit(tool())
^^^^^^
File "/usr/lib/python3.11/site-packages/snakeoil/cli/tool.py", line 81, in __call__
ret = self.main()
^^^^^^^^^^^
File "/usr/lib/python3.11/site-packages/pkgdev/cli.py", line 23, in main
return super().main()
^^^^^^^^^^^^^^
File "/usr/lib/python3.11/site-packages/snakeoil/cli/tool.py", line 191, in main
self.handle_exec_exception(e)
File "/usr/lib/python3.11/site-packages/snakeoil/cli/tool.py", line 173, in main
self.options, func = self.parse_args(
^^^^^^^^^^^^^^^^
File "/usr/lib/python3.11/site-packages/snakeoil/cli/tool.py", line 128, in parse_args
self.handle_exec_exception(e)
File "/usr/lib/python3.11/site-packages/snakeoil/cli/tool.py", line 102, in parse_args
options = self.parser.parse_args(args=args, namespace=namespace)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3.11/site-packages/snakeoil/cli/arghparse.py", line 1260, in parse_args
args, unknown_args = self.parse_known_args(args, namespace)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3.11/site-packages/snakeoil/cli/arghparse.py", line 1247, in parse_known_args
namespace, args = self._parse_known_args(args, namespace)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3.11/argparse.py", line 2131, in _parse_known_args
stop_index = consume_positionals(start_index)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3.11/argparse.py", line 2087, in consume_positionals
take_action(action, args)
File "/usr/lib/python3.11/argparse.py", line 1983, in take_action
action(self, namespace, argument_values, option_string)
File "/usr/lib/python3.11/site-packages/snakeoil/cli/arghparse.py", line 539, in __call__
namespace, arg_strings = parser.parse_known_args(arg_strings, namespace)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3.11/site-packages/pkgdev/scripts/pkgdev_commit.py", line 40, in parse_known_args
namespace, args = super().parse_known_args(args, namespace)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3.11/site-packages/pkgdev/cli.py", line 137, in parse_known_args
namespace = config_parser.parse_config_options(
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3.11/site-packages/pkgdev/cli.py", line 95, in parse_config_options
namespace = self.parse_config_sections(namespace, ["DEFAULT"])
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3.11/site-packages/pkgdev/cli.py", line 79, in parse_config_sections
namespace, args = self.parser.parse_known_optionals(config_args, namespace)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3.11/site-packages/snakeoil/cli/arghparse.py", line 702, in parse_known_optionals
return self._parse_optionals(args, namespace)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3.11/site-packages/snakeoil/cli/arghparse.py", line 906, in _parse_optionals
start_index = consume_optional(start_index)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3.11/site-packages/snakeoil/cli/arghparse.py", line 777, in consume_optional
action, option_string, explicit_arg = option_tuple
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
ValueError: too many values to unpack (expected 3)
This doesn't actually need an ebuild repository to reproduce as the argument parsing seems to happen before actually trying to do any committing. Reverting to cpython 3.11.8 fixes it, this only happens (at least as far as I've seen) with 3.11.9. A cursory glance at the changes between 3.11.8 and 3.11.9 makes python/cpython@c02b7ae look interesting to me, but not yet certain.
The text was updated successfully, but these errors were encountered:
File "/usr/lib/python3.11/site-packages/snakeoil/cli/arghparse.py", line 702, in parse_known_optionals
return self._parse_optionals(args, namespace)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Actually, this seems to be the source of the issue. It's calling the internal ArgumentParser._parse_optional, the return value of which was changed with the aforementioned cpython commit. Reverting that commit locally fixes this and yields what I'd expect:
$ pkgdev commit
pkgdev commit: error: not in ebuild repo
This doesn't actually need an ebuild repository to reproduce as the argument parsing seems to happen before actually trying to do any committing. Reverting to cpython 3.11.8 fixes it, this only happens (at least as far as I've seen) with 3.11.9. A cursory glance at the changes between 3.11.8 and 3.11.9 makes python/cpython@c02b7ae look interesting to me, but not yet certain.
The text was updated successfully, but these errors were encountered: