Jul-26-2018, 02:08 PM
Hi All ,
I have just read python and I was checking to code rpm version comparion .
I tried this :
It works well for single rpm's for not for the list .
If anyone is a aware of a code please share it with me I am unable to progress on this code .
I have just read python and I was checking to code rpm version comparion .
list1 = ["binutils-2.23.52.0.1-12.el7.x86_64","compat-libcap1-1.10-3.el7.x86_64","gcc-4.8.2-3.el7.x86_64","gcc-c++-4.8.2-3.el7.x86_64", "glibc-2.17-36.el7.i686","glibc-2.17-36.el7.x86_64","glibc-devel-2.17-36.el7.i686" ] list2 = [ basesystem-10.0-7.0.1.el7 (noarch) bash-4.2.46-29.el7_4 (x86_64) bc-1.06.95-13.el7 (x86_64) bind-libs-9.9.4-51.el7_4.2 (x86_64) bind-libs-lite-9.9.4-51.el7_4.2 (x86_64) bind-license-9.9.4-51.el7_4.2 (noarch) bind-utils-9.9.4-51.el7_4.2 (x86_64) binutils-2.25.1-32.base.el7_4.2 (x86_64) biosdevname-0.7.2-2.el7 (x86_64) btrfs-progs-4.9.1-1.0.2.el7 (x86_64) bzip2-1.0.6-13.el7 (x86_64) bzip2-libs-1.0.6-13.el7 (i686) bzip2-libs-1.0.6-13.el7 (x86_64) ca-certificates-2017.2.14-71.el7 (noarch) c-ares-1.10.0-3.el7 (x86_64) checkpolicy-2.5-4.el7 (x86_64) chkconfig-1.7.4-1.el7 (x86_64) compat-libcap1-1.10-7.el7 (x86_64) compat-libstdc++-33-3.2.3-72.el7 (i686) compat-libstdc++-33-3.2.3-72.el7 (x86_64) ]Is there any was we can perform a comparison with list1 and list2 and print all the new versions of rpm present in list2 and if certain rpm's which are present in list 1 but not in list 2 it should say missing rpm's and print the rpm name.
I tried this :
sys_pkg = 'binutils-2.23.52.0.1-12.el7.x86_64' repo_pkg = 'binutils-2.25.1-32.base.el7_4.2 (x86_64)' result = rpm.compare_packages(repo_pkg, sys_pkg) print result if result > 0: # repo_pkg is newer print('Repo package is newer')
It works well for single rpm's for not for the list .
If anyone is a aware of a code please share it with me I am unable to progress on this code .