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 .
