From 3cf73d5fa81d5fb5d3c8382109d6b834e01b0b64 Mon Sep 17 00:00:00 2001 From: Fabio Erculiani Date: Tue, 13 Jul 2010 14:03:35 +0200 Subject: [PATCH] [entropy.qa] resolve /usr/lib to /usr/lib64 when matching broken library file in repository --- client/text_ui.py | 15 ++++++++------- libraries/entropy/qa.py | 9 ++++++++- 2 files changed, 16 insertions(+), 8 deletions(-) diff --git a/client/text_ui.py b/client/text_ui.py index deb177b5c..43a72c0dc 100644 --- a/client/text_ui.py +++ b/client/text_ui.py @@ -2166,13 +2166,14 @@ def _libraries_test(entropy_client, listfiles = False, dump = False): brokenlibs = sorted(brokenlibs) for lib in brokenlibs: print_info(darkred(" => ")+red(lib)) - print_info(darkgreen(" ## ")+red("%s:" % (_("Matched"),) )) - for mylib in pkgs_matched: - for idpackage, repoid in pkgs_matched[mylib]: - dbconn = entropy_client.open_repository(repoid) - myatom = dbconn.retrieveAtom(idpackage) - atomsdata.add((idpackage, repoid)) - print_info(" "+red(mylib)+" => "+brown(myatom)+" ["+red(repoid)+"]") + if pkgs_matched: + print_info(darkgreen(" ## ")+red("%s:" % (_("Matched"),) )) + for mylib in pkgs_matched: + for idpackage, repoid in pkgs_matched[mylib]: + dbconn = entropy_client.open_repository(repoid) + myatom = dbconn.retrieveAtom(idpackage) + atomsdata.add((idpackage, repoid)) + print_info(" "+red(mylib)+" => "+brown(myatom)+" ["+red(repoid)+"]") else: for mylib in pkgs_matched: for idpackage, repoid in pkgs_matched[mylib]: diff --git a/libraries/entropy/qa.py b/libraries/entropy/qa.py index 3aa7fec4e..ba3cb2874 100644 --- a/libraries/entropy/qa.py +++ b/libraries/entropy/qa.py @@ -802,7 +802,14 @@ class QAInterface(TextInterface, EntropyPluginStore): ) matched = set() for brokenlib in plain_brokenexecs: - idpackages = dbconn.searchBelongs(brokenlib) # test with /usr/lib + # test with /usr/lib + idpackages = dbconn.searchBelongs(brokenlib) + if not idpackages: + # try with realpath + # on multilib systems this resolves to /usr/lib64 + # which makes searchBelongs() happy + idpackages = dbconn.searchBelongs( + os.path.realpath(brokenlib)) for idpackage in idpackages: