Package: live-build
Version: 4.0.4-1
Severity: important

The installer_debian-installer and chroot_firmware scripts both download
a Contents-[arch].gz file in order to get a list of firmware packages to
then download and include. The URL compiled for download of the contents
file is {MIRROR}/dists/{DIST}/{ARCHIVE_AREA}/Contents-{ARCH}.gz.

This works fine for Debian and progress-linux builds, but is wrong for
Ubuntu. Ubuntu mirrors do not keep such contents files under archive
area directories, they only include a single copy in the directory above
({MIRROR}/dists/{DIST}/Contents-{ARCH}.gz).

Going back over the git history, a commit
(11d97a6a5f17fe2c500a798aa4a32fa6889e409c) was added in v3.0_a68-1 to
take exactly this into account, however, less than a month later another
commit (ca42266824b4b4ccd87243b90867487ba287181b) in v3.0_b1-1 removes
this, stating:

    "Dropping ubuntu guards on firmware selection code, we're not
    enabling firmware inclusion in ubuntu mode anyway.
    Also, we're not keeping this as ubuntu should just update their
    archive structure for content files to match debian. Not worth
    keeping temporary extra turns just for ubuntu."


Not having tested this, either Ubuntu builds would fail, or the download
would simply fail, resulting only in no firmware packages being included.

However, my bug #718225 solution (secure wget downloads) which is almost
complete, isn't designed to accept such failure, Ubuntu builds would
definitely fail on failing to download these files. I am not certain how
to proceed on this.

I have no idea whether maintainer reached out to Ubuntu to point out the
disparity in archive layouts and ask for it to be changed when dropping
support, but the fact is that two years later, their layout is still the
same. I will reach out to their mailing list myself in a moment, but I'm
not too hopeful that it will have any effect.

The required modifications in LB to support their layout is actually
pretty small, and considering the number of other similar hacks and such
throughout the rest of the code, I was a little surprised to actually
see and read the commit removing this support.

Daniel, what are your feelings on this currently? Should their layout
just be accepted, and a hack added back in? If not then a hack will be
needed anyway to allow the script to continue rather than fail when
using my new bug #718225 solution...

Reply via email to