Your IP : 216.73.216.81


Current Path : /proc/358557/root/proc/355384/root/usr/share/doc/maint-guide-it/html/
Upload File :
Current File : //proc/358557/root/proc/355384/root/usr/share/doc/maint-guide-it/html/update.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 8. Aggiornamento del pacchetto</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="checkit.it.html" title="Capitolo 7. Controllare il pacchetto per errori"/>
    <link rel="next" href="upload.it.html" title="Capitolo 9. Caricamento del pacchetto"/>
  </head>
  <body>
    <div class="navheader">
      <table width="100%" summary="Navigation header">
        <tr>
          <th colspan="3" align="center">Capitolo 8. Aggiornamento del pacchetto</th>
        </tr>
        <tr>
          <td align="left"><a accesskey="p" href="checkit.it.html"><img src="images/prev.png" alt="Indietro"/></a> </td>
          <th width="60%" align="center"> </th>
          <td align="right"> <a accesskey="n" href="upload.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="update"/>Capitolo 8. Aggiornamento del pacchetto</h1>
          </div>
        </div>
      </div>
      <div class="toc">
        <p>
          <strong>Indice</strong>
        </p>
        <dl class="toc">
          <dt>
            <span class="section">
              <a href="update.it.html#newrevision">8.1. Nuova revisione Debian</a>
            </span>
          </dt>
          <dt>
            <span class="section">
              <a href="update.it.html#inspectnewupstream">8.2. Controllo della nuova distribuzione</a>
            </span>
          </dt>
          <dt>
            <span class="section">
              <a href="update.it.html#newupstream">8.3. Nuova distribuzione</a>
            </span>
          </dt>
          <dt>
            <span class="section">
              <a href="update.it.html#packagestyle">8.4. Aggiornare lo stile di pacchettizzazione</a>
            </span>
          </dt>
          <dt>
            <span class="section">
              <a href="update.it.html#utf8">8.5. Conversione UTF-8</a>
            </span>
          </dt>
          <dt>
            <span class="section">
              <a href="update.it.html#reminders">8.6. Note per l'aggiornamento dei pacchetti</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>
Una volta rilasciato un pacchetto, ci sarà presto bisogno di aggiornarlo.
</p>
      <div class="section">
        <div class="titlepage">
          <div>
            <div>
              <h2 class="title"><a id="newrevision"/>8.1. Nuova revisione Debian</h2>
            </div>
          </div>
        </div>
        <p>
Si supponga che sia stato compilato il bug report <code class="literal">#654321</code>
per il pacchetto creato, e che questo descriva un problema che si può
risolvere. Qui è descritto come creare una nuova revisione del pacchetto
Debian:
</p>
        <div class="itemizedlist">
          <ul class="itemizedlist">
            <li class="listitem">
              <p>
Se la modifica deve essere registrata come una nuova patch, si seguano
queste istruzioni:
</p>
              <div class="itemizedlist">
                <ul class="itemizedlist">
                  <li class="listitem">
                    <p>
<code class="literal">dquilt new <em class="replaceable"><code>bugname.patch</code></em></code> per
impostare il nome della patch;
</p>
                  </li>
                  <li class="listitem">
                    <p>
<code class="literal">dquilt add <em class="replaceable"><code>buggy-file</code></em></code> per
indicare i file modificati;
</p>
                  </li>
                  <li class="listitem">
                    <p>
Correggere il problema evidenziato dal bug report nel pacchetto sorgente;
</p>
                  </li>
                  <li class="listitem">
                    <p>
<code class="literal">dquilt refresh</code> per registrare le modifiche in
<code class="filename"><em class="replaceable"><code>bugname.patch</code></em></code>;
</p>
                  </li>
                  <li class="listitem">
                    <p>
<code class="literal">dquilt header -e</code> per aggiungere una descrizione;
</p>
                  </li>
                </ul>
              </div>
            </li>
            <li class="listitem">
              <p>
