Bug 156439

Summary: Update does not detect missing libexpat.so.0 dependency for xfce4-session
Product: [openSUSE] SUSE Linux 10.1 Reporter: Richard Biener <rguenther>
Component: libzyppAssignee: Stefan Schubert <schubi>
Status: RESOLVED FIXED QA Contact: Klaus Kämpf <kkaempf>
Severity: Blocker    
Priority: P5 - None CC: aj, forgotten_OS1JNCFbCX
Version: Beta 7   
Target Milestone: ---   
Hardware: i686   
OS: Other   
Whiteboard:
Found By: Development Services Priority:
Business Priority: Blocker: ---
Marketing QA Status: --- IT Deployment: ---
Bug Depends on:    
Bug Blocks: 156422    
Attachments: save_y2logs output
rpm db

Description Richard Biener 2006-03-09 13:02:12 UTC
Updated system is unusable, login to xfce session fails because libexpat.so.0 is no longer available, but expat provides libexpat.so.1 only instead.

The dependency resolver should have complained, it did not.
Comment 1 Richard Biener 2006-03-09 13:03:16 UTC
Created attachment 71970 [details]
save_y2logs output
Comment 2 Richard Biener 2006-03-10 12:19:31 UTC
note that the packages in question (xfce4-*) are/were not on the SLP install medium for the update and so where kept in there installed version.  So it looks
like if the dependency resolver does not include installed packages that are not
on the install/update medium in the computation.
Comment 3 Klaus Kämpf 2006-03-11 20:05:27 UTC
Hmm, expat-1.95.8-5.i586 is scheduled for uninstallation which normally checks all requestors of the provides of an to-be-uninstalled package.

Please provide information as requested here:
http://svn.suse.de/trac/zypp/wiki/Testing/DumpRpmDb
Comment 4 Richard Biener 2006-03-11 20:14:18 UTC
Created attachment 72432 [details]
rpm db

I do have a copy of the partition before the update available - it's on /dev/sda5 on g148.
Comment 5 Richard Biener 2006-03-11 20:15:25 UTC
Oh, and I have now manually fixed the issue by updating to xfce from stable.
Comment 6 Pavel Nemec 2006-03-14 09:49:17 UTC
*** Bug 156422 has been marked as a duplicate of this bug. ***
Comment 7 Stefan Schubert 2006-03-14 13:50:47 UTC
The solver recognize the missing dependencies now. As xfce* does not work anymore they will be selected for deletion automatically. This happens only in the update mode (complete update). In other modes the user will be informed explicit. It would be useless to inform the user for that case.
Additional, what about showing/asking the user what has to be done with packages which are not supported by the new product anymore. In former versions we have informed the user. As SH told me, there has not been made a decision concerning this item.
Comment 8 Stefan Schubert 2006-03-14 14:10:33 UTC
*** Bug 156901 has been marked as a duplicate of this bug. ***
Comment 9 Richard Biener 2006-03-14 14:36:07 UTC
I will re-try with beta8 - as I selected 'do not remove obsolete packages' I expect to see a dialog about the conflict of updating and not loosing xfce - of course with no other solutions than either removing xfce or not updating at all (or not updating a lot of components).

This raises again questions on our policy of maintaining library packages with different .so names.
Comment 10 Stefan Schubert 2006-03-15 09:07:25 UTC
Currently these packages will be removed without regarding this flag, cause they are unuseable which is shown by the dependencies. 
At the moment 'do not remove obsolete packages' will be regarded as
"These are packages which are no longer on our newer versions, still fulfill our dependecies but will not be supported anymore in the future".

A compromise between "I want to be informed every time" and "Do what you want to do. I need a running system only" would be to show the user an overview (list), which packages will be deleted, installed and updated before YaST starts the update. So the user can decide and go back if needed.
Comment 11 Klaus Kämpf 2006-03-15 15:57:41 UTC
Stefan, such packages are collected in _update_items of ResovlerUpgrade.cc

I'll add code to make this list available at Resovler::

The other Stefan might also be insterested in this one. This is the 'upgrade problems' list.