Backport da unstable in testing: differenze tra le versioni
Nessun oggetto della modifica |
Nessun oggetto della modifica |
||
Riga 1: | Riga 1: | ||
{{Versioni compatibili|Debian Testing|}} | {{Versioni compatibili|Debian Testing|}} | ||
=Introduzione= | =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 | 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. | 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. | ||
Riga 16: | Riga 16: | ||
<pre> $ apt-cache show nomepacchetto | grep Source</pre> | <pre> $ apt-cache show nomepacchetto | grep Source</pre> | ||
* recarsi su http://packages.qa.debian.org ed inserire il nome del pacchetto sorgente | * recarsi su http://packages.qa.debian.org ed inserire il nome del pacchetto sorgente | ||
* leggere lo stato del pacchetto | * leggere lo stato del pacchetto. | ||
{{Box|Nota:|è possibile automatizzare la procedura inserendo, nella pagina http://packages.qa.debian.org, il nome del pacchetto binario | {{Box|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.}} | ||
=Creare i pacchetti binari per la propria distribuzione= | =Creare i pacchetti binari per la propria distribuzione= | ||
Riga 31: | Riga 31: | ||
==Scaricare i sorgenti== | ==Scaricare i sorgenti== | ||
Dalla 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: | Dalla 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 i sorgenti originali, <code>'''.orig.tar.gz'''</code>; | ||
* l'archivio contenente le patch per creare il pacchetto, '''.patch.gz''' | * l'archivio contenente le patch per creare il pacchetto, <code>'''.patch.gz'''</code>; | ||
* il file contenente la descrizione del pacchetto, '''.dsc''' | * il file contenente la descrizione del pacchetto, <code>'''.dsc'''</code> | ||
Una volta scaricati in una unica directory è necessario estrarli: | Una volta scaricati in una unica directory è necessario estrarli: | ||
Riga 41: | Riga 41: | ||
==Scaricare le dipendenze== | ==Scaricare le dipendenze== | ||
Prima di procedere alla compilazione | Prima di procedere alla compilazione bisogna installare i pacchetti <code>-dev</code> necessari per la compilazione. | ||
Anche in questo caso, come sempre del resto, il sistema di gestione dei pacchetti Debian ci viene in aiuto: | Anche in questo caso, come sempre del resto, il sistema di gestione dei pacchetti Debian ci viene in aiuto: basta infatti un semplice | ||
<pre> | <pre> | ||
# apt-get build-dep nomepacchetto | # apt-get build-dep nomepacchetto | ||
Riga 48: | Riga 48: | ||
per installare le dipendenze necessarie alla compilazione. | per installare le dipendenze necessarie alla compilazione. | ||
{{Box|Nota:|il comando potrebbe non risolvere tutte le dipendenze (nel peggiore dei casi potrebbe non trovare informazioni riguardo a queste). In questo caso, quindi, bisognerà installarle a mano. Le dipendenze mancanti verranno mostrate nell'output di | {{Box|Nota:|il comando potrebbe non risolvere tutte le dipendenze (nel peggiore dei casi potrebbe non trovare informazioni riguardo a queste). In questo caso, quindi, bisognerà installarle a mano. Le dipendenze mancanti verranno mostrate nell'output di <code>dpkg-buildpackage</code> e dovranno essere installate come viene installato normalmente un pacchetto. Non sarà possibile continuare nel processo di compilazione se non si soddisfano tutte le dipendenze di compilazione.}} | ||
==Compilare il pacchetto== | ==Compilare il pacchetto== | ||
Riga 55: | Riga 55: | ||
* per far partire la compilazione si può usare il seguente comando: <pre>$ fakeroot dpkg-buildpackage</pre> | * per far partire la compilazione si può usare il seguente comando: <pre>$ fakeroot dpkg-buildpackage</pre> | ||
Se tutto procede senza problemi verranno creati, nella directory precedente, i pacchetti binari frutto della compilazione. | Se tutto procede senza problemi verranno creati, nella directory precedente, i pacchetti binari frutto della compilazione. Per installarli è sufficiente il classico | ||
<pre> # dpkg -i nomepacchetto.....deb</pre> | <pre> # dpkg -i nomepacchetto.....deb</pre> | ||
=Conclusioni= | =Conclusioni= | ||
Questo rappresenta il metodo più semplice per ottenere un pacchetto per testing partendo da un pacchetto sorgente di unstable, anche se non sempre può essere applicato | Questo rappresenta il metodo più semplice per ottenere un pacchetto per testing partendo da un pacchetto sorgente di unstable, anche se non sempre può essere applicato in genere 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). | ||
Nel Backport Howto vedremo, più in dettaglio, come eseguire un Backport da ''testing''/''unstable'' verso ''stable'' | Nel Backport Howto vedremo, più in dettaglio, come eseguire un Backport da ''testing''/''unstable'' verso ''stable''. | ||
[[Categoria:Apt]] | [[Categoria:Apt]] | ||
[[Categoria:Apt-Dev]] | [[Categoria:Apt-Dev]] |
Versione delle 18:06, 10 gen 2010
Versioni Compatibili ERRORE: valore non valido ( Debian Testing )! Vedi qui. |
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.
Lo stato di un pacchetto
È 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. |
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
- fakeroot
Scaricare i sorgenti
Dalla 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: 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 il classico
# dpkg -i nomepacchetto.....deb
Conclusioni
Questo rappresenta il metodo più semplice per ottenere un pacchetto per testing partendo da un pacchetto sorgente di unstable, anche se non sempre può essere applicato in genere 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).
Nel Backport Howto vedremo, più in dettaglio, come eseguire un Backport da testing/unstable verso stable.