Skip to content

Backtrace when configuration file is not complete #752

Closed
@whxvd

Description

@whxvd
Pikaur v1.18.3
Pacman v6.0.2 - libalpm v13.0.2 - pyalpm v0.10.6

There is only one configuration setting in ~/.config/pikaur.conf that I wish to change. For all other settings I would like to use whatever the current pikaur defaults are. Hence, I tried setting ~/.config/pikaur.conf to just:

[misc]
privilegeescalationtarget = pacman

However, with that in place, e.g., pikaur --help produces the following output:

  File "/usr/lib/python3.11/site-packages/pikaur/main.py", line 416, in main
    check_runtime_deps()
  File "/usr/lib/python3.11/site-packages/pikaur/core.py", line 364, in check_runtime_deps
    privilege_escalation_tool = PikaurConfig().misc.PrivilegeEscalationTool.get_str()
                                ^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.11/site-packages/pikaur/config.py", line 672, in __getattr__
    return PikaurConfigSection(self.get_config()[attr])
                               ^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.11/site-packages/pikaur/config.py", line 607, in get_config
    cls.migrate_config()
  File "/usr/lib/python3.11/site-packages/pikaur/config.py", line 633, in migrate_config
    value_to_migrate = cls._config[section_name].get(option_name)
                       ~~~~~~~~~~~^^^^^^^^^^^^^^
  File "/usr/lib/python3.11/configparser.py", line 979, in __getitem__
    raise KeyError(key)

KeyError: 'build'

Expected: Either (1) no issue. Or (2) a non-backtrace error message explaining what the issue is. Maybe pikaur is not intended to support the usual kind of "partial" configuration (using built-in defaults for everything that is not specified).

Metadata

Metadata

Assignees

No one assigned

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions