How to make *.deb packages from Truecrypt sources

Posted by jaalto on Fri 19 Jan 2007 at 10:40

Update: This article is obsolete. It has been superceded by newer article: Using truecrypt-installer to help install Truecrypt for Debian

Truecrypt(R) is Open Source disk encryption software which uses concept of containers to store encrypted data. If you have several workstations, manual install of Truecrypt is quite tedious, It would be nice to have ready binary packages for the workstations' CPU architectures and manage the installation standard Debian packaging. Here are step by step instructions how to convert sources into such packages.

At the time of writing (2007-01-06) the original site[1] provided only few *.deb binary packages geared towards Ubuntu releases: e.g. *-4.2a-ubuntu-6.10-x86.tar.gz is a double package containing a binary *.deb. Unfortunately no Debian source packages are provided to replicate this process for different CPU architectures or kernels.

The following instructions can be used to convert source into Debian packages. If you want hassle free install of the encryption software, distribute it from your personal Debian archive to your own servers (e.g. by using approx) or if want to store the 3rd party install files for backup purposes, the *.deb files are ideal.

PREPARATIONS FOR THE BUILD PROCESS

1) Install development software

apt-get install build-essential libncurses5-dev devscripts debhelper dpatch bzr

2) install Linux kernel sources

# Like "2.6.18"
KVER=$(uname -r | sed 's/-.*//')
apt-get install linux-source-$KVER linux-kbuild-$KVER

3) Prepare kernel. You don't need to compile anything, but let the configuration utility to generate few files that match your architecture.

cd /usr/src
tar -jxf linux-source-$KVER*.bz2
cd /usr/src/linux-source-$KVER
make menuconfig

... press TAB and select "Exit"
Do you wish to save your new kernel configuration?
... Press TAB and select "Yes" to write ".config" file

DOWNLOADING SOURCES

Visit original software site[1] and under "Linux" pick selection box choice "Other (source code)" and press [download] button. Save archive file e.g. to directory /usr/src and unpack sources:

cd /usr/src
tar -zxf .tar.gz

MAKING DEBIAN PACKAGE(S)

The needed /debian control directory that guides the build process is available from a bzr revision control repository:

cd /usr/src/*4.2a
bzr branch http://bazaar.launchpad.net/~jari-aalto/truecrypt-deb/trunk/ debian

To later download possible corrections to the build process, run following command. The bzr pull command is similar to the update command used in CVS and SVN revision control softwares.

cd /usr/src/*4.2a/debian
bzr pull

4) Build Debian packages for the current kernel. The options "-uc -us" make packages without cryptographic signing and "-i" option tells to ignore revision control directory (see manual page of dpkg-buildpackage(1) for more information).

cd /usr/src/*4.2a
debuild -uc -us -i.bzr

5) Check and install packages that appear in one directory above. To check contents of some *.deb, run it through command dpkg --info.

cd ..  # That's /usr/src/*4.2a
ls *.deb

dpkg -i tc-modules-2.6*.deb
dpkg -i tc-modules-modprobe*.deb
dpkg -i tc-cli*.deb
dpkg -i tc-doc*.deb

UPGRADES

After kernel upgrade, the steps to repeat are:

v

DISCLAIMER

acronym: R = Registered Trademark

Truecrypt is registered trademark of David Tesarik (Czech Republic, Parague); See World Intellectual Property Organization registration number: IRN/925625 http://www.wipo.int/ipdl/en. This page is not sponsored by and has no association with The Truecrypt Foundation which is the legal entity of the Truecrypt disk encryption software.

REFERENCES

[1] http://www.truecrypt.org

[2] Truecrypt 4.2a and Kernel 2.6.18 and 2.6.19 support


This article can be found online at the Debian Administration website at the following bookmarkable URL:

This article is copyright 2007 jaalto - please ask for permission to republish or translate.