Backport da unstable in testing: differenze tra le versioni

Vai alla navigazione Vai alla ricerca
m
corretti pacchetti necessari, rimossa categoria "Aggiornamento" e correzioni minori
mNessun oggetto della modifica
m (corretti pacchetti necessari, rimossa categoria "Aggiornamento" e correzioni minori)
 
(9 versioni intermedie di uno stesso utente non sono mostrate)
Riga 1: Riga 1:
{{Versioni compatibili|Stretch|Sid}}
{{Versioni compatibili|ONLY|Testing_2016}}
== 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:
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).
 
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 e l'installazione dei [[pacchetto|pacchetti Debian]]:
* build-essential
* dpkg-dev
* fakeroot
* gdebi-core
 
Per installarli, con [[privilegi di amministrazione]], è sufficiente il comando:
<pre>
# apt-get install build-essential dpkg-dev fakeroot gdebi-core
</pre>
 
== Scaricare i sorgenti ==
=== Con APT ===
Se i [[repository]] dei sorgenti sono abilitati (ossia se sono presenti e non commentate nel proprio <code>/etc/apt/sources.list</code> la riga iniziante con '''<code>deb-src</code>''' relativa a Debian [[Sid]]), è sufficiente utilizzare [[APT]].


== Lo stato di un pacchetto ==
==== Aggiungere i repository sorgenti di Sid ====
È 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 si sono già abilitati i repository sorgenti di Debian [[Sid]] si può saltare questa sezione e passare alla [[#Scaricare il pacchetto sorgente|successiva]]. In caso contrario, se non fossero abilitati, basterebbe eseguire con [[privilegi di amministrazione]]:
* ricavare il pacchetto sorgente da cui viene creato il pacchetto binario in questione:
<pre>
<pre> $ apt-cache show nomepacchetto | grep Source</pre>
# apt edit-sources
* recarsi su http://packages.qa.debian.org ed inserire il nome del pacchetto sorgente
</pre>
* leggere lo stato del pacchetto.
per aggiungere ai repository correnti quello con i sorgenti di Sid con il proprio editor preferito, scrivendo la seguente riga (in questo esempio con [[mirror]] italiano, ma è possibile usarne uno qualsiasi; e con solo la sezione [[main]]):
<pre>
deb-src http://ftp.it.debian.org/debian sid main
</pre>
(scegliendo l'editor [[nano]], premere <code>Ctrl-o</code> per salvare e <code>Ctrl-x</code> per uscire)
 
Infine va aggiornata la lista dei pacchetti:
<pre>
# apt update
</pre>


{{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.}}
Se si utilizzano soltanto i repository dei sorgenti, non sarà nemmeno necessario configurare il [[pinning]]. In caso contrario, se si sono aggiunti i repository di Sid, è '''necessario''' impostare almeno una ''default release'' (per maggiori informazioni si rimanda a [[Repository_%26_pinning#Testing_con_unstable_ed_experimental | questa sezione della guida sul pinning]]).


== Creare i pacchetti binari per la propria distribuzione ==
==== Scaricare il pacchetto sorgente ====
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''.
Per scaricare il sorgente di un pacchetto (per esempio ''nomepacchetto'') basta:
<pre>
$ apt-get source nomepacchetto
</pre>


=== Pacchetti necessari ===
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>).
Per eseguire le operazioni illustrare in questa pagina sono necessari i seguenti pacchetti, normalmente utilizzati per lo sviluppo dei pacchetti Debian:
 
* dpkg-dev
=== Manualmente ===
* devscripts
Se non si sono abilitati i sorgenti dei repository di [[Sid]], è possibile anche scaricarli manualmente, senza avvalersi di [[APT]]. Innanzitutto è necessario conoscere lo stato di un pacchetto (per l'esattezza di un pacchetto di sorgenti) tramite il sito della [http://qa.debian.org Quality Assurance]; si procede nel seguente modo:
* fakeroot
* ottenere il pacchetto sorgente da cui viene creato il pacchetto binario in questione, eseguendo: <pre>$ apt-cache show nomepacchetto | grep Source</pre>
* recarsi su [https://tracker.debian.org Debian Package Tracker] ed inserire il nome del pacchetto sorgente;
* leggere lo stato del pacchetto.
 
{{Box|Nota:|è possibile automatizzare la procedura inserendo, nella pagina [https://tracker.debian.org https://tracker.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.}}


=== Scaricare i sorgenti ===
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:
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, <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>;
* il file contenente la descrizione del pacchetto, <code>'''.dsc'''</code>
* 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 40: Riga 72:
</pre>
</pre>


=== Scaricare le dipendenze ===
== 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: 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:
<pre>
<pre>
# apt-get build-dep nomepacchetto
# apt-get build-dep nomepacchetto
Riga 50: Riga 82:
{{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.}}


=== Compilare il pacchetto ===
== Creare i pacchetti deb ==
Una volta installate le dipendenze si può procedere con la compilazione del pacchetto:
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 è sufficiente il classico
== Installare i pacchetti ==
<pre> # dpkg -i nomepacchetto.....deb</pre>
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>
== Conclusioni ==
# gdebi nomepacchetto.....deb
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).
</pre>


Nel Backport Howto vedremo, più in dettaglio, come eseguire un Backport da ''testing''/''unstable'' verso ''stable''.
== 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]
* [http://qa.debian.org Debian Quality Assurance]
* [https://tracker.debian.org Debian Package Tracker]


{{Autori
{{Autori
|Autore = [[Utente:MaXeR|MaXeR]]
|Autore = [[Utente:MaXeR|MaXeR]]
|Estesa_da =
|Verificata_da =
: [[Utente:HAL 9000|HAL 9000]] 10:43, 23 apr 2016 (CEST)
|Numero_revisori = 1
}}
}}


[[Categoria:Creare e modificare pacchetti]]
[[Categoria:Creare e modificare pacchetti]]
[[Categoria:Apt]]
[[Categoria:Apt]]
[[Categoria:Aggiornamento]]
3 581

contributi

Menu di navigazione