Package: debhelper
Version: 8.1.2

Multiarch support is (finally!) coming along nicely in both Ubuntu and
Debian. (see https://launchpad.net/~vorlon/+archive/multiarch )

I'm not sure how closely you've been following the multiarch work, but
it provides the ability to cleanly install libraries of multiple
architectures. The multiarch-cross spec extension provides the
functionality to use this for cross-building and resolving
cross-dependencies.

https://wiki.ubuntu.com/MultiarchSpec
https://wiki.ubuntu.com/MultiarchCross

We've been testing this work for use on armhf and armel and have come
up with a nice patch for debhelper which makes the conversion of
packages to be multiarch compliant very straighforward.

We hope it meets with your approval.

All library packages (and -dev packages) will need to be
'multiarchified' over time, so making this as easy as possible for
maintainers is good.

To convert a package the following is necessary:
* all multiarch packages will need to be compat 8 and build-depend on debhelper 
>> 8.1.2
* debian/control gets the Multi-Arch fields added to relevant binary stanzas
* debian/*.install files get modified, individually, with a token which
    debhelper can replace with the triplet.
* export DEB_HOST_MULTIARCH ?= $(shell dpkg-architecture -qDEB_HOST_MULTIARCH)
    added to debian/rules (and tokens added as required) 
* The patch (from Daniel Silverstone), applied to debhelper (so that it
can expand the token ${DEB_HOST_MULTIARCH})

Here is an example package, converted using the suggested patch:
http://www.emdebian.org/trac/browser/current/multiarch/p/popt/trunk/debian

http://ftp.uk.debian.org/emdebian-multiarch/pool/main/p/popt/

This has been tested inside a chroot with modified, experimental,
versions of dpkg and lsb-base using vorlon's patches. These packages
are available in the above emdebian-multiarch repository (although
possibly only for amd64 but sources are included).

The resulting packages cross-build in a MultiArch manner easily.

Patch:
Index: Debian/Debhelper/Dh_Lib.pm
===================================================================
--- Debian/Debhelper/Dh_Lib.pm  (revision 7813)
+++ Debian/Debhelper/Dh_Lib.pm  (working copy)
@@ -617,6 +617,10 @@
                        next if /^#/ || /^$/;
                }
                my @line;
+               # Only expand ${...} environment vars in v8
+               if (! compat(7)) {
+                               s#\$\{([^\}]+)\}#$ENV{$1}#g;
+               }
                # Only do glob expansion in v3 mode.
                #
                # The tricky bit is that the glob expansion is done


Wookey
-- 
Principal hats:  Linaro, Emdebian, Wookware, Balloonboard, ARM
http://wookware.org/



-- 
To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org

Reply via email to