http://bugs.winehq.org/show_bug.cgi?id=25601
Summary: Possibility of slotted system-wide installation without violating FHS. Product: Wine Version: 1.3.3 Platform: x86 OS/Version: Linux Status: UNCONFIRMED Severity: enhancement Priority: P2 Component: build-env AssignedTo: wine-bugs@winehq.org ReportedBy: NightNord@gmail.com
Current build-system doesn't allow to add version to all installed executables, libraries and data-dirs.
I could change Make.vars.in to use dlldir = @libdir@/wine-@PACKAGE_VERSION@ includedir = @includedir@/wine-@PACKAGE_VERSION@ fontdir = $(datadir)/wine-@PACKAGE_VERSION@/fonts
but this won't affect other files from $(datadir)/wine and $(bindir) and $(libdir) (i.e. executables, scripts, libwine...). This will require Makefiles patching.
Yes, it's possible to supply --prefix=/some/uniq/dir option to configure, but this is undesirable for disto-packaging (i'm trying to make multi-version install of wine for Gentoo Linux).
I suggest replacing $(datadir)/wine, and libwine directory with variable like "dlldir", adding configure options to set dlldir, winedatadir, winelibdir, and includedir, and other configure option like executable-suffix, that would be added to any binary/script installed.
If you are agreed with such intentions, I can make corresponding patches.
Rationale of slotted install is simple - while 'newer-is-better' for wine is almost always true, regressions are possible at every update, so, if wine in vital for your work, slotted install will guarantee you safe-and-fast fallback (assuming, that you will copy your prefix before trying new wine). Also, there is many programs that works great on older wine, but much worse on newer, while other programs require newest wine to operate. Having both installed would be difficult than. And slotted install will make regression-testing much easier.
While many distros already have this feature (generally via installation in /usr/lib/wine-<version> prefix or patching build-system), I'm opening in hope, that it's possible to convince upstream for slight modification of build-system, so slotted installation would be possible without patches or FHS violation.
I'm looking forward for your response. Thanks in advance.
http://bugs.winehq.org/show_bug.cgi?id=25601
Austin English austinenglish@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Keywords| |download, source CC| |austinenglish@gmail.com
http://bugs.winehq.org/show_bug.cgi?id=25601
--- Comment #1 from Alexandre Julliard julliard@winehq.org 2010-12-24 04:22:42 CST --- (In reply to comment #0)
While many distros already have this feature (generally via installation in /usr/lib/wine-<version> prefix or patching build-system), I'm opening in hope, that it's possible to convince upstream for slight modification of build-system, so slotted installation would be possible without patches or FHS violation.
It wouldn't be a slight modification, it would require fairly extensive changes. I doubt it would be possible to do this without making a mess of things.
http://bugs.winehq.org/show_bug.cgi?id=25601
--- Comment #2 from Night Nord NightNord@gmail.com 2011-01-24 14:47:14 CST --- Created an attachment (id=32980) --> (http://bugs.winehq.org/attachment.cgi?id=32980) Example patch for such build-system
This patch don't change current behaviour, but makes such change much easier (only Make.vars.in changes are needed). Patch, that makes build-system actually multislotted will follow.
There is only one installed file that doesn't affected by this patch - wine.application (I just hadn't look on it, as it's should be obvious to fix, if it would be required).
Also, I hadn't test if wine will work correctly without supplying "correct" symlinks - probably not, so code changes are also may be necessary. I just hadn't look into this issue yet.
http://bugs.winehq.org/show_bug.cgi?id=25601
--- Comment #3 from Night Nord NightNord@gmail.com 2011-01-24 14:53:40 CST --- Created an attachment (id=32981) --> (http://bugs.winehq.org/attachment.cgi?id=32981) Patch that actually enables multislotting using @PACKAGE_VERSION@ macro
http://bugs.winehq.org/show_bug.cgi?id=25601
Damjan Jovanovic damjan.jov@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |damjan.jov@gmail.com
--- Comment #4 from Damjan Jovanovic damjan.jov@gmail.com 2011-05-24 11:11:34 CDT --- Wine is relocatable after compilation, ie. the --prefix option to configure doesn't have to match the prefix from which Wine is actually being run. The only tool I've found that won't work properly this way is winegcc. So I'm not convinced Makefile patches are actually necessary.
http://bugs.winehq.org/show_bug.cgi?id=25601
--- Comment #5 from Austin English austinenglish@gmail.com 2013-08-13 16:00:08 CDT --- Still present in 1.7.0.