[ precedente ] [ Contenuti ] [ 1 ] [ 2 ] [ 3 ] [ 4 ] [ 5 ] [ 6 ] [ 7 ] [ 8 ] [ 9 ] [ A ] [ successivo ]


Guida per il nuovo Maintainer
Capitolo 5 - Altri file sotto debian/


Vedrai che ci sono altri file nella sottodirectory debian/, molti dei quali con suffisso `.ex', che sta a indicare degli esempi. Dagli una occhiata. Se volessi usarli o avessi necessità di usarne le funzionalità:

Alcuni di questi file, quelli più comunemente usati, sono spiegati nelle sezioni seguenti.


5.1 README.Debian

Qualsiasi dettaglo extra o discrepanza fra il pacchetto originale e la versione debianizzata, deve essere documentata qui.

dh_make ne crea uno di default, che appare come segue:

       gentoo for Debian
       ----------------------
     
       <possible notes regarding this package - if none, delete this file>
     
        -- Josip Rodin <joy-mg@debian.org>, Wed, 11 Nov 1998 21:02:14 +0100

Poiché non dobbiamo aggiungere niente qui, cancelleremo questo file.


5.2 conffiles.ex

Una delle esperienze più tedianti con il software, capita quando si passa parecchio tempo a configurare con tutti gli sforzi un programma, per vedersi poi cancellate tutte le modifiche effettuate, a seguito di un aggiornamento. Debian risolve questo problema marcando i file di configurazione in modo che quando si aggiorna un pacchetto venga richiesto se si vogliono conservare i vecchi file di configurazione, o meno.

Il modo di fare questo in un pacchetto è inserire il path completo di ciascun file di configurazione (generalmente in /etc), uno per riga, in un file che si chiama conffiles. Gentoo ha un file di configurazione, /etc/gentoorc, e lo inseriremo nel file conffiles.

Se il programma che stai pacchettizzando richiede che ogni utente modifichi il file di configurazione per funzionare, prendi in considerazione la possibilità di non marcarlo come conffile.

Puoi gestire degli esempi di configurazione dagli `script del maintainer', per maggiori informazioni vedi postinst.ex, preinst.ex, postrm.ex, prerm.ex, Sezione 5.12.

Se il tuo programma non ha conffiles, puoi in tutta sicurezza cancellare il file conffiles dalla directory debian/.


5.3 cron.d.ex

Se il tuo pacchetto richiede che compiti regolarmente schedulati siano svolti in modo appropriato, puoi usare questo file per configurarli.

Nota che questo non include la rotazione dei log; per quello guarda dh_installlogrotate(1) e logrotate(8).

In caso contrario rimuovilo.


5.4 dirs

Questo file specifica le directory che occorrono, ma che la normale procedura di installazione (make install), per qualche motivo, non crea. Per default, contiene:

       usr/bin
       usr/sbin

Osserva che lo slash prefisso non è incluso. Cambieremo normalmente tale file come segue:

       usr/bin
       usr/man/man1

ma queste directory sono già create nel Makefile, per cui non ci serve tale file, e lo cancelleremo.


5.5 docs

Questo file specifica i nomi dei file di documentazione che possiamo far installare a dh_installdocs nella directory temporanea per noi.

Per default, includerà tutti i file esistenti nella directory principale dei sorgenti che si chiamano "BUGS", "README*", "TODO", ecc.

Per gentoo, ho incluso anche qualcos'altro:

       BUGS
       CONFIG-CHANGES
       CREDITS
       ONEWS
       README
       README.gtkrc
       TODO

Possiamo anche rimuovere questo file e invece elencare quei file sulla riga di comando di dh_installdocs nel file rules, in questo modo:

               dh_installdocs BUGS CONFIG-CHANGES CREDITS ONEWS README \
                              README.gtkrc TODO

Per quanto inversomile possa sembrare, potresti non avere nessuno di questi file nella directory dei sorgenti del pacchetto. In tal caso potresti in tutta sicurezza cancellare questo file. Ma non rimuovere la chiamata dh_installdocs nel file rules perchè è usata per installare il file copyright e altre cose.


5.6 emacsen-*.ex

Se il tuo pacchetto fornisce dei file Emacs che possono essere compilati al momento della installazione, puoi usare questi file per configurarlo.

Sono installati nella directory temporanea da dh_installemacsen(1), per cui non dimenticare di decommentare quella riga nel file rules se lo usi.

Se non ti servono, rimuovili.


5.7 init.d.ex

Se il tuo pacchetto è un daemon che richiede di essere lanciato alla partenza del sistema, hai ovviamente ignorato la mia raccomandazione iniziale, vero? :-)

Questo è uno schema di file abbastanza generico per uno script da /etc/init.d/, per cui dovrai verosimilmente modificarlo parecchio. Viene installato nalla directory temporanea da dh_installinit(1).

Se non ti serve, rimuovilo.


5.8 manpage.1.ex, manpage.sgml.ex

Il tuo programma dovrebbe avere una pagina di man. Se non ce l'ha questo file contiene lo scheletro di una pagina che puoi riempire.

Le pagine di manuale sono normalmente scritte in nroff(1). L'esempio manpage.1.ex è scritto in nroff, anche. Vedi la pagina di manuale relativa a man(7), per una breve descrizione di come modificare tale file.

Se d'altro canto preferisci scrivere in SGML invece che in nroff puoi usare lo schema in manpage.sgml.ex. Se lo fai, devi:

E ricorda di rinominare il file in qualcosa tipo gentoo.sgml!

Il nome della pagina finale di manuale dovrebbe includere il nome del programma che sta documentando, per cui la rinomineremo da "manpage" a "gentoo". Questo nome di file include ".1" come primo suffisso, il che indica che è una pagina di manuale per un comando utente. Assicurati che questa sezione sia di fatto quella corretta. Ecco una breve lista delle sezioni di pagina di man:

       Sezione |     Descrizione      |     Note
          1     User commands          Comandi e script eseguibili
          2     System calls           Funzioni del kernel
          3     Library calls          Funzioni delle librerie di sistema
          4     Special files          File di /dev
          5     File formats           Per es. formato di /etc/passwd
          6     Games                  O programmi frivoli 
          7     Macro packages         Come le macro di man.
          8     System administration  Programmi usati da root.
          9     Kernel routines        Chiamate non standard e interne

Così la manpage di gentoo dovrebbe chiamarsi gentoo.1. Non c'era nessuna pagina man gentoo.1 nei sorgenti originali, per cui ne ho scritta una, usando le informazioni dell'esempio e la documentazione dall'upstream.


5.9 menu.ex

Gli utenti di X Window generalmente hanno un window manager con un menu che può essere adattato per lanciare programmi. Se è stato installato il pacchetto menu, verrà creato un insieme di menu per ciascun programma del sistema.

Questo è il file menu.ex che di default dh_make crea:

       ?package(gentoo):needs=X11|text|vc|wm section=Apps/see-menu-manual\
         title="gentoo" command="/usr/bin/gentoo"

Il primo campo dopo i due punti è "needs", e specifica di che tipo di interfaccia il programma ha bisogno. Modificalo in una delle alternative in elenco, per esempio "text" o "X11".

Il successivo è "section", dove voce di menu e sottomenu dove dovrebbe apparire. L'elenco corrente delle sezioni si trova in: /usr/share/doc/debian-policy/menu-policy.html/ch2.html#s2.1

Il campo "title" è il nome del programma. Puoi iniziarlo in maiuscolo se preferisci. Solo, mantienilo breve.

Infine, il campo "command" è la riga di comando che lancia il programma.

Adesso, cambieremo la voce di menu in questo:

       ?package(gentoo):needs=X11 section=Apps/Tools \
         title="Gentoo" command="gentoo"

Puoi anche aggiungere altri campi come "longtitle", "icon", "hints", ecc.

Vedi menufile(5), update-menus(1) e /usr/share/doc/debian-policy/menu-policy.html/ per maggiori informazioni.


5.10 watch.ex

Questo file è usato per configurare uscan(1) e uupdate(1) (nel pacchetto devscripts) Sono usati per controllare il sito da dove hai recuperato il sorgente originale.

Questo è quello che vi ho inserito:

     # watch control file for uscan
     # Site            Directory  Pattern              Version  Script
     ftp.obsession.se  /gentoo    gentoo-(.*)\.tar\.gz  debian  uupdate

Suggerimento: collegati a Internet, e prova a eseguire "uscan" nella directory del programma, dopo avere creato il file. E leggi le pagine di manuale! :)


5.11 ex.package.doc-base

Se il tuo pacchetto ha altra documentazione a parte le pagine man e i documenti info, dovresti usare il file `doc-base' per registrarle, in modo che l'utente possa trovarle, con dhelp(1), dwww(1) o doccentral(1), per esempio.

Questo in genere include file HTML,PS e PDF, distribuiti in /usr/share/doc/packagename/.

Il file doc-base di gentoo appare come segue:

       Document: gentoo
       Title: Gentoo Manual
       Author: Emil Brink
       Abstract: This manual describes what Gentoo is, and how it can be used.
       Section: Apps/Tools
     
       Format: HTML
       Index: /usr/share/doc/gentoo/html/index.html
       Files: /usr/share/doc/gentoo/html/*.html

Per informazioni sul formato del file, vedi install-docs(8) e il manuale di doc-base, in /usr/share/doc/doc-base/doc-base.html/.


5.12 postinst.ex, preinst.ex, postrm.ex, prerm.ex

Questi file sono chiamati script del maintainer. Sono script posti nell'area di controllo del pacchetto e lanciati da dpkg quando il tuo pacchetto è installato, aggiornato o rimosso.

Per il momento, dovresti evitare qualsiasi modifica manuale degli script, se possibile, perché sono complicati. Per maggiori informazioni guarda il Policy Manual alla sezione 6, e dai una occhiata a questi file di esempio forniti da dh_make.


[ precedente ] [ Contenuti ] [ 1 ] [ 2 ] [ 3 ] [ 4 ] [ 5 ] [ 6 ] [ 7 ] [ 8 ] [ 9 ] [ A ] [ successivo ]


Guida per il nuovo Maintainer

versione 1.2.3, 18 January 2005.

Josip Rodin joy-mg@debian.org
Traduzione: Francesco P. Lovergine frankie@debian.org