On Tue, 2007-10-16 at 17:02 +0200, Florian Festi wrote:
> Hi!
> 
> Same test environment, same packages, same variations, new game: Obsoletes
> 
> Packages available in i368, x86_64 and noarch:
>   * Installed packages: zsh-1-1.arch - iarch
>   * Obsoleting packages (obsoletes: zsh): zsh-ng-0.3-1.arch - oarch
> 
> Additional there is
>   * A package requiring obsoleting package(s) (requires: zsh-ng): 
> superzippy-3.5-3.noarch - ro
> 
> Each test calls runOperation with 3 parameters:
>   * Command list
>   * Packages installed in the rpmdb
>   * Packages available in the repository
> 
> There is always one "yum update" test case that should handle the obsoletes 
> and then we have one test cases where the obsoleting package(s) are required 
> by the to be installed package ro (aka superzippy aka "Requires Obsolete").
> 
> testObsoletenoarchToMultiarch - works
>      runOperation(['update'], [inoarch], [oi386, ox86_64])
>      oi386, ox86_64 # ox86_64 only would be an alternative policy
> testObsoletenoarchToMultiarchForDependency
>      runOperation(['install', 'superzippy'], [inoarch], [p.oi386, p.ox86_64, 
> p.ro])
>      #ox86_64, ro
>      inoarch, ox86_64, ro
>      # likely to run into file conflicts, additional test case indicates 
> that "yum update" doesn't fix that problem as the obsolete is already 
> installed - yes, this is the "right behavior"
> 
> testObsoletei386ToMultiarch - works
>      runOperation(['update'], [ii386], [oi386, ox86_64])
>      oi386
> testObsoletei386ToMultiarchForDependency
>      runOperation(['install', 'superzippy'], [ii386], [oi386, ox86_64, ro])
>      #ox86_64, ro
>      ii386, ox86_64, ro
>      # similar to the case above - see below
> testObsoletei386ToMultiarchForDependencyFix # try if it goes away with "yum 
> update"
>      runOperation(['update'], [ii386, ox86_64, ro], [oi386, ox86_64])
>      ii386, ox86_64, ro
>      # yes, the obsolete is already installed - not removing ii386 is the 
> right thing here - but that doesn't help us...
> 
> testObsoletex86_64ToMultiarch - works
>      runOperation(['update'], [ix86_64], [oi386, ox86_64])
>      ox86_64
> testObsoletex86_64ToMultiarchForDependency
>      runOperation(['install', 'superzippy'], [ix86_64], [oi386, ox86_64, ro])
>      #ox86_64, ro
>      ix86_64, ox86_64, ro
>      # ...
> 
> testObsoleteMultiarchToMultiarch - works
>      runOperation(['update'], [ii386, ix86_64], [oi386, ox86_64])
>      oi386, ox86_64
> testObsoleteMultiarchToMultiarchForDependency
>      runOperation(['install', 'superzippy'], [ii386, ix86_64], [oi386, 
> ox86_64, ro])
>      #oi386, ox86_64, ro
>      ii386, ix86_64, ox86_64, ro
>      # ...
> 
> testObsoleteMultiarchTonoarch - works
>      runOperation(['update'], [ii386, ix86_64], [onoarch])
>      onoarch
> testObsoleteMultiarchTonoarchForDependency
>      runOperation(['install', 'superzippy'], [ii386, ix86_64], [onoarch, ro])
>      #onoarch, ro
>      ii386, ix86_64, onoarch, ro
>      # ...
> 
> Looks like packages added for dependency are not checked as possible 
> obsoletes. This explains all of the problems seen above. Normal obsoletes 
> seam to work quite well. Unfortunately the (correctly implemented!) 
> obsoletes semantic doesn't clean up the problems created by the installs for 
> dependencies.
> 
> Opinions?

In general, I'm getting the hang of the tests you've been submitting and
figuring out where/what we're missing. Good. I'm not so keen on the:
ii386 and ix86_64 syntax, or onoarch.

it's a good deal confusing to read. I realize it is probably for brevity
reasons but if we want to understand this later I think it might be good
to make it a bit more verbose.

-sv


_______________________________________________
Yum-devel mailing list
[email protected]
https://lists.dulug.duke.edu/mailman/listinfo/yum-devel

Reply via email to