Multistrap Extracting Order?
In building a root file system for armel Squeeze on an amd64 Squeeze
box, either with multistrap 2.1.20 or 2.1.15~bpo60+1, with normal
Debian debs (not emdebian debs), I find that extraction happens in
alphabetical order. This is not what I expected.
It becomes an issue as I have build some non-debian debs with
alphabetical names that come before packages in which I want to
"Replaces" a few files along with creating diversions. My issue is
similar to bug 591518  but not exactly the same.
What happens is that my custom package gets extracted first, preinst
which would have setup the diversion doesn't get run, and then the
normal Debian package which my custom package "Replaces" gets
extracted. This ends with the normal Debian package's files
overwriting my custom package's files. Kind of the reverse of the
intention of my "Replaces" goal.
On first boot, I run 'dpkg --configure -a' and dpkg does the configure
based on "Depends" info, or so it seems. This is what I expected the
order of extracting to be in multistrap such that "Replaces" would be
respected. Even if I run my custom preinst before dpkg, like is done
with dash, I wouldn't solve the problem although the diversion would
get set up properly.
Am I doing something wrong or is this worthy of a bug report?
If I'm not being clear, I'm happy to provide multistrap logs.
As a work around, I could just multistrap the minimal packages I need
and then after doing 'dpkg --configure -a' on first boot proceed to
install my custom packages and any additional packages. Then
everything _would_ work properly.
In the multistrap code, it seems the packages get sorted by name before
being extracted. I've not delved deep into the code yet, but would a
patch that sorts by "Depends" be a reasonable improvement to multistrap?