Translation(s): English - Français - Italiano - Русский


Here we take the example of the package mame, which exists in Debian Sid, but not in the stable release. If the package you're looking for not available in Sid, but in a Ubuntu PPA, you can have a look at CreatePackageFromPPA.

We don't need to be root here except the first and last steps.

Install Debian SDK

su -c "apt-get install devscripts build-essential"

Download the .dsc file from the sid release

From your web browser at http://packages.debian.org/sid/mame, look at the dsc file or:

dget -u http://ftp.de.debian.org/debian/pool/non-free/m/mame/mame_0.142-1.dsc

Note that -u tells dget not to check the signature on the source package. If you have the debian-keyring package installed, then you can use -x there instead to check the signature. Use dpkg-source -x mame_0.142-1.dsc to ignore signature problems and unpack the source anyway.

Install dependencies as found in debian/control

cd mame-0.142
grep Build-Depends debian/control
Build-Depends: debhelper (>= 8), libexpat1-dev, libsdl1.2-dev, zlib1g-dev, libxinerama-dev, libgconf2-dev, libgtk2.0-dev, libsdl-ttf2.0-dev
su -c "apt-get install debhelper libexpat1-dev libsdl1.2-dev zlib1g-dev libxinerama-dev libgconf2-dev libgtk2.0-dev libsdl-ttf2.0-dev"

Indicate in the changelog a backport revision number

dch --local ~bpo70+ --distribution wheezy-backports "Rebuild for wheezy-backports."

This will add something like ~bpo70+ to the package version number. The tilde ~ makes the package inferior in version, which should allow a proper package upgrade when you upgrade to the next debian release (ie your package will be replaced with the official debian package)

Test if we can successfully build the package

fakeroot debian/rules binary

Build a package properly , without GPG signing the package

dpkg-buildpackage -us -uc

Install and enjoy !

su -c "dpkg -i ../mame_0.142-1_amd64.deb"