Note: This is a public test instance of Red Hat Bugzilla. The data contained within is a snapshot of the live data so any changes you make will not be reflected in the production Bugzilla. Email is disabled so feel free to test any aspect of the site that you want. File any problems you find or give feedback at bugzilla.redhat.com.

Bug 1956361

Summary: version 4.7.0 cannot use ISO image as repository
Product: [Fedora] Fedora Reporter: Remi Collet <fedora>
Component: dnfAssignee: amatej
Status: CLOSED ERRATA QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: urgent Docs Contact:
Priority: unspecified    
Version: 33CC: amatej, awilliam, dmach, jmracek, jrohel, kevin, ldu, mblaha, mhatina, packaging-team-maint, paul, pkratoch, rpm-software-management, vmukhame
Target Milestone: ---Keywords: Triaged
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard: openqa
Fixed In Version: dnf-4.8.0-1.fc35 Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2021-06-15 07:21:39 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:

Description Remi Collet 2021-05-03 14:28:14 UTC
Since 4.7.0 it is not possible to use a repository from mounted ISO image

During mock:

...
Downloading Packages:
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-1.8.3.1-23.el7_8.x86_64.rpm: (39, fsync failed: Invalid argument)
Package "git-1.8.3.1-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.

Comment 1 amatej 2021-05-17 07:14:06 UTC
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

Comment 2 Adam Williamson 2021-06-15 01:55:59 UTC
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.

Comment 3 amatej 2021-06-15 05:54:01 UTC
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.

Comment 4 Adam Williamson 2021-06-15 06:04:22 UTC
OK, sounds good - thanks for the heads up, we'll just wait for that.

Comment 5 Fedora Update System 2021-06-15 07:21:39 UTC
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.