Skip to content

New checksum listing with dictionaries leads to confusing errors if you forget to update them #4254

@Micket

Description

@Micket

From a PR which had forgotten to inject new checksums

name = 'VTK'
version = '9.2.6'
...
checksums = [
    {'VTK-9.2.2.tar.gz': '1c5b0a2be71fac96ff4831af69e350f7a0ea3168981f790c000709dcf9121075'},
    {'VTKData-9.2.2.tar.gz': '4b0ac438c77773ff741fd02c0e3b0dc1406b4c51e6cbe4e8304306fa125f27bf'},
    {'vtk-version.egg-info': '787b82415ae7a4a1f815b4db0e25f7abc809a05fc85d7d219627f3a7e5d3867b'},
]

with the problem being that they are mapping to the old versions (and, of course, the checksums being old as well.
They are technically correct for version 9.2.2 (so there isn't actually any errors here if one were to nitpick)

but it does lead to a very confusing error message

== 2023-05-05 17:55:58,351 build_log.py:171 ERROR EasyBuild crashed with an error (at easybuild/easybuild-framework/easybuild/base/exceptions.py:126 in __init__): Invalid checksum spec 'None', should be a string (MD5) or 2-tuple (type, value). (at easybuild/easybuild-framework/easybuild/tools/filetools.py:1306 in verify_checksum)

Invalid checksum spec 'None'? It should detect the lack of a checksum for the particular source and give a proper error for that specifically.

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions