overlint: Static analysis for your Gentoo overlay 2012-04-06
While repoman does a good job of finding smells in ebuilds, a tool to evaluate an overlay with respect to the state of the Gentoo main tree has to my knowledge been missing so far.
overlint is a simple command line tool. From a technical view point it reports
- which version bumps from the overlay are missing from the main tree (e.g. the overlay has 7.1 but the main tree has 7.0, only),
- which revision bumps are missing from the main tree (e.g. the overlay has 3.0-r1 but the main tree has 3.0, only), and
- which exact same revisions exist in both trees with differing ebuilds.
On a higher level these findings often indicate that
- certain changes are still to be integrated with the Gentoo main tree to benefit a wider audience and/or that
- an ebuild appeared in an overlay first but can be removed now as the Gentoo main tree has grown an equivalent (or identical) copy.
As a consequence overlint has two main use cases, each with a different user audience:
- Overlay maintainers can use overlint to better keep their overlay in shape.
- Gentoo developers and proxy maintainers can use overlint to detect valuable patches missing from the main tree.
Here is example output of overlint 0.4.1 for the calculate overlay:
# overlint-cli /var/lib/layman/calculate/ =============================================================== Version bumps missing from Gentoo main tree =============================================================== net-misc/ italc :: 1.0.13, 2.0.0 net-print/ foo2zjs :: 20081129, 20110512 net-wireless/ madwifi-ng :: 0.9.4.4178.20120131 madwifi-ng-tools :: 0.9.4.4178.20120131 =============================================================== Revision bumps missing from Gentoo main tree =============================================================== app-arch/ unzip :: 6.0-r9 app-text/ wgetpaste :: 2.18-r1 =============================================================== Ebuils that differ at same revision =============================================================== app-forensics/ unhide :: 20110113 dev-util/ bin_replace_string :: 0.2 qt-creator :: 2.4.1 sys-auth/ pam_keystore :: 0.1.3 sys-block/ tw_cli :: 9.5.3 sys-boot/ grub :: 1.99-r2 sys-libs/ talloc :: 2.0.7 virtual/ linux-sources :: 0
To get it run:
# sudo emerge -av app-portage/overlint
The source code is up on http://git.overlays.gentoo.org/gitweb/?p=proj/overlint.git;a=summary. For small patches just send them along, for bigger ones get in touch before the work, please. Thanks!

The overlint: Static analysis for your Gentoo overlay by Sebastian Pipping, unless otherwise expressly stated, is licensed under a Creative Commons Attribution-ShareAlike 3.0 Unported License.







please add an option to detect packages which are older in overlay then in main tree.
Just added with overlint 0.5.
This tool really eases working with my overlay. I could drop many ebuilds from it. Thanks a lot for this!