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.
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.
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/.
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.
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.
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.
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.
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.
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:
docbook-to-man
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. Per programmi per X puoi aggiungere una "x" alla sezione, cioè gentoo.1x. 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.
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.
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! :)
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/
.
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.
Guida per il nuovo Maintainer
versione 1.2, 6 Aprile 2002.joy-mg@debian.org
frankie@debian.org