Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 339579 - Enh request: disable --jobs if emerge is working on 1 file only
Summary: Enh request: disable --jobs if emerge is working on 1 file only
Status: CONFIRMED
Alias: None
Product: Portage Development
Classification: Unclassified
Component: Core - Interface (emerge) (show other bugs)
Hardware: All Linux
: High enhancement (vote)
Assignee: Portage team
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2010-10-03 12:46 UTC by nobody
Modified: 2010-10-04 02:46 UTC (History)
0 users

See Also:
Package list:
Runtime testing required: ---


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description nobody 2010-10-03 12:46:57 UTC
When --jobs is set to a value > 1 emerge output is different, disabling it's output to just print jobs 1 out of X

What i ask is if emerge is working only on one package (= 1 job) it should get back to the non --jobs or --jobs=1 output.

emerge -uDN world --jobs 8
if packageslist = 1 -> --jobs 1
if packageslist > 1 -> --jobs 8

That's cosmetic but generally when i do "emerge -1 package" (assuming nodeps were pull in, or adding --nodeps) i do that on purpose to see the building output, but as i have --jobs > 1 set, emerge disable the build output
so i need to get back to emerge -j1 -1 package

It's just there's no point in running emerge in "jobs" mode when emerge will only do 1 job anyway.

Reproducible: Always
Comment 1 Michał Górny archtester Gentoo Infrastructure gentoo-dev Security 2010-10-03 20:38:54 UTC
I disagree. Someone might pass '--jobs N' as well to avoid this raw output and just get the overall status and system load information.
Comment 2 Zac Medico gentoo-dev 2010-10-03 20:56:44 UTC
I'm opposed to having the output vary like this by default. However, I'm not opposed to adding an option for this that you could put in EMERGE_DEFAULT_OPTS.
Comment 3 nobody 2010-10-04 00:42:13 UTC
Well, if you want output consistency, maybe reconsider how it work because it's pretty not the case as now, even it's predictible.

emerge package = compile output
emerge package --jobs 1 = compile output
emerge package --jobs 2 = load average output

as it is now, it just autoswitch itself depending on jobs > 1
i was just asking the autoswitch to be made when number of jobs to do (# package to build) is > 1 even you have set --jobs 2

Might be the time to think about a "display" feature, because emerge right now offer already a lot of switch that can alter its display
--nospinner --quiet --quiet-build (i'm not sure but on my current portage if i understand it shouldn't output anything, but it still does) --color=y/n --verbose --quiet -unmerge-warn... as i said long list already.

And not to be picky with you Michal Gorny (but now that i'm at it) but i really think the load-average display is less useful than a default compile output, specially because the load average display remove a critical part of the output process: the elog messages, many ebuild put big hints/needed change... (one example that speak itself nvidia-drivers) at end of emerge via elog.

While i'm not sure how useful (except for cosmetics purpose) displaying your load average is when you have a switch to restrict it already.
Comment 4 Zac Medico gentoo-dev 2010-10-04 02:46:00 UTC
(In reply to comment #3)
> Well, if you want output consistency, maybe reconsider how it work because it's
> pretty not the case as now, even it's predictible.
> 
> emerge package = compile output
> emerge package --jobs 1 = compile output
> emerge package --jobs 2 = load average output

It makes perfect sense if you consider that with --jobs >= 2 the output would be quite confusing if not redirected to logs, since there are multiple builds producing output simultaneously. Also, consider that if a person has specified --jobs >= 2 then they may have grown accustomed to having build output redirected to logs (as I have).

> process: the elog messages, many ebuild put big hints/needed change... (one
> example that speak itself nvidia-drivers) at end of emerge via elog.

The elog 'echo' module, which is enabled by default, is supposed to solve this problem. It echos the elog messages before emerge exits.

> While i'm not sure how useful (except for cosmetics purpose) displaying your
> load average is when you have a switch to restrict it already.

I prefer not to have my terminal scrollback buffer flooded with build output which is typically irrelevant to me. If I want to see the build output then I read the build log.