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

Multiarch support for apt (conffiles)



Hi,

I would like to finalize some design ideas for multiarch support in
apt. Namely the conffile systax. If you don't like what you see speak
up and suggest alternatives or forever hold your peace. :)

Options for APT in general:

APT::Architecture <str>			: main/native architecture
APT::Architectures { <str>; ... }	: default architectures

To enable multiarch the architectures must be added to the general
config (or to the sources.list entry, see below).


Apt Preferences:

Pining to a specific architecture should be possible:

Package: *
Architecture: amd64
Pin-Priority: 500

Package: rar
Architecture: i386
Pin-Priority: 600


Sources.list:

Generally all architectures listed in APT:Architecture and
APT:Architectures will be fetched. But as not all repositories carry
all archs a per entry config of architectures might be neccessary. I
suggest redefining the unused vendor field (gets ignored in existing
apt) for this (and other) purpose:

deb [arch=i386,amd64; pin=800; key=debian-archive-keyring.gpg] http://ftp.debian.org/debian sid main

Or in general:

deb[-src] ['['<key>=<val>[,<val>]*][;[ ]*<key>=<val>[,<val>]*]*']' uri distribution [component1] [component2] [...]

The vendor field, marked by [], contains a ; seperated list of
key/value pairs where the value can be a , seperated list of strings
(or key specific?).

The pin and key entries in the example above is just that, an example
for having a multiple key/value in there.


deb [arch=i386,amd64] http://my.server.tld release-$(ARCH)

would be equivalent to

deb http://my.server.tld release-i386
deb http://my.server.tld release-amd64

with the possible exception of architecture filtering of the Packages
file. Not sure how the architecture filtering currently in apt will
translate to multiarch.

MfG
        Goswin


Reply to: