actionless / pikaur

AUR helper with minimal dependencies. Review PKGBUILDs all in once, next build them all without user interaction.
GNU General Public License v3.0
875 stars 89 forks source link

pikaur broken after Arch Linux upgrade #845

Closed siroccal closed 1 month ago

siroccal commented 1 month ago
pikaur -Vq
Can't even run, but both 1.29.1-1 from the AUR and the latest (manual) git version are affected.
Description:

pikaur crashes immediately with NotImplementedError while doing anything, even just doing pikaur -Vq. It might have something to do with the latest Arch Linux update to python 3.12.7-1, but I'm not sure.

Attached log:
$ pikaur --version
Traceback (most recent call last):
  File "/usr/bin/pikaur", line 41, in <module>
    main()
  File "/usr/lib/python3.12/site-packages/pikaur/main.py", line 518, in main
    with wrapper():
         ^^^^^^^^^
  File "/usr/lib/python3.12/site-packages/pikaur/main.py", line 107, in __enter__
    logger.debug(
  File "/usr/lib/python3.12/site-packages/pikaur/logging_extras.py", line 81, in debug
    msg = f"{color_line(self.module_name, self.color)}: {' ' * indent}{str_message}"
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.12/site-packages/pikaur/pikaprint.py", line 189, in color_line
    if not color_enabled() and not force:
           ^^^^^^^^^^^^^^^
  File "/usr/lib/python3.12/site-packages/pikaur/pikaprint.py", line 91, in color_enabled
    args = parse_args()
           ^^^^^^^^^^^^
  File "/usr/lib/python3.12/site-packages/pikaur/args.py", line 819, in parse_args
    parsed_args, _help = _parse_args(args=args)
                         ^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.12/site-packages/pikaur/args.py", line 778, in _parse_args
    parser, help_msgs = get_parser_for_action(app=app_name, args=args)
                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.12/site-packages/pikaur/args.py", line 737, in get_parser_for_action
    parsed_action = parser.parse_pikaur_args(args)
                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.12/site-packages/pikaur/args.py", line 623, in parse_pikaur_args
    parsed_args, unknown_args = self.parse_known_args(raw_args)
                                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.12/argparse.py", line 1931, in parse_known_args
    namespace, args = self._parse_known_args(args, namespace)
                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.12/site-packages/pikaur/argparse_extras.py", line 251, in _parse_known_args
    start_index = consume_optional(start_index)
                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.12/site-packages/pikaur/argparse_extras.py", line 107, in consume_optional
    raise NotImplementedError
NotImplementedError
saltyiceteamaker commented 1 month ago

can confirm that this issue is not only on your side. have exactly the same issue

actionless commented 1 month ago

yup, python again (!) decided to do a major rewrite in the argparser within a major.minor.patch release level

so, to avoid such situations during upgrading the system it's recommended to have pikaur-static installed, which doesn't depend on python (or pyalpm) and doesn't conflict with the regular pikaur installation

you can download it from the releases page (or downgrade python to 3.12.6, build+install pikaur-static from aur, upgrade python to 3.12.7)


i suppose the info from this message need to be rephrased for including to README/FAQ, but i'm lazy