Hi,
(I'm not commenting on the approach used by multistrap in general, I just
reply to your questions)
On Wed, 02 Mar 2011, Neil Williams wrote:
> What will happen with maintainer scripts of Multi-Arch packages when
> installed alongside native packages? Why are these being retained if
> they cannot be executed?
The scripts are executed. That just means that Multi-Arch: same package
should avoid use of binary executables as maintainer scripts.
But a maintainer script implemented as a shell script can use any program
whose presence is guaranteed by the dependencies, just as usual, whatever
its arch.
> > 3/ Any program that assumes the current layout of control files
> > (/var/lib/dpkg/info/<package>.<something>) will be broken (at
> > least for some packages) since the layout will change to support
> > Multi-Arch: same packages that can be co-installed.
> >
> > You should use "dpkg-query --control-path <package> <something>" to
> > retrieve the path of the file. This has been introduced in dpkg
> > 1.15.4 and is thus in squeeze already.
>
> 1. Which packages currently show this behaviour? dpkg doesn't show any
> change in the --control-path setting for dpkg itself.
The change will only take place once we roll out multiarch... if you use
one of my snapshot you already have a different value here (it embeds the
architecture string). But that's not the definitive layout, see below.
> 2. What are the changes in /var/lib/dpkg/info/* ?
Multi-Arch: same packages will use
/var/lib/dpkg/info/<package>:<arch>.<something>
> For Multistrap, every file in /var/lib/dpkg/ has to be created by
> multistrap, based on the data obtained from dpkg -e (basically the
> DEBIAN/ content). This data needs only to be sufficient that dpkg can
> correctly configure the packages once dpkg itself is able to be
> executed inside the new filesystem.
It's sufficient, you just need to know the value of the Multi-Arch field.
Cheers,
--
Raphaël Hertzog ◈ Debian Developer
Follow my Debian News ▶ http://RaphaelHertzog.com (English)
▶ http://RaphaelHertzog.fr (Français)