Corrigiendo los reportes generados por lintian de un metapaquete
Posted on jue 22 septiembre 2011 in Linux,Empaquetado • 4 min read
Este artículo explicará como corregir los mensajes generados por lintian
, estos mensajes son debido a que el programa empaquetado o metapaquete no cumple con el policy de Debian y para subir dicho programa es necesario que esté sin errores ni warning.
El archivo que se va a verificar es el .dsc del metapaquete creado al empaquetar canaima-caribay-radio.
Al ejecutar lintian
con el archivo dsc
devuelve el siguiente mensaje:
lintian -i canaima-caribay-radio_1.0.dsc
W: canaima-caribay-radio source: debhelper-but-no-misc-depends canaima-caribay-radio
N:
N:The source package uses debhelper, but it does not include
N:${misc:Depends} in the given binary package's debian/control entry. Any
N:debhelper command may add dependencies to ${misc:Depends} that are
N:required for the work that it does, so recommended best practice is to
N:always add ${misc:Depends} to the dependencies of each binary package if
N:debhelper is in use.
N:
N:Refer to the debhelper(7) manual page for details.
N:
N:Severity: normal, Certainty: possible
N:
W: canaima-caribay-radio source: package-uses-deprecated-debhelper-compat-version 4
N:
N:The debhelper compatibility version used by this package is marked as
N:deprecated by the debhelper developer. You should really consider using
N:a newer compatibility version.
N:
N:The compatibility version can be set in (preferred) debian/compat or by
N:setting and exporting DH_COMPAT in debian/rules. If it is not set in
N:either place, debhelper defaults to the deprecated compatibility version
N:1.
N:
N:Refer to the debhelper(7) manual page for details.
N:
N:Severity: normal, Certainty: certain
N:
W: canaima-caribay-radio source: binary-arch-rules-but-pkg-is-arch-indep
N:
N:It looks like you try to run code in the binary-arch target of
N:debian/rules, even though your package is architecture- independent.
N:
N:Severity: normal, Certainty: certain
N:
El primer warning es que hace falta agregar ${misc:Depends]
en las dependencias. Adicionalmente se tiene que cambiar el parámetro Standards-Version
a la versión 3.9.1
.
Section: misc
Priority: optional
Homepage: http://canaima.softwarelibre.gob.ve
Standards-Version: 3.9.1
Package: canaima-caribay-radio
Version: 1.0
Maintainer: Ernesto Nadir Crespo Avila <ecrespo@cenditel.gob.ve>
Depends: ${misc:Depends},jackd2, libjack-jackd2-0, libjack-jackd2-dev, pulseaudio-module-jack, qjackctl,
libjack-jackd2-0, libjack-jackd2-dev, vorbis-tools, libvorbis-dev, libogg-dev, libmad0-dev, libsamplerate0-dev,
libflac-dev, libsndfile1-dev, libavcodec-dev, libavformat-dev, libspeex-dev, python-gtk2-dev,
python-mutagen, libdbus-1-dev, ffmpeg, libshout3-dev, libtwolame-dev, twolame,
idjc, audacity, audacity-data, audacity-dbg, icecast2, easytag
Architecture: all
Copyright: copyright
Changelog: changelog
Description: Metapaquete para la instalacion de radio streaming
Metapaquete para la instalacion de radio streaming con icecast2 e idjc.
El segundo warning menciona que el archivo debian/compat
tiene dentro el número 4 y es necesario que se actualice a la versión de debhelper
que se está usando para empaquetar, en este caso debe cambiar a 8. Esto se tiene que cambiar en la plantilla de equivs
.
vim /usr/share/equivs/template/debian/compat
Cambiar 4 por 8.
El siguiente warning menciona un problema en la definición de la arquitectura, que es necesario quitar binary-arch
y nuestro paquete es independiente de la plataforma. Esto se resuelve modificando canaima-caribay-radio
cambian el parámetro Architecture: all
por any
.
Luego de realizar esos cambios se vuelve a crear el metapaquete y a ejecutar lintian
:
lintian -i canaima-caribay-radio_1.0.dsc
W: canaima-caribay-radio source: dh-clean-k-is-deprecated
N:
N:This package calls dh_clean -k in its debian/rules file and declares a
N:debhelper compatibility version of at least 7.
N:
N:debhelper 7 deprecated dh_clean -k in favour of dh_prep.
N:
N:Refer to the dh_clean(1) manual page for details.
N:
N:Severity: normal, Certainty: certain
N:
W: canaima-caribay-radio source: package-lacks-versioned-build-depends-on-debhelper 8
N:
N:The package either doesn't declare a versioned build dependency on
N:debhelper or does not declare a versioned build dependency on a new
N:enough version of debhelper to satisfy the declared compatibility level.
N:
N:Recommended practice is to always declare an explicit versioned
N:dependency on debhelper equal to or greater than the compatibility level
N:used by the package, even if the versioned dependency isn't strictly
N:necessary. Having a versioned dependency also helps with backports to
N:older releases and correct builds on partially updated systems.
N:
N:Refer to the debhelper(7) manual page for details.
N:
N:Severity: minor, Certainty: certain
N:
Luego de cambiar el archivo compat
y la versión del standards-version
aparece un warning sobre el comando dh_clean -k
que se tiene que sustituir por dh_prep
en el archivo debian/rules
de la plantilla:
vim /usr/share/equivs/template/debian/rules
install: build
dh_testdir
dh_testroot
dh_prep
El otro warning menciona que debhelper
tiene un número de versión viejo. Para cambiarlo se busca el archivo control.in
en las plantillas y se modifica la dep
vim /usr/share/equivs/template/debian/control.in
Se modifica la siguiente línea:
Build-Depends: debhelper (>= 8)
Se vuelve a empaquetar y a ejecutar lintian
:
lintian -i canaima-caribay-radio_1.0.dsc
Listo, no más mensajes de error o warnings.
¡Haz tu donativo! Si te gustó el artículo puedes realizar un donativo con Bitcoin (BTC) usando la billetera digital de tu preferencia a la siguiente dirección: 17MtNybhdkA9GV3UNS6BTwPcuhjXoPrSzV
O Escaneando el código QR desde la billetera: