Sumari
Cal que coneguis els procediments per comprovar el paquet i localitzar les errades abans d'enviar-lo als repositoris públics.
Provar el paquet en una màquina distinta de la que has fet servir en la construcció és una magnífica idea. Cal que posis atenció en tots els errors detectats en les proves que s'expliquen a continuació.
Si trobes un nou arxiu de pegat auto-generat com
debian-changes-*
en el directori
debian/patches
desprès de compilar el teu paquet no
nadiu Debian en el format 3.0 (quilt)
, el més probable és
que has canviat algun arxiu per accident o el guió de compilació ha
modificat les fonts originals. Si és un error teu, ho corregeixes. Si
l'error l'ha causat el guió, corregeix la causa de l'error amb
dh-autoreconf com a Secció 4.4.3, “Personalització del fitxer rules
.” o bé
fes proves amb els arxius source/options
com s'ha
explicat a Secció 5.23, “Fitxer source/options
”.
Prova d'instal·lar el paquet, per exemple, fent servir l'ordre debi(1) com a usuari «root». Intenta instal·lar-lo i executar-lo en altres màquines (diferents a la que has fet servir per a la construcció del paquet) i posa atenció per detectar errors o avisos en la instal·lació i en l'execució del programa.
$ sudo debi gentoo_0.9.12-1_i386.changes
Has d'assegurar-te que no hi hagi fitxers en conflicte amb altres paquets
fent servir el fitxer
Contents-
, (disponible
al repositori Debian) per prevenir problemes d'instal·lació en distints
sistemes. L'ordre apt-file serà útil per fer aquesta
comprovació. Si hi ha fitxers en conflicte, hauràs de fer el que sigui
necessari per evitar-los, ja sigui canviant el nom de l'arxiu, moure un
arxiu d'ús comú (del qual depenen diversos paquets) a un paquet separat,
fent servir el mecanisme d'alternatives (consulta update-alternatives(1)) en coordinació amb els responsables dels altres paquets o
bé establint correctament el camp i386
Conflicts
del fitxer
debian/control
.
Ja s'ha comentat que els guions del desenvolupador (els
fitxers preinst
, prerm
,
postinst
i postrm
) són complicats,
excepte si s'utilitzen els generats pel paquet debhelper
. No es recomana la seva utilització
als desenvolupadors principiants (consulta Secció 5.18, “Fitxers {pre,post}{inst,rm}
”).
Si el paquet utilitza guions del desenvolupador modificats, has de comprovar el seu funcionament en la instal·lació, desinstal·lació, eliminació i actualització. Alguns dels problemes en aquests guions del desenvolupador només es detecten en l'eliminació o desinstal·lació. Fes servir l'ordre dpkg per fer la comprovació:
$ sudo dpkg -r gentoo $ sudo dpkg -P gentoo $ sudo dpkg -i gentoo_versió
-revisió
_i386
.deb
Segueix aquesta seqüència per a la comprovació:
Instal·la la versió anterior del paquet (obligatori).
Actualitza ara a la versió actual.
Torna a la versió anterior (opcional).
Desinstal·la el paquet.
Instal·la la nova versió del paquet.
Elimina'l.
Instal·la'l de nou.
Desinstal·la el paquet.
Si treballes en la construcció de la primera versió del paquet, construeix versions «fantasma» anteriors (és suficient canviar el número de versió) per realitzar les proves i prevenir problemes.
Recorda que si hi ha versions anteriors del paquet en el repositori Debian, els usuaris actualitzaran el paquet des de la versió anterior disponible (i aquesta versió pot ésser distinta en la versió estable i de proves). Realitza les comprovacions també amb aquestes versions.
Encara que no es garanteix la reinstal·lació d'una versió anterior, és preferible assegurar-se que és possible fer-ho sense generar problemes.
Executa lintian(1) amb el teu arxiu de canvis
.changes
. L'ordre lintian executa
diversos guions de comprovació del paquet per localitzar els errors més
freqüents [75].
$ lintian -i -I --show-overrides gentoo_0.9.12-1_i386.changes
Per suposat, canvia el nom de l'arxiu pel nom de l'arxiu
.changes
del teu paquet. Els missatges d'error de
lintian es codifiquen amb una lletra inicial en la línia
del missatge:
E:
error; per indicar violacions de les normes o un error
en el paquet.
W:
advertència; per advertir d'una possible violació de
les normes o error en el paquet (però pot ésser una falsa alarma).
I:
informació; informació sobre algun aspecte del paquet
(que tal vegada és millorable).
N:
nota o anotació; per a missatges detallats que poden
ajudar-te en la depuració del paquet.
O:
ignorat; per a missatges ignorats (segons la
configuració dels fitxers lintian-overrides
) però que
s'emet degut a l'opció --show-overrides
.
En el cas dels errors (línies amb «E:» inicial), llegeix l'explicació
(línies «N:»), fes els canvis necessaris en el paquet o comprova que són
avisos falsos. En aquest cas, fes que lintian
els
accepti com s'ha explicat a Secció 5.13, “Fitxers
{
”.
nom_arxiu
.source/}lintian-overrides
Observa que pots construir el paquet amb dpkg-buildpackage i executar lintian només amb una ordre si fas servir debuild(1) o pdebuild(1).
Pots veure una llista dels fitxers del paquet binari Debian executant l'ordre debc(1) així:
$ debc nom_del_paquet
.changes
Pots comparar el contingut de dos paquets de fonts Debian executant l'ordre debdiff(1) així:
$ debdiffversió_anterior
.dscnova_versió
.dsc
Pots comparar la llista de fitxers de dos paquets binaris de Debian amb l'ordre debdiff(1) executant l'ordre següent:
$ debdiffversió_anterior
.changesnova_versió
.changes
Aquest programa és útil per comprovar que no hi ha fitxers canviats d'ubicació o eliminats per error, i que no s'ha realitzat cap altre canvi no desitjat en l'actualització del paquet.
Pots comparar dos fitxers diff.gz
amb l'ordre
interdiff(1). Això és útil per comprovar que el
responsable del paquet no ha fet canvis inadvertits en l'actualització de
paquets construïts amb el format 1.0
. Executa:
$ interdiff -zversió_anterior
.diff.gznova_versió
.diff.gz
El nou format 3.0
de les fonts conserva els canvis en
arxius de pegats com es descriu a Secció 5.24, “Fitxers patches/*
.”. Pots veure els
canvis de cada arxiu debian/patches/*
fent servir
l'ordre interdiff.
Algunes de les operacions de comprovació del paquet explicades poden
realitzar-se de manera molt intuïtiva si es fa servir un gestor de fitxers
com mc(1), que permet visualitzar el
contingut del paquet *.deb
, i dels fitxers
*.udeb
, *.debian.tar.gz
,
*.diff.gz
i *.orig.tar.gz
Comprova que no hi hagi fitxers innecessaris o de tamany zero, tant en el
binari com en el paquet font. De vegades, hi ha coses que no es varen
netejar adequadament: caldrà ajustar el fitxer rules
per arreglar això.
[75] No és necessari afegir a lintian l'opció -i -I
--show-overrides
si l'has inclòs en la configuració a
/etc/devscripts.conf
o
~/.devscripts
com s'ha explicat a Secció 6.3, “L'ordre debuild.”.