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

Truely architecture-specific Packages files


while everyone is hopefully busy thinking about that other thread, let
me introduce yet another idea to this list (which isn't mine, but Niels
Thykier dropped it in a discussion, I just gave it a small spin):

At the moment binary-any/Packages includes information about arch:any
and arch:all packages. The Debian archive ships a binary-all/Packages
file however which only includes arch:all. Wouldn't it make sense to
drop the arch:all info from binary-any/Packages and instead let the
clients download (multiple) binary-any's and binary-all?

Implementing this in clients shouldn't be too hard as most of them
should be aware of MultiArch by now and hence deal with multiple files
already, they just need to know that they should get yet another file as

In fact, I tried implementing this in apt and the hardest part is
the decision if binary-any contains still arch:all and hence as an
"optimisation" binary-all shouldn't be downloaded. The rest was a piece
of cake.

This "optimisation" is rooted in the Architectures field (which, for the
benefit of other implementers, is a field not generated by all tools) in
the Release file which in Debian (the only place I see an existing
binary-all) doesn't include "all" at the moment, which tells apt to
ignore the binary-all files. If "all" would appear in this field apt
will start to download binary-all by default.

Now, the patch to teach apt this trick isn't even in experimental yet,
but if I am not hearing big cries against it I would like to apply it so
that the next Debian stable release (stretch) has an apt version
supporting it¹. Hopefully we have some buy-in and other clients with
there own file acquisition methods are compatible as well.

We could then talk about Debian moving to arch:any-only binary-any's for
buster¹. What do you think? – especially also about the "optimisation"
as thats basically written just for you^Wdak. :)

¹ you can tell apt/jessie via [arch+=all] in the sources list to grab
binary-all for you if a user would like to use by then oldstable
(=jessie) with testing (=buster) sources.

Best regards

David Kalnischkies

P.S.: For now I limited the scope to Packages as it is the hardest (in
terms of transition) and most used one, but apt would in fact go for all
arch:all specific files (like a Contents-all) if available.

Attachment: signature.asc
Description: PGP signature

Reply to: