Backport da unstable in testing: differenze tra le versioni
m (ristrutturazione e modifiche minori) |
m (gdebi) |
||
Riga 10: | Riga 10: | ||
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). | 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). | ||
Questa guida è utilizzabile prevalentemente per il backport da ''unstable'' a ''testing'', mentre potrebbe dare problemi per il backport da ''testing'' a ''stable''. | |||
== | == Preparazione == | ||
Per eseguire le operazioni illustrare in questa pagina sono necessari i seguenti pacchetti, normalmente utilizzati per lo sviluppo dei pacchetti Debian: | Per eseguire le operazioni illustrare in questa pagina sono necessari i seguenti pacchetti, normalmente utilizzati per lo sviluppo dei pacchetti Debian: | ||
* dpkg-dev | * dpkg-dev | ||
Riga 19: | Riga 18: | ||
* build-essential | * build-essential | ||
* fakeroot | * fakeroot | ||
* gdebi-core | |||
Per scaricarli, con [[privilegi di amministrazione]], è sufficiente il comando: | Per scaricarli, con [[privilegi di amministrazione]], è sufficiente il comando: | ||
<pre> | <pre> | ||
# apt-get install dpkg-dev devscripts build-essential fakeroot | # apt-get install dpkg-dev devscripts build-essential fakeroot gdebi-core | ||
</pre> | </pre> | ||
== 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]]. | 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]]. | ||
Riga 36: | Riga 36: | ||
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>). | 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: | 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: | * ricavare il pacchetto sorgente da cui viene creato il pacchetto binario in questione: | ||
Riga 55: | Riga 55: | ||
</pre> | </pre> | ||
== | == Installare le dipendenze per la compilazione == | ||
Prima di procedere alla compilazione bisogna installare i pacchetti <code>-dev</code> necessari per la 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: con [[privilegi di amministrazione]] basta infatti un semplice: | 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: | ||
Riga 65: | Riga 65: | ||
{{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.}} | {{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.}} | ||
== | == Creare i pacchetti deb == | ||
Una volta installate le dipendenze si può procedere con la compilazione | Una volta installate le dipendenze si può procedere con la compilazione e la creazione dei pacchetti deb: | ||
* bisogna entrare nella directory dei sorgenti creata durante l'estrazione dei sorgenti; | * bisogna entrare nella directory dei sorgenti creata durante l'estrazione dei sorgenti; | ||
* 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. Per installarli | == Installare i pacchetti == | ||
Se tutto procede senza problemi verranno creati, nella directory precedente, i pacchetti binari frutto della compilazione. Per installarli sarebbe sufficiente utilizzare [[dpkg]], ma è consigliabile utilizzare [[gdebi]], in modo da risolvere prima in automatico le dipendenze dei pacchetti tramite APT, ed essere informati di possibili conflitti prima di alterare il sistema. Con [[privilegi di amministrazione]] basta: | |||
<pre> | <pre> | ||
# | # gdebi nomepacchetto.....deb | ||
</pre> | </pre> | ||
Versione delle 19:49, 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).
Questa guida è utilizzabile prevalentemente per il backport da unstable a testing, mentre potrebbe dare problemi per il backport da testing a stable.
Preparazione
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
- gdebi-core
Per scaricarli, con privilegi di amministrazione, è sufficiente il comando:
# apt-get install dpkg-dev devscripts build-essential fakeroot gdebi-core
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
Installare le dipendenze per la compilazione
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.
Creare i pacchetti deb
Una volta installate le dipendenze si può procedere con la compilazione e la creazione dei pacchetti deb:
- 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
Installare i pacchetti
Se tutto procede senza problemi verranno creati, nella directory precedente, i pacchetti binari frutto della compilazione. Per installarli sarebbe sufficiente utilizzare dpkg, ma è consigliabile utilizzare gdebi, in modo da risolvere prima in automatico le dipendenze dei pacchetti tramite APT, ed essere informati di possibili conflitti prima di alterare il sistema. Con privilegi di amministrazione basta:
# gdebi nomepacchetto.....deb
Riferimenti
Guida scritta da: MaXeR | Debianized 40% |
Estesa da: | |
Verificata da:
| |
Verificare ed estendere la guida | Cos'è una guida Debianized |