
A few days ago I tried to upgrade my home theatre PC (HTPC) running Arch Linux using pikaur. To my surprise pikaur failed with a TypeError message, for the most part this just simply doesn’t happen. I didn’t think much of it as I just re-install pikaur and carried on my way. The next day I experienced the same issue again on my main system. This time I decided I would venture out to understand the situation better.
Environment
Tested using the following…
- Arch Linux x86_64
- Fish v3.5.1
- GNU bash v5.1.16
- Pikaur v1.13.2
Assumptions
- Steps prefixed with a “$” (dollar sign) represents the CLI (command-line interface) prompt
- The text after the “$” is to be entered at the CLI
- Understanding how to use an AUR helper (e.g. Pikaur)
Problem
When running the following pikaur command a TypeError message is returned.
$ pikaur -Syu 1634ms 2022-11-30 13:04:32 - m:Nov d:Wed w:48
[sudo] password for adam:
:: Synchronizing package databases...
core is up to date
extra is up to date
community 7.2 MiB 6.85 MiB/s 00:01 [###############################################] 100%
multilib is up to date
:: Starting full AUR upgrade...
Reading repository package databases...
Reading local package database...
Reading AUR packages info...
Traceback (most recent call last):
File "/usr/bin/pikaur", line 36, in <module>
main()
File "/usr/lib/python3.10/site-packages/pikaur/main.py", line 328, in main
cli_entry_point()
File "/usr/lib/python3.10/site-packages/pikaur/main.py", line 245, in cli_entry_point
run_with_sudo_loop(pikaur_operation)
File "/usr/lib/python3.10/site-packages/pikaur/core.py", line 365, in run_with_sudo_loop
raise catched_exc
File "/usr/lib/python3.10/site-packages/pikaur/core.py", line 359, in run_with_sudo_loop
result = main_thread.get()
File "/usr/lib/python3.10/multiprocessing/pool.py", line 774, in get
raise self._value
File "/usr/lib/python3.10/multiprocessing/pool.py", line 125, in worker
result = (True, func(*args, **kwds))
File "/usr/lib/python3.10/site-packages/pikaur/main.py", line 91, in cli_install_packages
InstallPackagesCLI()
File "/usr/lib/python3.10/site-packages/pikaur/install_cli.py", line 163, in __init__
self.main_sequence()
File "/usr/lib/python3.10/site-packages/pikaur/install_cli.py", line 170, in main_sequence
self.get_all_packages_info()
File "/usr/lib/python3.10/site-packages/pikaur/install_cli.py", line 251, in get_all_packages_info
self.install_info = InstallInfoFetcher(
File "/usr/lib/python3.10/site-packages/pikaur/install_info_fetcher.py", line 69, in __init__
self.get_all_packages_info()
File "/usr/lib/python3.10/site-packages/pikaur/install_info_fetcher.py", line 211, in get_all_packages_info
self.get_aur_pkgs_info(self.not_found_repo_pkgs_names)
File "/usr/lib/python3.10/site-packages/pikaur/install_info_fetcher.py", line 464, in get_aur_pkgs_info
aur_updates_list, not_found_aur_pkgs = find_aur_updates()
File "/usr/lib/python3.10/site-packages/pikaur/updates.py", line 122, in find_aur_updates
aur_pkgs_info, not_found_aur_pkgs = find_aur_packages(package_names)
File "/usr/lib/python3.10/site-packages/pikaur/aur.py", line 176, in find_aur_packages
results = [request.get() for request in requests]
File "/usr/lib/python3.10/site-packages/pikaur/aur.py", line 176, in <listcomp>
results = [request.get() for request in requests]
File "/usr/lib/python3.10/multiprocessing/pool.py", line 774, in get
raise self._value
File "/usr/lib/python3.10/multiprocessing/pool.py", line 125, in worker
result = (True, func(*args, **kwds))
File "/usr/lib/python3.10/site-packages/pikaur/aur.py", line 135, in aur_rpc_info_with_progress
result = aur_rpc_info(search_queries)
File "/usr/lib/python3.10/site-packages/pikaur/aur.py", line 125, in aur_rpc_info
return [
File "/usr/lib/python3.10/site-packages/pikaur/aur.py", line 126, in <listcomp>
AURPackageInfo(**{key.lower(): value for key, value in aur_json.items()})
File "/usr/lib/python3.10/site-packages/pikaur/aur.py", line 52, in __init__
super().__init__(**kwargs)
File "/usr/lib/python3.10/site-packages/pikaur/core.py", line 84, in __init__
setattr(self, key, value)
File "/usr/lib/python3.10/site-packages/pikaur/core.py", line 98, in __setattr__
raise TypeError(
TypeError: 'AURPackageInfo' does not have attribute 'submitter'
Solution
Simply re-install pikaur following my knowledge base article, Arch Linux Install AUR Helper. Once this has been completed pikaur will function again as normal.
I found confirmation from pikaur project issue #680, TypeError: ‘AURPackageInfo’ does not have attribute ‘submitter’. I was not able to figure out anything more on the direct cause of the error.
After the re-install of pikaur I have the following version.
$ pikaur --version
Pikaur v1.14.5.r1.g40c98ca
This is post 39 of 100, and is round 2 of the 100 Days To Offload challenge.
References
- Arch Linux Install AUR Helper, KB article
- Arch User Repository, ArchWiki
- AUR Helpers, ArchWiki
- Pikaur project, Github
Changelog
-
- change topic
-
- change 100DaysToOffload message