Backport da unstable in testing
Versioni Compatibili soltanto: Debian testing (anno: 2016) |
Introduzione
A causa delle numerose migrazioni gli utenti di testing possono trovarsi davanti a qualche problema relativo alla mancanza di pacchetti nel repository ufficiale Debian.
Ciò è dovuto alla politica di gestione di testing, la quale richiede che un pacchetto debba avere le seguenti caratteristiche, prima di entrare in testing:
- sia stato in unstable per almeno 10 giorni (nel caso di priorità bassa (low));
- non abbia Bug gravi;
- le dipendenze richieste siano completamente soddisfatte in testing.
In questo caso è possibile adattare i pacchetti di Sid per l'uso su testing (o anche su stable talvolta) eseguendo la procedura di backport illustrata in questa guida, anche se non sempre può essere applicata a causa di dipendenze non risolte: o perché non presenti in testing (in questo caso è necessario partire dal backporting delle librerie mancanti) o perché le versioni dei pacchetti in testing non sono abbastanza aggiornate per concludere con successo la compilazione (evento molto raro).
Creare i pacchetti binari per la propria distribuzione
Premetto che la seguente procedura è utilizzabile prevalentemente per il backport da unstable a testing, mentre potrebbe dare problemi per il backport da testing a stable.
Pacchetti necessari
Per eseguire le operazioni illustrare in questa pagina sono necessari i seguenti pacchetti, normalmente utilizzati per lo sviluppo dei pacchetti Debian:
- dpkg-dev
- devscripts
- build-essential
- fakeroot
Per scaricarli, con privilegi di amministrazione, è sufficiente il comando:
# apt-get install dpkg-dev devscripts build-essential fakeroot
Scaricare i sorgenti
Con APT
Se i repository dei sorgenti sono abilitati (ossia se sono presenti e non commentate le righe inizianti con deb-src
nel proprio /etc/apt/sources.list
), è sufficiente utilizzare APT.
Per scaricare il sorgente di un pacchetto (per esempio nomepacchetto) basta:
$ apt-get source nomepacchetto
Saranno scaricati gli archivi con i sorgenti originali (.orig.tar.gz
) e le patch (.patch.gz
), che saranno estratti in una directory con lo stesso nome, e un file contenente la descrizione del pacchetto (.dsc
).
Manualmente
Se non si sono abilitati i sorgenti dei repository, è possibile conoscere lo stato di un pacchetto (per l'esattezza di un pacchetto di sorgenti) tramite il sito della Quality Assurance, nel seguente modo:
- ricavare il pacchetto sorgente da cui viene creato il pacchetto binario in questione:
$ apt-cache show nomepacchetto | grep Source
- recarsi su http://packages.qa.debian.org ed inserire il nome del pacchetto sorgente
- leggere lo stato del pacchetto.
Nota: è possibile automatizzare la procedura inserendo, nella pagina http://packages.qa.debian.org, il nome del pacchetto binario: il sistema mostrerà il nome del pacchetto di sorgenti relativo ed in 10 secondi reindirizzerà alla pagina relativa al suo stato. |
Alla pagina relativa allo stato del pacchetto è possibile scaricare i sorgenti necessari per questo backport (nel riquadro Source files). I file sono, per l'esattezza, 3:
- l'archivio contenente i sorgenti originali,
.orig.tar.gz
; - l'archivio contenente le patch per creare il pacchetto,
.patch.gz
; - il file contenente la descrizione del pacchetto,
.dsc
Una volta scaricati in una unica directory è necessario estrarli:
$ dpkg-source -x nomepacchetto.....dsc
Scaricare le dipendenze
Prima di procedere alla compilazione bisogna installare i pacchetti -dev
necessari per la compilazione.
Anche in questo caso, come sempre del resto, il sistema di gestione dei pacchetti Debian ci viene in aiuto: con privilegi di amministrazione basta infatti un semplice:
# apt-get build-dep nomepacchetto
per installare le dipendenze necessarie alla compilazione.
Compilare il pacchetto
Una volta installate le dipendenze si può procedere con la compilazione del pacchetto:
- bisogna entrare nella directory dei sorgenti creata durante l'estrazione dei sorgenti;
- per far partire la compilazione si può usare il seguente comando:
$ fakeroot dpkg-buildpackage
Se tutto procede senza problemi verranno creati, nella directory precedente, i pacchetti binari frutto della compilazione. Per installarli è sufficiente utilizzare dpkg:
# dpkg -i nomepacchetto.....deb
Riferimenti
Guida scritta da: MaXeR | Debianized 40% |
Estesa da: | |
Verificata da:
| |
Verificare ed estendere la guida | Cos'è una guida Debianized |