I have a CI/CD pipeline to build various rpm packages.
Some packages are rebuilt from exactly the same source version as these are used as dependencies for building other packages (eg, gRPC requires Protobuf).
At the end of the CI/CD pipeline all RPM packages are uploaded to the Hosted repository.
This has the effect of redeploying the nearly the same RPM packages, their binary checksums can be different (eg, embedded timestamp in binaries) but most RPM metadata remains the same (package version)
I first noticed that I had problems when I hosted RPMs and SRPMs sharing the same repodata folder (
NEXUS-17884), I then re-created the repository and set a different repodepth so RPM and SRPM folders have their own repodata.
Upon the first upload of a package everything works fine, but after a package is uploaded again clients get :
[91mhttps://.../repository/linux/master/RPMS/x86_64/grpc-1.15.1-1.x86_64.rpm: [Errno -1] Package does not match intended download. Suggestion: run yum --enablerepo=linux clean metadata
[0m[91mTrying other mirror.
Note that there was no cached metadata, this occurs in a pristine centos 7 docker container.
I'm using the latest OSS version. I unfortunately did not save the (corrupt) repodata, but it should be easy enough to reproduce.