Lucas Hazel wrote:
In the upcoming CRUX64 release, I am dabbling in a multiarch implementation. This is a deviation from the method used in 2.1.1-rc2 that uses a seperate compat32 repo.
I am using the original 2.2-test1 and gradually going to 2.3 ports. Only I am going strictly x86_64.
The implemenation I am using extends existing ports using the following hierarchy (? indicates that the file is optional)
port/ Pkgfile .footprint .md5sum
x86_64/ Pkgfile? .footprint? ... (x86_64 specific sources included in port)
compat32/ Pkgfile? ...
IMHO this makes things too complicated. Every port has to be modified. I prefer to disable multiarch and eliminate the lib32 altogether. So far it seems to work in all but a few core and opt ports without modification.
I have also added multiarch support to pkgmk, you can specify the arch with -a <arch>, for example to build the compat32 glib port:
cd /usr/port/opt; pkgmk -a compat32
This will build a package named glib-compat32#...
mThis all works really well in terms of development, as I tend to build the dependency chain manually rather than by using prt-get.
However, this method breaks prt-get in many ways (due to it not being aware of the multiarch ports structure)
The way I see it there are 2 options:
1. Continue using the multiarch structure, modifying existing utilities as needed.
2. Only use the multiarch in the development tree and use a utility to merge each arch into it's own public repo.
It would be nice to see crux-devel do that implementation (#2) for crux.
irc://irc.freenode.net#crux64
See you there....maybe.
OK - see ya - Mike aka jmvr