Bug 671839

Summary: zypper dup first installs package for wrong arch, then fixes arch in next zypper dup run
Product: [openSUSE] openSUSE 11.4 Reporter: Christian Boltz <suse-beta>
Component: libzyppAssignee: E-mail List <zypp-maintainers>
Status: RESOLVED INVALID QA Contact: E-mail List <qa-bugs>
Severity: Normal    
Priority: P5 - None    
Version: Factory   
Target Milestone: ---   
Hardware: x86-64   
OS: Other   
Whiteboard:
Found By: Beta-Customer Services Priority:
Business Priority: Blocker: ---
Marketing QA Status: --- IT Deployment: ---
Attachments: zypper.log.bz2

Description Christian Boltz 2011-02-14 19:46:55 UTC
I've seen a very interesting behaviour of zypper dup:

First I got the following conflict message (translated back from german):

Problem: Problem with installed package evolution-data-server-32bit-2.30.1-1.19.x86_64
Solution 1: do the following:
  keep outdated evolution-data-server-32bit-2.30.1-1.19.x86_64
  keep outdated libxml2-32bit-2.7.7-4.3.1.x86_64
Solution 2: install evolution-data-server-2.32.1-2.4.i586 despite of the lower-level architecture

Note that my system is x86_64, so zypper normally shouldn't propose i586 packages.

Zypper seems to notice that itsself, because on the next zypper dup run I get

The following package will change the architecture:
  evolution-data-server  i586 -> x86_64

Yes, zypper, you are right ;-) - but why don't you install the x86_64 package in the first run?

zypper.log is attached - the behaviour described here starts around 2011-02-14 20:33:12 (timestamp from the removal of gnome-panel-32bit in /v/l/zypp/history)
Comment 1 Christian Boltz 2011-02-14 19:47:42 UTC
Created attachment 413923 [details]
zypper.log.bz2
Comment 2 Michael Andres 2011-12-02 08:03:53 UTC
The 1st dup probably just looks for a replacemant of the installed evolution-data-server-32bit, chosing the .i586 (-32bit!).

Maybe the solver does not see that nothing actually requires a 32-bit package, and that's why the 2nd dup may perfrom the arch upgrade to x86_64.

Michael?


--
There's not much the 2nd dup does. BTW why has the factory-oss product:openSUSE no release number?

 Install summary:
 <install>   U_Ts_(13885)product:openSUSE-11.4.x86_64(factory-oss)
 <install>   U_Ts_(24143)evolution-data-server-2.32.1-2.4.x86_64(factory-oss)
 <install>   U_Ts_(28042)openSUSE-release-11.4-1.38.x86_64(factory-oss)
 <uninstall> I_TsU(35637)evolution-data-server-2.32.1-2.4.i586(@System)
 <uninstall> I_TsU(37091)openSUSE-release-11.4-1.38.x86_64(@System)
 <uninstall> I_TsU(37853)product:openSUSE-11.4-1.38.x86_64(@System)
Comment 3 Michael Schröder 2011-12-02 12:09:27 UTC
Looks like the new "evolution-data-server-32bit" package is not installable. But some other package requires the 32bit library, so it proposes to install the i586 package instead (which contains the lib).

Later on, the package requiring the lib seems to be gone, so it changes the arch to the better x86_64. To bad that you don't have a solver testcase.

Regarding "zypper shouldn't propose...", that's exactly why it is asking for confirmation.
Comment 4 Michael Andres 2011-12-08 12:28:01 UTC
.