2625
Comment: The ‘packaging-dev’ metapackage installs packaging tools
|
2627
add devscripts to required tools
|
Deletions are marked like this. | Additions are marked like this. |
Line 14: | Line 14: |
su -c "apt-get install packaging-dev debian-keyring" | sudo apt-get install packaging-dev debian-keyring devscripts |
Line 39: | Line 39: |
su -c "apt-get install libexpat1-dev libflac-dev libgconf2-dev libgtk2.0-dev libjpeg8-dev libportmidi-dev libsdl-ttf2.0-dev libsdl1.2-dev zlib1g-dev" | sudo apt-get install libexpat1-dev libflac-dev libgconf2-dev libgtk2.0-dev libjpeg8-dev libportmidi-dev libsdl-ttf2.0-dev libsdl1.2-dev zlib1g-dev |
Line 62: | Line 62: |
su -c "dpkg -i ../mame_0.148-1_amd64.deb" | sudo dpkg -i ../mame_0.148-1_amd64.deb |
Translation(s): English - Français - Italiano - Русский
Here we take the example of the package mame, from which we want to install a newer release availaible in sid/experimental. 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.
Contents
- Install Debian packaging tools
- Find which version is available in the debian archive
- Download the .dsc file from the sid release
- Find and Install missing build dependencies as found in debian/control
- Indicate in the changelog a backport revision number
- Test if we can successfully build the package
- Build a package properly , without GPG signing the package
- Install and enjoy !
- Go further
Install Debian packaging tools
sudo apt-get install packaging-dev debian-keyring devscripts
Find which version is available in the debian archive
rmadison mame --architecture amd64 mame | 0.146-5 | wheezy/non-free | amd64 mame | 0.146-5 | jessie/non-free | amd64 mame | 0.146-5 | sid/non-free | amd64 mame | 0.148-1 | experimental/non-free | amd64
Download the .dsc file from the sid release
From your web browser at http://packages.debian.org/sid/mame, look at the dsc file and copy the link location
dget -x http://ftp.de.debian.org/debian/pool/non-free/m/mame/mame_0.148-1.dsc
Note: If the above command complains about your ~/.gnupg directory not being found, run gpg -k to initialize the GnuPG directory before retrying.
Find and Install missing build dependencies as found in debian/control
cd mame-0.148 dpkg-checkbuilddeps sudo apt-get install libexpat1-dev libflac-dev libgconf2-dev libgtk2.0-dev libjpeg8-dev libportmidi-dev libsdl-ttf2.0-dev libsdl1.2-dev zlib1g-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 !
sudo dpkg -i ../mame_0.148-1_amd64.deb
Go further
You could have a look BuildingFormalBackports and contribute your backport to Debian as explained here: http://backports.debian.org/Contribute/