Se la modifica è un aggiornamento ad una patch esistente, si seguano queste
istruzioni:
</p>
              <div class="itemizedlist">
                <ul class="itemizedlist">
                  <li class="listitem">
                    <p>
<code class="literal">dquilt pop <em class="replaceable"><code>foo.patch</code></em></code> per
richiamare la patch
<code class="filename"><em class="replaceable"><code>foo.patch</code></em></code> esistente;
</p>
                  </li>
                  <li class="listitem">
                    <p>
Correggere il problema nella vecchia patch
<code class="filename"><em class="replaceable"><code>foo.patch</code></em></code>;
</p>
                  </li>
                  <li class="listitem">
                    <p>
<code class="literal">dquilt refresh</code> per aggiornare
<code class="filename"><em class="replaceable"><code>foo.patch</code></em></code>;
</p>
                  </li>
                  <li class="listitem">
                    <p>
<code class="literal">dquilt header -e</code> per aggiornarne la descrizione;
</p>
                  </li>
                  <li class="listitem">
                    <p>
<code class="literal">while dquilt push; do dquilt refresh; done</code> per applicare
tutte le patch mentre si sta rimuovendo il <span class="emphasis"><em>fuzz</em></span>;
</p>
                  </li>
                </ul>
              </div>
            </li>
            <li class="listitem">
              <p>
Aggiungere una nuova revisione in cima al file di
<code class="filename">changelog</code> Debian, per esempio con <code class="literal">dch
-i</code>, o esplicitamente con <code class="literal">dch -v
<em class="replaceable"><code>version</code></em>-<em class="replaceable"><code>revision</code></em></code>
e poi inserire i commenti utilizzando l'editor preferito.  <a href="#ftn.idm3364" class="footnote" id="idm3364"><sup class="footnote">[76]</sup></a>
</p>
            </li>
            <li class="listitem">
              <p>
Includere nella nuova voce del changelog una breve descrizione del problema
e della relativa soluzione, seguita da <code class="literal">Closes: #654321</code>.
In questo modo, il report del problema verrà
<span class="emphasis"><em>automaticamente</em></span> chiuso dal programma di manutenzione
dell'archivio Debian nel momento stesso in cui il pacchetto viene accettato.
</p>
            </li>
            <li class="listitem">
              <p>
Si ripetano questi passaggi per risolvere ulteriori problemi e si ricordi
nel frattempo di aggiornare il file Debian di <code class="filename">changelog</code>
con <code class="literal">dch</code> a seconda della necessità.
</p>
            </li>
            <li class="listitem">
              <p>
Si ripetano i passi fatti in <a class="xref" href="build.it.html#completebuild" title="6.1. (ri)Creazione completa">Sezione 6.1, «(ri)Creazione completa»</a>, <a class="xref" href="checkit.it.html" title="Capitolo 7. Controllare il pacchetto per errori">Capitolo 7, <em>Controllare il pacchetto per errori</em></a>.
</p>
            </li>
            <li class="listitem">
              <p>
Quando si è soddisfatti, si può cambiare il valore del campo distribuzione
nel file <code class="filename">changelog</code> da <code class="literal">UNRELEASED</code> a
<code class="literal">unstable</code> (o anche
<code class="literal">experimental</code>).<a href="#ftn.idm3385" class="footnote" id="idm3385"><sup class="footnote">[77]</sup></a>
</p>
            </li>
            <li class="listitem">
              <p>
Caricare i pacchetti come <a class="xref" href="upload.it.html" title="Capitolo 9. Caricamento del pacchetto">Capitolo 9, <em>Caricamento del pacchetto</em></a>.  La differenza è che
questa volta, l'archivio del sorgente originale non sarà incluso, dal
momento che non è stato modificato e già esiste nell'archivio Debian.
</p>
            </li>
          </ul>
        </div>
        <p>
