Bug 394519

Summary: zypper lists duplicated solvables
Product: [openSUSE] openSUSE 11.0 Reporter: Thomas Göttlicher <tgoettlicher>
Component: libzyppAssignee: Jan Kupec <jkupec>
Status: RESOLVED DUPLICATE QA Contact: E-mail List <qa-bugs>
Severity: Enhancement    
Priority: P5 - None CC: ma
Version: Beta 3plus   
Target Milestone: ---   
Hardware: Other   
OS: Other   
Whiteboard:
Found By: --- Services Priority:
Business Priority: Blocker: ---
Marketing QA Status: --- IT Deployment: ---

Description Thomas Göttlicher 2008-05-26 14:50:47 UTC
If more than one update repository are added all patches are listed more often than once in the xml output. 

I'd prefer having all patches only once even if the same repo is added twice. Everything else might confuse users.
Comment 1 Jan Kupec 2008-05-29 13:30:43 UTC
Not only xmlout, but also normal out. This is intended. Zypper is not GUI, where you can click to open the Versions tab, where you will see all the available versions, together with the duplicates form different (or duplicated) repositories.

This is not a simple thing to solve and there are several related issues:
* duplicated repositories (obviously the way to go here is to avoid them -
  different bug/feature)
* duplicated solvables from _different_ repositories. What to do with them?
  Filter them out? Probably not. When/how to display them (or feed to xml).
* 'lu' cannot show selectables instead of solvables, as there can be different
  versions of a patch wich can both be satisfied or both needed (how does YaST
  handle this?)


IMO the major pain here are the duplicated repositories. Other stuff is OK. So i'd close this as duplicate of bug #377568, but first what are others' opinions?
Comment 2 Michael Andres 2008-05-29 14:52:20 UTC
(In reply to comment #1 from Ján Kupec)
> IMO the major pain here are the duplicated repositories. Other stuff is OK. So
> i'd close this as duplicate of bug #377568, but first what are others'
> opinions?

We had to change the organization of our pool. Unfortunately this is a very deep change.

We currently load all packages (items) from all repos and treat each item individually.

We had to unify same items and link each item to multiple repos providing it.

1) we must define when 2 items are the the same. (e.g same sha1 sum of the
   binary rpm, and something reasonable for patterns/products). Same items 
   must producde the same solver result (so must have at least same name,
   edition, arch, vendor, dependencies)...

2) the pool then has to unify same packages. One of them would be the provider
   for any metada, and instead of a repository attribute, each item would
   contain a list of repositories. 


This is something we could do if there are many repositories with overlapping (but not identical) content.

But IMO too much effort if we just deal with duplicate repositories (same content).

Comment 3 Michael Andres 2008-07-10 11:49:53 UTC

*** This bug has been marked as a duplicate of bug 400895 ***