| Current Path : /proc/358557/root/proc/355384/root/usr/share/doc/maint-guide-it/html/ |
| Current File : //proc/358557/root/proc/355384/root/usr/share/doc/maint-guide-it/html/start.it.html |
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>Capitolo 1. Partire nel modo giusto</title>
<link rel="stylesheet" type="text/css" href="debian.css"/>
<meta name="generator" content="DocBook XSL Stylesheets Vsnapshot"/>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
<link rel="home" href="index.it.html" title="Guida per il nuovo Maintainer"/>
<link rel="up" href="index.it.html" title="Guida per il nuovo Maintainer"/>
<link rel="prev" href="index.it.html" title="Guida per il nuovo Maintainer"/>
<link rel="next" href="first.it.html" title="Capitolo 2. Primi passi"/>
</head>
<body>
<div class="navheader">
<table width="100%" summary="Navigation header">
<tr>
<th colspan="3" align="center">Capitolo 1. Partire nel modo giusto</th>
</tr>
<tr>
<td align="left"><a accesskey="p" href="index.it.html"><img src="images/prev.png" alt="Indietro"/></a> </td>
<th width="60%" align="center"> </th>
<td align="right"> <a accesskey="n" href="first.it.html"><img src="images/next.png" alt="Avanti"/></a></td>
</tr>
</table>
<hr/>
</div>
<div class="chapter">
<div class="titlepage">
<div>
<div>
<h1 class="title"><a id="start"/>Capitolo 1. Partire nel modo giusto</h1>
</div>
</div>
</div>
<div class="toc">
<p>
<strong>Indice</strong>
</p>
<dl class="toc">
<dt>
<span class="section">
<a href="start.it.html#socialdynamics">1.1. Dinamiche sociali di Debian</a>
</span>
</dt>
<dt>
<span class="section">
<a href="start.it.html#needprogs">1.2. Programmi necessari per lo sviluppo</a>
</span>
</dt>
<dt>
<span class="section">
<a href="start.it.html#needdocs">1.3. Documentazione necessaria per lo sviluppo</a>
</span>
</dt>
<dt>
<span class="section">
<a href="start.it.html#helpme">1.4. Dove chiedere aiuto</a>
</span>
</dt>
</dl>
</div>
<p>
È disponibile la riscrittura di questo tutorial, con contenuti aggiornati e
con esempi più pratici, denominato <a class="ulink" href="https://www.debian.org/doc/devel-manuals#debmake-doc">Guide for Debian
Maintainers</a>. Si prega di utilizzare il nuovo tutorial come
documento primario.
</p>
<p>
Questo documento cerca di descrivere la costruzione di un pacchetto Debian
GNU/Linux, sia per un normale utente Debian che per un aspirante
sviluppatore. Utilizzando un linguaggio immediato, non tecnico e con
l'ausilio di esempi concreti. C'è un detto latino che dice <span class="emphasis"><em>Longum
iter est per preaecepta, breve et efficax per exempla!</em></span> (La via è
lunga usando la teoria, ma breve ed efficiente con gli esempi!).
</p>
<p>
Questo documento sarà disponibile fino alle release
<code class="literal">Buster</code> di Debian, dato che è stato tradotto in molte
lingue. Dato che i contenuti non sono aggiornati, questo documento verrà
eliminato nelle release successive. <a href="#ftn.idm55" class="footnote" id="idm55"><sup class="footnote">[1]</sup></a>
</p>
<p>
Una delle cose che rende Debian una delle distribuzioni più importanti, è il
suo sistema di pacchettizzazione. Sebbene ci sia una vasta quantità di
software disponibile sotto forma di pacchetto Debian, qualche volta è
necessario installare del software per il quale non è stato ancora creato il
pacchetto. Si potrebbe pensare che creare dei pacchetti sia un compito
molto difficile. In effetti, se si è alle prime armi con GNU/Linux è dura,
ma se si ha esperienza non si può non leggere questo documento :-)
Servirà conoscere dei rudimenti di programmazione Unix, ma di sicuro non
sarà necessario essere un mago della programmazione. <a href="#ftn.idm61" class="footnote" id="idm61"><sup class="footnote">[2]</sup></a>
</p>
<p>
Una cosa però è certa: per creare in maniera corretta e manutenere dei
pacchetti Debian serviranno svariate ore di lavoro. Per far funzionare il
nostro sistema, i maintainer devono stare attenti a non commettere errori,
essere scrupolosi e tecnicamente competenti.
</p>
<p>
Se è necessario qualche aiuto sulla pacchettizzazione, si consiglia la
lettura di <a class="xref" href="start.it.html#helpme" title="1.4. Dove chiedere aiuto">Sezione 1.4, «Dove chiedere aiuto»</a>.
</p>
<p>
Le versioni aggiornate di questo documento dovrebbero sempre essere
disponibile online all'indirizzo <a class="ulink" href="http://www.debian.org/doc/maint-guide/">http://www.debian.org/doc/maint-guide/</a> e nel
pacchetto <code class="systemitem">maint-guida</code>. Le traduzioni
saranno disponibili in pacchetti come <code class="systemitem">maint-guide-es</code> . Si noti che questa
documentazione può essere leggermente obsoleta.
</p>
<p>
Poiché si tratta di un tutorial, si è scelto di spiegare dettagliatamente
ogni passo per alcuni argomenti importanti. Alcuni passi possono apparire
irrilevanti per alcuni di voi. Si prega di essere pazienti. Si sono anche
volutamente evitati alcuni casi particolari fornendo solo dei riferimenti,
per mantenere questo semplice documento.
</p>
<div class="section">
<div class="titlepage">
<div>
<div>
<h2 class="title"><a id="socialdynamics"/>1.1. Dinamiche sociali di Debian</h2>
</div>
</div>
</div>
<p>
Qui sono presenti alcune osservazioni delle dinamiche sociali di Debian,
nella speranza che siano di aiuto per le interazioni con Debian:
</p>
<div class="itemizedlist">
<ul class="itemizedlist">
<li class="listitem">
<p>Siamo tutti volontari.</p>
<div class="itemizedlist">
<ul class="itemizedlist">
<li class="listitem">
<p>Non si può imporre agli altri cosa fare.</p>
</li>
<li class="listitem">
<p>Si dovrebbe essere motivati a fare le cose da soli.</p>
</li>
</ul>
</div>
</li>
<li class="listitem">
<p>La coooperazione amichevole è la forza motrice.</p>
<div class="itemizedlist">
<ul class="itemizedlist">
<li class="listitem">
<p>Il vostro contributo non deve affaticare gli altri.</p>
</li>
<li class="listitem">
<p>Il vostro contributo è prezioso solo quando gli altri lo apprezzano.</p>
</li>
</ul>
</div>
</li>
<li class="listitem">
<p>Debian non è la vostra scuola in cui si ottiene in automatico l'attenzione
degli insegnanti.</p>
<div class="itemizedlist">
<ul class="itemizedlist">
<li class="listitem">
<p>Dovreste essere in grado di imparare molte cose da soli.</p>
</li>
<li class="listitem">
<p>L'attenzione degli altri volontari è una risorsa molto scarsa.</p>
</li>
</ul>
</div>
</li>
<li class="listitem">
<p>Debian è in costante miglioramento.</p>
<div class="itemizedlist">
<ul class="itemizedlist">
<li class="listitem">
<p>Ci si aspetta che vengano creati pacchetti di alta qualità.</p>
</li>
<li class="listitem">
<p>Si consiglia di adattarsi al cambiamento.</p>
</li>
</ul>
</div>
</li>
</ul>
</div>
<p>
Ci sono molti tipi di persone, che interagiscono nel mondo Debian, con ruoli
diversi:
</p>
<div class="itemizedlist">
<ul class="itemizedlist">
<li class="listitem">
<p>
<span class="strong"><strong>autore originale (upstream author)</strong></span>: La
persona che ha iniziato lo sviluppo del programma.
</p>
</li>
<li class="listitem">
<p>
<span class="strong"><strong>responsabile del programma (upstream
maintainer)</strong></span>: La persona che attualmente sviluppa il programma.
</p>
</li>
<li class="listitem">
<p>
<span class="strong"><strong>responsabile del pacchetto (maintainer)</strong></span>:
La persona che ha creato il pacchetto Debian del programma.
</p>
</li>
<li class="listitem">
<p>
<span class="strong"><strong>sponsor</strong></span>: La persona che aiuta i
responsabili dei pacchetti a verificarne la correttezza dei contenuti ed a
depositarli nell'archivio Debian ufficiale.
</p>
</li>
<li class="listitem">
<p>
<span class="strong"><strong>mentore</strong></span>: La persona che aiuta i
responsabili dei pacchetti alle prime armi nelle operazioni di creazione del
pacchetto, ecc.
</p>
</li>
<li class="listitem">
<p>
<span class="strong"><strong>sviluppatore Debian (Debian Developer)</strong></span>
(DD): membro del progetto Debian con i permessi di depositare i pacchetti
all'interno dell'archivio Debian ufficiale.
</p>
</li>
<li class="listitem">
<p>
<span class="strong"><strong>responsabile Debian (Debian Maintainer)</strong></span>
(DM): persona con permessi di accesso limitati all'archivio ufficiale dei
pacchetti di Debian.
</p>
</li>
</ul>
</div>
<p>
Si noti che non è possibile diventare uno <span class="strong"><strong>sviluppatore Debian</strong></span> (DD) ufficiale dal giorno alla
notte, poiché questo richiede più che delle semplici conoscenze tecniche.
Ma non ci si deve lasciare scoraggiare da questo. Se il lavoro che si è
fatto è utile a qualcun altro, si può sempre depositare il proprio pacchetto
sia come <span class="strong"><strong>maintainer</strong></span> attraverso uno
<span class="strong"><strong>sponsor</strong></span> che come <span class="strong"><strong>maintainer Debian</strong></span>.
</p>
<p>
Si noti che non è necessario creare un nuovo pacchetto per diventare uno
sviluppatore Debian ufficiale. Lo si può diventare anche semplicemente
contribuendo alla manutenzione di pacchetti già esistenti. Ci sono molti
pacchetti che aspettano solo dei bravi responsabili (vedere <a class="xref" href="first.it.html#choose" title="2.2. Scegliamo il programma">Sezione 2.2, «Scegliamo il programma»</a>).
</p>
<p>
Dal momento che in questo documento si trattano solo gli aspetti tecnici
della pacchettizzazione, si prega di fare riferimento a quanto segue per
conoscere come relazionarsi con Debian e come partecipare:
</p>
<div class="itemizedlist">
<ul class="itemizedlist">
<li class="listitem">
<p><a class="ulink" href="http://upsilon.cc/~zack/talks/2011/20110321-taipei.pdf"> Debian: 17 anni di Software Libero,
"do-ocracy", e la democrazia</a> (Slides introduttive) </p>
</li>
<li class="listitem">
<p><a class="ulink" href="http://www.debian.org/intro/help">Come aiutare Debian?</a> (Ufficiale) </p>
</li>
<li class="listitem">
<p><a class="ulink" href="https://www.debian.org/doc/manuals/debian-faq/contributing.en.html">Debian GNU/Linux FAQ, capitolo 13 -
"Contribuire al Progetto Debian"</a> (Semi-ufficiale) </p>
</li>
<li class="listitem">
<p><a class="ulink" href="http://wiki.debian.org/HelpDebian">Il Wiki di Debian, HelpDebian</a>
(supplementare) </p>
</li>
<li class="listitem">
<p><a class="ulink" href="https://nm.debian.org/">Sito del New Member Debian</a> (ufficiale) </p>
</li>
<li class="listitem">
<p><a class="ulink" href="http://wiki.debian.org/DebianMentorsFaq">Debian Mentors FAQ</a> (supplementare) </p>
</li>
</ul>
</div>
</div>
<div class="section">
<div class="titlepage">
<div>
<div>
<h2 class="title"><a id="needprogs"/>1.2. Programmi necessari per lo sviluppo</h2>
</div>
</div>
</div>
<p>
Prima di iniziare, bisogna assicurarsi di avere installato correttamente
alcuni pacchetti aggiuntivi, necessari per lo sviluppo. Da notare che la
lista non contiene nessun pacchetto etichettato come
<code class="literal">essenziale</code> o <code class="literal">richiesto</code> - ci aspettiamo
che siano già installati nel sistema.
</p>
<p>
I seguenti pacchetti fanno parte dell'installazione standard di Debian, per
cui probabilmente sono già presenti nel sistema (insieme ai pacchetti
aggiuntivi dai quali dipendono). Si può effettuare un controllo con
<code class="literal">aptitude show <em class="replaceable"><code>pacchetto</code></em></code> o con
<code class="literal">dpkg -s <em class="replaceable"><code>pacchetto</code></em></code>.
</p>
<p>
Il pacchetto più importante da installare in un sistema in cui si ha
intenzione di sviluppare è <code class="systemitem">build-essential</code>. Questo
<span class="emphasis"><em>includerà</em></span> altri pacchetti necessari per avere un
ambiente di base per la compilazione dei programmi.
</p>
<p>
Per alcuni tipi di pacchetti questo è tutto quello che serve, ci sono però
una serie di pacchetti che, pur non essendo essenziali per lo sviluppo,
vengono in aiuto allo sviluppatore o possono essere richiesti dal pacchetto
su cui si lavora:
</p>
<div class="itemizedlist">
<ul class="itemizedlist">
<li class="listitem">
<p>
<code class="systemitem">autoconf</code>, <code class="systemitem">automake</code> e <code class="systemitem">autotools-dev</code> - diversi programmi recenti usano
script di configurazione e <code class="filename">Makefile</code> preprocessati con
l'aiuto di programmi come questi. (vedere <code class="literal">info autoconf</code>,
<code class="literal">info automake</code>) <code class="systemitem">autotools-dev</code> tiene aggiornate le versioni di
alcuni file di automazione e contiene la documentazione che spiega il modo
migliore per utilizzare questi file.
</p>
</li>
<li class="listitem">
<p>
<code class="systemitem">debhelper</code> e <code class="systemitem">dh-make</code> - <code class="systemitem">dh-make</code> è necessario per creare lo scheletro del
pacchetto, utilizza alcuni strumenti di <code class="systemitem">debhelper</code> per creare i pacchetti. Non sono
essenziali per la creazione di pacchetti, ma sono
<span class="emphasis"><em>fortemente</em></span> consigliati per i nuovi maintainer. Questo
rende l'intero processo molto più semplice da iniziare e controllare
successivamente. (vedere <span class="citerefentry"><span class="refentrytitle">dh_make</span>(8)</span>, <span class="citerefentry"><span class="refentrytitle">debhelper</span>(1)</span>.) <a href="#ftn.idm191" class="footnote" id="idm191"><sup class="footnote">[3]</sup></a>
</p>
<p>
Il nuovo <code class="systemitem">debmake</code> può essere
utilizzato in alternativa a <code class="systemitem">dh-make</code>. Ha più funzionalità e comprende la
documentazione HTML con esempi dettagliati di pacchettizzazione, presenti in
<code class="systemitem">debmake-doc</code>.
</p>
</li>
<li class="listitem">
<p>
<code class="systemitem">devscripts</code> - questo pacchetto
contiene alcuni pratici script che possono essere utili ai maintainer, anche
se non sono strettamente necessari per la creazione dei pacchetti. I
pacchetti consigliati o suggeriti da questo pacchetto andrebbero presi in
considerazione. (vedere <code class="filename">/usr/share/doc/devscripts/README.gz</code>.)
</p>
</li>
<li class="listitem">
<p>
<code class="systemitem">fakeroot</code> - questo programma permette
di fingere di essere root, dato che è necessario per l'esecuzione di alcune
parti del processo di creazione del pacchetto. (vedere <span class="citerefentry"><span class="refentrytitle">fakeroot</span>(1)</span>.)
</p>
</li>
<li class="listitem">
<p>
<code class="systemitem">file</code> - questo semplice programma
determina la tipologia di un file. (vedere <span class="citerefentry"><span class="refentrytitle">file</span>(1)</span>.)
</p>
</li>
<li class="listitem">
<p>
<code class="systemitem">gfortran</code> - il compilatore GNU
Fortran 95, necessario se il programma è scritto in Fortran. (vedere
<span class="citerefentry"><span class="refentrytitle">gfortran</span>(1)</span>.)
</p>
</li>
<li class="listitem">
<p>
<code class="systemitem">git</code> - questo pacchetto contiene un
famoso sistema per il controllo delle versioni, progettato per gestire
progetti molto grandi con velocità ed efficienza; è utilizzato da molti
progetti open source, tra cui il kernel Linux. (Vedere <span class="citerefentry"><span class="refentrytitle">git</span>(1)</span>,
Manuale di git (<code class="filename">/usr/share/doc/git-doc/index.html</code>).)
</p>
</li>
<li class="listitem">
<p>
<code class="systemitem">gnupg</code> - questo programma consente di
<span class="emphasis"><em>firmare</em></span> elettronicamente i pacchetti. Questo è
importante soprattutto se si vuole distribuirli ad altre persone, e verrà
sicuramente fatto quando un pacchetto sarà pronto per essere incluso nella
distribuzione Debian. (vedere <span class="citerefentry"><span class="refentrytitle">gpg</span>(1)</span>.)
</p>
</li>
<li class="listitem">
<p>
<code class="systemitem">gpc</code> - il compilatore GNU Pascal,
necessario se il programma è scritto in Pascal. Un sostituto degno di nota
è <code class="systemitem">fp-compiler</code>, il Compilatore Free
Pascal. (vedere <span class="citerefentry"><span class="refentrytitle">gpc</span>(1)</span>, <span class="citerefentry"><span class="refentrytitle">ppc386</span>(1)</span>.)
</p>
</li>
<li class="listitem">
<p>
<code class="systemitem">lintian</code> - questo è l'analizzatore
dei pacchetti Debian, una volta costruito il pacchetto, permette di scoprire
gli errori più comuni, cercando di spiegarli. (vedere <span class="citerefentry"><span class="refentrytitle">lintian</span>(1)</span>, <a class="ulink" href="https://lintian.debian.org/manual/index.html">Lintian User's Manual</a>.)
</p>
</li>
<li class="listitem">
<p>
<code class="systemitem">patch</code> - questo utile programma usa
un file contenente una serie di differenze (prodotta dal programma diff) e
le applica al file originale, per produrre una versione modificata. (vedere
<span class="citerefentry"><span class="refentrytitle">patch</span>(1)</span>.)
</p>
</li>
<li class="listitem">
<p>
<code class="systemitem">patchutils</code> - questo pacchetto
contiene dei programmi che lavorano con le patch, come
<span class="command"><strong>lsdiff</strong></span>, <span class="command"><strong>interdiff</strong></span> e
<span class="command"><strong>filterdiff</strong></span>.
</p>
</li>
<li class="listitem">
<p>
<code class="systemitem">pbuilder</code> - questo pacchetto contiene
i programmi che vengono usati per creare e manutenere un ambiente
<span class="command"><strong>chroot</strong></span>. Creare pacchetti Debian nell'ambiente
<span class="command"><strong>chroot</strong></span> permette di verificare le dipendenze appropriate
ed evitare bug di tipo FTBFS (Fails To Build From Source, non compila da
sorgente). (vedere <span class="citerefentry"><span class="refentrytitle">pbuilder</span>(8)</span> e <span class="citerefentry"><span class="refentrytitle">pdebuild</span>(1)</span>)
</p>
</li>
<li class="listitem">
<p>
<code class="systemitem">perl</code> - Perl è uno dei linguaggi di
scripting interpretato più utilizzati sugli odierni sistemi Unix e derivati,
spesso definito come il coltellino svizzero di Unix. (vedere <span class="citerefentry"><span class="refentrytitle">perl</span>(1)</span>.)
</p>
</li>
<li class="listitem">
<p>
<code class="systemitem">python</code> - Python è un altro
linguaggio di scripting interpretato molto utilizzato sui sistemi Debian,
combina una notevole potenza con una sintassi molto chiara. (vedere
<span class="citerefentry"><span class="refentrytitle">python</span>(1)</span>.)
</p>
</li>
<li class="listitem">
<p>
<code class="systemitem">quilt</code> - questo pacchetto aiuta a
gestire una gran numero di patch, tenendo traccia dei cambiamenti
apportati. Le patch sono organizzate in maniera logica come una pila, è
possibile applicare(=push) le modifiche apportate dalla patch, oppure
annullarle(=pop), semplicemente muovendosi attraverso la pila. (vedere
<span class="citerefentry"><span class="refentrytitle">quilt</span>(1)</span> e <code class="filename">/usr/share/doc/quilt/quilt.pdf.gz</code>.)
</p>
</li>
<li class="listitem">
<p>
<code class="systemitem">xutils-dev</code> - alcuni programmi,
generalmente quelli fatti per X11, usano questi strumenti per generare i
<code class="filename">Makefile</code> da una serie di funzioni macro. (vedere
<span class="citerefentry"><span class="refentrytitle">imake</span>(1)</span>, <span class="citerefentry"><span class="refentrytitle">xmkmf</span>(1)</span>.)
</p>
</li>
</ul>
</div>
<p>
Le brevi note elencate qui sopra servono solo ad accennare lo scopo di ogni
pacchetto. Prima di continuare, è opportuno leggere la documentazione di
ogni programma rilevante, compresi quelli installati per via delle
dipendenze del pacchetto come <span class="command"><strong>make</strong></span>, almeno per un
utilizzo di base. Può sembrare molto pesante farlo adesso, ma in seguito ci
si renderà conto che sarà stato <span class="emphasis"><em>utilissimo</em></span>. Se si hanno
dubbi specifici potrebbe essere utile rileggere i documenti di cui sopra.
</p>
</div>
<div class="section">
<div class="titlepage">
<div>
<div>
<h2 class="title"><a id="needdocs"/>1.3. Documentazione necessaria per lo sviluppo</h2>
</div>
</div>
</div>
<p>
Segue una serie di documenti <span class="emphasis"><em>molto importanti</em></span> che è
consigliabile leggere insieme a questo documento:
</p>
<div class="itemizedlist">
<ul class="itemizedlist">
<li class="listitem">
<p>
<code class="systemitem">debian-policy</code> - il <a class="ulink" href="http://www.debian.org/doc/devel-manuals#policy">manuale delle policy Debian</a> comprende le
spiegazioni riguardanti la struttura e il contenuto dell'archivio Debian,
numerose problematiche inerenti la progettazione del sistema operativo, lo
<a class="ulink" href="http://www.debian.org/doc/packaging-manuals/fhs/fhs-3.0.html">Standard della Gerarchia del Filesystem</a> (ndr.
Filesystem Hierarchy Standard), (che indica la posizione prevista per ogni
file e directory), ecc. In questo contesto, l'argomento più importante è la
descrizione dei requisiti che ogni pacchetto deve soddisfare per essere
incluso nella distribuzione. (vedere le copie locali di
<code class="filename">/usr/share/doc/debian-policy/policy.pdf.gz</code> and <code class="filename">/usr/share/doc/debian-policy/fhs/fhs-3.0.pdf.gz</code>.)
</p>
</li>
<li class="listitem">
<p>
<code class="systemitem">developers-reference</code> - la <a class="ulink" href="http://www.debian.org/doc/devel-manuals#devref">Debian Developer's Reference</a> descrive
tutte le questioni non prettamente legate alle tecniche di
pacchettizzazione, come la struttura dell'archivio, come rinominare,
abbandonare o adottare un pacchetto, come fare gli NMUs, come gestire i bug,
suggerimenti pratici di pacchettizzazione, quando e dove fare i caricamenti,
ecc. (Si veda la copia locale di <code class="filename">/usr/share/doc/developers-reference/developers-reference.pdf</code>.)
</p>
</li>
</ul>
</div>
<p>
Segue una serie di documenti <span class="emphasis"><em>importanti</em></span> che è
consigliabile leggere insieme a questo documento:
</p>
<div class="itemizedlist">
<ul class="itemizedlist">
<li class="listitem">
<p>
<a class="ulink" href="http://www.lrde.epita.fr/~adl/autotools.html">Autotools Tutorial</a> contiene un
ottimo tutorial su <a class="ulink" href="http://en.wikipedia.org/wiki/GNU_build_system">the GNU Build System
known as the GNU Autotools</a> i cui componenti più importanti sono
Autoconf, Automake, Libtool, e gettext.
</p>
</li>
<li class="listitem">
<p>
<code class="systemitem">gnu-standards</code> - questo pacchetto
contiene due documenti provenienti dal progetto GNU: <a class="ulink" href="http://www.gnu.org/prep/standards/html_node/index.html">GNU Coding Standards</a>, and <a class="ulink" href="http://www.gnu.org/prep/maintain/html_node/index.html">Information for Maintainers of GNU Software</a>.
Nonostante Debian non necessiti del loro utilizzo, sono comunque utili come
linee guida e buona prassi. (vedere le copie locali di
<code class="filename">/usr/share/doc/gnu-standards/standards.pdf.gz</code> e
<code class="filename">/usr/share/doc/gnu-standards/maintain.pdf.gz</code>.)
</p>
</li>
</ul>
</div>
<p>
Se questo documento contraddice uno dei documenti cui sopra, si considerino
corretti quest'ultimi. Si prega di inviare una segnalazione di bug relativa
al pacchetto <code class="systemitem">maint-guide</code> usando
<span class="command"><strong>reportbug</strong></span>.
</p>
<p>
Segue una serie di tutorial alternativi che si possono leggere insieme a
questo documento:
</p>
<div class="itemizedlist">
<ul class="itemizedlist">
<li class="listitem">
<p>
<a class="ulink" href="http://www.debian.org/doc/packaging-manuals/packaging-tutorial/packaging-tutorial">Debian Packaging Tutorial</a>
</p>
</li>
</ul>
</div>
</div>
<div class="section">
<div class="titlepage">
<div>
<div>
<h2 class="title"><a id="helpme"/>1.4. Dove chiedere aiuto</h2>
</div>
</div>
</div>
<p>
Prima di decidere di fare una domanda in qualche luogo pubblico, si prega di
leggere la documentazione:
</p>
<div class="itemizedlist">
<ul class="itemizedlist">
<li class="listitem">
<p>
i file in
<code class="filename">/usr/share/doc/<em class="replaceable"><code>pacchetto</code></em></code> per
tutti i pacchetti pertinenti
</p>
</li>
<li class="listitem">
<p>
il contenuto di
<code class="literal"><span class="command"><strong>man</strong></span><em class="replaceable"><code>comando</code></em></code>
per tutti i comandi pertinenti
</p>
</li>
<li class="listitem">
<p>
il contenuto di
<code class="literal"><span class="command"><strong>info</strong></span><em class="replaceable"><code>comando</code></em></code>
per tutti i comandi pertinenti
</p>
</li>
<li class="listitem">
<p>
il contenuto dell'archivio della lista<a class="ulink" href="http://lists.debian.org/debian-mentors/">debian-mentors@lists.debian.org</a>
</p>
</li>
<li class="listitem">
<p>
il contenuto dell'archivio della lista<a class="ulink" href="http://lists.debian.org/debian-devel/">debian-devel@lists.debian.org</a>
</p>
</li>
</ul>
</div>
<p>
È possibile utilizzare i motori di ricerca web più efficacemente includendo
stringhe di ricerca come <code class="literal">sito:lists.debian.org</code> per
limitare le ricerca ad un determinato dominio.
</p>
<p>
Creare un piccolo pacchetto di test è un ottimo metodo per imparare i
dettagli della pacchettizzazione. Analizzare dei pacchetti già esistenti e
ben manutenuti, è invece, il metodo migliore per capire come creano i
pacchetti le altre persone.
</p>
<p>
Se si hanno ancora domande sulla pacchettizzazione alle quale non si trova
risposta nella documentazione disponibile e le risorse web, si può chiedere
aiuto nei seguenti luoghi:
</p>
<div class="itemizedlist">
<ul class="itemizedlist">
<li class="listitem">
<p>
<a class="ulink" href="http://lists.debian.org/debian-mentors/">debian-mentors@lists.debian.org mailing
list</a>. (Questa è la mailing list per i principianti.)
</p>
</li>
<li class="listitem">
<p>
<a class="ulink" href="http://lists.debian.org/debian-devel/">debian-devel@lists.debian.org mailing
list</a>. (Questa è la mailing list per gli esperti.)
</p>
</li>
<li class="listitem">
<p>
su <a class="ulink" href="http://www.debian.org/support#irc">IRC</a> in canali come
<code class="literal">#debian-mentors</code>.
</p>
</li>
<li class="listitem">
<p>
Team concentrati su uno specifico insieme di pacchetti. (Lista completa su
<a class="ulink" href="https://wiki.debian.org/Teams">https://wiki.debian.org/Teams</a>)
</p>
</li>
<li class="listitem">
<p>
Mailing list specifiche per lingua come
debian-devel-{french,italian,portuguese,spanish}@lists.debian.org o
debian-devel@debian.or.jp. (Elenco completo su <a class="ulink" href="https://lists.debian.org/devel.html">https://lists.debian.org/devel.html</a> e <a class="ulink" href="https://lists.debian.org/users.html">https://lists.debian.org/users.html</a>)
</p>
</li>
</ul>
</div>
<p>
Gli sviluppatori di Debian più esperti saranno lieti di aiutare, se viene
chiesto correttamente e dopo aver fatto gli sforzi necessari.
</p>
<p>
Quando si ricevono delle segnalazioni di bug (sì, proprio quelle!), si dovrà
approfondire l'utilizzo del <a class="ulink" href="http://www.debian.org/Bugs/">Sistema di tracciamento dei
bug di Debian</a> e leggere la relativa documentazione, per essere in
grado di gestire le segnalazioni in maniera efficiente. È vivamente
consigliato leggere <a class="ulink" href="http://www.debian.org/doc/manuals/developers-reference/pkgs.html#bug-handling">Debian Developer's
Reference, 5.8. "Handling bugs"</a>.
</p>
<p>
Anche se tutto è andato per il meglio, è arrivato il momento di pregare.
Perché? Perché in poche ore (o giorni) utenti da tutto il mondo cominceranno
ad usare il vostro pacchetto, e se si è commesso qualche errore grave, la
propria email sarà inondata da messaggi di molti utenti Debian
incavolati… Si scherza ovviamente. :-)
</p>
<p>
Ci si deve rilassare ed essere pronti per le segnalazioni di bug, perché c'è
molto lavoro prima che un pacchetto sia completamente conforme alle policy
di Debian (ancora una volta, si legga la <span class="emphasis"><em>vera
documentazione</em></span> per i dettagli). In bocca al lupo!
</p>
</div>
<div class="footnotes">
<br/>
<hr/>
<div id="ftn.idm55" class="footnote">
<p><a href="#idm55" class="para"><sup class="para">[1] </sup></a> Nel documento si suppone l'utilizzo di un sistema
<code class="literal">jessie</code> o superiore. Se si intende seguire questo
documento per un vecchio sistema (incluse le vecchie versioni di Ubuntu),
bisognerebbe almeno installare delle versioni backport (n.d.t. versioni dei
programmi presenti nei pacchetti di testing e unstable, compilate per poter
funzionare in un sistema stable) di <code class="systemitem">dpkg</code> e <code class="systemitem">debhelper</code>.
</p>
</div>
<div id="ftn.idm61" class="footnote">
<p><a href="#idm61" class="para"><sup class="para">[2] </sup></a>
Si possono avere più informazioni sulla gestione base di un sistema Debian
dal documento <a class="ulink" href="http://www.debian.org/doc/manuals/debian-reference/">Debian Reference</a>. Questo
documento contiene anche alcune riferimenti utili per approfondire la
programmazioni Unix.
</p>
</div>
<div id="ftn.idm191" class="footnote">
<p><a href="#idm191" class="para"><sup class="para">[3] </sup></a> Ci sono un paio di pacchetti specializzati ma simili, come <code class="systemitem">dh-make-perl</code>, <code class="systemitem">dh-make-php</code>, ecc. </p>
</div>
</div>
</div>
<div class="navfooter">
<hr/>
<table width="100%" summary="Navigation footer">
<tr>
<td align="left"><a accesskey="p" href="index.it.html"><img src="images/prev.png" alt="Indietro"/></a> </td>
<td align="center"> </td>
<td align="right"> <a accesskey="n" href="first.it.html"><img src="images/next.png" alt="Avanti"/></a></td>
</tr>
<tr>
<td align="left" valign="top">Guida per il nuovo Maintainer </td>
<td align="center">
<a accesskey="h" href="index.it.html">
<img src="images/home.png" alt="Partenza"/>
</a>
</td>
<td align="right" valign="top"> Capitolo 2. Primi passi</td>
</tr>
</table>
</div>
</body>
</html>