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 1251037 - repoclosure doesn't find undefined %epoch broken dep
Summary: repoclosure doesn't find undefined %epoch broken dep
Keywords:
Status: CLOSED EOL
Alias: None
Product: Fedora
Classification: Fedora
Component: createrepo
Version: 22
Hardware: Unspecified
OS: Unspecified
unspecified
unspecified
Target Milestone: ---
Assignee: Packaging Maintenance Team
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2015-08-06 12:55 UTC by Michael Schwendt
Modified: 2016-07-19 17:23 UTC (History)
4 users (show)

Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed: 2016-07-19 17:23:39 UTC
Type: Bug
Embargoed:


Attachments (Terms of Use)

Description Michael Schwendt 2015-08-06 12:55:31 UTC
As a followup to my thread on devel@ and test@ list with the subject "Undefined %epoch problem (Re: rawhide report: 20150730 changes)", Yum utils repoclosure has been confirmed as being the culprit, since it is still the tool that mash's spam-o-matic script relies on.

(!) Important: There is a fixed "blktap" build in updates-testing, so the problem is only reproducible as long as that fix is not pushed into "updates". In that case, it will be necessary to create a dummy broken package to include an undefined %epoch macro in a dependency again.

So, watch this (Fedora 22 x86_64):

# repoclosure 

Yum-utils package has been deprecated, use dnf instead.
See 'man yum2dnf' for more information.


Reading in repository metadata - please wait....
Checking Dependencies
Repos looked at: 3
   adobe-linux-x86_64
   fedora
   updates
Num Packages in Repos: 53025


Compare with:

# dnf install blktap-devel -y
Last metadata expiration check performed 0:21:15 ago on Thu Aug  6 14:33:51 2015.
Dependencies resolved.
===============================================================================================================================================
 Package                           Arch                        Version                                       Repository                   Size
===============================================================================================================================================
Installing:
 blktap                            x86_64                      3.0.0-2.fc22.git0.9.2                         fedora                      243 k
 blktap-devel                      x86_64                      3.0.0-2.fc22.git0.9.2                         fedora                       21 k

Transaction Summary
===============================================================================================================================================
Install  2 Packages

Total download size: 263 k
Installed size: 773 k
Downloading Packages:
(1/2): blktap-devel-3.0.0-2.fc22.git0.9.2.x86_64.rpm                                                           233 kB/s |  21 kB     00:00    
(2/2): blktap-3.0.0-2.fc22.git0.9.2.x86_64.rpm                                                                 970 kB/s | 243 kB     00:00    
-----------------------------------------------------------------------------------------------------------------------------------------------
Total                                                                                                          157 kB/s | 263 kB     00:01     
Running transaction check
Error: transaction check vs depsolve:
blktap(x86-64) = %{epoch}:3.0.0-2.fc22.git0.9.2 is needed by blktap-devel-3.0.0-2.fc22.git0.9.2.x86_64
To diagnose the problem, try running: 'rpm -Va --nofiles --nodigest'.
You probably have corrupted RPMDB, running 'rpm --rebuilddb' might fix the issue.
The downloaded packages were saved in cache till the next successful transaction.
You can remove cached packages by executing 'dnf clean packages'

Comment 1 Michael Schwendt 2015-08-06 13:05:43 UTC
Yum backend is affected, too:

# rpm -qf /usr/bin/yum-deprecated 
yum-3.4.3-505.fc22.noarch


# yum-deprecated install blktap-devel
Yum command has been deprecated, use dnf instead.
See 'man dnf' and 'man yum2dnf' for more information.

Resolving Dependencies
--> Running transaction check
---> Package blktap-devel.x86_64 0:3.0.0-2.fc22.git0.9.2 will be installed
--> Processing Dependency: blktap(x86-64) = 3.0.0-2.fc22.git0.9.2 for package: blktap-devel-3.0.0-2.fc22.git0.9.2.x86_64
--> Processing Dependency: libvhd.so.0()(64bit) for package: blktap-devel-3.0.0-2.fc22.git0.9.2.x86_64
--> Processing Dependency: libblktapctl.so.0()(64bit) for package: blktap-devel-3.0.0-2.fc22.git0.9.2.x86_64
--> Running transaction check
---> Package blktap.x86_64 0:3.0.0-2.fc22.git0.9.2 will be installed
--> Finished Dependency Resolution

Dependencies Resolved

======================================================================================================================
 Package                     Arch                  Version                                Repository             Size
======================================================================================================================
Installing:
 blktap-devel                x86_64                3.0.0-2.fc22.git0.9.2                  fedora                 21 k
Installing for dependencies:
 blktap                      x86_64                3.0.0-2.fc22.git0.9.2                  fedora                243 k

Transaction Summary
======================================================================================================================
Install  1 Package (+1 Dependent package)

Total download size: 263 k
Installed size: 773 k
Is this ok [y/d/N]: y
Downloading packages:
(1/2): blktap-3.0.0-2.fc22.git0.9.2.x86_64.rpm                                                 | 243 kB  00:00:00     
(2/2): blktap-devel-3.0.0-2.fc22.git0.9.2.x86_64.rpm                                           |  21 kB  00:00:00     
----------------------------------------------------------------------------------------------------------------------
Total                                                                                 793 kB/s | 263 kB  00:00:00     
Running transaction check
ERROR with transaction check vs depsolve:
blktap(x86-64) = %{epoch}:3.0.0-2.fc22.git0.9.2 is needed by blktap-devel-3.0.0-2.fc22.git0.9.2.x86_64
 You could try running: rpm -Va --nofiles --nodigest
Your transaction was saved, rerun it with:
 yum load-transaction /tmp/yum_save_tx.2015-08-06.15-03.s10MCj.yumtx

Comment 2 Michael Schwendt 2015-08-06 16:46:04 UTC
Followup to devel@ list. It's createrepo (and createrepo_c) that only understand numbers as Epochs due to relying on strtol() as parser. Any non-number, such as an undefined macro or a typo, results in a default Epoch 0 in the repodata.

Comment 3 Fedora End Of Life 2016-07-19 17:23:39 UTC
Fedora 22 changed to end-of-life (EOL) status on 2016-07-19. Fedora 22 is
no longer maintained, which means that it will not receive any further
security or bug fix updates. As a result we are closing this bug.

If you can reproduce this bug against a currently maintained version of
Fedora please feel free to reopen this bug against that version. If you
are unable to reopen this bug, please file a new report against the
current release. If you experience problems, please add a comment to this
bug.

Thank you for reporting this bug and we are sorry it could not be fixed.


Note You need to log in before you can comment on or make changes to this bug.