Bug 998859 - "dnf upgrade --best" will always install 64bits package when 32bit package is installed
Summary: "dnf upgrade --best" will always install 64bits package when 32bit package is...
Alias: None
Product: Fedora
Classification: Fedora
Component: hawkey   
(Show other bugs)
Version: 19
Hardware: Unspecified
OS: Unspecified
Target Milestone: ---
Assignee: Ales Kozumplik
QA Contact: Fedora Extras Quality Assurance
Depends On:
TreeView+ depends on / blocked
Reported: 2013-08-20 09:00 UTC by Miroslav Suchý
Modified: 2014-09-30 23:41 UTC (History)
5 users (show)

Fixed In Version: hawkey-0.3.17
Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
Last Closed: 2013-10-25 07:13:37 UTC
Type: Bug
Regression: ---
Mount Type: ---
Documentation: ---
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---

Attachments (Terms of Use)
debug data of "dnf upgrade --best --debugsolver tslib" (5.83 MB, application/gzip)
2013-08-20 10:36 UTC, Miroslav Suchý
no flags Details

Description Miroslav Suchý 2013-08-20 09:00:52 UTC
Description of problem:
On x86_64 machine when I install i686 variant of package and will run "dnf upgrade" yum will install x86_64 version of that package as well.
I encountered this when I installed Steam, which requires 32 bits packages and I really do not need some 64 bits variants.

Version-Release number of selected component (if applicable):

How reproducible:

Steps to Reproduce:
1. install: tslib-1.0-6.fc19.i686 (or simply latest 32 variant of this package)
2. yum upgrade (nothing to upgrade)
3. dnf upgrade (nothing to upgrade)
4. dnf upgrade --best

Actual results:
Will install tslib-1.0-6.fc19.x86_64

Expected results:
Nothing to upgrade.

Comment 1 Miroslav Suchý 2013-08-20 10:36:44 UTC
Created attachment 788410 [details]
debug data of "dnf upgrade --best --debugsolver tslib"

Comment 2 Ales Kozumplik 2013-08-20 11:17:49 UTC

this boils down to the following:

repo system 0 testtags <inline>
#>=Ver: 2.0
#>=Pkg: c 25 1 i686
repo available 0 testtags <inline>
#>=Ver: 2.0
#>=Pkg: c 25 1 x86_64

poolflags implicitobsoleteusescolors
system x86_64 rpm system

job update name c [forcebest]

result transaction,problems <inline>
#>install c-25-1.x86_64@available

I even think it's the expected behavior. The question is what can libsolv do here: if not much then I'll just document this as the expected behavior of --best.

Comment 3 Michael Schröder 2013-08-20 11:48:22 UTC
Well, c-25-1.x86_64 *is* the best package. It's a bit unfortunate that c-25-1.i686 does not get erased with the "update", though.

As to what libsolv can do, you can set the "SOLVER_FLAG_BEST_OBEY_POLICY"
flag to make the "best" selection obey update policy rules, i.e. to make the
architecture "stick". I didn't make that the default, because then people complain that the "best" package does not get chosen. The idea was to provide a "--best" and a "--really-best" or something ;)

Comment 4 Ales Kozumplik 2013-08-20 13:23:33 UTC
Thanks Michael, the flag to distinguish best/really-best was exactly what I was looking for (yet afraid to ask for it to be added).

Comment 5 Ales Kozumplik 2013-08-20 13:25:56 UTC
Fixed by eb0d437, will be available in hawkey-0.3.17.

Thanks for reporting this Miroslav.

Comment 6 Fedora Update System 2013-09-16 13:40:34 UTC
dnf-0.4.1-1.git55e6369.fc20 has been submitted as an update for Fedora 20.

Comment 7 Fedora Update System 2013-09-16 16:14:54 UTC
Package dnf-0.4.1-1.git55e6369.fc20, librepo-1.1.0-1.fc20, hawkey-0.4.1-1.git6f35513.fc20, libcomps-0.1.3-5.fc20:
* should fix your issue,
* was pushed to the Fedora 20 testing repository,
* should be available at your local mirror within two days.
Update it with:
# su -c 'yum update --enablerepo=updates-testing dnf-0.4.1-1.git55e6369.fc20 librepo-1.1.0-1.fc20 hawkey-0.4.1-1.git6f35513.fc20 libcomps-0.1.3-5.fc20'
as soon as you are able to.
Please go to the following url:
then log in and leave karma (feedback).

Comment 8 Ales Kozumplik 2013-10-25 07:13:37 UTC
dnf-0.4.1 has been pushed and superseded. Closing this.

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