|
Size: 3412
Comment:
|
Size: 3074
Comment: more improvements (mame is non-free)
|
| Deletions are marked like this. | Additions are marked like this. |
| Line 17: | Line 17: |
| Line 22: | Line 23: |
| Line 23: | Line 25: |
| 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 |
$ rmadison coreutils --architecture amd64 coreutils | 8.23-4 | oldstable | amd64 coreutils | 8.26-3 | stable | amd64 coreutils | 8.30-3 | testing | amd64 coreutils | 8.30-3 | unstable | amd64 |
| Line 31: | Line 33: |
| From your Web browser at http://packages.debian.org/sid/mame, look at the .dsc file and copy the link location | Add sid to your sources.list, run {{{apt update}}}, download the source using the command below, |
| Line 34: | Line 36: |
| dget -x http://ftp.de.debian.org/debian/pool/non-free/m/mame/mame_0.148-1.dsc | apt source -t sid coreutils |
| Line 37: | Line 39: |
| '''''Note:''' If the above command complains about your `~/.gnupg` directory not being found, run `gpg -k` to initialize the GnuPG directory before retrying.'' | ===== Install build dependencies ===== |
| Line 39: | Line 41: |
| ===== Find and install missing build dependencies as found in `debian/control` ===== | |
| Line 41: | Line 42: |
| cd mame-0.148 sudo mk-build-deps --install --remove |
cd coreutils-*/ sudo mk-build-deps --install |
| Line 45: | Line 46: |
| This will install a package named `mame-build-deps` depending on the listed build dependencies. If you remove this package later, the actual build dependencies will be marked as "automatically installed and no longer needed" and can be cleared with `apt-get autoremove`. | This will install a package named `coreutils-build-deps` depending on the listed build dependencies. If you remove this package later, the actual build dependencies will be marked as "automatically installed and no longer needed" and can be cleared with `apt autoremove`. |
| Line 48: | Line 49: |
| Line 49: | Line 51: |
| dch --local ~bpo9+ --distribution stretch-backports "Rebuild for stretch-backports." | dch --bpo |
| Line 53: | Line 55: |
| The tilde ~ makes the package inferior in version, which should allow a proper package upgrade when you upgrade to the next debian release (i.e. your package will be replaced with the official Debian package). | The tilde ~ makes the package inferior in version, which should allow a proper package upgrade when you upgrade to the next Debian release (i.e. your package will be replaced with the official Debian package). |
| Line 56: | Line 58: |
| Line 63: | Line 66: |
| Line 68: | Line 72: |
| Line 69: | Line 74: |
| sudo dpkg -i ../mame_0.148-1~bpo9+1_amd64.deb | sudo apt install ../coreutils_*_*.deb |
| Line 73: | Line 78: |
Translation(s): English - Español - Français - Italiano - Русский
Please keep in mind that this is meant as a quick howto for how to build private backports and is not the way we expect from official backports for backports.debian.org. For official backports, see this article.
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.
Another method for backporting a sid package to testing or stable is described in this section of the Debian Unstable page in the Wiki.
Contents
- Install Debian packaging tools
- Find out which version is available in the Debian archive
- Download the .dsc file from the sid release
- Install build dependencies
- 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 equivs
Find out which version is available in the Debian archive
$ rmadison coreutils --architecture amd64 coreutils | 8.23-4 | oldstable | amd64 coreutils | 8.26-3 | stable | amd64 coreutils | 8.30-3 | testing | amd64 coreutils | 8.30-3 | unstable | amd64
Download the .dsc file from the sid release
Add sid to your sources.list, run apt update, download the source using the command below,
apt source -t sid coreutils
Install build dependencies
cd coreutils-*/ sudo mk-build-deps --install
This will install a package named coreutils-build-deps depending on the listed build dependencies. If you remove this package later, the actual build dependencies will be marked as "automatically installed and no longer needed" and can be cleared with apt autoremove.
Indicate in the changelog a backport revision number
dch --bpo
This will add something like ~bpo9+ 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 (i.e. your package will be replaced with the official Debian package).
Test if we can successfully build the package
fakeroot debian/rules binary
If this should fail with a missing file, apt-file may be useful in locating the dependency you require.
Build a package properly , without GPG signing the package
dpkg-buildpackage -us -uc
Install and enjoy!
sudo apt install ../coreutils_*_*.deb
Go further
You could have a look BuildingFormalBackports and contribute your backport to Debian as explained here: http://backports.debian.org/Contribute/
