Michał Górny <mgo...@gentoo.org> wrote:
>> If this is such a big problem, maybe we should be discussing how to
>> redesign things to improve it?
>
> Like, by not using eclasses and instead inlining all the stuff?

There are other ways.

One way to mitigate the problem might be to require that
eclasses contain some

# @VERSION: major.minor-revision

line and that the metadata cache of an ebuild contains that version
number (or at least the major component of it) instead of an md5 sum.
Then the commiter of the eclass has full control whether a metadata
regeneration will happen or not:

For trivial changes (see below), the committer simply does not
increase that version number (or increase only minor-revision),
and one could agree that a rebuild of the metadata only happens
if the major version number of an eclass changes.

By "trivial changes" I mean in this connection not only changes
in comments but also minor changes in functionality or even in
the API: The only strict requirement is that the major version
has to increase if the eclass change can induce a change in the
metadata of some ebuild using it (e.g. if a value printed by
some function changes which might involve IUSE, REQUIRED_USE,
DEPEND, ...)


Reply via email to