Page MenuHomeSoftware Heritage

Synthesize release objects for all upstream things that match the concept of a release
Open, NormalPublic

Description

During the discussion about the branch name convention for the mercurial loader snapshots, in D409#8432, @zack pointed out that the way we're avoiding synthesizing release objects for what our origins consider releases (for instance, lightweight git tags, PyPI/Debian packages, ...) is showing a two-fold problem:

  • it corrupts the fundamental Software Heritage data model for releases, by not tagging (heh) some objects that origins have marked as such
  • it therefore makes the UX confusing, by forcing our consumers to mix and match branch name conventions, origin-specific knowledge of the snapshot format, and the odd actual release objects to find software releases.

The consensus seems to be that we should

  • extend the release object data model to allow it to store arbitrary, intrinsic metadata
  • synthesize release objects for tarballs, Debian and PyPI packages
  • update the user interface to support the updated data model (most notably making sure direct release -> directory links can be resolved properly)

This meta-task will track the progress towards solving this issue