[ precedente ] [ Contenuti ] [ 1 ] [ 2 ] [ 3 ] [ 4 ] [ 5 ] [ 6 ] [ 7 ] [ 8 ] [ 9 ] [ successivo ]
Ci sono un paio di questioni da tenere in conto per controllare autonomamente che il pacchetto creato sia privo di errori prima di procedere a caricarlo negli archivi pubblici.
Effettuare dei test su altre macchine oltre a quella con cui si è sviluppato è una buona idea. Si deve inoltre fare attenzione a tutti gli avvisi ed agli errori per tutti i test che verranno qui descritti.
Bisogna verificare che il pacchetto si installi senza problemi. Il comando
debi(1)
aiuta a testare l'installazione di tutti i pacchetti
binari generati.
$ sudo debi gentoo_0.9.12-1_i386.changes
Bisogna assicurarsi che non ci siano file che si sovrappongono ad altri
pacchetti esistenti utilizzando il file Contents-i386
scaricato dall'archivio Debian per prevenire problemi di installazione su
sistemi differenti. Il comando apt-file
può tornare utile a
questo scopo. Se ci sono file che si sovrappongono, si prega di prendere delle
misure per evitare l'insorgere del problema utilizzando meccanismi alternativi
(si veda update-alternatives(1)
) che permettendo di coordinarsi
con gli altri pacchetti interessati o settano la voce
"Conflicts:" nel file debian/control
.
Tutti gli script del manutentore, ad esempio, preinst
,
prerm
, postinst
, e postrm
, non sono di
poco conto a meno che non siano stati generati automaticamente dai programmi di
debhelper
. Si consiglia pertanto di non utilizzarli se non si ha
sufficiente esperienza come manutentore (si veda I file
{post|pre}{inst|rm}
, Sezione 5.18).
Se il pacchetto utilizza questi particolari script del manutentore, ci
si assicuri di effettuare delle prove non solo per l'operazione di install, ma
anche per il remove, purge, e l'upgrade. Molti bu degli script del
manutentore vengono fuori quando i pacchetti sono rimossi o viene
applicato il purge. Si utilizzi il comando dpkg
nel seguente modo
per testarli.
$ sudo dpkg -r gentoo $ sudo dpkg -P gentoo $ sudo dpkg -i gentoo_version-revision_i386.deb
Questa operazione si dovrebbe effettuare con delle sequenze di questo tipo.
installazione della versione precedente (se necessaria).
aggiornamento dalla versione precedente.
ritorno alla versione precedente (opzionale).
applicazione del purge.
installazione del nuovo pacchetto.
rimozione del pacchetto.
reinstallazione del pacchetto.
applicazione del purge.
Se si sta creando il primo pacchetto, andrebbero creati dei pacchetti fittizi con diversi numeri di versione per testare il pacchetto originale in anticipo e prevenire problemi futuri.
Si tenga in mente che se il pacchetto è stato già rilasciato in Debian, le persone spesso effettueranno un aggiorneranno a quest'ultimo a partire dall'ultima versione disponibile su Debian. Si ricordi di testare gli aggiornamenti anche a partire da questa versione.
Anche se il ritorno ad una versione precedente non è supportato ufficialmente, sarebbe buona abitudine che lo fosse.
lintian
Si esegua lintian(1)
sul file .changes
. Il comando
lintian
esegue molti script di test alla ricerca dei più comuni
errori di pacchettizzazione. [48]
$ lintian -i -I --show-overrides gentoo_0.9.12-1_i386.changes
Ovviamente va rimpiazzato il nome con quello del file .changes
generato per il pacchetto. I risultati del comando lintian
vengono qui elencati di seguito.
E: errore; una violazione certa di una policy o un errore di pacchettizzazione.
W: attenzione; una possibile violazione di policy o un errore della pacchettizzazione.
I: informazione; una informazione su alcuni aspetti della pacchettizzazione.
N: nota; un messaggio dettagliato per aiutare nell'analisi degli errori.
O: for overridden; a message overridden by the
lintian-overrides
files but displayed by the
--show-overrides option.
Per gli avvertimenti, si imposti il pacchetto in modo tale da evitarli o si
verifichi che tali avvertimenti non siano indicativi di un errore. In
quest'ultimo caso, si impostino i file lintian-overrides
come
descritto in I file
{pacchetto.|source/}lintian-overrides
, Sezione
5.13.
Si noti che si può costruire il pacchetto con dpkg-buildpackage
ed
eseguire lintian
su di esso in una sola volta con
debuild(1)
o con pdebuild(1)
.
debc
Si possono elencare i file nel pacchetto binario Debian con il comando
debc(1)
.
$ debc package.changes
debdiff
Si può confrontare il contenuto dei file in due pacchetti sorgente Debian con
il comando debdiff(1)
.
$ debdiff old-package.dsc new-package.dsc
Si possono anche confrontare le liste di file in due set di pacchetti binari
Debian con il comando debdiff(1)
.
$ debdiff old-package.changes new-package.changes
Questi comandi sono utili per vedere cosa sia cambiato nei pacchetti sorgente, se alcun file sia stato spostato inavvertitamente o rimosso dai pacchetti, e se altri cambiamenti non intenzionali siano stati fatti durante l'aggiornamento dei pacchetti binari.
interdiff
Si possono confrontare due file diff.gz
con il comando
interdiff(1)
. Questo è utile per verificare che il manutentore
non abbia inavvertitamente fatto dei cambiamenti ai sorgenti durante il
processo di aggiornamento dei pacchetti nel vecchio formato sorgente
1.0.
$ interdiff -z old-package.diff.gz new-package.diff.gz
mc
Molte delle operazione di ispezione dei file possono essere rese più semplici
utilizzando un gestore dei file come mc(1)
, che permette di
navigare non solo il contenuto dei pacchetti in formato *.deb
ma
anche degli *.udeb
, *.debian.tar.gz
,
*.diff.gz
, e dei file *.orig.tar.gz
.
Si faccia attenzione ad ulteriori file non necessari o vuoti, sia nel pacchetto
binario che in quello sorgente. Spesso non vengono ripuliti correttamente; si
aggiusti il file rules
per riparare a questo problema.
[ precedente ] [ Contenuti ] [ 1 ] [ 2 ] [ 3 ] [ 4 ] [ 5 ] [ 6 ] [ 7 ] [ 8 ] [ 9 ] [ successivo ]
Guida per il nuovo Maintainer
version 1.2.19, 2010-05-31 13:48:35 UTCjoy-mg@debian.org
kalos@nerdrug.org
jacopo.reggiani@gmail.com