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

Multiarch preparations needed for etch dpkg

Matt Taggart and others <taggart@debian.org> writes:

> Hi debian-dpkg,
> Several people have been working on a project we've been calling "multiarch", 
> to seamlessly support running applications for multiple different binary 
> targets on the same system. The main example being running i386-linux-gnu 
> applications on amd64-linux-gnu systems, but many other working combinations 
> exist. More info on Debian's multiarch efforts at
>   http://wiki.debian.org/multiarch
> Part of implementing multiarch requires changes to dpkg.

I've added another section to the wiki above listing the changes I
would like to see implemented in etch dpkg in preparation for a future
multiarch dpkg. I still think multiarch can be done in the current
dpkg, esspecialy since I have an implementation that is 90% there.

The listed changes are linked on the main page or directly under


This comes down to 3 small changes with little to no impact on the
current system but enabling features for the future:

- Introduce the Multi-Arch field so sources can already set it

- Store meta data with an arch tag when Multi-Arch: yes is set
  (Note that no package yet sets this. This is so packages can start
  using Multi-Arch: yes without confusing future dpkg about file
  I propose to use /var/lib/dpkg/info/<pkg>.<arch>.install as syntax.

- Allow arch specific depends
  I propose to use "Depends: <pkg>:<arch> (>= 1.2-3)" as syntax for
  thses. While for etch no package should use them dpkg should accept
  them so installing etch+1 debs can go without hitch.
  (Note that this also impacts on apt and aptitude)

The wiki has more details on each of the 3 steps.

I'm preparing patches for this but I would like to hear any comments,
specificaly on the syntax to be used, before I submit any. No point
in submitting a patch if the syntax then has to be changed.

If those 3 changes are accepted into dpkg for etch then there should
be no special steps needed in etch+1 to convert a system from uni-arch
to multi-arch. A simple dpkg upgrade should do the trick.


Reply to: