Big ugly build changes might be needed for Debian/Ubuntu

Marcus Meissner marcus at jet.franken.de
Thu May 19 15:51:31 CDT 2011


On Thu, May 19, 2011 at 11:58:47AM -0700, Scott Ritchie wrote:
> So, multiarch is going along well in Debian/Ubuntu, and by next distro
> release Wine should be building as a proper multiarch package.  Previous
> hacks like ia32-libs will be dead for good.
> 
> 
> A side effect of this change, however, is the current build daemons ONLY
> have packages for one architecture.  This means that, at build time, you
> won't be able to pull in the 32-bit packages on a 64-bit build daemon.
> 
> 
> From what I understand, this change is originating in Debian (and thus
> propagating to Ubuntu).  I believe the motivations are mostly ease of
> management of the build daemons -- only by doing this, for instance, can
> an entire architecture be properly isolated and self-contained.
> 
> 
> This means for bi-arch Wine, we will need to either:
>  - Make Wine support building in pure 64-bit mode and then calling the
> 32-bit subsystem from a separate binary
>  - Make a very persuasive case that Wine isn't the only package that
> needs to have multiple architectures at build time
> 
> 
> Hopefully I'm overestimating the amount of work involved, as this sort
> of architecture modularity might be a "nice to have" in Wine anyway.
> 
> If none of this is doable by next release, we'll just have a 32-bit only
> Wine, which isn't really any worse than the situation now.

It is trivial. You basically build wine twice, once in the 32bit 
environment and once inthe 64bit one.

You just need to take care you can install both.

For openSUSE I create the binary packages:


wine-32bit	(i586 build)
		/usr/lib/libwine*
		/usr/lib/wine/*
		/usr/bin/wine
		/usr/bin/wine-preloader

wine 		(both a i586 and x86_64 package)
		both requires the wine-32bit package
		
		Contain all other files not in wine-32bit.

		for 64bit also the runtime things
		/usr/lib64/libwine*
		/usr/lib64/wine/*
		/usr/bin/wine64
		/usr/bin/wine64-preloader

So basically depending on which architecture it is installed on, you
get wine and wine-32bit on the final system ... Just on 64bit the wine
package is 64bit.

There is no need for 32bit and 64bit cross usage during build.

Ciao, Marcus



More information about the wine-devel mailing list