Re-compiling MySQL 5.0 with OpenSSL support under Debian

If you’ve ever required OpenSSL support enabled for MySQL Server 5.0 under debian, then you will need to recompile MySQL. Under Debian this is very easy.

If you’ve ever required OpenSSL support enabled for MySQL Server 5.0 under debian, then you will need to recompile MySQL. Under Debian this is very easy.

First you will need to download the package source, as root type the following:


cd /root
mkdir build
cd build
apt-get source mysql-source-5.0

The above commands will create a folder called ‘build’, enter the directory and then download the mysql-server-5.0 package source. The following are the results under an Ubuntu server:


[root@jager:/root/builds]# apt-get source mysql-server-5.0
Reading package lists... Done
Building dependency tree
Reading state information... Done
Need to get 16.8MB of source archives.
Get:1 http://security.ubuntu.com feisty-security/main mysql-dfsg-5.0 5.0.38-0ubuntu1.1 (dsc) [1209B] Get:2 http://security.ubuntu.com feisty-security/main mysql-dfsg-5.0 5.0.38-0ubuntu1.1 (tar) [16.6MB] Get:3 http://security.ubuntu.com feisty-security/main mysql-dfsg-5.0 5.0.38-0ubuntu1.1 (diff) [149kB] Fetched 16.8MB in 17s (957kB/s)
dpkg-source: extracting mysql-dfsg-5.0 in mysql-dfsg-5.0-5.0.38
dpkg-source: unpacking mysql-dfsg-5.0_5.0.38.orig.tar.gz
dpkg-source: applying ./mysql-dfsg-5.0_5.0.38-0ubuntu1.1.diff.gz

If you list the directory contents you should have something like this:


[root@jager:/root/builds]# ls -al
total 16408K
drwxr-xr-x 3 root root 4096 2007-10-30 13:08 ./
drwxr-xr-x 15 root root 4096 2007-10-30 13:06 ../
drwxr-xr-x 39 root root 4096 2007-10-30 13:08 mysql-dfsg-5.0-5.0.38/
-rw-r--r-- 1 root root 148883 2007-10-10 14:11 mysql-dfsg-5.0_5.0.38-0ubuntu1.1.diff.gz
-rw-r--r-- 1 root root 1209 2007-10-10 14:11 mysql-dfsg-5.0_5.0.38-0ubuntu1.1.dsc
-rw-r--r-- 1 root root 16602385 2007-04-03 05:03 mysql-dfsg-5.0_5.0.38.orig.tar.gz

Before we proceed we need to make sure that we have all of the necessary tools to compile the new packages and create the .deb:


apt-get install devscripts build-essential fakeroot

You will also want to make sure that you have any dependencies that the package would require:


apt-get build-dep mysql-server-5.0

Now that we have everything we need, we just need to make a modification to the file “mysql-dfsg-5.0-5.0.38/debian/rules” with your favorite editor. Search for the following lines within the file:


--without-openssl
--with-yassl

And change the lines to the below:


--with-openssl
--without-yassl

Basically you’re enabling OpenSSL and disabling YaSSL, make sure that you have OpenSSL installed (apt-get install openssl). Once you’ve finished editing the file, save it and exit out of the editor.

You will then want to start the compiling and build of the Debian packages, run the following command within the “mysql-dfsg-5.0-5.0.3” directory like so:


[root@jager:/root/builds/mysql-dfsg-5.0-5.0.3]# debuild -us -uc

Everything should process properly, and you should end up with a handful of .deb packages within “/root/builds”:


[root@jager:/root/builds]# ls -al
total 57628K
drwxr-xr-x 3 root root 4096 2007-10-30 14:02 ./
drwxr-xr-x 15 root root 4096 2007-10-30 14:35 ../
-rw-r--r-- 1 root root 6411178 2007-10-30 14:02 libmysqlclient15-dev_5.0.38-0ubuntu1.1_i386.deb
-rw-r--r-- 1 root root 1426470 2007-10-30 14:01 libmysqlclient15off_5.0.38-0ubuntu1.1_i386.deb
-rw-r--r-- 1 root root 45756 2007-10-30 14:01 mysql-client_5.0.38-0ubuntu1.1_all.deb
-rw-r--r-- 1 root root 6794738 2007-10-30 14:02 mysql-client-5.0_5.0.38-0ubuntu1.1_i386.deb
-rw-r--r-- 1 root root 54466 2007-10-30 14:01 mysql-common_5.0.38-0ubuntu1.1_all.deb
drwxr-xr-x 40 root root 4096 2007-10-30 14:00 mysql-dfsg-5.0-5.0.38/
-rw-r--r-- 1 root root 148883 2007-10-30 13:34 mysql-dfsg-5.0_5.0.38-0ubuntu1.1.diff.gz
-rw-r--r-- 1 root root 972 2007-10-30 13:34 mysql-dfsg-5.0_5.0.38-0ubuntu1.1.dsc
-rw-r--r-- 1 root root 1761484 2007-10-30 14:02 mysql-dfsg-5.0_5.0.38-0ubuntu1.1_i386.build
-rw-r--r-- 1 root root 3136 2007-10-30 14:02 mysql-dfsg-5.0_5.0.38-0ubuntu1.1_i386.changes
-rw-r--r-- 1 root root 16602385 2007-04-03 05:03 mysql-dfsg-5.0_5.0.38.orig.tar.gz
-rw-r--r-- 1 root root 47854 2007-10-30 14:02 mysql-server-4.1_5.0.38-0ubuntu1.1_i386.deb
-rw-r--r-- 1 root root 47828 2007-10-30 14:01 mysql-server_5.0.38-0ubuntu1.1_all.deb
-rw-r--r-- 1 root root 25522626 2007-10-30 14:02 mysql-server-5.0_5.0.38-0ubuntu1.1_i386.deb

