While this patch tries to address a real issue (also covered by wishlist 
bug #282636 and worked around by #369061 for the special case of sarge
and amd64), I find it unsatisfactory for the following reasons:

1. It isn't backwards-compatible, in that it changes the semantics of
previously-valid invocations of debmirror.

2. If I read it correctly,
        --dist=etch --arch=i386 --arch=amd64
is not equivalent to
        --dist=etch --arch=i386,amd64
as I at least would expect (and, in this particular case, as backwards 
compatibility would require) but to
        (etch,,i386) (sid,,amd64)
where I'm using a (dist,section,arch) tuple notation to avoid
confusion with the current debmirror semantics.

Currently, debmirror takes three sets (@dists, @sections, @arches) and
tries to mirror all tuples in the cross-product (except for a few that
do not exist in the official archive). I don't see any way to do more
fine-grained mirroring without supporing more set arithmetic. At a
minimum one would like a union operator (say, an --or switch on the
command line that does more or less the same thing as &add_data in the
proposed patch). This could also be achieved by multiple invocations of
debmirror, if the cleanup step could be taught not to delete valid files
from other invocations. A set substraction operator (--except ?) may also
be useful, but then you'd start needing parentheses.

So maybe the simplest way to rescue this patch is to add a --or switch
that invokes &add_data, and to let --dist, --section and --arch simply
accumulate into @dists, @sections and @arches as before.


-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]

Reply via email to