64bit u/g mix up in upgrading packages - its downgrades to i586

Bug #244447 reported by Rehan Khan
8
This bug affects 1 person
Affects Status Importance Assigned to Milestone
Smart Package Manager
New
Undecided
Unassigned
Nominated for Trunk by Pink

Bug Description

Imported: http://tracker.labix.org/issue313

Reason for Import : Review

further details: https://blueprints.launchpad.net/smart/+spec/bug-reporting-migration

opensuse 10.2
# uname -a
Linux orac 2.6.18.8-0.3-default #1 SMP Tue Apr 17 08:42:35 UTC 2007 x86_64
x86_64 x86_64 GNU/Linux
Attaching bitmaps of problem

Revision history for this message
Rehan Khan (rasker) wrote :
Revision history for this message
Rehan Khan (rasker) wrote :
Revision history for this message
Rehan Khan (rasker) wrote :
Revision history for this message
Pink (smart) wrote :

I appear to have this same issue from the screenshots.
There is, in all cases I have seen, a perfectly valid x86_64 package available with the identical version number to the chosen i586 package.

I'm on OpenSuse 11.1 x64 using Smart 1.2-4.1/1.2-4.15/1.2-5
For some dependencies of packages I upgrade smart chooses the i586/i686 package rather than the x64 version.

I used to think this was because there wasn't a suitable x64 package to satisfy the dependency but often there is a suitable package in the very same repo.

I logged on to IRC and was assisted by afb.
We tracked through a few issues.

[21:24] <mup> Bug #333871: smart suggests wrong updates <Smart Package Manager:New> <https://launchpad.net/bugs/333871>
[21:58] <pink_> not the same issue.
[21:59] <pink_> My system is set to prefer x86_64 over any other architecture as I read it, his issue is that he has an incorrect precedence in his rpm configuration which will prefer i686 over i586.

[22:08] <pink_> >>> import rpm
[22:08] <pink_> >>> rpm.archscore("x86_64")
[22:08] <pink_> 1
[22:08] <pink_> >>> rpm.archscore("i586")
[22:09] <pink_> 5
[22:09] <pink_> >>> rpm.archscore("i686")
[22:09] <pink_> 4
[22:09] <pink_> >>> rpm.archscore("i386")
[22:09] <pink_> 7
[22:09] <pink_> that says to me x86_64 should always be preferred.

[22:12] <pink_> trying to browse the bugs list to find anything similar, but the site is being very slow for me. at least a minute per page. (so thanks to afb for passing these over.)
[22:16] <mup> Bug #244342: Better priority handling for x86_64 RPMs + option to turn off biarch support <Smart Package Manager:Fix Released by niemeyer> <https://launchpad.net/bugs/244342>
[22:16] <mup> Bug #243972: resolves to 32 bits package instead of 64 bits <Smart Package Manager:Fix Released by niemeyer> <https://launchpad.net/bugs/243972>
[22:17] <afb> which smart release do you have ?
[22:17] <pink_> I'll check for updates on smart then after reading the bug. Not sure which repo I'm pulling smart from at the moment. I'll check and make sure I have latest.
[22:18] <pink_> 1.2-4.1
[22:18] <pink_> that's bang up to date as far as the repos i've got in smart are concerned.
[22:20] <pink_> http://download.opensuse.org/repositories/smart/openSUSE_11.1/ that's the repo my current install is from, claims it is up to date.
[22:26] <pink_> 244342 does not seem to be the same issue, that's preferring a newer i586 package over an older (but still an upgrade) x64 package. I'm just double checking, but mine seems to select the i586 package even though there is an identical x64 version.
[22:31] <pink_> I'm adding chiel1's repo just to see and I still haven't checked 243972 yet for details.
[22:33] <afb> 4.1 and 4.15 and 5.18 are all identical (except for the release)
[22:41] <pink_> I've just asked the old one to downgrade my lib qt4(4.4.x-) and instead of suggesting removing or downgrading packages dependent on lib qt4 (4.5.x-) it's suggesting installing the libqt4 (4.5.x-) i586 package.
[22:42] <pink_> I do believe you, I just need to check for myself so that when I do file a bug report I can list the versions I tried and from which repos.
[22:43] <pink_> yep does the same.

Revision history for this message
Robert Krawitz (rlk-alum) wrote :
Download full text (9.0 KiB)

Dunno if this is the same problem or not, but I often find smart wants to install an i586 package during upgrades. Running OpenSUSE 11.1. Running smart 1.2-4.1.

Example: I want to upgrade to the latest OpenOffice.org 3.2 release candidate. So I do:

smart> install OpenOffice_org

