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.
* 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:
2) arches listed in $ARCHES
- for source-only CDs: use i386, with fallback to amd64, and fail
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.