[Maria-developers] bringing mysql-5.5 cmake goodies into MariaDB?
Hi, I spend about some time (took about a day) trying to improve the current state of windows build and packaging. Partly, I it was to improve my own experience working on Windows (spoiled by MySQL5.5 :) with out-of-source build, partly because I think the fact that the packaging (even zip) requires specially prepared source on Unix or Cygwin (known as bootstrapping in the old MySQL, gone in MySQL-5.5) , is not the way to go forward. It is hard to explain it to our Windows users that Cygwin might is required or recommended, die-hard windows people try to avoid it, and it is known to be broken in recent Windows (Vista +) too... So, the proposed patch would eliminate every Cygwin dependency. Those cmake goodies are not the full 5.5 cmake stuff (nothing Unix related, no improvements for plugins, no improvements to avoid useless recompilation in embedded or in libmysql etc.), but mainly Windows-related packaging plus out-of-source build and test. I have created a repo with my changes on Launchpad https://code.launchpad.net/~maria-captains/maria/5.1-windows-packaging to configure the build (for releases) one would execute % cmake . -DWITH_EMBEDDED_SERVER=1 (all engines that should be compiled in are set to compile in by default, I do not use embedded by default since the build is taking too long with it) To build the ZIP package % devenv mysql.sln /build relwithdebinfo /project package This creates ./mariadb-<major>.<minor>.<patch>-win32.zip To build MSI (assuming Wix 3.0 is installed from http://wix.sourceforge.net/downloadv3.html ) % devenv mysql.sln /build relwithdebinfo % devenv mysql.sln /build relwithdebinfo /project MSI the resulting msi is in win\cmake\ mariadb-<major>.<minor>.<patch>-win32.msi This procedure resembles very closely the official MySQL5.5 release-type builds on Windows ( Jonathan blogged about it some time ago http://www.perkin.org.uk/blog/2010/11/how-to-build-mysql-releases/ ) NSIS is probably broken. Frankly speaking I do not know it at all, neither I believe it would be a good idea to learn, as it will disappear in 5.5 at least. I appreciate comments on the idea. Especially from Philip as QA, and from Kristian as build automator ( should we decide to use this patch, some things will have to change on Buildbot). On the patch itself: - Preventively (to avoid 5.5 merge errors), I created new files in different places from where they live in MySQL 5.5 (e.g. not in cmake/* but in win/cmake/* , not packaging/Wix/* but win/packaging/*). I have done it as bazaar cannot handle situations, where files are "retrospectively" added in old releases. - I also had to fix Maria's mtr for out-of-source build. - When merging with 5.5 most of this stuff (except MTR changes) should disappear, it is already there I can create worklog about this ,and do other procedurally required stuff. I'm not sure in which MariaDB version it should be applied , if we decide to apply it at all. Thanks, Vladislav
participants (1)
-
Vladislav Vaintroub