Upgrading packages (24):
  OpenOffice_org-3.2.0.1-1.2@x86_64
  OpenOffice_org-base-3.2.0.1-1.2@x86_64
  OpenOffice_org-base-extensions-3.2.0.1-1.2@x86_64
  OpenOffice_org-calc-3.2.0.1-1.2@x86_64
  OpenOffice_org-calc-extensions-3.2.0.1-1.2@x86_64
  OpenOffice_org-components-3.2.0.1-1.2@x86_64
  OpenOffice_org-draw-3.2.0.1-1.2@x86_64
  OpenOffice_org-draw-extensions-3.2.0.1-1.2@x86_64
  OpenOffice_org-filters-3.2.0.1-1.2@x86_64
  OpenOffice_org-filters-optional-3.2.0.1-1.2@x86_64
  OpenOffice_org-gnome-3.2.0.1-1.2@x86_64
  OpenOffice_org-icon-themes-3.2.0.1-1.2@noarch
  OpenOffice_org-impress-3.2.0.1-1.2@x86_64
  OpenOffice_org-impress-extensions-3.2.0.1-1.2@x86_64
  OpenOffice_org-kde-3.2.0.1-1.2@x86_64
  OpenOffice_org-l10n-extras-3.2.0.1-1.2@noarch
  OpenOffice_org-libs-core-3.2.0.1-1.2@x86_64
  OpenOffice_org-libs-extern-3.2.0.1-1.2@x86_64
  OpenOffice_org-libs-gui-3.2.0.1-1.2@x86_64
  OpenOffice_org-math-3.2.0.1-1.1@x86_64
  OpenOffice_org-officebean-3.2.0.1-1.2@x86_64
  OpenOffice_org-ure-3.2.0.1-1.2@x86_64
  OpenOffice_org-writer-3.2.0.1-1.1@x86_64
  OpenOffice_org-writer-extensions-3.2.0.1-1.2@x86_64

Installing packages (1):
  OpenOffice_org-ure-3.1.1.5-1.1@i586

115.8MB of package files are needed. 18.5MB will be used.

Well. My local repository deliberately doesn't have i586 packages, so it fails to download that i586 goofball. If I try to install the RPM's manually, this happens:

[2(root)||{!5}<dsl092-065-009>/var/lib/smart/packages]
# rpm -Uvh *
error: Failed dependencies:
        OpenOffice_org-ure = 3.1.1.5 is needed by (installed) OpenOffice_org-pyuno-3.1.1.5-1.1.x86_64
        OpenOffice_org-ure = 3.1.1.5 is needed by (installed) OpenOffice_org-mono-3.1.1.5-1.1.x86_64
        OpenOffice_org-ure = 3.1.1.5 is needed by (installed) OpenOffice_org-ure-devel-3.1.1.5-1.1.x86_64
        OpenOffice_org-ure = 3.1.1.5 is needed by (installed) OpenOffice_org-help-en-US-3.1.1.5-1.1.noarch

All right, let's try it this way:

smart> install OpenOffice_org OpenOffice_org-pyuno OpenOffice_org-mono OpenOffice_org-ure-devel OpenO...

Read more...

Revision history for this message
Rehan Khan (rasker) wrote : RE: [Bug 244447] Re: 64bit u/g mix up in upgrading packages - itsdowngrades to i586
Download full text (7.3 KiB)

It would be interesting to know if any of those rpm's specifically
require the i586 version of the OpenOffice_org-ure package, meaning it
is specified as an i586 package in the spec file?

R

-----Original Message-----
From: <email address hidden> [mailto:<email address hidden>] On Behalf Of
Robert Krawitz
Sent: 13 January 2010 03:31
To: Rehan
Subject: [Bug 244447] Re: 64bit u/g mix up in upgrading packages -
itsdowngrades to i586

Dunno if this is the same problem or not, but I often find smart wants
to install an i586 package during upgrades. Running OpenSUSE 11.1.
Running smart 1.2-4.1.

Example: I want to upgrade to the latest OpenOffice.org 3.2 release
candidate. So I do:

smart> install OpenOffice_org

Upgrading packages (24):
  OpenOffice_org-3.2.0.1-1.2@x86_64

  OpenOffice_org-base-3.2.0.1-1.2@x86_64

  OpenOffice_org-base-extensions-3.2.0.1-1.2@x86_64

  OpenOffice_org-calc-3.2.0.1-1.2@x86_64

  OpenOffice_org-calc-extensions-3.2.0.1-1.2@x86_64

  OpenOffice_org-components-3.2.0.1-1.2@x86_64

  OpenOffice_org-draw-3.2.0.1-1.2@x86_64

  OpenOffice_org-draw-extensions-3.2.0.1-1.2@x86_64

  OpenOffice_org-filters-3.2.0.1-1.2@x86_64

  OpenOffice_org-filters-optional-3.2.0.1-1.2@x86_64

  OpenOffice_org-gnome-3.2.0.1-1.2@x86_64

  OpenOffice_org-icon-themes-3.2.0.1-1.2@noarch

  OpenOffice_org-impress-3.2.0.1-1.2@x86_64

  OpenOffice_org-impress-extensions-3.2.0.1-1.2@x86_64

  OpenOffice_org-kde-3.2.0.1-1.2@x86_64

  OpenOffice_org-l10n-extras-3.2.0.1-1.2@noarch

  OpenOffice_org-libs-core-3.2.0.1-1.2@x86_64

  OpenOffice_org-libs-extern-3.2.0.1-1.2@x86_64

  OpenOffice_org-libs-gui-3.2.0.1-1.2@x86_64

  OpenOffice_org-math-3.2.0.1-1.1@x86_64

  OpenOffice_org-officebean-3.2.0.1-1.2@x86_64

  OpenOffice_org-ure-3.2.0.1-1.2@x86_64

  OpenOffice_org-writer-3.2.0.1-1.1@x86_64

  OpenOffice_org-writer-extensions-3.2.0.1-1.2@x86_64

