Some small hacking opportunities :)
Hi,
as I don't know anything about perl and severely lack time at the
moment, I thought I might ask around if anyone feels motivated to hack
something:
1. #558095: The "minimal" implementation laid out in the bug report is
just that, minimal. It would be better to have proper support for
handling qualified build dependencies, at least in dpkg. Fortunately,
the only place that requires significant changes appears to be
dpkg-checkbuilddeps.
Basically, this command needs -a and -t options similar to
dpkg-architecture, and the resolver adapted to check whether the
package in question is installed for the proper architecture,
according to the table on https://wiki.ubuntu.com/MultiarchCross . As
the relevant query interface has not really been defined, this means
pes^H^H^Hcollaborating with the dpkg developers.
2. #539038: The patch is somewhat outdated and does not quite conform to
the wishes of the dpkg maintainers. Forward-porting is simple,
adapting it to use the tilde notation rather than the "x-" prefix is
too, but determining the missing values for the environment rather
than writing "unknown" is somewhat difficult (and not always
possible, but we ought to at least try).
I am wondering if appending the tilde would be somewhat safer to
avoid shell expansion; if it should indeed go to the front,
dpkg-architecture should have an appropriate test here.
3. #537645: This patch is outdated as well, and is in severe need of
deuglification. Due to the peculiar way dpkg-cross passes variables
between the DpkgCross perl module and the frontend binary, this is
most suitable for someone who understands variable scoping
blindfolded.
4. #545464: Another patch that is somewhat outdated and does not really
work. What *should* happen is that any file in
/usr/{include,lib}/$triplet is passed through with the same path, so
dpkg-cross just adds co-installability to those packages for systems
with pre-multiarch dpkg.
5. It would also be nice to have a dpkg-cross mode in which an empty
arch-dependent -cross package is generated that depends on the real
-dev package and that has a slightly higher version number (append
"+~multiarchtransition". A multiarch capable package manager would
then prefer this package, while dependencies from pre-multiarch
-cross packages could be satisfied.
All of these should be fairly simple for anyone proficient in perl. For
me, they aren't. :/
Simon
Reply to: