Hi, I am a developer for a product which makes heavy use of WINE. Right now, we're deciding which newer version of WINE to go to, and I thought the wine-devel community might have some insight. I did read the WineReleaseCriteria entry on the wiki, but still have some questions. If anyone could answer some things that I've been wondering about, it would go a long way towards helping us make an informed decision. So, here goes:
- Does the development branch of WINE go through a battery of tests before it is posted? What kind of criteria has to be met before a development release is made available on the main page?
- It's my understanding that the stable branch only has select features and patches ported over (from the wiki: "..with only minimal changes merged in"). Would this mean that if I compared a stable release with a development release from around the same time that the two releases would have significant differences? Specifically, I'm wondering about 1.2.3 vs. 1.3.15.
- Is 64-bit support in version 1.2.3 generally usable and stable, or is the current development release a lot more mature in that respect?
Your expertise would be appreciated!
Louis
On Mon, Jul 25, 2011 at 6:54 PM, louis@museresearch.com wrote:
- It's my understanding that the stable branch only has select features
and patches ported over (from the wiki: "..with only minimal changes merged in"). Would this mean that if I compared a stable release with a development release from around the same time that the two releases would have significant differences? Specifically, I'm wondering about 1.2.3 vs. 1.3.15.
Development releases of wine tend to be a *lot* more mature in every aspect than their stable counterparts.
Minor stable releases get a few hundred either important or easily-rebased patches each ported over from the development releases. It slightly helps keeping them up to date. The goal of stable releases is to have as few regressions as possible.
Keep in mind, for a piece of software like Wine, it doesn't make as much sense. 99% of Wine's development goes into implementing missing APIs or API details. Almost all of the time, this causes relevant broken apps to work better.
"Stable releases" are more of a bureaucracy issue. Wine was without stable releases for some 15-ish years and was doing just fine, but FWIU it annoyed many distributions. In general, if you don't want regressions, pick a recent development release that works for you and stick to it. 64-bit support is certainly better in 1.3.25 (current dev release), but that doesn't necessarily mean the bits of 64-bit support you need are not already in 1.2.3.
If you have testcases for your program, run them under Wine and see which one fares best. Added bonus is you can upgrade every few development releases and run the testcases again to see if there are regressions (and if there are, please do report them on http://bugs.winehq.org).
-- J. Leclanche
On Monday 25 July 2011 19:54:00 louis@museresearch.com wrote:
- Does the development branch of WINE go through a battery of tests before
it is posted? What kind of criteria has to be met before a development release is made available on the main page?
Every git revision has to pass the wine test cases("make test") on Alexandre's machine. That's the main criterion for patches to go in. There are no additional criteria for the development releases I know of. The development releases are just snapshots released every two weeks. As far as I know the only thing that's special about them is a git tag and a short release note.
On 07/25/2011 11:54 AM, louis@museresearch.com wrote:
- Does the development branch of WINE go through a battery of tests before
it is posted? What kind of criteria has to be met before a development release is made available on the main page?
Each applied patch have to compile and pass all conformance tests at least on Alexandre's PC. If even a single test fails, patch won't be applied. Alexandre usually picking most dramatic changes at the beginning of each release cycle for development version (2 weeks). Gradually lowering scale of changes towards the release date (every other Friday).
- It's my understanding that the stable branch only has select features
and patches ported over (from the wiki: "..with only minimal changes merged in"). Would this mean that if I compared a stable release with a development release from around the same time that the two releases would have significant differences? Specifically, I'm wondering about 1.2.3 vs. 1.3.15.
The Wine development version wine-1.1.44 eventually became Wine-1.2 release. The goal of the release was to stabilize Wine (no new features where accepted for a long time, only bug fixes). And to fix number of major bugs targeted for wine-1.2 (see bugzilla for details).
Wine-1.2.x are minor releases with few major show-stopper bug fixes back-ported from the development tree. Wine-1.2.1 also has number of translation additions and fixes. As well as some minor usability improvements to winecfg.
- Is 64-bit support in version 1.2.3 generally usable and stable, or is
No, it's not suitable for general use. It was one of the main targets for wine-1.2 release but had lots of issues for more complex applications.
the current development release a lot more mature in that respect?
Yes. Current development version should be able to run majority of simple 64-bit applications. And some big 64-bit applications with some issues.
Vitaliy.