Installing packages (1):
  OpenOffice_org-ure-3.1.1.5-1.1@i586

115.8MB of package files are needed. 18.5MB will be used.

Well. My local repository deliberately doesn't have i586 packages, so
it fails to download that i586 goofball. If I try to install the RPM's
manually, this happens:

[2(root)||{!5}<dsl092-065-009>/var/lib/smart/packages]
# rpm -Uvh *
error: Failed dependencies:
        OpenOffice_org-ure = 3.1.1.5 is needed by (installed)
OpenOffice_org-pyuno-3.1.1.5-1.1.x86_64
        OpenOffice_org-ure = 3.1.1.5 is needed by (installed)
OpenOffice_org-mono-3.1.1.5-1.1.x86_64
        OpenOffice_org-ure = 3.1.1.5 is needed by (installed)
OpenOffice_org-ure-devel-3.1.1.5-1.1.x86_64
        OpenOffice_org-ure = 3.1.1.5 is needed by (installed)
OpenOffice_org-help-en-US-3.1.1.5-1.1.noarch

All right, let's try it this way:

smart> install OpenOffice_org OpenOffice_org-pyuno OpenOffice_org-mono
OpenOffice_org-ure-devel OpenOffice_org-help-en-US

Upgrading packages (29):
  OpenOffice_org-3.2.0.1-1.2@x86_64

  OpenOffice_org-base-3.2.0.1-1.2@x86_64

  OpenOffice_org-base-extensions-3.2.0.1-1.2@x86_64

  OpenOffice_org-bootstrap-3.2.0.1-2.1@x86_64

  OpenOffice_org-calc-3.2.0.1-1.2@x86_64

  OpenOffice_org-calc-extensions-3.2.0.1-1.2@x86_64

  OpenOffice_org-components-3.2.0.1-1.2@x86_64

  OpenOffice_org-d...

Read more...

Revision history for this message
Anders F Björklund (afb) wrote :

You can use --explain to get some more details on why a particular package is chosen.
Still sounds like a repository problem, but some multilib changes have been suggested.

Revision history for this message
Kevin Jamieson (qq3dh7w-5e50n-mm0v6n6) wrote :

Apologies if I've resurrected a long-forgotten issue, but we're seeing similar behaviour. When both an x86_64 and i586 package are available in a repository with the same version number, smart is selecting the i586 package for installation instead of preferring the x86_64 package.

The --explain option does not appear to provide any useful debugging information.

This is with smart-1.3 (I couldn't find a smart-1.4.1 package for SLES10, but can try to build or dig one up if you think the problem may be resolved in a newer version).

linux-k7bl:/var/local/tmp/repo # ls -ltr
total 82168
-rw-r--r-- 1 root root 41377766 Mar 22 00:32 MySQL-server-enterprise-5.1.61-1.sles10.i586.rpm
-rw-r--r-- 1 root root 42664809 Mar 22 00:32 MySQL-server-enterprise-5.1.61-1.sles10.x86_64.rpm
linux-k7bl:/var/local/tmp/repo # createrepo .
2/2 - MySQL-server-enterprise-5.1.61-1.sles10.x86_64.rpm
Saving Primary metadata
Saving file lists metadata
Saving other metadata
linux-k7bl:/var/local/tmp/repo # smart channel --add test type=rpm-md baseurl=/var/local/tmp/repo

Alias: test
Type: rpm-md
Base URL: /var/local/tmp/repo

Include this channel? (y/N): y

linux-k7bl:/var/local/tmp/repo # smart install --explain MySQL-server-enterprise
Loading cache...
Updating cache... ########################################################################################################################################################## [100%]

Computing transaction...

Installing packages (1):
  MySQL-server-enterprise-5.1.61-1.sles10@i586

40.4MB of package files are needed. 107.6MB will be used.

Confirm changes? (Y/n): n

linux-k7bl:/var/local/tmp/repo # smart install --explain MySQL-server-enterprise@x86_64
Loading cache...
Updating cache... ########################################################################################################################################################## [100%]

Computing transaction...

Installing packages (1):
  MySQL-server-enterprise-5.1.61-1.sles10@x86_64

41.7MB of package files are needed. 122.1MB will be used.

Confirm changes? (Y/n): n

linux-k7bl:/var/local/tmp/repo # uname -a
Linux linux-k7bl 2.6.16.60-0.54.5-smp #1 SMP Fri Sep 4 01:28:03 UTC 2009 x86_64 x86_64 x86_64 GNU/Linux
linux-k7bl:/var/local/tmp/repo # cat /etc/issue

Welcome to SUSE Linux Enterprise Server 10 SP3 (x86_64) - Kernel \r (\l).

linux-k7bl:/var/local/tmp/repo # rpm -q smart
smart-1.3-3.1
linux-k7bl:/var/local/tmp/repo #

To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.