3 581
contributi
mNessun oggetto della modifica |
m (corretti pacchetti necessari, rimossa categoria "Aggiornamento" e correzioni minori) |
||
(21 versioni intermedie di 6 utenti non mostrate) | |||
Riga 1: | Riga 1: | ||
=Introduzione= | {{Versioni compatibili|ONLY|Testing_2016}} | ||
A causa delle numerose migrazioni gli utenti di testing possono trovarsi davanti a qualche problema relativo alla mancanza di pacchetti nel repository ufficiale Debian | == 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 e l'installazione dei [[pacchetto|pacchetti Debian]]: | |||
* build-essential | |||
= | |||
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 | ||
* fakeroot | * 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]]. | |||
==== Aggiungere i repository sorgenti di Sid ==== | |||
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]]: | |||
<pre> | |||
# apt edit-sources | |||
</pre> | |||
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> | |||
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]]). | |||
==Scaricare i sorgenti== | ==== Scaricare il pacchetto sorgente ==== | ||
Per scaricare il sorgente di un pacchetto (per esempio ''nomepacchetto'') basta: | |||
* l'archivio contenente i sorgenti originali, '''.orig.tar.gz''' | <pre> | ||
* l'archivio contenente le patch per creare il pacchetto, '''.patch.gz''' | $ apt-get source nomepacchetto | ||
* il file contenente la descrizione del pacchetto, '''.dsc''' | </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 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: | |||
* 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.}} | |||
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 le patch per creare il pacchetto, <code>'''.patch.gz'''</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 36: | Riga 72: | ||
</pre> | </pre> | ||
== | == Installare le dipendenze per la compilazione == | ||
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: con [[privilegi di amministrazione]] basta infatti un semplice: | ||
<pre> | <pre> | ||
# apt-get build-dep nomepacchetto | # apt-get build-dep nomepacchetto | ||
Riga 44: | Riga 80: | ||
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.}} | ||
== | == 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. | == Installare i pacchetti == | ||
<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> | |||
# gdebi nomepacchetto.....deb | |||
</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] | |||
* [http://qa.debian.org Debian Quality Assurance] | |||
* [https://tracker.debian.org Debian Package Tracker] | |||
{{Autori | |||
|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:Apt]] | [[Categoria:Apt]] | ||
contributi