On Tue, Dec 3, 2019 at 3:46 PM Neil Bothwick <n...@digimed.co.uk> wrote:
> On Tue, 3 Dec 2019 10:43:36 -0500, John Blinka wrote: > > > > > Couldn't you just have a script that "emerge --update"s each > > > > package in sequence? If the package isn't due for update nothing > > > > will happen. And then you could follow that with an "emerge world" > > > > knowing that your hogs are already done. > > > > > > Sometimes the packages are rebuilt without an update, especially if > > > you use --changed-use or --changed-deps, so it's not quite that > > > simple. > > > > > > But still pretty simple. I’ve just used the “build in sequence” idea > > for an update that forced a libreoffice rebuild. It first upgraded a > > few of libreoffice’s dependencies in parallel, and then rebuilt > > libreoffice by itself afterwards. A subsequent emerge @world upgraded a > > bunch of minor kde stuff. I like this idea - seems to isolate the > > “hogs” so they build one at a time, and it does so without any > > intervention on my part. Thanks! > > But if you emerge --update libreoffice before the package that is forcing > the rebuild, why would libreoffice rebuild? I would expect it to only > rebuild libreoffice after the dependency had been changed. That’s exactly what happened. I issued an emerge -DuNv —changed-deps libreoffice first. That had the effect of 1) first upgrading several libreoffice dependencies, and 2) subsequently rebuilding libreoffice once the dependencies changed. I’m guessing emerge is smart enough to trigger both activities and sequence them appropriately. Operative word is guess - I don’t pretend to understand the inner workings. > > I'm not saying out wouldn't work some of the time, but I can see > situations where it wouldn't. Whereas > > emerge --opts @world --exclude memory-hogs... > emerge --opts --jobs 1 @world > > should always isolate them. Agreed that this technique should always work. And it has the advantage of fewer invocations of emerge. But at the cost, I suspect, of serializing the building of any memory hog dependencies that were excluded from consideration by the first invocation of emerge. What situations do you see as not working? John Blinka