rpm-software-management/yum

repo_gpgcheck=1 breaks Yum's progress output

OhNoMoreGit opened this issue · 1 comments

I'm not sure if this is a yum bug or a urlgrabber bug.

When repo_gpgcheck=1 is set on a repository, Yum's progress indicators for the repomd.xml and repomd.xml.asc files are broken:

# yum clean metadata
Loaded plugins: auto-update-debuginfo, priorities, versionlock
Cleaning repos: base extras updates
13 metadata files removed
6 sqlite files removed
0 metadata files removed

# yum check-update
Loaded plugins: auto-update-debuginfo, priorities, versionlock
base/7/x86_64/signature                                  |  811 B     00:00     
base/7/x86_64/signature                                  | 3.6 kB     00:00 !!! 
extras/7/x86_64/signature                                |  811 B     00:00     
extras/7/x86_64/signature                                | 3.4 kB     00:00 !!! 
updates/7/x86_64/signature                               |  811 B     00:00     
updates/7/x86_64/signature                               | 3.4 kB     00:00 !!! 
(1/4): base/7/x86_64/group_gz                              | 166 kB   00:00     
(2/4): extras/7/x86_64/primary_db                          | 150 kB   00:00     
(3/4): updates/7/x86_64/primary_db                         | 3.6 MB   00:00     
(4/4): base/7/x86_64/primary_db                            | 5.9 MB   00:00     
...

We expect to see two lines per repository, the first (e.g. base/7/x86_64) being the repomd.xml file, and the second (e.g. base/7/x86_64/signature) being the repomd.xml.asc file.

Instead it looks like the repomd.xml.asc progress indication comes first, and the repomd.xml progress indication has the wrong name, right size, but !!! appended to indicate Yum thought it got the wrong size.

These errors are purely cosmetic, but they are confusing. I expect more people are going to be confused by them since CentOS recently published a blog post on this feature, and they may start shipping repository files with repo_gpgcheck=1 enabled by default.

My hunch is that this problem is due to the the checkfunc function for the repomd.xml itself recursing back into urlgrabber to get the repomd.xml.asc, but I don't understand the code well enough to be sure of this.

dmnks commented

Thank you for the report. However, please note that this project has been deprecated and is no longer maintained upstream. Please consider migrating to DNF which is the successor of YUM. That said, I’ll close this issue now.