[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#514237: debian-cd: Support non-i386 mirrors, and support D-I modules in non-main



On Thursday 05 February 2009, Jonathan Hall wrote:
> Frans Pop wrote:
> > Wouldn't it make much more sense for which_deb to just try the
> > current arch(es) (the one(s) for which we're building the image)
> > instead of trying arches randomly? Or at least to try relevant arches
> > first?
>
> This works fine, except when building a source-only CD.... Then I'm
> back to looking through all possible arches, unless someone can think
> of a more reasonable thing to do in that case..?

For the calls from boot-* it does not matter as those scripts won't be 
called for source only CDs.

So we're left with the call from update_tasks. There we really have 
another, more fundamental issue that has to be considered.

We currently use the Packages file from i386 to expand a task to a package 
list. Essentially this is broken because different arches can have 
different dependencies! In practice this problem is quite limited, but it 
_is_ important that we don't use one of the more obscure arches to build 
the list as that is *a lot* more likely to result in a broken expanded 
package list than when we use i386 or amd64.

So IMO:
* ideally we should run update_tasks for every architecture separately,
  using the Packages file for that arch; for source-only CDs we should
  use i386 with fallback to amd64, and fail otherwise
* but as long as we do not do that
  - for binary or binary/source CDs: prefer i386, with fallback to:
    1) amd64
    2) arches listed in $ARCHES
  - for source-only CDs: use i386, with fallback to amd64, and fail
    otherwise

IMO it's reasonable to fail if someone wants to build source only but does 
not have a full mirror, or at least has the most common arches. Other 
cases will be extremely rare, and if someone really wants to he can just 
modify the script.



Reply to: