<!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ù 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à 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é 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ò 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ù vecchia di tar, si può 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 è il primo file che gli intrepidi esploratori leggeranno dopo aver decompresso i sorgenti. <P>È 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à.</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à 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à 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ò dare all'esploratore degli indizi preziosi su ciò che è in procinto di guardare. <P>Ecco alcuni nomi standard di file e il loro significato. Non è 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ù 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>