Means, wine/libwine is not present in the system globally - only its dependencies. User starts PlayOnLinux, pulls his desired Wine version and plays wine game in PoL.
How it works: I just created a package that fetches ALL wine:i386 dependencies, at same time installing none of wine binaries or files. The actual wine binary is thought to be installed within PlayOnLinux and not to be present outside of it. This is done for security and comfort reasons.
The dummy package also lies to the system to provide "wine", "wine32", "libwine" at same time conflicting with them - acting as a replacer. The dependencies it requires are not version specific, so it should work for the long time as replacer, unless something changes in Debian. These were copy-pasted carefully into single deb control file from wine:i386, wine32:i386, libwine:i386.
Here is the proof:
The steps to build such package:
1) download wine:i386.deb, wine32:i386.deb, libwine:i386.deb
2) using Ark or similar archive walk each of files and grab their "control" files.
3) sudo apt-get install dh-make
4) cd /tmp; mkdir winedummy-999; cd winedummy-999
5) "dh_make --createorig". Answer with "s", hit enter. It will create basic subfolder structure.
6) rename "debian" to "DEBIAN", cd inside "DEBIAN", rm *.ex
7) edit the control file and carefully add fields from said three packages. You want to require all packages which they require and at same time conflict with them. Also the field "Provides: " and "Replaces: " is useful to make pkg manager believe you have wine installed.
This is an example of my wine-dummy control file:
Code: Select all
Package: wine-dummy Version: 999.1 Architecture: i386 Maintainer: cx405 <firstname.lastname@example.org> Installed-Size: 1 Depends: file, libasound2, libc6, x11-utils, libncurses5, libfreetype6, libgl1-mesa-glx | libgl1, libglib2.0-0, libglu1-mesa | libglu1, libgstreamer-plugins-base0.10-0, libgstreamer0.10-0, liblcms2-2, libldap-2.4-2, libmpg123-0, libopenal1, libx11-6, libxext6, libxml2, zlib1g Suggests: binfmt-support, libgl1-mesa-dri, libasound2-plugins, libxcursor1 Breaks: wine, libwine, libwine-bin, libwine-dev, wine-bin, wine-utils, wine32, wine64, wine64-bin Provides: wine, libwine, libwine-bin, libwine-dev, wine-bin, wine-utils, wine32, wine64, wine64-bin Replaces: wine, libwine, libwine-bin, libwine-dev, wine-bin, wine-utils, wine32, wine64, wine64-bin, libwine-alsa, libwine-capi, libwine-cms, libwine-gl, libwine-gphoto2, libwine-ldap, libwine-openal, libwine-oss, libwine-sane Section: otherosfs Priority: optional Homepage: http://www.winehq.org/ Description: Windows API implementation - standard suite Wine is a free MS-Windows API implementation. This is still a work in progress and many applications may still not work. . This meta-package is sought to provide wine dependencies WITHOUT wine. . It is intended to be used together with environiment, capable of installing own wine version (like PlayOnLinux).
8) cd /tmp; dpkg-deb -b winedummy-999
9) purge wine*, libwine* from your system completely. PlayOnLinux does not have wine in its dependencies - but will complain if it fails to detect it. But will still continue away.
10) install the package with sudo gdebi or sudo dpkg -i winedummy-999.deb. The later you want to run "sudo apt-get install -f" to reverse-pull all requirements of winedummy.
11) run PlayOnLinux, go to Tools->Manage Wine Versions and pull one version. Do not use "System" as its not present. Play your games using only PlayOnLinux per-user only Wine.