Gentoo Forums
Gentoo Forums
Gentoo Forums
Quick Search: in
emerge --jobs=n but exclude packages by name?
View unanswered posts
View posts from last 24 hours

 
Reply to topic    Gentoo Forums Forum Index Portage & Programming
View previous topic :: View next topic  
Author Message
mcnutty
Tux's lil' helper
Tux's lil' helper


Joined: 29 Dec 2009
Posts: 126

PostPosted: Mon Oct 07, 2024 8:34 pm    Post subject: emerge --jobs=n but exclude packages by name? Reply with quote

I have the following options in my /etc/make.conf:

Code:
EMERGE_DEFAULT_OPTS="--jobs=3 --load-average=24.0"
MAKEPOPTS="-j24"


In general this significantly reduces the amount of time an update takes. However, there are a couple packages that screw everything up (i.e., chromium and qtwebengine). Chromium (or some other big package) will start to emerge, it will then take a a few minutes before it starts compiling heavily. During that time one or more other large packages will start emerging. Once they all get going, the load average will be well over 24 (possibly in the 50-60s) and I will run out of memory.

Is there a way to tell emerge to never merge a specific package (or packages) in parallel with others?
Back to top
View user's profile Send private message
Ralphred
Guru
Guru


Joined: 31 Dec 2013
Posts: 596

PostPosted: Mon Oct 07, 2024 8:38 pm    Post subject: Reply with quote

Have you had any luck with /etc/portage/{env/,package.env/}, or is the die "already rolling" at that point?
Back to top
View user's profile Send private message
bstaletic
Guru
Guru


Joined: 05 Apr 2014
Posts: 333

PostPosted: Mon Oct 07, 2024 8:46 pm    Post subject: Re: emerge --jobs=n but exclude packages by name? Reply with quote

mcnutty wrote:
Is there a way to tell emerge to never merge a specific package (or packages) in parallel with others?


Not really, but you can get creative with /etc/portage/env and /etc/portage/package.env
https://wiki.gentoo.org/wiki/Package.env
Back to top
View user's profile Send private message
mcnutty
Tux's lil' helper
Tux's lil' helper


Joined: 29 Dec 2009
Posts: 126

PostPosted: Mon Oct 07, 2024 8:52 pm    Post subject: Reply with quote

The problem arises because when chromium, or some other package, starts emerging the load factor is low and below my threshold, so emerge decides to start merging another package. But, when that next package is another large one, it will cause the failure because now I've got two huge packages building in parallel. (edit: for a variety of reasons this tends to happen on almost all large world updates)

I can reduce the MAKEOPTS jobs in an env file, but then that package will take forever if that package is being merged by itself. I'm not sure if you had something else in mind though.
Back to top
View user's profile Send private message
Ralphred
Guru
Guru


Joined: 31 Dec 2013
Posts: 596

PostPosted: Mon Oct 07, 2024 9:24 pm    Post subject: Reply with quote

mcnutty wrote:
edit: for a variety of reasons this tends to happen on almost all large world updates

You are beyond the native capabilities of portage. Start by making a "blacklist" of updates that break your "usual model", then push them into a temporary "package.mask", then run them as one package at a time after the fact as "one_at_a_time" packages.

Things like "qtwebengine", "firefox" and "chromium" aren't hard to identify before the fact, and /etc/portage/bashrc offers more than you need to sidestep "paradigm breaking" builds.
Back to top
View user's profile Send private message
Display posts from previous:   
Reply to topic    Gentoo Forums Forum Index Portage & Programming All times are GMT
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum