I've been thinking in updating system remotelly through ssh, and I think it would be a good idea to havd an option to *only* show the first line (the one which says: emerge (1/36) foo/bar-1.0.2) and discarding all the rest compilation messages. This could be useful for mobile connections, slow upload speed, etc. What do you think, is it posible? Reproducible: Always
I think you can obtain about that behaviour with --jobs=1 (all compilation output is suppressed in that mode).
(In reply to comment #1) > I think you can obtain about that behaviour with --jobs=1 (all compilation > output is suppressed in that mode). > In that mode will I lose MAKEOPTS=3 that I have set up? I want a silent option without losing compiling performance :)
(In reply to comment #2) > (In reply to comment #1) > > I think you can obtain about that behaviour with --jobs=1 (all compilation > > output is suppressed in that mode). > > > > In that mode will I lose MAKEOPTS=3 that I have set up? > > I want a silent option without losing compiling performance :) No, jobs just controls how many concurrent emerges portage will maximally spawn (at the same time).
Ok, that sounds good. But anyway I think it could be clearer (for users) to have that coded into an emerge option, and it would not be that difficult to code I think :)
I concur, but the first question is if the suggested option does something that you could be happy with.
I'm trying --jobs=1 right now. It does not aproach as what I proposed because the result is exactly the same than without this option, but patching and other phases of emerge are actually slower than before, so definitely --jobs=1 does not do really a silent compilation. I tried with portage-2.2_rc67. This is what I tried: emerge -uDN world --jobs=1 and output is exactly the same than without --jobs option
What I expect for it to do is the following: emerge foo/bar --silent --ask (list of packages to be installed) Do you want to merge (Y/N): Y Emerging (1/60) foo2/bar2...OK Emerging (2/60) foo3/bar3...OK (...) Emerging (60/60) foo 60/bar60...OK
Hmmm, aparently a fix was applied here. Can you give --jobs=2 a shot to see if it is what you would find acceptable?
Ok, that could do it :)
The existing --quiet-build option seems very close to what you want.
Yes, that is a good aproach. I'm sorry, I did not discover that option. As a question, could the: "Jobs: 0 of 1 complete, 1 running Load avg: 0.20, 0.24, 0.26" message be completelly "silent" too? As I said before, output is reduced a lot, but that info is actually refreshing, and wastes a bit of bandwith. To say the truth, I started this bug thinking in mobile devices and that kind of reduced bandwith situations. What about that (last) one?
There's a reduced bandwidth mode that's enabled in pym/_emerge/JobStatusDisplay.py by this code: self._status_display.quiet = \ not background or \ ("--quiet" in self.myopts and \ "--verbose" not in self.myopts) That means --quiet must be enabled and --verbose must not be enabled. We can add a separate option for that if necessary.
OK Zac, I agree to add this as a separate option, because what I proposed is to be used as a temporal solution, not permanent one (at least this was the idea). Suppose you handle your server/desktop PC remotely and locally. To be changing config files anytime is a bit tedious. That way too, it can override too other more verbose options with just an emerge option, and it will keep and respect other settings if that option is not passed as a parameter to emerge.