This was a case e.g. with =dev-python/pyrqlite-2.2.0. Signed-off-by: Michał Górny <mgo...@gentoo.org> --- metadata/install-qa-check.d/60python-site | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+)
diff --git a/metadata/install-qa-check.d/60python-site b/metadata/install-qa-check.d/60python-site index 459509f8a136..a54dda53a454 100644 --- a/metadata/install-qa-check.d/60python-site +++ b/metadata/install-qa-check.d/60python-site @@ -24,6 +24,7 @@ python_site_check() { local missing=() local stray=() + local bad_versions=() local stray_packages=() # Avoid running the check if sufficiently new gpep517 is not installed @@ -42,6 +43,18 @@ python_site_check() { local sitedir=( "${ED}"/usr/lib/${impl}*/site-packages ) [[ -d ${sitedir} ]] || continue + # check for bad package versions + while IFS= read -d $'\0' -r f; do + bad_versions+=( "${f#${ED}}" ) + done < <( + find "${sitedir}" -maxdepth 1 '(' \ + -name '*-0.0.0.dist-info' -o \ + -name '*-UNKNOWN.dist-info' -o \ + -name '*-0.0.0.egg-info' -o \ + -name '*-UNKNOWN.egg-info' \ + ')' -print0 + ) + # check for stray files in site-packages while IFS= read -d $'\0' -r f; do stray_packages+=( "${f#${ED}}" ) @@ -148,6 +161,14 @@ python_site_check() { eqawarn " https://projects.gentoo.org/python/guide/qawarn.html#compiled-bytecode-related-warnings" fi + if [[ ${bad_versions[@]} ]]; then + eqawarn + eqawarn "QA Notice: The following Python packages were installed with" + eqawarn "invalid/suspicious versions in the site-packages directory:" + eqawarn + eqatag -v python-site.bad_version "${bad_versions[@]}" + fi + if [[ ${stray_packages[@]} ]]; then eqawarn eqawarn "QA Notice: The following unexpected files/directories were found" -- 2.43.0