-
Notifications
You must be signed in to change notification settings - Fork 131
How to make a TokuDB release
There are new versions of MySQL and MariaDB released about every 2 months. TokuDB requires several patches to the base MySQL and MariaDB code. So, if we want the latest and greatest MySQL and MariaDB, we have to merge our patches into their code. The Rebase TokuDB patches wiki describes how this is done.
The source for TokuDB is spread over several github repositories. Each of these repositories is tagged with a tag chosen for the TokuDB release. For example, the tag for TokuDB 7.5.5
is tokudb-7.5.5
.
The make.mysql.bash script is used to build TokuDB from source into a release or debug package.
The mysqlbuild
parameter is used by the make.mysql.bash
script to identify the git repositories and tags. For example, make.mysql.bash --mysqlbuild=mysql-5.5.41-tokudb-7.5.5-linux-x86_64
will make a community release package of mysql-5.5.41
using TokuDB 7.5.5. make.mysql.bash --mysqlbuild=mariadb-5.5.41-tokudb-7.5.5-debug-e-linux-x86_64
will make an enterprise debug package of mariadb-5.5.41
using TokuDB 7.5.5.
The tokutek.make.mysql.bash script is used to build TokuDB from source into a release or debug package AND upload the packages to an Amazon S3 bucket.
The make.mysql.release.bash script makes the release and debug packages for all of the targets.
We make the release and debug packages on a CentOS 5 machine configured as follows:
- Build machine: mork
- Linux distro: Centos 5.9
- Compiler: gcc 4.7 in devtoolset-1.1
- Other packages necessary to build MySQL
The Testing TokuDB wiki describes the overall test plan for a TokuDB release.
Test status is tracked with a spreadsheet. Here is the TokuDB 7.5.5 Test Status spreadsheet.
Publishing the release is fairly complicated and deserves its own document. Here it is: