print summary of changed packages

also print source rpm instead of first sub package
This commit is contained in:
Ludwig Nussel 2015-12-14 17:23:39 +01:00
parent d8a6b9fa84
commit 170e23e7ff

View File

@ -27,6 +27,9 @@ from optparse import OptionParser
import rpm import rpm
import pickle import pickle
import cmdln import cmdln
import re
SRPM_RE = re.compile(r'(?P<name>.+)-(?P<version>[^-]+)-(?P<release>[^-]+\.(?:no)?src\.rpm)')
data_version = 3 data_version = 3
@ -180,11 +183,14 @@ class ChangeLogger(cmdln.Cmdln):
p1 = set(v1pkgs.keys()) p1 = set(v1pkgs.keys())
p2 = set(v2pkgs.keys()) p2 = set(v2pkgs.keys())
print "Changed packages:" print "Summary of the x86_64 DVD"
print
print "Packages changed on medium:"
group = self._get_packages_grouped(v2pkgs, p1&p2) group = self._get_packages_grouped(v2pkgs, p1&p2)
# pprint(p1&p2) # pprint(p1&p2)
# pprint(group) # pprint(group)
# print " "+"\n ".join(["\n * ".join(sorted(group[s])) for s in sorted(group.keys()) ]) # print " "+"\n ".join(["\n * ".join(sorted(group[s])) for s in sorted(group.keys()) ])
details = ''
for srpm in sorted(group.keys()): for srpm in sorted(group.keys()):
srpm1 = v1pkgs[group[srpm][0]]['sourcerpm'] srpm1 = v1pkgs[group[srpm][0]]['sourcerpm']
#print group[srpm], srpm, srpm1 #print group[srpm], srpm, srpm1
@ -195,21 +201,30 @@ class ChangeLogger(cmdln.Cmdln):
except IndexError: except IndexError:
print >>sys.stderr, srpm1, "doesn't have a changelog" print >>sys.stderr, srpm1, "doesn't have a changelog"
continue continue
#print t1 m = SRPM_RE.match(srpm)
if m:
name = m.group('name')
else:
name = srpm
if t1 == v2changelogs[srpm]['changelogtime'][0]: if t1 == v2changelogs[srpm]['changelogtime'][0]:
continue # no new changelog entry, probably just rebuilt continue # no new changelog entry, probably just rebuilt
pkgs = sorted(group[srpm]) pkgs = sorted(group[srpm])
print "\n==== %s ===="%pkgs[0] details += "\n\n==== %s ====\n"%name
if v1pkgs[pkgs[0]]['version'] != v2pkgs[pkgs[0]]['version']: if v1pkgs[pkgs[0]]['version'] != v2pkgs[pkgs[0]]['version']:
print "Version update (%s -> %s)"%(v1pkgs[pkgs[0]]['version'], v2pkgs[pkgs[0]]['version']) print " %s (%s -> %s)"%(name, v1pkgs[pkgs[0]]['version'], v2pkgs[pkgs[0]]['version'])
details += "Version update (%s -> %s)\n"%(v1pkgs[pkgs[0]]['version'], v2pkgs[pkgs[0]]['version'])
else:
print " %s"%name
if len(pkgs) > 1: if len(pkgs) > 1:
print "Subpackages:", " ".join(pkgs[1:]) details += "Subpackages: %s\n"%" ".join([p for p in pkgs if p != name])
print details += '\n'
for (i2, t2) in enumerate(v2changelogs[srpm]['changelogtime']): for (i2, t2) in enumerate(v2changelogs[srpm]['changelogtime']):
if t2 == t1: if t2 == t1:
break break
#print "+++ ",t2 details += v2changelogs[srpm]['changelogtext'][i2]
print v2changelogs[srpm]['changelogtext'][i2]
print "\n=== Details ==="
print details
print "\n\n\n" print "\n\n\n"
print "Packages removed from medium:" print "Packages removed from medium:"