Un caso complicato può verificarsi quando si crea un pacchetto locale per
sperimentare la pacchettizzazione prima di caricare la versione normale
nell'archivio ufficiale, ad esempio
<code class="literal"><em class="replaceable"><code>1.0.1</code></em>-<em class="replaceable"><code>1</code></em></code>.
Per facilitare gli aggiornamenti è consigliabile creare una voce con la
stringa della versione come
<code class="literal"><em class="replaceable"><code>1.0.1</code></em>-<em class="replaceable"><code>1~rc1</code></em></code>
nel file <code class="filename">changelog</code>. Per il pacchetto ufficiale si può
riordinare il file <code class="filename">changelog</code> consolidando la modifiche
locali in una singola voce. Si veda <a class="xref" href="first.it.html#namever" title="2.6. Nome e versione del pacchetto">Sezione 2.6, «Nome e versione del pacchetto»</a> per l'ordine
delle stringhe di versione.
</p>
        <p>
</p>
      </div>
      <div class="section">
        <div class="titlepage">
          <div>
            <div>
              <h2 class="title"><a id="inspectnewupstream"/>8.2. Controllo della nuova distribuzione</h2>
            </div>
          </div>
        </div>
        <p>
Quando si stanno preparando i pacchetti della nuova release per l'archivio
Debian, bisogna controllare prima la nuova release del pacchetto originale.
</p>
        <p>
Si comincia leggendo i file originali <code class="filename">changelog</code>,
<code class="filename">NEWS</code>, e qualsiasi altra documentazione che possa essere
stata rilasciata con la nuova versione.
</p>
        <p>
Successivamente si controllano i cambiamenti tra i vecchi sorgenti originali
e quelli nuovi, come mostrato in seguito, alla ricerca di qualsiasi modifica
sospetta:
</p>
        <pre class="screen">
$ diff -urN <em class="replaceable"><code>foo</code></em>-<em class="replaceable"><code>oldversion</code></em> <em class="replaceable"><code>foo</code></em>-<em class="replaceable"><code>newversion</code></em>
</pre>
        <p>
I cambiamenti effettuati ad alcuni file generati automaticamente dagli
Autotools come <code class="filename">missing</code>,
<code class="filename">aclocal.m4</code>, <code class="filename">config.guess</code>,
<code class="filename">config.h.in</code>, <code class="filename">config.sub</code>,
<code class="filename">configure</code>, <code class="filename">depcomp</code>,
<code class="filename">install-sh</code>, <code class="filename">ltmain.sh</code>, e
<code class="filename">Makefile.in</code> possono essere ignorati.  Possono anzi
venire cancellati prima di eseguire <span class="command"><strong>diff</strong></span> per controllare
i sorgenti.
</p>
      </div>
      <div class="section">
        <div class="titlepage">
          <div>
            <div>
              <h2 class="title"><a id="newupstream"/>8.3. Nuova distribuzione</h2>
            </div>
          </div>
        </div>
        <p>
Se un pacchetto <code class="systemitem"><em class="replaceable"><code>foo</code></em></code> è stato
impacchettato correttamente nei nuovi formati <code class="literal">3.0
(native)</code> o <code class="literal">3.0 (quilt)</code>, si rende necessario
impacchettare anche la versione originale muovendo la directory
<code class="filename">debian</code> nella nuova sorgente.  Questo può essere fatto
eseguendo <code class="literal">tar xvzf
/<em class="replaceable"><code>path</code></em>/<em class="replaceable"><code>to</code></em>/<em class="replaceable"><code>foo</code></em>_<em class="replaceable"><code>oldversion</code></em>.debian.tar.gz</code>
nella nuova directory sorgente scompattata.  <a href="#ftn.idm3440" class="footnote" id="idm3440"><sup class="footnote">[78]</sup></a> Ovviamente bisognerà effettuare alcuni passaggi:
</p>
        <div class="itemizedlist">
          <ul class="itemizedlist">
            <li class="listitem">
              <p>
