Bug 771841 - yum does not respect specified versions in a complex repo
Summary: yum does not respect specified versions in a complex repo
Keywords:
Status: CLOSED EOL
Alias: None
Product: Fedora
Classification: Fedora
Component: yum
Version: 19
Hardware: Unspecified
OS: Unspecified
unspecified
unspecified
Target Milestone: ---
Assignee: Packaging Maintenance Team
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On:
Blocks: 741265 750616 839169
TreeView+ depends on / blocked
 
Reported: 2012-01-05 08:12 UTC by Michal Toman
Modified: 2015-03-23 00:41 UTC (History)
13 users (show)

Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed: 2015-02-17 14:01:44 UTC
Type: ---
Embargoed:


Attachments (Terms of Use)
specfiles for reproducer (461 bytes, application/x-gzip)
2012-01-05 09:14 UTC, Karel Srot
no flags Details

Description Michal Toman 2012-01-05 08:12:23 UTC
Description of problem:
The Retrace Server maintains a repository containing all versions of all packages for one release, that landed in either fedora, updates or updates-testing. This results in a much more complex repo that the traditional one. When trying to install a set of packages with specific versions (not the latest), yum often installs slightly different ones, even if the set is clearly resolvable within the repo.

Version-Release number of selected component (if applicable):
all (el6, f15, f16, rawhide)

How reproducible:
Always
See eg. bug #769152 or bug #767478 and look for nss: versions specified on the command line are different to the one installed by yum.

Actual results:
yum does not respect versions specified on the command line.

Expected results:
yum installs the specified versions if their dependencies can be resolved.

Additional info:
If you are not able to reproduce, I can share the repo.

Comment 1 Karel Srot 2012-01-05 09:14:15 UTC
Created attachment 550857 [details]
specfiles for reproducer

Reproducer:

1. build rpms from all attached specfiles and create a repo with all rpms.
2. # rpm -i pkgA-1.0-1.noarch.rpm pkgB-1.0-1.noarch.rpm
3. # yum update pkgA-1.0-2 pkgB

Loaded plugins: downloadonly, product-id, refresh-packagekit, rhnplugin, security, subscription-manager
Updating certificate-based repositories.
This system is not registered with RHN.
RHN Satellite or RHN Classic support will be disabled.
Setting up Update Process
Resolving Dependencies
--> Running transaction check
---> Package pkgA.noarch 0:1.0-1 will be updated
---> Package pkgA.noarch 0:1.0-2 will be an update
---> Package pkgB.noarch 0:1.0-1 will be updated
---> Package pkgB.noarch 0:1.0-2 will be an update
--> Processing Dependency: pkgC for package: pkgB-1.0-2.noarch
--> Running transaction check
---> Package pkgC.noarch 0:2.0-1 will be installed
--> Processing Dependency: pkgA >= 2.0 for package: pkgC-2.0-1.noarch
--> Running transaction check
---> Package pkgA.noarch 0:1.0-1 will be updated
---> Package pkgA.noarch 0:1.0-1 will be updated
---> Package pkgA.noarch 0:1.0-2 will be an update
---> Package pkgA.noarch 0:2.0-1 will be an update
--> Finished Dependency Resolution

Dependencies Resolved

==============================================================================================================
 Package                  Arch                       Version                   Repository                Size
==============================================================================================================
Updating:
 pkgB                     noarch                     1.0-2                     test                     1.4 k
Installing for dependencies:
 pkgC                     noarch                     2.0-1                     test                     1.4 k
Updating for dependencies:
 pkgA                     noarch                     2.0-1                     test                     1.4 k

Transaction Summary
==============================================================================================================
Install       1 Package(s)
Upgrade       2 Package(s)

Total download size: 4.1 k
Is this ok [y/N]:

Comment 2 Jiri Moskovcak 2012-01-05 09:32:37 UTC
I'm not sure about the testcase, we're not interested in update, but in install. I think $ yum update pkgA-1.0.2 can legitimately update to pkgA-2.0-1, but 
$ yum install pkgA-1.0-1 pkgB ; should respect the specified version and never replace it in transaction.

Comment 3 Jiri Moskovcak 2012-09-12 07:11:30 UTC
Ping any news? This bug is a big issues for the retrace server and sicne we use it as the default more and more user are complaining about it?

Comment 4 James Antill 2012-09-12 13:51:26 UTC
 You can use: yum upgrade-to pkgA-1.0-2 pkgB ... which does what you want.

 I can see the desire for install to use upgrade-to instead of upgrade ... and while that would also be a back compat. break, it might be worthwhile.

Comment 5 Jiri Moskovcak 2012-09-12 14:04:58 UTC
The real use case which fails this way is when we're installing the root using mock. So to use your workaround would mean to make mock to use upgrade-to instead of --installroot.

Comment 6 Jiri Moskovcak 2012-09-18 11:42:58 UTC
There was no way yum in it's current state could do the work for us, so we wrote our own chroot installer.

Comment 7 Fedora End Of Life 2013-04-03 17:37:35 UTC
This bug appears to have been reported against 'rawhide' during the Fedora 19 development cycle.
Changing version to '19'.

(As we did not run this process for some time, it could affect also pre-Fedora 19 development
cycle bugs. We are very sorry. It will help us with cleanup during Fedora 19 End Of Life. Thank you.)

More information and reason for this action is here:
https://fedoraproject.org/wiki/BugZappers/HouseKeeping/Fedora19

Comment 8 Fedora End Of Life 2015-01-09 16:55:42 UTC
This message is a notice that Fedora 19 is now at end of life. Fedora 
has stopped maintaining and issuing updates for Fedora 19. It is 
Fedora's policy to close all bug reports from releases that are no 
longer maintained. Approximately 4 (four) weeks from now this bug will
be closed as EOL if it remains open with a Fedora 'version' of '19'.

Package Maintainer: If you wish for this bug to remain open because you
plan to fix it in a currently maintained version, simply change the 'version' 
to a later Fedora version.

Thank you for reporting this issue and we are sorry that we were not 
able to fix it before Fedora 19 is end of life. If you would still like 
to see this bug fixed and are able to reproduce it against a later version 
of Fedora, you are encouraged  change the 'version' to a later Fedora 
version prior this bug is closed as described in the policy above.

Although we aim to fix as many bugs as possible during every release's 
lifetime, sometimes those efforts are overtaken by events. Often a 
more recent Fedora release includes newer upstream software that fixes 
bugs or makes them obsolete.

Comment 9 Fedora End Of Life 2015-02-17 14:01:44 UTC
Fedora 19 changed to end-of-life (EOL) status on 2015-01-06. Fedora 19 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.