From: Qian H. <fra...@gm...> - 2015-06-05 10:30:56
|
Hi all, Sorry for a long delay, here is a follow up after a long break: Firstly, I'd like to thank a lot of people from MSYS2 / Cygwin / Wine who support and help the plan ;-) Secondly, all patches / hacks mentioned last time had already been improved and committed into Wine Staging: http://www.wine-staging.com/ , those difficult parts are mostly done by Sebastian Lackner, credit to Sebastian :) Start from today, MSYS2 installs almost out of box on lastest Wine Staging (export STAGING_WRITECOPY=1 is required before everything). After installation, many tools work out of box now. While many things work out of box, it is possible that MSYS2 users are not familiar with Wine, or Wine users are not familiar with MSYS2, so we made a simple guide for how to use MSYS2 on Wine: http://sourceforge.net/p/msys2/wiki/MSYS2%20on%20Wine/ As Ray suggested, we improved some of them in a priority to make the below things work: - mintty didn't work last time, now it works out of box. I haven't found obvious bug yet - pacman had a infinite loop during signature verifying last time, now it works out of box, no obvious bug found yet. - python works, no obvious bug found yet. (haven't tested all 4 python, testers are great appreciated) - perl works, no obvious bug found yet. (haven't tested all 2 perl, testers are great appreciated) - many base-devel packages works, haven'd found obvious bug which can block compiling msys2-runtime on Wine yet This suggests that we are almost able to bootstrap MSYS2 on top of Wine MSYS2. Currently the No. 1 blocker who prevents us bootstrap MSYS2 is git.exe from MSYS2, if anyone can provide help for this bug that will be great helpful: https://bugs.wine-staging.com/show_bug.cgi?id=348 ( git.exe from msys2 fail to clone https repo ) Other Wine bug discovered by MSYS2 are reported to Wine Staging: https://bugs.wine-staging.com/buglist.cgi?quicksearch=msys2&list_id=2350 We have a couple of bugs to be documented yet, will do that soon. Regarding debugging tools, as far as I know: - gdb.exe works good enough, helped a lot during my debugging. (unfortunately gdb.exe can't print symbol inside Wine module) - strace.exe works good enough for single process, helped a lot as well. However child process does not work yet. - As Ray mentioned about IDE, I also tested Qt-Creator a little bit. Good news is compiling and running simple GUI hello world works fine, bad news is debugging doesn't work, so it is not very useful right now. For performance, it is still not good. On my machine, it takes about 50 mins to build the msys2-runtime package. (skip the time spent by `git clone` because I have to use host git to workaround Wine Staging bug 348) On the same machine, I think it takes not more than 25 mins to build the msys2-runtime package on Windows. 50 mins is not good, this suggested that we might have a timeout error if we try to build msys2-runtime on Wine in Travis CI today. There is space to optimize, but we need some time. In order to push the plan further, here are some ideas for next step: - As mentioned above, we need to fix that git.exe problem as soon as possible, again, helps are great appreciated! - We need a way to install msys2 itself in command line, so that we can script the build in Travis CI easily. I tried wine msys2-i686-20150512.exe /Silent and a few other ways I was guessing but none works. Is unattended installation supported now? Google search suggested that IFW Version: "2.0.81" supports unattended installation, not sure if I miss something or it is not yet supported on the MSYS2 side. If this could be resolved that will be great appreciated. - We hope to setup some daily build of important msys2 packages on top of Wine in Linux server as soon as possible. During last 3 upgrade of MSYS2 in the past months, 2 of 3 trigger Wines bug which prevents bash.exe from start. It was a pain to debug the msys2 runtime itself because almost no tool works, I really don't want to do that again ;-) In order to catch new bugs at first minutes, I'm hoping that we can monitor msys2 runtime git repo (and other repos for important packages), rebuild these packages every commit, at least every day. If that could be done in Travis CI then that's perfect, we are still investigating. Any ideas are welcome! - If we could compile and run the builtin test suite of MSYS2/Cygwin and test on Wine, that will be very useful. Anyone have good news about compiling the test suite located in winsup/testsuite? - I'm also hoping that our work could be useful for Cygwin users as well, sooner or later I might post something to cygwin list, any idea is welcome as well. I'm sure there are things I miss, will append once I remember :) Testers welcome, enjoy, and thank you! |