Translations: English - Español - Français - Italiano - Português (Brasil) - Русский
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.
Contents
- Installare gli strumenti di pacchettizzazione di Debian
- Scoprire quale versione è disponibile nell'archivio Debian
- Aggiungere voci per pacchetti sorgenti per la distribuzione testing
- Installare le dipendenze di compilazione
- Indicare nel changelog un numero di revisione per il backport
- Testare se il pacchetto può essere compilato con successo
- Creare un pacchetto in modo corretto, senza firmarlo
- Installare ed è fatta!
- Andare oltre
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/