Since 4.7.0 it is not possible to use a repository from mounted ISO image
Error calculating checksum /mnt/rhel-7-x86_64/Packages/fipscheck-1.4.1-6.el7.x86_64.rpm: (39, fsync failed: Invalid argument)
Package "fipscheck-1.4.1-6.el7.x86_64" from local repository "rhel-7" has incorrect checksum
Error calculating checksum /mnt/rhel-7-x86_64/Packages/fipscheck-lib-1.4.1-6.el7.x86_64.rpm: (39, fsync failed: Invalid argument)
Package "fipscheck-lib-1.4.1-6.el7.x86_64" from local repository "rhel-7" has incorrect checksum
Error calculating checksum /mnt/rhel-7-x86_64/Packages/git-184.108.40.206-23.el7_8.x86_64.rpm: (39, fsync failed: Invalid argument)
Package "git-220.127.116.11-23.el7_8.x86_64" from local repository "rhel-7" has incorrect checksum
Error calculating checksum /mnt/rhel-7-x86_64/Packages/less-458-9.el7.x86_64.rpm: (39, fsync failed: Invalid argument)
Package "less-458-9.el7.x86_64" from local repository "rhel-7" has incorrect checksum
Of course /mnt/rhel-7-x86_64 is a official RHEL 7.9 image
Downgrading to 4.6.1 solves this issue.
This is happening because dnf started using librepo for checksum computation and it doesn't handle readonly filesystems well.
I am proposing this patch as a fix: https://github.com/rpm-software-management/librepo/pull/245
This seems to have started affecting recent Rawhide composes.
Looking into the history, it seems like dnf 4.7.0 was tagged into Rawhide on 2021-04-15, but almost immediately untagged by Kevin:
Thu Apr 15 08:21:36 2021 dnf-4.7.0-1.fc35 tagged into f35 by bodhi
Thu Apr 15 10:37:13 2021 dnf-4.7.0-1.fc35 untagged from f35 by kevin
it never got tagged again, so Rawhide had 4.6.x until recently. 4.7.0-2.fc35 was tagged in as part of the Python 3.10 merge, I believe:
Mon Jun 7 15:08:44 2021 dnf-4.7.0-2.fc35 tagged into f35 by kevin [still active]
so that's why this has shown up now we're getting working composes again. Of course, because of Python 3.10, we can't just untag it again. We'd need to build 4.6.x for Rawhide, or backport the librepo fix, I guess. I guess I'll try backporting the librepo fix, seems like that would be the way to go.
Adam we are doing a rebase of the whole dnf stack today (also for rawhide) which includes a new librepo 1.14.1 that will contain the fix. I think you don't have to do the backporting.
OK, sounds good - thanks for the heads up, we'll just wait for that.
FEDORA-2021-78c5f8c03d has been pushed to the Fedora 35 stable repository.
If problem still persists, please make note of it in this bug report.