Comment # 3 on bug 979528 from
(In reply to Paul Clarke from comment #2)
> > A dependency matches a package, if it matches one of the packages 'Provides'.
> > 
> > Back to your case:
> > 
> > - The advance-toolchain-at*-devel packages all 'Provide:
> > advance-toolchain-devel'.
> >   I.e. they match 'advance-toolchain-devel' in 'any VERSION'!
> > 
> > That's why zypper search --provides 'advance-toolchain-devel >= 8.0-5'
> > matches all 'advance-toolchain-at*-devel' packages. 
> > 
> >  Remember: '8.0-5' is not a package version, but the dependencies version
> > range.
> >            As all packages provide 'any VERSION' the '>= 8.0-5' is basically
> > 'useless'
> > 
> > Among all available PACKAGES matching the dependency, the resolver usually
> > prefers the PACKAGE with the lex. least name:  advance-toolchain-at8.0-devel
> > in the highest available version:  8.0-6.
> 
> That certainly explains the observed behavior.
> 
> Apologies for my ignorance, but it seems I need to inject a "dependencies
> version" for the respective packages, which is different than the package
> version.  (I admit I'm a bit lost on the difference.)
> 
> Is the "fix", presuming I have control over the 'advance-toolchain-devel'
> packages, is to add specific "Provides" version tags?  Something like:
> Provides: advance-toolchain-devel == 9.0-3
> 
> ...for ALL of such packages in the repo?  I'd have the same problem unless I
> changed them all, I presume.

Answering my own question, I stumbled across a reference that said that virtual
packages cannot have versioning.

So, I think the only solution is a metapackage that points to the latest
version.


You are receiving this mail because: