Sto cercando di scoprire come posso confrontare 2 elenchi di RPMS (attualmente installati) e (Disponibile nel repository locale) e vedere quali RPMS non sono aggiornati. Ho armeggiato con espressioni regolari, ma ci sono così tanti standard di denominazione per RPMS che non riesco a ottenere una buona lista con cui lavorare. Non ho gli RPMS sul mio disco, quindi non posso fare rpm -qif.Come confrontare le versioni Rpm in 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
Questo funziona per la stragrande maggioranza, ma non tutti (2300/2400)
yum-metadata-parser-1.1.2-2.el5
('yum-metadata-parser', '1.1.2', '2', 'el5') **What I need
Ma nessuno questi funzionano per esempio a meno che non mi rompere alcuni altri che hanno lavorato prima ..
- 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
come si ottiene l'elenco di RPM? – Craig