Skip to main content

HowTo recompile Debian packages

This article will show how you can rebuild any debian package. You might need to rebuild a package for various reasons: add/remove some compilation options, make some changes to the sources, or compile a newer version from testing/sid into stable, etc. Regardless of your reason, this can be done very easy using debian tools.

First you will need to have some basic debian building tools installed:
apt-get install devscripts build-essential

1. Get the source package

Debian repositories contain the sources for all existing debian packages. In order to get a source package you will need to have in your /etc/apt/sources.list a deb-src line (this is exactly as a regular deb repository line, but it is for sources). This will look like:
deb-src http://ftp.us.debian.org/debian/ etch main non-free contrib

change it accordingly to your needs (a close mirror, testing or sid instead of etch, and so on).

Once you have your sources file updated refresh your packages lists:
apt-get update

Now you can install the source package using:
apt-get source

this will download the source package inside the local folder, so you might want to change to a proper location before doing this. Also as the final step it verifies and uncompresses the package and prepares it for compilation. You will just have to move in the newly created folder (name and version of the package).

2. Installing dependencies

The compilation of each package will have its own unique set of dependencies, based on the software itself. You will need to install them prior to the actual compilation, if not the process will most certainly fail. To do this we will again rely on the powerful apt:
apt-get build-dep

this will pull from your current repository the needed dependencies, and install them.

3. Make your changes and rebuild the package

Now is the time to make your changes. This is outside the scope of this post, but normally you will either modify source files of the package or make changes inside the debian compilation scripts (or maybe no changes are needed and you are doing just a recompile on a different architecture). Inside the debian folder you have important files like rules (that contain the compilation options among others), changelog if you want to add your own version you will need to add it here, and so on. Check the debian maintainer’s guide for full details.

Once you’ve made your changes you can start the compilation using:
cd
debuild -us -uc

We used debuild -us -uc since we are not the maintainer of the package and we will not be able to sign the package.

You will find the debian packages that you have just compiled one folder above, among some other files (the initial sources, compilation logs, etc.). You can either put them in a local repository and install them using apt-get as usual, or you can just install them using dpkg:
cd ..
dpkg -i

Finally here is a real life example

Ok, let’s see how this works for a real package. Let’s say we want to recompile for some reason the mysql server package (mysql-server-5.0). Here is how this would work:
apt-get source mysql-server-5.0
apt-get build-dep mysql-server-5.0
cd mysql-dfsg-5.0-5.0.32
debuild -us -uc
cd ..
dpkg -i *.deb

Comments

Popular posts from this blog

How to install Skype on Ubuntu 10.04 Lucid Lynx

UPDATE: Skype has now been uploaded to the "partner" official Ubuntu 10.04 Lucid Lynx repository. See Install Skype in Ubuntu 10.04 Lucid Lynx from official partner repository Command Line way Get the package: For 32-bit $ wget http://www.skype.com/go/getskype-linux-beta-ubuntu-32 For 64-bit $ wget http://www.skype.com/go/getskype-linux-beta-ubuntu-64 You will need to install the following libraries. $ sudo apt-get install libqt4-dbus libqt4-network libqt4-xml libasound2 Now install skype(the file u just downloaded, may be named intrepid-ibex) $ sudo dpkg -i skype-XXXXXXXXXXXX.deb If you still get some dependency error then just type the command below $ sudo apt-get -f install this will install the dependencies and the skype. Non - Terminal Download the setup 32 -bit 64 -bit You will these packages: libqt4-dbus libqt4-network libqt4-xml . Goto Synaptic manager and install them. Now Launch the Skype install .deb file (just double click it) and follow the on screen prompts....

gtalx: Howto Gtalk in ubuntu ( google talk )

Did you fail to use " gtalk in ubuntu " ... Now you can chat and talk to your gmail buddies in ubuntu... 1. check for gtk2.0 and qt4 $ sudo apt-get install libgtk2.0-dev $ sudo apt-get install libqt4-dev libogg-dev libtheora-dev $ sudo apt-get install libsdl-dev libavcodec-dev libswscale-dev $ sudo apt-get install libexpat-dev libraw1394-dev libvorbis-dev $ sudo apt-get install libgsm1-dev  libspeexdsp-dev libmediastreamer0-dev libortp-dev 2. Remove 'pulse audio sound server' Open synaptic package manager and remove pulse audio 3. "Download gtalx" from here Dowload it here 4. Extract the file.... $ tar -zxvf 0.0.4.tar.gz 5. Get into the directory.... $ cd 0.0.4 and then... $ sudo chmod u+x make $ ./make $ sudo ./make install 6. Enjoy..... Please comment about your installation(whether it was a success or not....) Take gtalx from Applications > Internet > gtalx Enter your gmail login information..and click connect... ...

How to install Skype on Ubuntu 9.10 Karmic Koala

The two methods  below doesn't work now. Please see http://blog.dipinkrishna.info/2009/11/how-to-download-and-install-skype-for_3060.html for a successfull installation of skype on ubuntu. I have provided two methods. Please do comment which one is successful. Follow these steps to install skype in ubuntu 9.10 (64 bit).         First add:             deb http://packages.medibuntu.org/ karmic free non-free         to your source.list Now open a terminal and type: $ sudo wget http://www.medibuntu.org/sources.list.d/hardy.list -O /etc/apt/sources.list.d/medibuntu.list Then do an update: $ sudo apt-get update $ sudo apt-get --yes -q --allow-unauthenticated install medibuntu-keyring $ sudo apt-get -q update And finally install Skype. $ sudo apt-get install skype Ready ... now start skype with $ skype OR Download the setup 32 -bit 64 -bit Launch the Skype i...