On Wed, Jul 23, 2014 at 9:33 AM, Ciaran McCreesh <ciaran.mccre...@googlemail.com> wrote: > On Mon, 21 Jul 2014 23:06:07 +0200 > Pacho Ramos <pa...@gentoo.org> wrote: >> Maybe this could be solved by having two kinds of revisions: >> - One would rebuild all as usually (for example, -r1...) >> - The other one would only regenerate VDB and wouldn't change the >> installed files (for example, -r1.1) >> >> But I am not sure if it could be viable from a "technical" point of >> view :( > > This in no way solves the problem. Consider the following course of > events: > > User installs foo-1.1-r1 > Developer makes foo-1.1-r1.1 > foo-1.1* is removed from the tree > User syncs
An updates-like mechanism would help here, since the updates could persist longer. Also, the user is probably going to end up uninstalling foo anyway or updating it to a newer revision, which means that whatever was broken with -r1 will tend to become a bit of a moot issue. Portage doesn't really support hanging onto PVs that aren't in the tree all that well to begin with. Just a general comment not aimed at this particular part of the thread - a solution doesn't have to be perfect to be useful. If we come up with a good clean solution that avoids rebuilds in a half-dozen specific circumstances and we agree to only use it in those circumstances, there is no reason we can't use it, even if there is some other circumstance that will still require a revbump. I'm sensing in this thread that we're forcing ourselves to choose between a hack that can be applied 100% of the time but which can break randomly, or a hypothetical perfect solution that never breaks but which will probably never exist either. A solution that works 80% of the time and never breaks as long as it is properly applied is an acceptable compromise. Rich