commit:     5bef2da6c6ceef1c7947571a7cea1bf79d94e9f2
Author:     Georgy Yakovlev <gyakovlev <AT> gentoo <DOT> org>
AuthorDate: Sat Jun 26 23:23:55 2021 +0000
Commit:     Georgy Yakovlev <gyakovlev <AT> gentoo <DOT> org>
CommitDate: Sat Jun 26 23:23:55 2021 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=5bef2da6

metadata/install-qa-check.d: fix some issues with 60libcrypt-deps

Thanks-to: [Arfrever]
Signed-off-by: Georgy Yakovlev <gyakovlev <AT> gentoo.org>

 metadata/install-qa-check.d/60libcrypt-deps | 15 +++++++++++----
 1 file changed, 11 insertions(+), 4 deletions(-)

diff --git a/metadata/install-qa-check.d/60libcrypt-deps 
b/metadata/install-qa-check.d/60libcrypt-deps
index a822ed8c467..52220ba9734 100644
--- a/metadata/install-qa-check.d/60libcrypt-deps
+++ b/metadata/install-qa-check.d/60libcrypt-deps
@@ -8,9 +8,16 @@
 libcrypt_check() {
        if ! type -P scanelf >/dev/null || has binchecks ${PORTAGE_RESTRICT}; 
then
                return
-       fi      
+       fi
+
+       # skip libcrypt.so providers
+       case "${CATEGORY}/${PN}" in
+               
sys-libs/libxcrypt|sys-libs/glibc|sys-libs/musl|sys-libs/uclibc-ng)
+                       return
+                       ;;
+       esac
 
-       if grep -q virtual/libcrypt <<<${RDEPEND}; then
+       if grep -q "virtual/libcrypt" <<<${RDEPEND}; then
                # nothing to do here
                return
        fi
@@ -18,7 +25,7 @@ libcrypt_check() {
        local libcrypt_consumers
        # grep outputs newline separated list of files, so it's ok to skip 
specifying delimiter
        IFS= mapfile libcrypt_consumers < <(find "${ED}" -type f -executable \
-               -print0 | xargs -0 scanelf -qyRF '%F %n' | grep 'libcrypt.so' 
2>/dev/null )
+               -print0 | xargs -0 scanelf -qyRF '%F %n' | grep 'libcrypt\.so' 
2>/dev/null )
        
        if [[ -n ${libcrypt_consumers[@]} ]]; then
                eqawarn "Binary files linked to libcrypt.so found"
@@ -26,7 +33,7 @@ libcrypt_check() {
                eqawarn
                eqatag -v virtual-libcrypt.missing "${libcrypt_consumers[@]%% 
*}"
                eqawarn
-               eqawarn "Please add virtual/libcrypt dependency"
+               eqawarn "Please add virtual/libcrypt:= dependency"
                eqawarn "Gentoo Bug: https://bugs.gentoo.org/699422";
        fi
        

Reply via email to