Call for testing: ubuntu-lint

What is ubuntu-lint?

This is a new tool I have been working on recently in an effort to improve Ubuntu upload quality and developer experience, and help create consistency around existing conventions.

It is similar but supplemental to lintian. In particular, it is intended to focus on Ubuntu-specific packaging convention and processes. Since it is written in Python, it is intended to be more approachable for developers in the Ubuntu community to contribute to.

How do I use ubuntu-lint?

On Ubuntu 26.10:

apt install ubuntu-lint

On Ubuntu 24.04 LTS:

# We will eventually SRU to 24.04 LTS
apt-add-repository ppa:enr0n/ubuntu-lint
apt install ubuntu-lint

There are a few ways to use ubuntu-lint.

First, there is the CLI tool ubuntu-lint which can be used interactively. This is useful for reviewing your work, or someone else’s. For example, the SRU team can use this to run some quick checks on uploads from the unapproved queue. See man ubuntu-lint(1) for usage.

Second, there is integration with dput-ng through dput-ng hooks. This is heavily inspired by @paelzer’s great set of hooks, and is an easy way to run additional checks at upload time. If you already have dput-ng installed, then installing ubuntu-lint will give you new hooks right away (note: if you have your own ~/.dput.d configuration, this might override ubuntu-lint’s configuration).

Finally, the ubuntu_lint Python module can be used to integrate directly into new or existing tools, and is provided by the python3-ubuntu-lint package.

Call for testing

Please consider installing and using ubuntu-lint in your workflow! Feedback, bug reports, feature requests, and pull requests are all welcome on GitHub. Thanks in advance!

14 Likes

Could you please post a “screenshot” in this thread or at https://github.com/ubuntu/ubuntu-lint/tree/main? It would be nice to see some example usage/output of the tool. Testing it is a bit of a hassle as one needs to both install it and find a package with shortcomings that the tool will nag about. To an initial opinion of the tool it would be nice to see some examples of in in use and what & how it shows output.

Thanks for the suggestion. I have just pushed some demo GIFs to the README now.

1 Like