Creare una copia dei sorgenti originali nel file
<code class="filename">foo_<em class="replaceable"><code>newversion</code></em>.orig.tar.gz</code>.
</p>
            </li>
            <li class="listitem">
              <p>
Aggiornare il file di <code class="filename">changelog</code> Debian con <code class="literal">dch
-v
<em class="replaceable"><code>newversion</code></em>-<em class="replaceable"><code>1</code></em></code>.
</p>
              <div class="itemizedlist">
                <ul class="itemizedlist">
                  <li class="listitem">
                    <p>
Aggiungere una voce che dica <code class="literal">New upstream release</code>.
</p>
                  </li>
                  <li class="listitem">
                    <p>
Descrivere brevemente i cambiamenti <span class="emphasis"><em>nella nuova
distribuzione</em></span> che correggono i bug riportati e ne chiudono altri
aggiungendo <code class="literal">Closes:
#<em class="replaceable"><code>numero_bug</code></em></code>.
</p>
                  </li>
                  <li class="listitem">
                    <p>
Descrivere brevemente i cambiamenti <span class="emphasis"><em>nella nuova
distribuzione</em></span>, effettuati dal manutentore, che correggono i bug
riportati e li chiudono aggiungendo <code class="literal">Closes:
#<em class="replaceable"><code>numero_bug</code></em></code>.
</p>
                  </li>
                </ul>
              </div>
            </li>
            <li class="listitem">
              <p>
<code class="literal">while dquilt push; do dquilt refresh; done</code> per applicare
tutte le patch mentre si sta rimuovendo il <span class="emphasis"><em>fuzz</em></span>.
</p>
            </li>
          </ul>
        </div>
        <p>
Se la patch/merge non è stata applicata in maniera corretta, si controlli la
situazione (gli indizi vengono lasciati nei file <code class="filename">.rej</code>).
</p>
        <div class="itemizedlist">
          <ul class="itemizedlist">
            <li class="listitem">
              <p>
Se una patch applicata ai sorgenti è stata integrata nei sorgenti originali,
</p>
              <div class="itemizedlist">
                <ul class="itemizedlist">
                  <li class="listitem">
                    <p>
si rimuova con <code class="literal">dquilt delete</code>.
</p>
                  </li>
                </ul>
              </div>
            </li>
            <li class="listitem">
              <p>
Se una patch applicata alla sorgente è andata in conflitto con i nuovi
cambiamenti nei sorgenti originali,
</p>
              <div class="itemizedlist">
                <ul class="itemizedlist">
                  <li class="listitem">
                    <p>
si esegua <code class="literal">dquilt push -f</code> per applicare le vecchie patch
forzando gli scarti nel file
<code class="filename"><em class="replaceable"><code>baz</code></em>.rej</code>.
</p>
                  </li>
                  <li class="listitem">
                    <p>
Modificare manualmente il file
<code class="filename"><em class="replaceable"><code>baz</code></em></code> per applicare gli
effetti desiderati presenti nel file
<code class="filename"><em class="replaceable"><code>baz</code></em>.rej</code>.
</p>
                  </li>
                  <li class="listitem">
                    <p>
<code class="literal">dquilt refresh</code> per aggiornare la patch.
</p>
                  </li>
                </ul>
              </div>
            </li>
            <li class="listitem">
              <p>
Ritornare alla procedura <code class="literal">while dquilt push; do dquilt refresh;
done</code>.
</p>
            </li>
          </ul>
        </div>
        <p>
Questo processo può essere automatizzato utilizzando il comando
<span class="citerefentry"><span class="refentrytitle">uupdate</span>(1)</span> come segue:
</p>
        <pre class="screen">
