mm1ke / gentoo-scripts

Checks the Gentoo Portage tree for various problems
https://gentooqa.levelnine.at/
15 stars 2 forks source link

Gentoo QA Scripts

This repository contains a collection of various qa scripts for gentoo ebuild repositories. Results of the these scripts can be seen on https://gentooqa.levelnine.at/

repostats.sh

Repostats generates statistics about repos. Following statistics are generated:

repochecks.sh

repochecks scan ebuilds, categories or a whole repository for various errors and mistakes. Nowadays many checks are already done by the the amazing tool dev-util/pkgcheck, which is why i've included the checks from pkgcheck into repochecks.
Since pkgcheck already has mostly the same checks as repochecks, checks which are basically the same are going to be removed in further updates. Following a list of all the checks done with repochecks and (if available) the correspondig check in pkgcheck.

Limitations for ebuild_unused_patches:

Following Structures can't be found (yet) and will give a false positive:

For a detailed explanation of each check please refer to the descriptions in repochecks

Misc

qa.sh

This script is used in order to run multiple repositories. It support to run scripts in diff mode (git diffs) in order to only run on packages which were changes since last run.

Tools

maintainer.py

This python script doesn't take any arguments and just prints every gentoo project and it members.

dteclasses.sh

Simply prints the inheration tree of a particular eclass.

whitecheck.sh

Removes obsolete entries from whitelist files (for unused patches)

eclassinfo.sh

Prints functions which can be used by ebuilds.

Usage:

Following usage will work for repochecks and repostats:

There are also a few Variables which can be set, but don't have too. Most importantly are:

Debugging

Most script also have some debugging possibilities. Following variables can be configured:

License:

All scripts are free software. You can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.