Guida per il nuovo Maintainer
Nota a pié di pagina

1

Nel documento si suppone l'utilizzo di un sistema squeeze. Se si intende seguire questo documento per un sistema lenny, bisognerebbe almeno installare delle versioni backport (n.d.t. versioni dei programmi presenti nei pacchetti di testing e unstable, compilate per poter funzionare in un sistema stable) di dpkg e debhelper.

2

There are few similar but specialized packages such as dh-make-perl, dh-make-php, etc.

3

si può utilizzare il comando file per scoprire il formato di archiviazione

4

Osserva che il programma in questione è già stato pacchettizzato, e la versione corrente 0.15.3 ha subito sostanziali modifiche dalla versione 0.9.12 menzionata nei seguenti esempi.

5

See Autotools Tutorial and /usr/share/doc/autotools-dev/README.Debian.gz.

6

La stringa della versione può essere confrontata con "dpkg --compare-versions ver1 op ver2". Vedere dpkg(1) manpage.

7

Se i sorgenti originali forniscono la directory debian e il suo contenuto, si deve eseguire il comando dh_make con l'opzione --addmissing. Il nuovo formato dei sorgenti 3.0 (quilt) è abbastanza maturo da non danneggiare questi pacchetti. Potrebbe essere necessario aggiornare i contenuti forniti nei sorgenti originali per il pacchetto debian.

8

Ecco le varie opzioni: "s" che sta per "Binario singolo" (Single binary), "i" per "Indipendente dall'architettura" (Arch-Independent), "m" per "Binario multiplo" (Multiple binary), "l" per "Libreria" (Library), "k" per "Modulo del kernel" (Kernel module), "b" per "cdbs", "--kpatch" per "Patch del kernel". Questo documento si concentra sull'uso del pacchetto debhelper con il comando dh. Verrà trattato l'utilizzo del nuovo programma dh per i "Binari singoli" e tratta brevemente gli "Indipendenti dall'architettura" e i "Binari multipli". Il pacchetto cdbs offre un'infrastruttura di script alternativa al comando dh e non rientra nell'ambito di questo documento.

9

Si può disabilitare tale configurazione lanciando il comando quilt come "quilt --quiltrc /dev/null ...".

10

La directory debian/patches dovrebbe essere creata se si esegue dh_make, come descritto prima. Questo esempio crea la directory nel caso in cui si stia aggiornando un pacchetto esistente.

11

Per i pacchetti binari multipli, il comando dh_auto_install utilizza la directory temporanea debian/tmp, mentre il comando dh_install, con l'aiuto dei file debian/pacchetto-1.install e debian/pacchetto-2.install suddivide il contenuto di debian/tmp nelle directory temporanee debian/pacchetto-1 e debian/pacchetto-2 per creare pacchetti binari multipli *.deb.

12

Questo è solo un esempio che mostra come un Makefile dovrebbe apparire. Se il Makefile è creato dal comando ./configure, il modo giusto per correggere il Makefile è eseguire il comando ./configure dal comando dh_auto_configure includendo come opzione predefinita --prefix=/usr.

13

L'autore si rende conto che questo non è il miglior esempio, considerando che con il pacchetto libncurses viene fornito il link simbolico libcurses.so, ma non è riuscito a trovare di meglio. Sono molto graditi dei suggerimenti :-)

14

This somewhat strange situation is a feature well documented in the Debian Policy Manual, Footnotes 43. This is not due to the use of the dh command in the debian/rules file but due to how the dpkg-buildpackage works. The same situation applies to the auto build system for Ubuntu.

15

Alcune persone utilizzano dei valori di distribuzione non validi come UNRELEASED per evitare che un pacchetto venga accidentalmente caricato in una VCS condivisa.

16

Questo obiettivo è utilizzato da "dpkg-buildpackage" come in (ri)Creazione completa, Sezione 6.1.

17

Questo obiettivo è utilizzato da "dpkg-buildpackage -B" come in "ref id="porterbuild"".

18

Questo obiettivo è utilizzato da "dpkg-buildpackage -A".

19

This uses the new debhelper V7 features. Its design concepts are explained in Not Your Grandpa's Debhelper presented at Debconf9 by the debhelper upstream. Under lenny, dh_make created a much more complicated rules file with many dh_* scripts listed for each required explicit targets and frozen them to the state when it was initially packaged. This new dh command is simpler and frees us from this constrain. You still have full power to customize this with override_dh_* targets. See Personalizzazione del file rules, Sezione 4.4.3. It is based only on the debhelper package and does not obfuscate the package building process like the cdbs package.

20

You can verify actual sequences of dh_* programs invoked for a given target as "dh --no-act target" or "debian/rules -- '--no-act target'" without really running them.

21

This assumes that the python-support package is installed on the system.

22

For complete information on what do all these dh_* scripts exactly do, and what their other options are, please read their respective manual pages and the debhelper documentation.

23

These commands support other build environments such as setup.py which can be listed by executiong "dh_auto_build --list" in a package source directory.

24

It actually looks for the first available target of distclean, realclean or clean in Makefile and execute it.

25

It actually looks for the first available target of test or check in Makefile and execute it.

26

If a package installs the /usr/share/perl5/Debian/Debhelper/Sequence/custom_name.pm file, you should activate its customization function by "dh --with custom-name $@".

