commit:     772fdceea5f148d9bb5fd6c87ffd48f87ca93bab
Author:     Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Tue Aug 23 00:27:52 2022 +0000
Commit:     Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Tue Aug 23 00:33:19 2022 +0000
URL:        https://gitweb.gentoo.org/proj/portage.git/commit/?id=772fdcee

bin/install-qa-check.d: drop QA_PKGCONFIG_VERSION checks from 60pkgconfig

They've been too noisy. We can consider restoring this with an opt-in
check (perhaps by setting QA_PKGCONFIG_VERSION) in future.

Bug: https://bugs.gentoo.org/857654
Signed-off-by: Sam James <sam <AT> gentoo.org>

 NEWS                               |  3 ++
 bin/install-qa-check.d/60pkgconfig | 60 --------------------------------------
 2 files changed, 3 insertions(+), 60 deletions(-)

diff --git a/NEWS b/NEWS
index 87799bc4f..9cf67107a 100644
--- a/NEWS
+++ b/NEWS
@@ -27,6 +27,9 @@ Bug fixes:
 
 * dispatch-conf: respect (E)ROOT
 
+* install-qa-check.d: 60pkgconfig: drop noisy pkg-config mismatched Version
+  field check (bug 857654).
+
 * install-qa-check.d: 60pkgconfig: fix --validate check by adding
   ${ED}/usr/{lib*,share} to search path.
 

diff --git a/bin/install-qa-check.d/60pkgconfig 
b/bin/install-qa-check.d/60pkgconfig
index 20acaa7fb..f44ec232a 100644
--- a/bin/install-qa-check.d/60pkgconfig
+++ b/bin/install-qa-check.d/60pkgconfig
@@ -88,66 +88,6 @@ pkgconfig_check() {
                eqawarn "(contains reference to either lib or lib64 in wrong 
directory)"
                eqatag -v pkgconfig.bad-libdir "${bad_libdir[@]}"
        fi
-
-       # Check for mismatched Version field vs ${PV}
-       # To be safe, let's make sure _all_ installed .pcs have a bad Version
-       # before warning, as this should catch the general cases we're worried
-       # about, while avoiding any pathological cases e.g. multiple libraries
-       # with different versioning within one package.
-       # Example bugs: bug #833895, bug #833887.
-
-       # Default to PV if QA_PKGCONFIG_VERSION is unset.
-       if [[ -z ${QA_PKGCONFIG_VERSION+set} ]]; then
-               local QA_PKGCONFIG_VERSION=${PV}
-       fi
-
-       # Skip the check if QA_PKGCONFIG_VERSION is set to empty string.
-       if [[ -n ${QA_PKGCONFIG_VERSION} ]]; then
-               local 
pms_ver_re="^([0-9]+(\.[0-9]+)*)([a-z]?)((_(alpha|beta|pre|rc|p)[0-9]*)*)(-r[0-9]+)?$"
-               local -A bad_files
-
-               local is_pms_ver=false
-               if [[ ${QA_PKGCONFIG_VERSION} =~ ${pms_ver_re} ]] ; then
-                       # Ensure that ver_test is available.
-                       [[ $(type -t ver_test) == function ]] || inherit 
eapi7-ver
-                       is_pms_ver=true
-               fi
-
-               for f in "${files[@]}" ; do
-                       local file_version=$(pkg-config --modversion "${f}")
-                       if [[ -n ${file_version} ]] ; then
-                               if ${is_pms_ver} && [[ ${file_version} =~ 
${pms_ver_re} ]]; then
-                                       # If both versions comply to PMS, then 
we can use ver_test to compare them.
-                                       ver_test ${QA_PKGCONFIG_VERSION} -eq 
${file_version} && continue
-                               else
-                                       # Otherwise, we resort to string 
comparision.
-                                       [[ ${QA_PKGCONFIG_VERSION} == 
${file_version} ]] && continue
-                               fi
-                       else
-                               # Record a special value if the .pc file has no 
version set at all.
-                               file_version="<no-set>"
-                       fi
-
-                       bad_files["${f//${D}}"]="${file_version}"
-               done
-
-               # Skip result reporting if *_p* because for both _pN and _preN, 
we
-               # don't generally expect the versions to be exactly accurate, 
and
-               # we want to avoid false positives.
-               if [[ ${#bad_files[@]} -gt 0 && ${PV} != *_p* ]] && ! has live 
${PROPERTIES} ; then
-                       eqawarn "QA Notice: pkg-config files with mismatched 
Version found!"
-                       eqawarn "The Version field of the following files does 
not match ${PV}"
-                       local bad_file
-                       for bad_file in "${!bad_files[@]}"; do
-                               local 
bad_file_version="${bad_files[${bad_file}]}"
-                               eqawarn "- ${bad_file}: ${bad_file_version}"
-                       done
-                       eqawarn "Please check all .pc files installed by this 
package."
-                       eqawarn "You can use QA_PKGCONFIG_VERSION to set the 
expected version,"
-                       eqawarn "or set to the empty string to disable this QA 
check."
-                       eqatag pkgconfig.unexpected-version ${!bad_files[@]}
-               fi
-       fi
 }
 
 pkgconfig_check

Reply via email to