Gunnar Dalsnes wrote:
Hi,
I'm tired of fixing bugs in code ported from wine <x> years ago. In most cases the bugs has already been fixed in the wine code we ripped from, but the ros variant is forked so much its impossible to inc. those fixes into ros, so the only choice is to rip the whole wine source over again, loosing any possible fixes/improvements we had made to the ros variant vs. the wine variant.
Take for example the file lib\kernel32\misc\profile.c. This file is 99.9% unchanged from wine, and only includes and some prototypes needed changes. I want to move files like this into wine subdirs. like lib\kernel32\misc\wine\profile.c and generate an initial diff lib\kernel32\misc\wine\profile.diff with changes made to make it run on ros using the wine porting headers. It does not mean that this diff will contain ERR changed to DPRINT etc. Only the bare changes to make it compile. Moving files into wine dirs in off course not necesary, but it makes it clear that this file(s) are shared thus there are rules to follow when changing them.
I have made scripts that updates our profile.c, using the profile.diff and any updated profile.c from wine, and i have made a script for generating patches that we send to wine. It all seems to work fine. HELP: where does the winehq2ros.patch files used in comctl32 etc. fit into this?
The only problem is wines strange unicode strings, their FIXME, ERR etc. and indentation. I think its worth it if we can share more, but dunno if the majority agrees.
From what i can see, much of kernel32 and ntdll can be shared this way, and probably much stuff in user32/gdi32 also.
Regards Gunnar
Personally, what bugs me is that if Wine fixes something, it's our responsability to merge it and cope with it. If we fix something, it's still our responsability. This latter statement bugs me. Of course it's up to us to implement Wine's changes, but why should we be the ones that also send our pathces back to wine, and have them all formatted back into Wine mode. It seems unfair to me that they don't submit their bug fixes to us, and it's up to us to sync and make them proper, while it's ALSO up to us to wineize our patches and send them to Wine.
Anyways, whatever tool/script makes importing Wine's code into ROS and making it look nice is 100% OK with me.
Best regards, Alex Ionescu