#!/usr/bin/python #read input from pipe. #look for line that matches description #parse new_vesrion, parse old_version #determine differences #if not minor version (just rX or preX) don't report #otherwise print line import sys, re, string while 1: data = sys.stdin.readline() if data == '': break elif re.match('.*portage.*',data): sys.stdout.write(data) elif re.match('.*ssh.*',data): sys.stdout.write(data) elif re.match('.*sources.*',data): sys.stdout.write(data) elif re.match('.*opera.*',data): sys.stdout.write(data) elif re.match('\[ebuild U \]',data): tmp=string.split(data) old_version=re.sub('\[|\]','',tmp[len(tmp)-1]) #print "OLD="+old_version tmp=string.split(tmp[len(tmp)-2],'/') m=re.search('-[0-9].*',tmp[len(tmp)-1]) new_version=re.sub('^-','',m.string[m.start(0):m.end(0)]) #print "NEW="+new_version if re.match('.*_pre.*',new_version): continue if re.match('.*_rc.*',new_version): continue if re.match('.*_beta.*',new_version): continue tmp=string.split(old_version,'-') tmp=string.split(tmp[0],'_') major_old_version=tmp[0] #print "OLD_MAJOR="+major_old_version tmp=string.split(new_version,'-') tmp=string.split(tmp[0],'_') major_new_version=tmp[0] #print "NEW_MAJOR="+major_new_version if re.match('.*2003.*',major_new_version): continue split_major_old_version=string.split(major_old_version,'.') split_major_new_version=string.split(major_new_version,'.') len_new=len(split_major_new_version) len_old=len(split_major_old_version) if len_new >= 4 and len_old >= 4: if split_major_old_version[0] == split_major_new_version[0]\ and split_major_old_version[1] == split_major_new_version[1]\ and split_major_old_version[2] == split_major_new_version[2]: continue if major_new_version == new_version: sys.stdout.write(data) continue if major_old_version != major_new_version: sys.stdout.write(data) continue