- distrotags_new=build_new.get_distrotags()
- distrotags_old=build_old.get_distrotags()
- distrotags = list(set(distrotags_new).intersection(set(distrotags_old)))
- distrotags.sort()
- if options.verbose: print "Found distrotags",distrotags
- first_distrotag=True
- diffcache = DiffCache()
- for distrotag in distrotags:
- distro=Build.get_distro_from_distrotag(distrotag)
- if not distro:
- continue
- if first_distrotag:
- first_distrotag=False
- else:
- print '----'
- print '== distro %s (%s to %s) == #distro-%s-%s'%(distrotag,build_old.display,build_new.display,distro,build_new.display)
- print ' * from %s/%s'%(build_old.svnpath,distrotag)
- print ' * to %s/%s'%(build_new.svnpath,distrotag)
-
- # parse make packages
- packages_new=build_new.get_packages(distrotag)
- pnames_new=set(packages_new.keys())
- packages_old=build_old.get_packages(distrotag)
- pnames_old=set(packages_old.keys())
-
- # get names of created, deprecated, and preserved modules
- pnames_created = list(pnames_new-pnames_old)
- pnames_deprecated = list(pnames_old-pnames_new)
- pnames = list(pnames_new.intersection(pnames_old))
-
- pnames_created.sort()
- pnames_deprecated.sort()
- pnames.sort()
-
- if options.verbose:
- print '--------------------'
- print 'got packages for ',build_new.display
- print pnames_new
- print '--------------------'
- print 'got packages for ',build_old.display
- print pnames_old
- print '--------------------'
- print "Found new modules",pnames_created
- print '--------------------'
- print "Found deprecated modules",pnames_deprecated
- print '--------------------'
- print "Found preserved modules",pnames
- print '--------------------'
-
- # display created and deprecated
- for name in pnames_created:
- print '=== %s : new package %s -- appeared in %s === #package-%s-%s-%s'%(
- distrotag,name,build_new.display,name,distro,build_new.display)
- pobj=packages_new[name]
- print ' * %s'%pobj.details()
- for name in pnames_deprecated:
- print '=== %s : package %s -- deprecated, last occurrence in %s === #package-%s-%s-%s'%(
- distrotag,name,build_old.display,name,distro,build_new.display)
- pobj=packages_old[name]
- if not pobj.svnpath:
- print ' * codebase stored in CVS, specfile is %s'%pobj.spec
- else:
- print ' * %s'%pobj.details()