Ansible: Compiling Wine 32 and 64 bit on Debian made easy
Francois Gouget
fgouget at codeweavers.com
Sun Jul 1 02:04:49 CDT 2018
Debian's multi-arch support is great... in theory. In practice a lot of
packages don't support multi-arch or have broken multi-arch support
which makes it hard to compile the 32 and 64 bit versions of Wine.
Since this is something the TestBot needs to do and it would be nice if
anyone could replicate the TestBot infrastructure I wrote Ansible
playbooks. One of those configures a Debian 9 system so it has all the
32 and 64 bit dependencies needed to compile Wine (except for GStreamer
due to extensive breakage, and vkd3d which is too new).
I don't know if that would help people using Ubuntu or other versions of
Debian but here are the playbooks in case anyone wants to try them.
Here's how one would use the attached tar file to configure their own
system:
* Unpack the tar file.
* Install ansible on your machine.
* Tell ansible to set up you machine.
cd ansible
mkdir inventories/devel
vi inventories/devel/inventory
Write the following
[unix-winebuild]
localhost
[my_ansible]
localhost
[my_ansible:vars]
ansible_become=yes
* Then either (if I remember correctly) run the following command line
as root:
./playbooks/unix-winebuild.yml
Or if you can sudo root you could also run it as follows:
./playbooks/unix-winebuild.yml --ask-become-pass
And of course, since this is ansible, if you have your credentials set
correctly you can apply this to any number of remote host with just that
same command. Also note that you only need to install ansible on the
machine you will use to set up your remote hosts or virtual machines.
Here's some more details about what you'll find in the tar file:
Playbooks:
* unix-winebuild: To set up the system to compile the 32 and 64 bit
versions of Wine. This installs all the reauired development
packages, works around the development packages that cannot be
installed because of multi-arch issues, etc.
So this is the playbook you want!
* unix-winepe: Configures a host to build Wine PE binaries.
Roles:
* setup_multiarch: To enable the amd64 and i386 architectures.
* fix_pymultiarch: To fix Debian packages that have broken prerm or
postinst scripts that totally break the packaging system once they
are installed for more than one architecture. winebuild needs it
for gir1.2-ibus-1.0.
* apt_multiarch: A multiarch aware role for installing packages.
* solink: To create missing .so symbolic links for development
packages.
* apt_bad_dev: To install development packages and workaround issues
for those that are not multiarch-compatible.
* winebuild: To set up the system to compile the 32 and 64 bit versions
of Wine.
* winebuildtools: Configures a host to be able to build Wine's native
tools.
* winepe: Configures a host to build Wine PE binaries.
--
Francois Gouget <fgouget at codeweavers.com>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: wine-ansible.tar.xz
Type: application/x-xz
Size: 5452 bytes
Desc: wine-ansible.tar.xz
URL: <http://www.winehq.org/pipermail/wine-devel/attachments/20180701/2d75c1cd/attachment.xz>
More information about the wine-devel
mailing list