Just run dpkg -i *.deb and all should be good!


[root@jager:/root/builds]# dpkg -i *.deb
(Reading database ... 48209 files and directories currently installed.)
Preparing to replace libmysqlclient15-dev 5.0.38-0ubuntu1.1 (using libmysqlclient15-dev_5.0.38-0ubuntu1.1_i386.deb) ...
Unpacking replacement libmysqlclient15-dev ...
Preparing to replace libmysqlclient15off 5.0.38-0ubuntu1.1 (using libmysqlclient15off_5.0.38-0ubuntu1.1_i386.deb) ...
Unpacking replacement libmysqlclient15off ...
Preparing to replace mysql-client 5.0.38-0ubuntu1.1 (using mysql-client_5.0.38-0ubuntu1.1_all.deb) ...
Unpacking replacement mysql-client ...
Preparing to replace mysql-client-5.0 5.0.38-0ubuntu1.1 (using mysql-client-5.0_5.0.38-0ubuntu1.1_i386.deb) ...
Unpacking replacement mysql-client-5.0 ...
Preparing to replace mysql-common 5.0.38-0ubuntu1.1 (using mysql-common_5.0.38-0ubuntu1.1_all.deb) ...
Unpacking replacement mysql-common ...
Preparing to replace mysql-server-4.1 5.0.38-0ubuntu1.1 (using mysql-server-4.1_5.0.38-0ubuntu1.1_i386.deb) ...
* Stopping MySQL database server mysqld [ OK ] Unpacking replacement mysql-server-4.1 ...
Preparing to replace mysql-server 5.0.38-0ubuntu1.1 (using mysql-server_5.0.38-0ubuntu1.1_all.deb) ...
* Stopping MySQL database server mysqld [ OK ] Unpacking replacement mysql-server ...
Preparing to replace mysql-server-5.0 5.0.38-0ubuntu1.1 (using mysql-server-5.0_5.0.38-0ubuntu1.1_i386.deb) ...
* Stopping MySQL database server mysqld [ OK ] * Stopping MySQL database server mysqld [ OK ] Unpacking replacement mysql-server-5.0 ...
Setting up mysql-common (5.0.38-0ubuntu1.1) ...
Setting up libmysqlclient15off (5.0.38-0ubuntu1.1) ...
Setting up mysql-client-5.0 (5.0.38-0ubuntu1.1) ...
Setting up mysql-server-5.0 (5.0.38-0ubuntu1.1) ...
* Stopping MySQL database server mysqld [ OK ] * Starting MySQL database server mysqld [ OK ] * Checking for corrupt, not cleanly closed and upgrade needing tables.
Setting up libmysqlclient15-dev (5.0.38-0ubuntu1.1) ...
Setting up mysql-client (5.0.38-0ubuntu1.1) ...
Setting up mysql-server-4.1 (5.0.38-0ubuntu1.1) ...
Setting up mysql-server (5.0.38-0ubuntu1.1) ...


Did you like this article?


0 Shares:
You May Also Like

FOSS Advertising Network Ad Bard

Ad Bard is a free advertising community for FOSS oriented websites and advertisers. A snippet from their about page
The Ad Bard Network aims to foster a friendly and useful advertising community for FOSS oriented websites and advertisers. As a fellow Ad Bard, you will help to ensure that the advertisements in our network remain useful, relevant, and non-obnoxious. Ad Bard members earn 80% of the price-per-click each time an advertisement is clicked on your website. Our advertising community is entirely built with free and open source software, with all involved algorithms and schemas freely available for public scrutiny.
Definitely a neat and good way for FOSS websites to generate revenue aside from donations. Ad Bard Website
Read More

Error’d: More Like Didgeridon’t! 4G Australian Time Zone Application

Error'd: More Like Didgeridon't! -

If you were tasked with building a time zone synching application, you could probably do it in less than 1MB. Maybe you Linux guys could write it in one line of Perl (or at least brag about having the ability to write it in one line of Perl). Hell, maybe you'd just use the built-in synching functionality in your favorite OS. Anyhow, I can't imagine the crazy Western Australian rules for calculating time that make this software baloon to 4GB.


(submitted by Marty)

 

 

[The Daily WTF]
Read More