[pacman-dev] [PATCH] Introduce destarch keyword into makepkg

Allan McRae allan at archlinux.org
Wed Jul 2 08:27:30 EDT 2008

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. 


More information about the pacman-dev mailing list