Backport da unstable in testing: differenze tra le versioni
m (ristrutturazione e modifiche minori) |
|||
Riga 3: | Riga 3: | ||
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: | 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'')); | * sia stato in [[unstable]] per almeno 10 giorni (nel caso di priorità bassa (''low'')); | ||
* non abbia Bug gravi; | * non abbia Bug gravi; | ||
* le dipendenze richieste siano completamente soddisfatte in testing. | * 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, 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 == | == Creare i pacchetti binari per la propria distribuzione == | ||
Riga 27: | Riga 17: | ||
* dpkg-dev | * dpkg-dev | ||
* devscripts | * devscripts | ||
* build-essential | |||
* fakeroot | * fakeroot | ||
Per scaricarli, con [[privilegi di amministrazione]], è sufficiente il comando: | |||
<pre> | |||
# apt-get install dpkg-dev devscripts build-essential fakeroot | |||
</pre> | |||
=== Scaricare i sorgenti === | === Scaricare i sorgenti === | ||
==== Con APT ==== | |||
Se i [[repository]] dei sorgenti sono abilitati (ossia se sono presenti e non commentate le righe inizianti con '''<code>deb-src</code>''' nel proprio <code>/etc/apt/sources.list</code>), è sufficiente utilizzare [[APT]]. | |||
Per scaricare il sorgente di un pacchetto (per esempio ''nomepacchetto'') basta: | |||
<pre> | |||
$ apt-get source nomepacchetto | |||
</pre> | |||
Saranno scaricati gli archivi con i sorgenti originali (<code>''.orig.tar.gz''</code>) e le patch (<code>''.patch.gz''</code>), che saranno estratti in una directory con lo stesso nome, e un file contenente la descrizione del pacchetto (<code>''.dsc''</code>). | |||
==== 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 [http://qa.debian.org Quality Assurance], nel seguente modo: | |||
* ricavare il pacchetto sorgente da cui viene creato il pacchetto binario in questione: | |||
<pre> $ apt-cache show nomepacchetto | grep Source</pre> | |||
* recarsi su http://packages.qa.debian.org ed inserire il nome del pacchetto sorgente | |||
* leggere lo stato del pacchetto. | |||
{{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.}} | |||
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, <code>'''.orig.tar.gz'''</code>; | * l'archivio contenente i sorgenti originali, <code>'''.orig.tar.gz'''</code>; | ||
* l'archivio contenente le patch per creare il pacchetto, <code>'''.patch.gz'''</code>; | * l'archivio contenente le patch per creare il pacchetto, <code>'''.patch.gz'''</code>; | ||
Riga 60: | Riga 75: | ||
</pre> | </pre> | ||
== | == Riferimenti == | ||
* [https://www.debian.org/doc/manuals/debian-reference/ch02.it.html#_porting_a_package_to_the_stable_system Debian Reference - port di un pacchetto] | |||
{{Autori | {{Autori | ||
Riga 69: | Riga 82: | ||
|Estesa_da = | |Estesa_da = | ||
|Verificata_da = | |Verificata_da = | ||
: [[Utente:HAL 9000|HAL 9000]] | : [[Utente:HAL 9000|HAL 9000]] 21:43, 22 apr 2016 (CEST) | ||
|Numero_revisori = 1 | |Numero_revisori = 1 | ||
}} | }} |
Versione delle 19:43, 22 apr 2016
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 |