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.