From 737808033fbc7138b0a40838fc88b95a8945d708 Mon Sep 17 00:00:00 2001 From: angie_j_dou Date: Thu, 16 Feb 2023 10:09:01 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E4=BF=AE=E6=94=B9=E6=9C=8D=E5=8A=A1?= =?UTF-8?q?=E5=99=A8=E7=9B=B8=E5=85=B3=E6=98=BE=E7=A4=BA=E4=BF=A1=E6=81=AF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- LibChecker/lib_checker.py | 26 +++++++++++++++++++------- 1 file changed, 19 insertions(+), 7 deletions(-) diff --git a/LibChecker/lib_checker.py b/LibChecker/lib_checker.py index 18c8aec..9d16a02 100755 --- a/LibChecker/lib_checker.py +++ b/LibChecker/lib_checker.py @@ -359,10 +359,18 @@ def get_debpkg_ver_contrast(l_local_ver, l_required_ver): ##====rpm对比版本大小====## def get_rpmpkg_ver_contrast(l_local_ver, l_required_ver): # compare ver_local op ver_required - if l_local_ver < l_required_ver: - return "incompatible" - else: + compare_result = subprocess.getstatusoutput('rpmdev-vercmp %s %s 2>/dev/null ' %(str(l_local_ver), str(l_required_ver))) + if (compare_result[0] == 0): + return "compatible" + elif (compare_result[0] == 11): return "compatible" + else: + return "incompatible" + + #if l_local_ver < l_required_ver: + # return "incompatible" + #else: + # return "compatible" ##====比较共享库版本大小====## def compare_library_version(l_local_ver, l_required_ver): @@ -416,9 +424,12 @@ def get_rpmpkg_from_srcpkg(l_rpm_srcname): # @ l_rpm_srcname # return: # @ l_list_rpmpkgs - l_rpmpkgs = os.popen('dnf info | grep -B 5 -E "%s.*.src.rpm" | grep "名称" | awk -F" " \'{ print $3 }\' | sort -n | uniq | sed \':label;N;s/\\n/ /;t label\'' %(l_rpm_srcname)) - l_list_rpmpkgs = l_rpmpkgs.read().split("\n")[0].split(" ") - l_rpmpkgs.close() + #l_rpmpkgs = os.popen('dnf info | grep -B 5 -E "%s.*.src.rpm" | grep "Name" | awk -F" " \'{ print $3 }\' | sort -n | uniq | sed \':label;N;s/\\n/ /;t label\'' %(l_rpm_srcname)) + #l_list_rpmpkgs = l_rpmpkgs.read().split("\n")[0].split(" ") + #l_rpmpkgs.close() + l_rpmpkgs = subprocess.getstatusoutput("dnf repoquery -q --queryformat \"%%{sourcerpm} %%{name}\"| grep -E \"^%s-[0-9]\" | awk '{print $2}'" %(l_rpm_srcname)) + l_list_rpmpkgs = l_rpmpkgs[1].split("\n") + #print (l_list_rpmpkgs) return l_list_rpmpkgs @@ -462,7 +473,8 @@ def get_rpmpkg_local_version(l_rpm_binary_name, l_req_version): l_rpm_install_status = os.system('rpm -qi %s 2>/dev/null 1>/dev/null' %(l_rpm_binary_name)) if (l_rpm_install_status == 0): - l_file_ver_local = os.popen('rpm -qi %s 2>/dev/null | grep "Version\|Release" | awk -F" " \'{print $3}\' | sed \':label;N;s/\\n/-/;t label\'' %(l_rpm_binary_name)) + #l_file_ver_local = os.popen('rpm -qi %s 2>/dev/null | grep "Version\|Release" | awk -F" " \'{print $3}\' | sed \':label;N;s/\\n/-/;t label\'' %(l_rpm_binary_name)) + l_file_ver_local = os.popen('rpm -qa --queryformat="%%{VERSION}\n" %s 2>/dev/null ' %(l_rpm_binary_name)) l_ver = l_file_ver_local.read().rstrip('\n') l_file_ver_local.close() l_status = get_rpmpkg_ver_contrast(l_ver, l_req_version) -- Gitee