Skip to content

ignore-pip-unversioned-pkgs #4097

@rmfrankch

Description

@rmfrankch

Summary

ignore-pip-unversioned-pkgs config option has the opposite effect to what
its name implies. Instead of ignoring packages, it adds them to the
unversioned_packages set that is checked.

EasyBuild version

EasyBuild 5.2.1

Relevant code

easybuild/easyblocks/p/python.py, lines 198-199:

if build_option('ignore_pip_unversioned_pkgs'):
    unversioned_packages.update(build_option('ignore_pip_unversioned_pkgs'))

.update() adds to the set. It should be .difference_update() to
actually exclude those packages from the check.

To reproduce

  1. Have Ubuntu system packages with 0.0.0 pip stubs (e.g. brz-etckeeper,
    screen-resolution-extra, ubuntu-drivers-common, xkit) present in
    the system Python.
  2. Set ignore-pip-unversioned-pkgs = brz-etckeeper,... in easybuild.cfg.
  3. Build Python/3.13.5-GCCcore-14.3.0 — it fails in sanity check because
    those packages are not present in the newly built Python, even though they
    were explicitly listed to be ignored.

Expected behaviour

Packages listed in ignore-pip-unversioned-pkgs should be skipped in the
sanity check.

Suggested fix

Change line 199 from .update() to .difference_update().

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions