Hello all: Note that this is intended as temporary measure that allows for amd64 and i386 packages to co-exist in Debian. Adam Heath is planning a solution that, in his opinion, will suit the Debian and dpkg policies better. However, the amd64 porting project is currently in a desperate need of something that does allow for i386/amd64 split system (mostly due to the /lib vs /lib64 problem). To that end, I've patched dpkg to support sub-architectures in a way similar to the way it's done on RPM. * Where to get it? Patches can be found here [1]. [1] http://www.jukie.net/~bart/debian/amd64/patches/dpkg/ My patch (dpkg-1.10.10+lib64+subarch.clean.patch) contains the lib64 patch from Gerhard Tonn, which is available separately from his site [2]. [2] http://people.debian.org/~gt/lib64/dpkg-lib64.patch Both patches are made against dpkg=1.10.10. * How it works? The config file is located in /usr/share/dpkg/subarchtable. It is parsed at runtime so it can be modified by users for their needs. The format is as follows: # comment <arch>: <subarch> ... An <arch> can have multiple <subarch>'s, where a package compiled for a <subarch> can be installed on <arch>. Simple example of the x86 subarch relationship: amd64: i686 i686: i586 i586: i486 i486: i386 Note that the list is tested recursively. The following rules are implied: <arch>: <arch> # a .deb can always be installed natively i386: all # an _all.deb can be installed anywhere * Other uses? The patch also addresses 32/64 bit problems on sparc and s390 architectures. Feel free to test that theory :) Finally this can be used to generate optimized packages for other subarchitectures (like glibc compiled with -mcpu=i686). This is not something I was trying to address and would likely require more work (like fixing the archtable and dpkg-architecture for one). If there are any problems, please let me know. Regards, Bart. -- WebSig: http://www.jukie.net/~bart/sig/
Attachment:
pgpAjjrnnAvMv.pgp
Description: PGP signature