$ apt-get source <em class="replaceable"><code>foo</code></em>
...
dpkg-source: info: extracting <em class="replaceable"><code>foo</code></em> in <em class="replaceable"><code>foo</code></em>-<em class="replaceable"><code>oldversion</code></em>
dpkg-source: info: unpacking <em class="replaceable"><code>foo</code></em>_<em class="replaceable"><code>oldversion</code></em>.orig.tar.gz
dpkg-source: info: applying <em class="replaceable"><code>foo</code></em>_<em class="replaceable"><code>oldversion</code></em>-1.debian.tar.gz
$ ls -F
<em class="replaceable"><code>foo</code></em>-<em class="replaceable"><code>oldversion</code></em>/
<em class="replaceable"><code>foo</code></em>_<em class="replaceable"><code>oldversion</code></em>-1.debian.tar.gz
<em class="replaceable"><code>foo</code></em>_<em class="replaceable"><code>oldversion</code></em>-1.dsc
<em class="replaceable"><code>foo</code></em>_<em class="replaceable"><code>oldversion</code></em>.orig.tar.gz
$ wget http://example.org/<em class="replaceable"><code>foo</code></em>/<em class="replaceable"><code>foo</code></em>-<em class="replaceable"><code>newversion</code></em>.tar.gz
$ cd <em class="replaceable"><code>foo</code></em>-<em class="replaceable"><code>oldversion</code></em>
$ uupdate -v <em class="replaceable"><code>newversion</code></em> ../<em class="replaceable"><code>foo</code></em>-<em class="replaceable"><code>newversion</code></em>.tar.gz
$ cd ../<em class="replaceable"><code>foo</code></em>-<em class="replaceable"><code>newversion</code></em>
$ while dquilt push; do dquilt refresh; done
$ dch
... document changes made
</pre>
        <p>
Se si imposta il file <code class="filename">debian/watch</code> come descritto in
<a class="xref" href="dother.it.html#watch" title="5.21. watch">Sezione 5.21, «<code class="filename">watch</code>»</a>, si può saltare il comando <span class="command"><strong>wget</strong></span>.
Basterà eseguire <span class="citerefentry"><span class="refentrytitle">uscan</span>(1)</span> nella directory
<code class="filename"><em class="replaceable"><code>foo</code></em>-<em class="replaceable"><code>oldversion</code></em></code>
al posto del comando <span class="command"><strong>uupdate</strong></span>.  Questo cercherà
<span class="emphasis"><em>auto-magicamente</em></span> i sorgenti corretti, li scaricherà ed
eseguirà il comando <span class="command"><strong>uupdate</strong></span>.  <a href="#ftn.idm3552" class="footnote" id="idm3552"><sup class="footnote">[79]</sup></a>
</p>
        <p>
Si possono rilasciare questi sorgenti aggiornati ripetendo ciò che si è
fatto in <a class="xref" href="build.it.html#completebuild" title="6.1. (ri)Creazione completa">Sezione 6.1, «(ri)Creazione completa»</a>, <a class="xref" href="checkit.it.html" title="Capitolo 7. Controllare il pacchetto per errori">Capitolo 7, <em>Controllare il pacchetto per errori</em></a>, ed
<a class="xref" href="upload.it.html" title="Capitolo 9. Caricamento del pacchetto">Capitolo 9, <em>Caricamento del pacchetto</em></a>.
</p>
      </div>
      <div class="section">
        <div class="titlepage">
          <div>
            <div>
              <h2 class="title"><a id="packagestyle"/>8.4. Aggiornare lo stile di pacchettizzazione</h2>
            </div>
          </div>
        </div>
        <p>
L'aggiornamento dello stile del pacchetto non è una attività obbligatoria
nel processo di aggiornamento di quest'ultimo.  Tuttavia facendo ciò si può
sfruttare appieno la capacità del moderno sistema <code class="systemitem">debhelper</code> ed il formato sorgente
<code class="literal">3.0</code>.  <a href="#ftn.idm3567" class="footnote" id="idm3567"><sup class="footnote">[80]</sup></a>
</p>
        <div class="itemizedlist">
          <ul class="itemizedlist">
            <li class="listitem">
              <p>
Se per qualsiasi motivo c'è la necessità di aggiungere file di template
cancellati, si può eseguire nuovamente il comando <span class="command"><strong>dh_make</strong></span>
nella stessa directory del sorgente del pacchetto Debian con l'opzione
<code class="literal">--addmissing</code>.  Fatto questo si potrà modificarlo di
conseguenza.
</p>
            </li>
            <li class="listitem">
              <p>
Se il pacchetto non è stato aggiornato per utilizzare la sintassi v7+ di
<span class="command"><strong>dh</strong></span> del pacchetto <code class="systemitem">debhelper</code> per il file
<code class="filename">debian/rules</code>, si deve effettuare un aggiornamento per
poter usare <span class="command"><strong>dh</strong></span>.  Si aggiorni di conseguenza anche il file
<code class="filename">debian/control</code>.
</p>
            </li>
            <li class="listitem">
              <p>
Se si desidera aggiornare il file <code class="filename">rules</code> creato con il
meccanismo di inclusione "Common Debian Build System" (<code class="systemitem">cdbs</code>) del <code class="filename">Makefile</code> con la
sintassi <span class="command"><strong>dh</strong></span>, si veda più avanti per capire le variabili
di configurazione <code class="literal">DEB_*</code>.
</p>
              <div class="itemizedlist">
                <ul class="itemizedlist">
                  <li class="listitem">
                    <p>copia locale di <code class="filename">/usr/share/doc/cdbs/cdbs-doc.pdf.gz</code></p>
                  </li>
                  <li class="listitem">
                    <p>
                      <a class="ulink" href="http://meetings-archive.debian.net/pub/debian-meetings/2009/fosdem/slides/The_Common_Debian_Build_System_CDBS/">The Common Debian Build System (CDBS), FOSDEM
2009</a>
                    </p>
                  </li>
                </ul>
              </div>
            </li>
            <li class="listitem">
              <p>
