[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Checking vs. building packages; Lintian's relationship with Dpkg and Debhelper



Hi,

Lintian's task of checking packages is often affected by the tools
building them. There is an interaction between Dpkg, Debhelper, and
Lintian that can at times be complex. I would like to initiate a
discussion among the Lintian maintainers about the proper boundaries
for each tool.

The best outcome would be a simple and logical rule to divide tasks
between our tools. For example, it could be helpful if Dpkg and
Debhelper prevent only the creation of packages that cannot be built
or unpackaged safely.

This message was prompted by recent changes in Dpkg which, if you
haven't noticed, encroach a little bit on Lintian's traditional area
of expertise. Because Dpkg now fails to build some of Lintian's test
packages, the tags can no longer be tested and will be removed from
Lintian.

As an example, I will pick the way Dpkg started to examine autopkgtest
files. On the surface, it seems like I may be responsible for it. The
Dpkg changelog states:

  * dpkg-source: Check that debian/tests/control has the required fields.
    Prompted by Felix Lechner <felix.lechner@lease-up.com>.

Like so many things Guillem writes, that is a mischaracterization. I
asked him on IRC whether Dpkg examines those files, and he promptly
implemented the check in Dpkg even though, after some consideration, I
asked him not to. That conversation is also why I have not yet filed a
wishlist bug to revert the change in Dpkg.

To the extent they relate to autopktest, our current Gitlab CI
failures in unstable are emblematic of the efforts to duplicate
Lintian tasks in Dpkg. The issue for us is testability, as I will
remove those tags from Lintian. I think everyone would be much better
served if Dpkg simply limited itself to building packages.

Some checking is certainly appropriate for Dpkg, to facilitate safe
handling, but I do not presently understand why faulty definitions in
an autopkgtest suite should make a package unbuildable. Here are the
relevant log messages from Salsa CI:

Cannot parse line Non-zero status 25 from dpkg-source:
 at /builds/lintian/lintian/lib/Test/Lintian/Run.pm line 398.
[The output from dpkg-source is stored in a log file.]

Please let me know your thoughts.

Kind regards
Felix Lechner


Reply to: