On Tue, 6 Aug 2013 21:33:02 +0100
Ciaran McCreesh <ciaran.mccre...@googlemail.com> wrote:

> On Tue, 6 Aug 2013 16:22:48 -0400
> Alexis Ballier <aball...@gentoo.org> wrote:
> > On Tue, 6 Aug 2013 20:44:57 +0100
> > Ciaran McCreesh <ciaran.mccre...@googlemail.com> wrote:
> > > On Tue, 6 Aug 2013 15:31:14 -0400
> > > Alexis Ballier <aball...@gentoo.org> wrote:
> > > > Well, ok, but this doesn't relate to what I was writing.
> > > > Subslot, or slot emulators or whatever, in their current usage
> > > > with := dependencies, are not fine grained enough for some use
> > > > cases. Those cause regressions if used improperly.
> > > 
> > > There is no regression. Previously, packages sometimes broke when
> > > doing an upgrade. Now, packages do not break when doing an
> > > upgrade.
> > 
> > The regression is the useless rebuild. Without preserve-libs,
> > packages break even more: cf the libc example.
> 
> You can't claim a broken solution to be better than a working
> solution.

They're not yet comparable. What I claim is:
- Preserve-libs is needed for extreme cases such as the libc or libs
  the compiler links to.
- When used correctly, subslots provide a nice way to automate the
  rebuilds and correctly handle dependencies.
- Current subslots and := deps do not provide all the required
  flexibility for real world packages.
- Your proposal of not caring about it and introducing useless bloat
  is wrong.

> > > > Your argumentation is basically 'Other parts are doing it wrong
> > > > so it's ok to add some more to it'... We're back a dozen emails
> > > > back, aren't we?
> > > 
> > > It's not adding more to it. It's avoiding eliminating a tiny
> > > portion of it. Even if you subscribe to the notion that
> > > unnecessary rebuilds are a relevant problem, there's no point in
> > > caring about the occasional unnecessary rebuild due to overly
> > > strict dependencies when most unnecessary rebuilds are caused by
> > > something else entirely.
> > 
> > And here we go again...
> 
> You've still not justified spending a massive amount of effort on
> addressing a tiny fraction of unnecessary recompiles. What makes this
> supposed problem in any way relevant? Why should we spend time
> reducing 1% of the cost by 1%?

You've still not done a serious analysis to back up these numbers. 

I'm pretty much convinced wrongly used subslot operators are now
more than 50% of unnecessary recompile times. Feel free to prove me
wrong, but you won't convince me by keeping repeating 'a tiny fraction
of unnecessary recompiles'.

Proper subslot operators is a one-time investment, reducing unnecessary
compiles on the other parts likely require a constant investment over
time, so in the long term, whatever the cost is, it is worth it.


> > > > It was meant as an example and has nothing to do with dependency
> > > > resolution. The above exercise is something extreme but that we
> > > > have to solve; preserve-libs has proven to be correct enough.
> > > > You have yet to show a correct, in your sense, solution.
> > > 
> > > The correct solution is heavy slotting. And I'd hardly consider
> > > "intermittently introduces invisible security holes and causes
> > > unbootable systems" to be "correct enough"...
> > 
> > There is no difference between heavy slotting and preserve-libs in
> > this case.
> 
> Yes there is: heavy slotting is only dependent upon a careful
> developer, whereas preserve-libs relies upon voodoo that can go
> horribly wrong.

And also has the big advantage of providing an ancient outdated library
in its proper slot so that it might be kept indefinitely.

Reply via email to