Thomas Bächler wrote:
Would this make more sense? arch=('i686' 'x86_64) buildarch=('i686')
To build for i686 just type "makepkg" on an i686 machine. To build for x86_64, type "makepkg -D x86_64" on an i686 machine. Typing "makepkg" on a x86_64 machine fails. I think this would be clearer.
Yeah, I just saw that this makes much more sense for grub, as you need the package for both architectures (right now, we actually change a comment everytime we build it). However, my motivation was that right now I am building some multilib stuff and have packages that always have to be built on i686 and installed on x86_64. So at the end of the build() procedure I need to do 'export CARCH="x86_64"', which is a hack that doesn't work with -L for example.
Using a -D option would mean that I have to build 20 or 30 packages with '-D x86_64' all the time. My goal was to make the build procedure for these packages intuitive enough, so you can't build them "wrong".
Just getting an indication of how common this is. The multilib stuff in [community] all takes the i686 package as the source and just moves the files to the new locations. Is there some reason that you cannot use that approach. Wouldn't all packages you are wanting to make a multilib package for have an i686 package floating about. Also, with that approach you can actually make the package on the target architecture. Allan