27

Use of the dh_pysupport command is preferred over use of the dh_pycentral command. Do not use the dh_python command.

28

Sotto lenny, se si vuole cambiare il comportamento di uno script dh_* basta cercare la riga relativa nel file rules e modificarla.

29

Il pacchetto gentoo utilizza il sistema di costruzione GNU, conosciuto anche come Autotools. Si veda http://en.wikipedia.org/wiki/GNU_build_system.

30

dh_auto_build senza alcun argomento eseguirà il primo obiettivo del file Makefile.

31

The debian/changelog and debian/NEWS files are always automatically installed. The upstream chengelog is searched by converting filenames to the lower case and matching them with the changelog, changes, changelog.txt, and changes.txt.

32

Questo comando rimpiazza il comando dh_movefiles(1), ormai deprecato, che veniva configurato dal file files.

33

If the command is missing info page but have documentation files in the /usr/share/package directory, you should manually edit generated the man page created by the help2man command.

34

Si noti che è avvenuta una grossa riorganizzazione della struttura dei menu.

35

Anche se è stata utilizzata una corta espressione Bash per indicare questi file come "{post|pre}{inst|rm}" , si raccomanda di utilizzare una shell POSIX (non Bash) per questi script del manutentore il più possibile per massimizzare la compatibilità.

36

Si veda DebSrc3.0 per una serie di informazioni generali riguardanti il passaggio al nuovo formato 3.0 (quilt) ed ai formati sorgente 3.0 (native).

37

Al momento questo nuovo formato supporta anche molteplici archivi e più metodi di compressione. Questi però esulano dall'obiettivo di questo documento.

38

Several methods for the patch set maintenance have been proposed and are in use with Debian packages. The quilt system is the preferred maintenance system in use. Other ones are dpatch, dbs, cdbs, etc. Many of these keep such patches as debian/patches/* files.

39

If you are asking a sponsor to upload your package, this kind of clear separation and documentation of your changes are very important to expedite the package review by your sponsor.

40

È possibile evitare di applicare la patch con quilt, nel formato sorgente 3.0 (quilt), aggiungendo il parametro --skip-patches al comando di estrazione. In alternativa, è possibile eseguire "quilt pop -a" dopo le normali operazioni.

41

L'attuale sistema di auto-costruzione è molto più complicato di come è qui documentato. Tali dettagli esulano dallo scopo del documento.

42

Diversamente dal pacchetto pbuilder, l'ambiente chroot sotto il pacchetto sbuild, usato dal sistema di auto-costruzione, non forza la creazione di un sistema minimale, e potrebbe lasciare installati molti pacchetti.

43

pbuilder è ancora in evoluzione, si dovrebbe controllare l'attuale configurazione consultando la documentazione ufficiale più recente.

44

This assumes HOOKDIR="/var/cache/pbuilder/hooks". You can find many examples of the hook script in the /usr/share/doc/pbuilder/examples directory.

45

There are some restrictions for such updates of your stable package.

46

Here are few web resources available for advanced audiences.

47

Le variabili d'ambiente, che sono normalmente impostate con dei valori corretti, non sono utilizzati in questa modalità. Mai creare dei pacchetti, che poi andranno caricati, utilizzando il metodo veloce.

48

Non c'è bisogno di fornire l'opzione lintian "-i -I --show-overrides" se si è personalizzato il file /etc/devscripts.conf o il file ~/.devscripts come descritto in Il comando debuild, Sezione 6.4.

49

Il pacchetto dput sembra avere più funzionalità e sta divenendo più famoso del pacchetto dupload. Questo utilizza il file /etc/dput per la configurazione globale ed il file ~/.dput.cf per quella dei singoli utenti. Inoltre supporta nativamente anche i servizi relativi ad Ubuntu.

50

Si veda ftp://ftp.upload.debian.org/pub/UploadQueue/README. Alternativamente, si può utilizzare il comando dcut del pacchetto dput.

51

Per impostare la data nel formato corretto, si usi "LANG=C date -R".

52

Se un pacchetto foo è stato pacchettizzato nel vecchio formato 1.0, si deve invece eseguire "zcat /path/to/foo_oldversion.diff.gz|patch -p1" nella nuova directory sorgente scompattata.

53

If the uscan command downloads the updated source but it does not run the uupdate command, you should correct the debian/watch file to have "debian uupdate" at the end of the URL.

54

Se il proprio sponsor o altri manutentori non ritengono sia necessario aggiornare lo stile del pacchetto, allora non vale la pena impegnarcisi. Ci sono cose più importanti da fare.

55

Nel pacchetto cdbs (0.4.74), ci sono alcune note errate riguardo al file rules creato dal comando dh_make per le scelte che non utilizzano cdbs. Non ce se ne deve preoccupare. Queste ultime si riferivano solo alla distribuzione lenny che creava esplicitamente delle regole come una lunga lista di comandi dh_*.

56

You may split big.diff into many small incremental patches using the splitdiff command.


Guida per il nuovo Maintainer

version 1.2.19, 2010-05-31 13:48:35 UTC

Josip Rodin joy-mg@debian.org
Traduzione: Calogero Lo Leggio kalos@nerdrug.org
Traduzione: Jacopo Reggiani jacopo.reggiani@gmail.com
Traduzione: Francesco P. Lovergine