I've been through the list, and also read GLEP #33, in search for
recommended practices regarding eclasses.
the way I understand it, when an eclass is modified to accomodate a new
ebuild, old ebuilds are broken. Specifically, downgrading with those
broken ebuilds is no longer possible, as the eclass code they used to
execute is no longer available.
So, basically, downgrade is possible only while dependent eclasses
haven't changed. And AFAIK, portage doesn't test whether inherited
eclasses were modified since the ebuild was signed. This means that
there's also no traceability: old ebuilds cannot say "When I was in
business, my inherited eclass was THIS".
I'm wondering how do others address the downgrade issue.
Thanks,
Amit