Approximity blog home
1 of 1 article InfoSyndicate: full/short

Wine-Migration   25 Sep 04
[print link all ]
At Linuxtag in Karlsruhe I met during lunch one of the authors of ganymede. I am the last person in the world to promote the use of the Win32-API, but it can come in handy, when you have to use some legacy software on Linux and do not want to pay license fees for the usual suspects like vmware. Having to maintain only one code-base is sexy, too.

I asked David Guembel, one of the fathers of the software to email me a short describtion:

 On an abstract level, the idea behind our ganymede system is simple: To make
 an application run under Wine (a free Win32-API layer and Windows
 executable loader), it is neccessary to know what parts of the Windows API
 are actually required by that particular piece of software. Software has a
 modular structure - in this context, a module is a Windows executable
 (.DLL, .EXE, .OCX etc.) - and every module provides (exports) certain
 functionality and requires (imports) functionality from other modules.
 Thus, ganymede internally creates a dependency graph of an application's
 binaries. This method is static and does not require anything but a fresh
 installation of the software to be analyzed.

 Before x-raying a Windows application, ganymede parses and stores an
 analysis of the soure code of one or more Wine versions. It automagically
 determines the implementation state of the APIs provided by Wine. During a
 software analysis, the functionality required by the Windows application is
 compared to what Wine provides, and missing or incomplete APIs are
 reported. By storing Wine versions and the dependency structure of the
 analyzed applications in a database, automatic or manual re-analysis with
 different Wine versions is possible. Via the API ganymede itself provides,
 the collected data is accessible in several ways. One application of that
 API is our tool named sysiphus, which uses ganymede and a GUI-based
 approach to semi-automatically determine the best possible Wine
 configuration while providing for the possibility to re-use already
 licensed Windows DLLs to fill the gaps Wine still leaves.

 

Powered by Rublog