Building MariaDB on Ubuntu
Ubuntu build requirements
- Packaging scripts
- MariaDB sources
- The following Ubuntu packages:
- build-essential dpkg-dev devscripts hardening-wrapper autoconf automake1.9 autotools-dev binutils bison chrpath debhelper defoma doxygen dpatch dvipdfmx fakeroot fontconfig-config g++ g++-4.3 gawk gcc gcc-4.3 gettext ghostscript ghostscript-x gs gsfonts html2text intltool-debian libc6-dev libcroco3 libcups2 libcupsimage2 libfontconfig1 libfontenc1 libfreetype6 libgomp1 libgs8 libice6 libjpeg62 libkpathsea4 libltdl7 libltdl7-dev libmail-sendmail-perl libncurses5-dev libpaper-utils libpaper1 libpng12-0 libpoppler4 libreadline5-dev libsm6 libstdc++6-4.3-dev libsys-hostname-long-perl libtiff4 libtool libwrap0-dev libxaw7 libxfont1 libxmu6 libxpm4 libxt6 linux-libc-dev lmodern m4 make patchutils po-debconf psfontmgr tex-common texlive-base texlive-base-bin texlive-base-bin-doc texlive-common texlive-doc-base texlive-latex-base texlive-latex-base-doc ttf-dejavu ttf-dejavu-core ttf-dejavu-extra xfonts-encodings xfonts-utils zlib1g-dev
MariaDB until 5.3
An easy way to install the above packages is like so:
apt-get build-dep mysql-server-5.1 apt-get install build-essential dpkg-dev devscripts hardening-wrapper
Ubuntu .deb build steps
First setup your build environment.
Package the Debian packages
cd $PACKAGING_WORK bakery/preheat.sh cd bakery_{number} bakery/tarbake51.sh last:1 $MARIA_WORK bakery/autobake51-deb.sh mariadb-{version_num}-maria-beta-ourdelta{number}.tar.gz
On subsequent packaging builds, you just update your repositories and run above packaging scripts again.
Update the repositories
rm -rf $MARIA_WORK rm -rf $PACKAGING_WORK cd $MARIA_MASTER $BZR pull $BZR branch $MARIA_MASTER $MARIA_WORK cd $PACKAGING_MASTER $BZR pull $BZR branch $PACKAGING_MASTER $PACKAGING_WORK
Now you can run the steps under Package the Debian packages again.
Monty Program's latest fixes
SergeyP made some fixes to the build which are not yet in ourdelta's repo. They were pushed into:
lp:maria-captains/ourdelta/ourdelta-mariadb51-2-montyprogram-fixes
At this point, building from that repo produces debs that will install successfully. Feel free to push further fixes into that tree.
Speeding up the build
In order to speed up the build you'll need to make and commit the following change in bakery/autobake-deb.sh
-export DEB_BUILD_OPTIONS="fulltest" +export DEB_BUILD_OPTIONS="nocheck"
After building
After building the packages, it is a good idea to put them in a repository. See the Creating a Debian Repository page for instructions.
MariaDB starting with 5.5
Alternate mechanism for getting source:
$ apt-get source mariadb-server
Use the debian/autobake-deb.sh script from the MariaDB source tree:
$ debian/autobake-deb.sh
MariaDB galera
As apt-source mariadb-galera-server doesn't work use https://downloads.mariadb.org/mariadb-galera/ to retrieve a source tar.gz file.
Use the debian/autobake-deb.sh script from the MariaDB source tree:
$ debian/autobake-deb.sh