Estoy tratando de averiguar cómo puedo comparar 2 listas de RPMS (actualmente instaladas) y (disponibles en el repositorio local) y ver qué RPMS están desactualizados. He estado retocando con expresiones regulares, pero hay tantos estándares de nombres diferentes para RPMS que no puedo obtener una buena lista para trabajar. No tengo el RPMS real en mi disco, así que no puedo hacer rpm -qif.Cómo comparo versiones de RPM en python
pattern1 = re.compile(r'^([a-zA-Z0-9_\-\+]*)-([a-zA-Z0-9_\.]*)-([a-zA-Z0-9_\.]*)\.(.*)')
for rpm in listOfRpms:
packageInfo = pattern1.search(rpm[0]).groups()
print packageInfo
Esto funciona para una gran mayoría, pero no todos (2300/2400)
yum-metadata-parser-1.1.2-2.el5
('yum-metadata-parser', '1.1.2', '2', 'el5') **What I need
Pero ninguno estos trabajos, por ejemplo, a menos que romper algunos otros que trabajaron antes ..
- wvdial-1.54.0-3
- xdelta-1.1.3-20
- xdelta-1.1.3-20_2
- xmlsec1-1.2.6-3
- xmlsec1-1.2.6-3_2
- ypbind-1.17.2-13
- ypbind-1.17.2-8
- ypserv-2.13-14
- zip-2.3-27
- zlib-1.2.3-3
- zlib-1.2.3-3_2
- zsh-4.2.6-1
¿cómo está obteniendo la lista de RPM? – Craig