Best way to overlay a filesystem for a Wine app?
Scott Ritchie
scott at open-vote.org
Mon Jan 30 14:27:34 CST 2012
On 01/30/2012 01:58 AM, Francois Gouget wrote:
> On Fri, 27 Jan 2012, Scott Ritchie wrote:
> [...]
>> To me, this sounds an awful lot like an overlay file system. Would
>> unionfs-fuse be the correct solution here? The .desktop file that sets
>> the Wine prefix and also launches the app could mount the FUSE
>> filesystem, and the user-space Wine prefix's files could take priority
>> over those in /opt. Stuff like user-modding and update/repair systems
>> could work properly in that context as well.
>
> The main issue with copy-on-write overlay filesystems is that they
> cannot deal with registry files for two reasons:
> * First, once a file has been written to and thus copied to the
> user's wineprefix, it will never be updated when you upgrade the
> application's package. This means after an upgrade the user's
> system.reg and user.reg files (the latter containing the dll
> overrides) will be unchanged which may cause the application to be
> broken.
Well, provided the app doesn't change it's registry entries, it should
be ok then. But couldn't we extend Wine a bit in the other case?
For instance, maybe app's changes could be merged in via Wine's normal
method of updating the registry on (Wine) upgrade (/usr/share/wine.inf)?
It would require giving Wine some sort of switch to point to a
supplemental file.
> * The second issue is that the registry really contains both
> application data and user data. The former should be upgraded while
> the latter should be preserved. So neither a copying the new registry
> files nor preserving the old registry files policies are appropriate
> (and these policies are the only two available to overlay
> filesystems).
>
If the user never customizes the app-specific prefix with winecfg or
similar, then copying the new registry should work yes?
> Besides that there are other issues, most of which Dan already
> mentioned:
> * As far as I know most overlay filesystems don't deal well with
> changes in the underlying filesystem. This pretty much breaks the
> upgrade scenario.
Do you mean upgrading while the filesystem is mounted? Or just any
change at all?
> * They are not available on all Linux distributions (not to talk about
> Mac OS X or FreeBSD). But I guess this is fine for a
> latest-Ubuntu-only approach (like for menus and the trash!).
>
Yeah the idea is to do this moving forward rather than create a
universal linux package.
> Another issue is applications that require a license key to be entered
> during installation. This causes trouble for both the overlay and
> symlink approaches since both have the packager install the application
> and then ship the installed image... along with its single license key.
> So for these applications a way to enter the license key on first run
> has to be found.
>
Agreed, keys will be a problem.
Thanks,
Scott Ritchie
More information about the wine-devel
mailing list