Notare che questa è pensata per essere una guida veloce su come creare backport per un uso privato e non è il modo con cui ci si aspetta che vengano creati i backport ufficiali per backports.debian.org. Per backport ufficiali, vedere questa pagina.

In questo esempio viene preso in considerazione il pacchetto coreutils, del quale vogliamo installare un rilascio più recente disponibile in testing. Se il pacchetto che si sta cercando non è disponibile in testing, ma è in un PPA Ubuntu, si può guardare Creare un pacchetto da PPA.

Non è necessario essere root, tranne che per i primi e gli ultimi passaggi.

Installare gli strumenti di pacchettizzazione di Debian

sudo apt install packaging-dev debian-keyring devscripts equivs

Scoprire quale versione è disponibile nell'archivio Debian

$ 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

Aggiungere voci per pacchetti sorgenti per la distribuzione testing

Se il pacchetto di cui si fa il backport non è ancora in testing, allora usare la suite in cui è attualmente presente, come unstable o experimental, invece di testing, nelle istruzione descritte di seguito.

Aggiungere una voce deb-src per testing alle proprie fonti di apt:

# Debian testing packages sources
deb-src http://deb.debian.org/debian/ testing main

Aggiornare il proprio indice dei pacchetti:

apt update

Scaricare il pacchetto sorgente:

apt source coreutils/testing

Installare le dipendenze di compilazione

cd coreutils-*/
sudo mk-build-deps --install --remove

Questo installa un pacchetto chiamato coreutils-build-deps che dipende dalle dipendenze di compilazione elencate. Se si rimuove questo pacchetto in un secondo momento, le effettive dipendenze di compilazione verranno marcate come "automaticamente installate e non più necessarie" e possono essere ripulite con apt autoremove.

Indicare nel changelog un numero di revisione per il backport

dch --bpo

Questo aggiunge qualcosa del tipo ~bpo9+ al numero di versione del pacchetto. Il carattere tilde (~) rende più basso il numero di versione del pacchetto, il che dovrebbe permettere un aggiornamento corretto del pacchetto quando si fa l'aggiornamento al successivo rilascio Debian (cioè il proprio pacchetto sarà sostituito dal pacchetto ufficiale Debian).

Testare se il pacchetto può essere compilato con successo

fakeroot debian/rules binary

Se questo dovesse fallire per un file mancante, apt-file può essere utile per individuare la dipendenza necessaria.

Creare un pacchetto in modo corretto, senza firmarlo

dpkg-buildpackage --build=binary --unsigned-changes

Installare ed è fatta!

sudo apt install ../coreutils_*_*.deb

Andare oltre

Si può guardare Creare backport formalmente corretti e fornire il proprio backport come contributo a Debian, come spiegato in https://backports.debian.org/Contribute/


CategoryPackaging