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


Guida per il nuovo Maintainer
Capitolo 7 - Controllare il pacchetto per errori



7.1 I pacchetti lintian e linda

Lancia lintian(1) e linda(1) sul tuo file .changes; questo programma fa una verifica in merito a molti comuni errori di pacchettizzazione. I comando sono:

       lintian -i gentoo_0.9.12-1_i386.changes
       linda -i gentoo_0.9.12-1_i386.changes

Ovviamente, sostituisci il nome del file con il nome del file changes generato per il tuo pacchetto. Se sembra che ci siano errori (le righe che iniziano con E:), leggi la spiegazione (le righe con N:), correggi e ricostruisci come descritto in Costruzione completa, Sezione 6.1. Se ci sono righe che iniziano con W:, si tratta di warning, per cui aggiusta il pacchetto o verifica che i warning siano spuri (e crea gli ovverrides per Lintian; vedi la documentazione per i dettagli)

Nota che puoi creare il pacchetto con dpkg-buildpackage , lanciare lintian , e linda con un solo comando con debuild(1).


7.2 Il comando mc

Puoi spacchettare il contenuto di un pacchetto *.deb con il comando dpkg-deb(1) command. Puoi vedere il contenuto di un pacchetto Debian con debc(1).

Tutto ciò può essere fatto in modo intuitivo usando un file manager come mc(1) che permette non solo l'esame di un pacchetto *.deb ma anche di file *.diff.gz e *.tar.gz

Fa attenzione a file non necessari extra o di dimensione nulla, sia nei pacchetti binari che sorgenti. Spesso le cose non vengono ripulite come dovrebbero: modifica il tuo file rules per farlo.

Suggerimento: `zgrep ^+++ ../gentoo_0.9.12-1.diff.gz' ti fornirà una lista delle modifiche/aggiunte ai file sorgenti, e `dpkg-deb -c gentoo_0.9.12-1_i386.deb' o `debc gentoo_0.9.12-1_i386.changes' ti fornirà l'elenco dei file nel pacchetto binario.


7.3 Il comando debdiff

Puoi confrontare le liste dei file in due pacchetti binari Debian con il comando debdiff(1). Questo è utile per verificare che nessun file sia stato non intenzionalmente spostato o rimosso, e non siano state fatte modifiche inavvertite nell'aggiornamento del pacchetto. Puoi verificare gruppi di file *.deb semplicemente con `debdiff old-package.change new-package.change'.


7.4 Il comando interdiff

Puoi confrontare due file diff.gz con il comando interdiff(1). Questo è utile per verificare che non ci siano modifiche inavvertite fatte sui sorgenti dal maintainer aggiornando i pacchetti. Esegui `interdiff -z old-package.diff.gz new-package.diff.gz'.


7.5 Il comando debi

Installa il pacchetto per testarlo tu stesso, per esempio usando il comando debi(1) come root. Prova a installarlo e lanciarlo su una macchina che non sia la tua, e verifica qualsiasi errore o warning durante l'installazione o l'esecuzione.


7.6 Il pacchetto pbuilder

Il pacchetto pbuilder è molto utile per verificare le dipendenze di creazione del pacchetto da un ambiente di compilazione sano e minimale (chroot). Questo assicura compilazioni pulite dai sorgenti sotto un compilatore automatico (auto-builder) per differenti architetture ed evita i bug FTBS (Fails To Build from Source) di severità seria, che sono sempre di categoria RC (Critici per il Rilascio). Vedi http://buildd.debian.org/ per maggiori informazioni sul compilatore automatico di pacchetti Debian.

L'uso di base più importante del pacchetto pbuilder è la invocazione diretta del comando pbuilder come root. Per esempio, scrivi i comandi che seguono nella directory in cui si trovano i file .orig.tar.gz, .diff.gz, e .dsc per creare un pacchetto.

       root # pbuilder create # if second time, pbuilder update
       root # pbuilder build foo.dsc

Il nuovo pacchetto così creato sarà localizzato in /var/cache/pbuilder/result/ con proprietà assegnata a root.

Il comando pdebuild aiuta ad usare le funzioni del pacchetto pbuilder come utente ordinario. In questo modo, dalla radice dell'albero dei sorgenti, avendo il file orig.tar.gz nella directory superiore, puoi eseguire i comandi seguenti:

       $ sudo pbuilder create # if second time, sudo pbuilder update
       $ pdebuild

I pacchetti creati saranno collocati in /var/cache/pbuilder/result/ con proprietario non-root. [2]

Se vuoi aggiungere una sorgente apt addizionale da usare con il pacchetto pbuilder, configura OTHERMIRROR in ~/.pbuilderrc o /etc/pbuilderrc ed esegui (per sarge)

     $ sudo pbuilder update --distribution sarge --override-config

L'impiego di --override-config è necessario per aggiornare la sorgente apt all'interno dell'ambiente chroot.

Vedi http://www.netfort.gr.jp/~dancer/software/pbuilder.html, pdebuild(1), pbuilderrc(5), e pbuilder(8) .


[ 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