Re: Port tree linter

From: Hubert Tournier <hubert.tournier_at_gmail.com>
Date: Wed, 20 Mar 2024 09:48:01 UTC
Hello there!

I would like to announce the availability of PortsTreeLint 
(portstreelint or ptlint or ptl for short) in the ports tree under 
ports-mgmt/py-pnu-portstreelint

This tool checks the FreeBSD ports tree Index and some parts of the 
ports' Makefiles for errors and warnings.

By default it will scan the whole port tree, but you can select a subset 
of the ports by specifying lists of categories, maintainers and ports names.

It is possible to generate a CSV delimited file with the per-maintainer 
findings. This would allow automated processing of the results, such as 
sending warning emails, storing results and displaying only diffs since 
previous run...

You can install it with: "cd /usr/ports/ports-mgmt/py-pnu-portstreelint 
; make install clean".

The project's documentation is available on 
https://github.com/HubTou/portstreelint (or through "man portstreelint").

You can report issues at: https://github.com/HubTou/portstreelint/issues

You can view the possible roadmap for evolutions at: 
https://github.com/HubTou/portstreelint/blob/main/TODO.md

And you can propose your own ideas at: 
https://github.com/HubTou/portstreelint/discussions

Even better, you can propose your own code extensions in Python. The 
source code is quite modular and I believe that it would be easy to add 
new checks just by looking at the existing ones.

Last but by no means least, I would like to thank Emanuel Haupt for 
contributing to the code and Nuno Teixeira for his gentle mentoring and 
reactivity in helping port this tool to FreeBSD. Thank you guys, you rock!

Best regards,

Hubert

PS: as a dependency bonus, you also get the security/py-pnu-vuxml tool 
to query the VuXML "database" of vulnerable FreeBSD ports in a 
user-friendly way.