Se si ha un pacchetto sorgente nella versione <code class="literal">1.0</code> senza
il file <code class="filename"><em class="replaceable"><code>foo</code></em>.diff.gz</code>, si può
aggiornare al nuovo formato sorgente <code class="literal">3.0 (native)</code> creando
il file <code class="filename">debian/source/format</code> contenente <code class="literal">3.0
(native)</code>.  Gli altri file <code class="filename">debian/*</code> possono
essere semplicemente copiati.
</p>
            </li>
            <li class="listitem">
              <p>
Se si ha un pacchetto sorgente nella versione <code class="literal">1.0</code> con il
file <code class="filename"><em class="replaceable"><code>foo</code></em>.diff.gz</code>, si può
aggiornare al nuovo formato sorgente <code class="literal">3.0 (quilt)</code> creando
il file <code class="filename">debian/source/format</code> contenente <code class="literal">3.0
(quilt)</code>.  Gli altri file <code class="filename">debian/*</code> possono
essere semplicemente copiati.  Se necessario, si importi il file
<code class="filename">big.diff</code> generato dal comando <code class="literal">filterdiff -z -x
'*/debian/*' <em class="replaceable"><code>foo</code></em>.diff.gz &gt; big.diff</code>
nel sistema <span class="command"><strong>quilt</strong></span>.<a href="#ftn.idm3617" class="footnote" id="idm3617"><sup class="footnote">[81]</sup></a>
</p>
            </li>
            <li class="listitem">
              <p>
Si nel pacchetto è stato utilizzato un altro sistema di patch come
<code class="systemitem">dpatch</code>, <code class="systemitem">dbs</code>, o <code class="systemitem">cdbs</code> con <code class="literal">-p0</code>,
<code class="literal">-p1</code>, o <code class="literal">-p2</code>, lo si può convertire con
il comando <code class="systemitem">quilt</code> utilizzando
<code class="filename">deb3</code> presente su <a class="ulink" href="http://bugs.debian.org/581186">http://bugs.debian.org/581186</a>.
</p>
            </li>
            <li class="listitem">
              <p>
Se il pacchetto è stato creato con il comando <span class="command"><strong>dh</strong></span> con
l'opzione <code class="literal">--with quilt</code> o con i comandi
<span class="command"><strong>dh_quilt_patch</strong></span> e <span class="command"><strong>dh_quilt_unpatch</strong></span>, si
rimuovano i file prodotti e li si sostituisca usando il nuovo formato dei
sorgenti <code class="literal">3.0 (quilt)</code>.
</p>
            </li>
          </ul>
        </div>
        <p>
Bisogna controllare <a class="ulink" href="http://dep.debian.net/">DEP - Debian Enhancement
Proposals</a> e adottare le proposte ACCEPTED.
</p>
        <p>
Ci sarà anche bisogno di eseguire ulteriori operazioni descritte in <a class="xref" href="update.it.html#newupstream" title="8.3. Nuova distribuzione">Sezione 8.3, «Nuova distribuzione»</a>.
</p>
      </div>
      <div class="section">
        <div class="titlepage">
          <div>
            <div>
              <h2 class="title"><a id="utf8"/>8.5. Conversione UTF-8</h2>
            </div>
          </div>
        </div>
        <p>
Se i documenti originali sono codificato con vecchi schemi di codifica, è
buona norma convertirli in <a class="ulink" href="http://en.wikipedia.org/wiki/UTF-8">UTF-8</a>.
</p>
        <div class="itemizedlist">
          <ul class="itemizedlist">
            <li class="listitem">
              <p>
Utilizzare <span class="citerefentry"><span class="refentrytitle">iconv</span>(1)</span> per convertire le codifiche dei
file di testo.
</p>
              <pre class="screen">
iconv -f latin1 -t utf8 <em class="replaceable"><code>foo_in.txt</code></em> &gt; <em class="replaceable"><code>foo_out.txt</code></em>
</pre>
            </li>
            <li class="listitem">
              <p>
Utilizzare <span class="citerefentry"><span class="refentrytitle">w3m</span>(1)</span> per convertire da file HTML a file
di testo UTF-8.  Ci si assicuri di utilizzarlo in un ambiente con
localizzazione UTF-8.
</p>
              <pre class="screen">
LC_ALL=en_US.UTF-8 w3m -o display_charset=UTF-8 \
        -cols 70 -dump -no-graph -T text/html \
        &lt; <em class="replaceable"><code>foo_in.html</code></em> &gt; <em class="replaceable"><code>foo_out.txt</code></em>
</pre>
            </li>
          </ul>
        </div>
      </div>
      <div class="section">
        <div class="titlepage">
          <div>
            <div>
              <h2 class="title"><a id="reminders"/>8.6. Note per l'aggiornamento dei pacchetti</h2>
            </div>
          </div>
        </div>
        <p>
Vengono qui presentate alcune note per l'aggiornamento dei pacchetti:
</p>
        <div class="itemizedlist">
          <ul class="itemizedlist">
            <li class="listitem">
              <p>
Si preservino le vecchie voci del <code class="filename">changelog</code> (sembra
ovvio, ma a volte si sono verificati problemi per aver scritto
<code class="literal">dch</code> mentre si sarebbe dovuto scrivere <code class="literal">dch
-i</code>.)
</p>
            </li>
            <li class="listitem">
              <p>
Cambiamenti preesistenti devono essere ricontrollati; si scarti tutto ciò
che è stato incorporato in upstream (in una forma o nell'altra) e ci si
ricordi di mantenere tutto quello che non è stato incorporato dall'upstream,
a meno che non ci sia una buona ragione per non farlo.
</p>
            </li>
            <li class="listitem">
              <p>
Se è stato fatto qualsiasi cambiamento nel sistema di costruzione del
pacchetto (sperabilmente ce se ne renderà conto controllando i cambiamenti
dall'originale) allora si aggiorni il file <code class="filename">debian/rules</code>
e le dipendenze di <code class="filename">debian/control</code> se necessario.
</p>
            </li>
            <li class="listitem">
              <p>
Si controlli nel <a class="ulink" href="http://www.debian.org/Bugs/">Debian Bug Tracking System (BTS)</a>
se qualcuno ha reso disponibili delle patch ai bug che sono attualmente
aperti.
</p>
            </li>
            <li class="listitem">
              <p>
Si controlli il contenuto del file <code class="filename">.changes</code> per essere
sicuri che si stia caricando per la distribuzione corretta, le risoluzioni
ai bug vengono listate nel campo <code class="literal">Closes</code>, i campi
<code class="literal">Maintainer</code> e <code class="literal">Changed-By</code> corrispondono,
il file è firmato con GPG, ecc.
</p>
            </li>
          </ul>
        </div>
      </div>
      <div class="footnotes">
        <br/>
        <hr/>
        <div id="ftn.idm3364" class="footnote">
          <p><a href="#idm3364" class="para"><sup class="para">[76] </sup></a>Per impostare la data nel formato corretto, si usi <code class="literal">LANG=C date
-R</code>.
</p>
        </div>
        <div id="ftn.idm3385" class="footnote">
          <p><a href="#idm3385" class="para"><sup class="para">[77] </sup></a>Se si utilizza il comando <code class="literal">dch -r</code> per effettuare
quest'ultima modifica, ci si assicuri che l'editor salvi il file con il nome
<code class="filename">changelog</code>.</p>
        </div>
        <div id="ftn.idm3440" class="footnote">
          <p><a href="#idm3440" class="para"><sup class="para">[78] </sup></a> Se un pacchetto <code class="systemitem"><em class="replaceable"><code>foo</code></em></code> è stato
pacchettizzato nel vecchio formato <code class="literal">1.0</code>, si deve invece
eseguire <code class="literal">zcat
/<em class="replaceable"><code>path</code></em>/<em class="replaceable"><code>to</code></em>/<em class="replaceable"><code>foo</code></em>_<em class="replaceable"><code>oldversion</code></em>.diff.gz|patch
-p1</code> nella nuova directory sorgente scompattata.  </p>
        </div>
        <div id="ftn.idm3552" class="footnote">
          <p><a href="#idm3552" class="para"><sup class="para">[79] </sup></a> Se il comando <span class="command"><strong>uscan</strong></span> scarica il sorgente aggiornato ma non
esegue il comando <span class="command"><strong>uupdate</strong></span>, si può modificare il file
<code class="filename">debian/watch</code> inserendo <code class="literal">debian
uupdate</code> alla fine dell'URL.  </p>
        </div>
        <div id="ftn.idm3567" class="footnote">
          <p><a href="#idm3567" class="para"><sup class="para">[80] </sup></a> Se il proprio sponsor o altri manutentori non ritengono sia necessario
aggiornare lo stile del pacchetto, allora non vale la pena perderci molto
tempo.  Ci sono cose più importanti da fare.  </p>
        </div>
        <div id="ftn.idm3617" class="footnote">
          <p><a href="#idm3617" class="para"><sup class="para">[81] </sup></a>
È possibile dividere il file <code class="filename">big.diff</code> in tante piccole
patch incrementali utilizzando il comando <span class="command"><strong>splitdiff</strong></span>.  </p>
        </div>
      </div>
    </div>
    <div class="navfooter">
      <hr/>
      <table width="100%" summary="Navigation footer">
        <tr>
          <td align="left"><a accesskey="p" href="checkit.it.html"><img src="images/prev.png" alt="Indietro"/></a> </td>
          <td align="center"> </td>
          <td align="right"> <a accesskey="n" href="upload.it.html"><img src="images/next.png" alt="Avanti"/></a></td>
        </tr>
        <tr>
          <td align="left" valign="top">Capitolo 7. Controllare il pacchetto per errori </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 9. Caricamento del pacchetto</td>
        </tr>
      </table>
    </div>
  </body>
</html>