Mixed binary + source repomd (was: apt vs urpmi)

Panu Matilainen pmatilai at laiskiainen.org
Thu May 4 02:03:26 PDT 2006


On Thu, 4 May 2006, Ralf Corsepius wrote:

> On Wed, 2006-05-03 at 23:41 +0300, Panu Matilainen wrote:
>> On Wed, 2006-05-03 at 18:59 +0200, Ralf Corsepius wrote:
>>> On Wed, 2006-05-03 at 12:49 -0400, Gary Greene wrote:
>>>>> * Panu Matilainen [2006-05-03 02:25:09 -0700]:
>>>
>>>> Yes, apt-rpm DOES handle these, and quite well as PhoeNUX OS uses the
>>>> same version of RPM that existed in MDK 2005LE and we've noted only
>>>> good things in apt's dep tracking for RPMs.
>>> metadata repos which simultaneously contain both src.rpms and binary
>>> rpms (mixed repos) aren't even close to being functional.
>>>
>>> They work most of the time, but this is more or less random luck,
>>> AFAICT.
>>
>> Retrieving source packages from mixed repositories is indeed known to be
>> completely busted but are you seeing issues with binary rpm's from mixed
>> repositories?
> Let me put it this way:
>
> ATM, what I wrote above is a suspicion, based on what I am seeing when
> debugging operations on src.rpms (apt-get source, apt-cache showpkg,
> apt-cache showsrc etc.).
>
> There, most apt internal operations are performed on package names
> (Note: names not package file names), which causes quite some amount of
> confusion when a repo contains both src.rpms, and different types of
> differently arch'ed packages.

Hmm.. right. What gets into the package cache is filtered per arch 
compatibility so only binary packages can ever get into the package cache 
and apt-cache operations access the binaries through index stored in the 
pkg cache, so you *should* always get correct information about binary 
packages. Entirely different story with source packages - apt simply 
doesn't expect to find binaries in the source repository and doesn't 
filter for them in any way.

>
> Beside this, there are (src-) list handling bugs showing effect when a
> repo is sparsely populated (repos with 0, 1 or 2 entries).
>
> I haven't investigated retrieval of binaries from mixed repos, so far.

If you've used FC4 repositories, you've been retrieving a lot of binaries 
from mixed repos :)

>>  If so that's a severe bug somewhere, src.rpm packages from
>> repomd have architecture "src" which apt should just skip as unusable.
>
> OK, I missed this. If what I suspect applies, failures should be
> producible with
>
> * a "repomd"-repo containing only one src.rpm and no binary rpm. (This
> case hits several bugs at once with "apt-get source" on repomd-src's)
>
> * a repomd-repo containing only src.rpm and one corresponding binary
> rpm, with its metadata files containing the binary rpm before the
> src.rpm (This case occasionally hits another bug in "apt-get source").

Yup, I can see those cases failing in various pathetical ways currently :)
Right now I'm mostly concerned about getting any possible remaining 
bugs shaken out from the binary handling part of repomd. And yes, I want 
to get the mixed mode repositories supported fully as well in the next 
non-bugfix release:
- allow repomd and repomd-src to share the same xml files so they don't 
need to be downloaded twice
- work out the source parsering to skip binaries
- as an additional bonus, fix the other issues with source retrieval while 
at it :)

 	- Panu -



More information about the Apt-Rpm mailing list