Sophie

Sophie

distrib > Mandriva > 9.1 > i586 > by-pkgid > f1098342ec4a2b28475e34123ce17201 > files > 1174

howto-html-it-9.1-0.5mdk.noarch.rpm

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
<HTML>
<HEAD>
<TITLE>Software Release Practice HOWTO: Buone regole per creare una distribuzione</TITLE>
<LINK HREF="Software-Release-Practice-HOWTO-5.html" REL=next>
<LINK HREF="Software-Release-Practice-HOWTO-3.html" REL=previous>
<LINK HREF="Software-Release-Practice-HOWTO.html#toc4" REL=contents>
</HEAD>
<BODY>
<A HREF="Software-Release-Practice-HOWTO-5.html">Avanti</A>
<A HREF="Software-Release-Practice-HOWTO-3.html">Indietro</A>
<A HREF="Software-Release-Practice-HOWTO.html#toc4">Indice</A>
<HR>
<H2><A NAME="s4">4. Buone regole per creare una distribuzione</A></H2>

<P>Le seguenti indicazioni descrivono come la propria distribuzione dovrebbe
apparire quando qualcuno la rintraccia, la scarica e la decomprime.
<P>
<H2><A NAME="ss4.1">4.1 Essere sicuri che gli archivi tar vengano sempre decompressi in una nuova singola directory</A>
</H2>

<P>Il pi&ugrave; fastidioso errore dei novelli sviluppatori consiste nel fare
archivi tar che decomprimono i file e le directory della distribuzione
nella directory corrente, magari sovrascrivendo file gi&agrave; esistenti.
<EM>Non bisogna farlo mai !</EM>
<P>Invece, si dev'essere sicuri che i file del proprio pacchetto abbiano tutti una porzione di
directory chiamata come il progetto, affinch&eacute; questi vengano decompressi in una singola
directory direttamente <EM>sotto</EM> quella corrente.
<P>Ecco un trucco per un makefile che agisce in questo modo, assumendo che la directory della
propria distribuzione venga chiamata `foobar' e che SRC contenga un elenco dei file della
distribuzione stessa.
Ci&ograve; richiede GNU tar 1.13
<P>
<P>
<PRE>
VERS=1.0
foobar-$(VERS).tar.gz:
        tar --prefix-name='foobar-$(VERS)/' -czf foobar-$(VERS).tar.gz $(SRC)
</PRE>
<P>Se si ha un versione pi&ugrave; vecchia di tar, si pu&ograve; provare una cosa del tipo:
<P>
<PRE>
foobar-$(VERS).tar.gz:
        @ls $(SRC) | sed s:^:foobar-$(VERS)/: >MANIFEST
        @(cd ..; ln -s foobar foobar-$(VERS))
        (cd ..; tar -czvf foobar/foobar-$(VERS).tar.gz `cat foobar/MANIFEST`)
        @(cd ..; rm foobar-$(VERS))
</PRE>
<P>
<H2><A NAME="ss4.2">4.2 Fornire un README</A>
</H2>

<P>Bisogna fornire un file chiamato README o READ.ME che funga da mappa per la
propria distribuzione. Per una vecchia convenzione, questo &egrave; il primo file
che gli intrepidi esploratori leggeranno dopo aver decompresso i sorgenti.
<P>&Egrave; bene che il README includa:
<P>
<UL>
<LI>Una breve descrizione del progetto.</LI>
<LI>Un link al sito web del progetto (se ne ha uno).</LI>
<LI>Note sull'ambiente di progettazione ed eventuali problemi di portabilit&agrave;.</LI>
<LI>Una mappa che descriva i file importanti e le sotto-directory.</LI>
<LI>Istruzioni per l'installazione e la compilazione o un richiamo a un file
     che contenga le stesse (di solito INSTALL).</LI>
<LI>Un elenco di coloro che hanno fatto e che mantengono il progetto o un
     richiamo ad un file che lo contenga (di solito CREDITS). </LI>
<LI>Novit&agrave; recenti sul progetto o un richiamo ad un file che contenga le
     stesse (di solito NEWS). </LI>
</UL>
<P>
<H2><A NAME="ss4.3">4.3 Rispettare e seguire le regole standard per la titolazione dei file</A>
</H2>

<P>Prima ancora di leggere il README, l'intrepido esploratore avr&agrave; analizzato
i nomi dei file nella directory della distribuzione appena decompressa.
Quei nomi possono essi stessi fornire delle informazioni. Aderendo a
standard fissi sulle regole di nominazione, si pu&ograve; dare all'esploratore degli
indizi preziosi su ci&ograve; che &egrave; in procinto di guardare.
<P>Ecco alcuni nomi standard di file e il loro significato. Non &egrave; detto che siano tutti necessari
per tutte le distribuzioni.
<P>
<DL>
<DT><B>README or READ.ME</B><DD><P>Il file della mappa, da leggersi per primo
<P>
<DT><B>INSTALL</B><DD><P>istruzioni per la configurazione, struttura e l'installazione
<P>
<DT><B>CREDITS</B><DD><P>elenco di chi ha contribuito al progetto
<P>
<DT><B>NEWS</B><DD><P>notizie recenti sul progetto
<P>
<DT><B>HISTORY</B><DD><P>storia del progetto
<P>
<DT><B>COPYING</B><DD><P>termini di licenza del progetto (convenzione GNU)
<P>
<DT><B>LICENSE</B><DD><P>termini di licenza del progetto
<P>
<DT><B>MANIFEST</B><DD><P>elenco dei file della distribuzione
<P>
<DT><B>FAQ</B><DD><P>documento testo contenente le domande poste pi&ugrave; di frequente
              (Frequently Asked Question) sul progetto 
<P>
<DT><B>TAGS</B><DD><P>tag-file generato per uso di Emacs o vi
</DL>
<P>N.B. Si accetta come convenzione generale che i nomi dei file scritti tutti in caratteri 
maiuscoli costituiscano matainformazioni leggibili sul pacchetto, e non sui suoi componenti.
<P>
<HR>
<A HREF="Software-Release-Practice-HOWTO-5.html">Avanti</A>
<A HREF="Software-Release-Practice-HOWTO-3.html">Indietro</A>
<A HREF="Software-Release-Practice-HOWTO.html#toc4">Indice</A>
</BODY>
</HTML>