I have pushed my changes to github.

Am 08.10.13 schrieb Maciej Bliziński  <notifications@github.com>:
> 
> In lib/python/find_obsolete_pkgs.py:
>  
> > + for dp in newrevdeplst[p]:
> > + dpkg = dp[1]
> > + if dpkg not in rebuildlst and not CatSubSet(*newcatlst[dpkg]).catalogname.endswith("_stub"):
> > + rebuildlst.append(dpkg)
> > + logger.info(" REBUILD: {3}\n\t\t\tthese still use {0} ({1}) in {2}\n"
> > + .format(p,CatSubSet(*newcatlst[p]).catalogname,newcatrel,
> > + [ dp[1] for dp in newrevdeplst[p]]))
> > + reallyremovelst = []
> > + logger.debug(' process dependecies in %s' % newcatrel)
> > +
> > + for p in to_remove_candidates:
> > + if p in oldrevdeplst: # this package is already a _stub in oldcatalog -> drop
> > + reallyremovelst.append(p)
> > + logger.info(" DROP : %s from %s" % (p,newcatrel))
> > + elif p not in oldrevdeplst.keys(): # this package has no consumer in old catalog
> > + reallyremovelst.append(p) 
>  
> If the _stub package does not exist in the older catalog, we must not drop the _stub from the newer catalog. If we did that, we would break the upgrade path. The upgrade looks like this:
>  
> N-2 CSWoldname/oldname
> 
> N-1 CSWoldname/oldname_stub → CSWnewname/newname
> 
> N CSWnewname/newname (_stub is removed)
>  
> Imagine that you have CSWoldname instsalled on a system and are subscribed to N-2. Then you drop oldname_stub from N-1 and you upgrade your system from N-2 to N-1. The CSWnewname package would not be pulled in, right?
>  
> —
> Reply to this email directly or view it on GitHub(https://github.com/opencsw/gar/pull/6/files#r6813214).
> 
>