Story #4458

Updated by ttereshc over 1 year ago

Support @metadata_checksum_type@ and @package_checksum_type@ options @checksum_type@ option at publish time.
These are This is one-time options option and are it's passed as a parameter for a publication creation @publish/@ API call.
@metadata_checksum_type@ It affects all the repodata, including primary.xml, repomd.xml, etc.
@package_checksum_type@ affects package checksum type in all repo metadata files.

Origin of checksum types and their precedence (at the top is the one which is used first if present and available):
- configuration at publish time (this story)
- a remote repo (store the checksum type from the remote source on the repository version model)

- Pulp default (sha256)

DNF supports different package checksum types in one repo. <pre>
if all_the_packages_in_a_repo_have_a_checksum_of_the_requested_type_available:
elif remote_repo_checksum_type_is_known and all_the_packages_in_a_repo_have_a_checksum_of_that_type_available:
use_sha256() or fail

Publication creation should never fail due to checksum type configuration. At least one checksum type is always available for a package See questions and it should discussion in the comments, the story will be used if the requested one updated when agreement is not available. reached what to do and how.