This article will explain how to fix the messages generated by lintian. These messages appear because the packaged program or metapackage does not comply with the Debian policy, and in order to upload the program it must be free of errors and warnings.

The file to be checked is the .dsc of the metapackage created when packaging canaima-caribay-radio (broken link).

When lintian is run on the dsc file it returns the following message:

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: 

The first warning says that ${misc:Depends] needs to be added to the dependencies. Additionally, the Standards-Version parameter has to be changed to version 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.

The second warning says that the debian/compat file contains the number 4 and it needs to be updated to the version of debhelper being used for packaging, which in this case should be 8. This has to be changed in the equivs template.

vim /usr/share/equivs/template/debian/compat

Change 4 to 8.

The next warning points out a problem in the architecture definition: binary-arch has to be removed, since our package is platform independent. This is solved by modifying canaima-caribay-radio, changing the Architecture: all parameter to any.

After making those changes, the metapackage is created again and lintian is run again:

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: 

After changing the compat file and the standards-version, a warning appears about the dh_clean -k command, which has to be replaced by dh_prep in the template's debian/rules file:

vim /usr/share/equivs/template/debian/rules
install: build
dh_testdir
dh_testroot
dh_prep

The other warning says that debhelper has an old version number. To change it, find the control.in file in the templates and modify the dep

vim /usr/share/equivs/template/debian/control.in

The following line is modified:

Build-Depends: debhelper (>= 8)

Package it again and run lintian again:

lintian -i canaima-caribay-radio_1.0.dsc

Done, no more error messages or warnings.

Make a donation! If you liked the article you can make a donation with Bitcoin (BTC) using the digital wallet of your choice to the following address: 17MtNybhdkA9GV3UNS6BTwPcuhjXoPrSzV

Or by scanning the QR code from your wallet:

17MtNybhdkA9GV3UNS6BTwPcuhjXoPrSzV