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

Bug#703436: Multi-arch builds uses wrong UDEB_EXCLUDE



On 19/03/2013 18:09, Steve McIntyre wrote:
On Tue, Mar 19, 2013 at 05:35:24PM +0200, Robert Spencer wrote:
Package: debian-cd
Version: 3.1.11

When building multi-arch ISOs I noted a error that repeated twice.

WARNING: Unable to read UDEB_EXCLUDE file
/home/idms/debian-cd/data/squeeze/amd64_netinst_udeb_exclude
WARNING: Unable to read UDEB_EXCLUDE file
/home/idms/debian-cd/data/squeeze/amd64_netinst_udeb_exclude

The fact that it repeated exactly looked suspicious. Further
investigation revealed that the same exclude file was used despite
the arch.

WARNING: Unable to read UDEB_EXCLUDE file
/home/idms/debian-cd/data/squeeze/amd64_netinst_udeb_exclude [amd64]
WARNING: Unable to read UDEB_EXCLUDE file
/home/idms/debian-cd/data/squeeze/amd64_netinst_udeb_exclude [i386]

Ack, good catch.

Looking at the code showed that it made false assumptions and
therefore the amd64 run tainted the i386 one.

I've assumed that the code is supposed to be checking for a settings
in CONF.sh and added a check for that.

I'm also assuming that UDEB_INCLUDE, being in the same area as
UDEB_EXCLUDE, suffers from the same problem.

Attached please find a patch file that fixes the error.

Ish. In fact, there's a deeper bug here - the udeb include/exclude
code is actually worse than you think. At the moment, we get away with
things only because the amd64 and i386 files provided with debian-cd
are identical. The code here just doesn't work properly with
multi-arch builds as there is no way to specify different files in
CONF.sh for the different arches. Equally, d-i only looks for its
include and exclude lists in one place on an install CD regardless of
architecture so there's currently no way of passing different config
for the different arches *anyway*.

As you might guess, this piece of the code hasn't been played with for
a while!

I'm thinking a better way to handle this would be to pick up on the
data files for all arches rather than just the first one, and merge
them. What do you think?

I'm not sure that I'm following you. Do you mean something like default_netinst_udeb_include with the following in:

netcfg
ethdetect

And then if it's alpha include "fdisk-udeb" or amd64 or i386 include "pcmciautils-udeb".

Alternatively if it's just the .disk/udeb_include and .disk/udeb_exclude files you don't want duplicates in, then we can filter them out while maintaining the order (I'm assuming the order is important).

--
Robert Spencer


Reply to: