Gentoo Forums
Gentoo Forums
Gentoo Forums
Quick Search: in
Should portage hide build output from the user by default?
View unanswered posts
View posts from last 24 hours

Goto page Previous  1, 2, 3, 4 ... 9, 10, 11  Next  
Reply to topic    Gentoo Forums Forum Index Gentoo Chat
View previous topic :: View next topic  

Show or hide build output by default?
emerge should hide build output by default (unless --quiet-build=n)
28%
 28%  [ 135 ]
emerge should show build output by default (unless --quiet-build=y)
51%
 51%  [ 240 ]
The -v option should control whether build output is shown or not by default
17%
 17%  [ 81 ]
Other (please comment)
2%
 2%  [ 10 ]
Total Votes : 466

Author Message
forrestfunk81
Guru
Guru


Joined: 07 Feb 2006
Posts: 565
Location: münchen.de

PostPosted: Tue Nov 15, 2011 10:32 am    Post subject: Reply with quote

I don't mind which one is default, as long as I can turn the output on.

Emerge output is like a nice, geeky, matrix-style screensaver. Useless, but good for meditation ;-)
_________________
# cd /pub/
# more beer
Back to top
View user's profile Send private message
yoshi314
l33t
l33t


Joined: 30 Dec 2004
Posts: 850
Location: PL

PostPosted: Tue Nov 15, 2011 10:44 am    Post subject: Reply with quote

either keep the defaults as-is, or advertise change via news eselect module and switch it few weeks after.

i voted to keep the default behavior, but if change is properly communicated to users, i'm all for changing it.
_________________
~amd64
shrink your /usr/portage with squashfs+aufs
Back to top
View user's profile Send private message
Seron
Apprentice
Apprentice


Joined: 31 Dec 2002
Posts: 293
Location: Malmö, Sweden

PostPosted: Tue Nov 15, 2011 11:12 am    Post subject: Reply with quote

I would find it more beneficial with a summary type of output than the massive amount of lines that quickly blows by. If there's a problem there's always the log for details. I would however prefer that any errors are displayed in full.
_________________
man cannot be brave without being afraid
Back to top
View user's profile Send private message
derk
Guru
Guru


Joined: 10 Mar 2003
Posts: 347
Location: St Thomas Ontario

PostPosted: Tue Nov 15, 2011 12:13 pm    Post subject: Reply with quote

as along time user I've been conditioned to seeing the previously "normal gentoo" install behaviour .. it never bothered me at all ..

but I often wondered how many cpu cycles were being wasted throwing the data onto the screen. I have been consistently hiding this output by " window shading active emerging terminals for a long time" .

As the same info is also logged during the build nothing is lost .. I've searched the log a few times to find the errors and submit a few bug reports ..

But I do like the new default, as it now gives me a very quick view of the state of completed emerges and what is underway. (genlop was useful to get this info previously but sometimes overkill)

As it happens people are going to have different preferences, perhaps the best plan is to widely advertise/promote awareness of this feature. At install time tell the user how to choose and change their preference at a later date .. auto add the flag to /etc/make.conf with comments so the user is aware of the choice options .. fits with the overall gentoo philosophy that it's all about choice .. I've already added the flag to my /etc/make.conf EMERGE_ DEFAULT_OPTS="--quiet-build=y" just so I remember the switch
Back to top
View user's profile Send private message
93free
n00b
n00b


Joined: 28 Aug 2007
Posts: 11

PostPosted: Tue Nov 15, 2011 1:18 pm    Post subject: Reply with quote

download infomation shuold be display when --quiet-build=y
Back to top
View user's profile Send private message
steveL
Watchman
Watchman


Joined: 13 Sep 2006
Posts: 5153
Location: The Peanut Gallery

PostPosted: Tue Nov 15, 2011 1:24 pm    Post subject: Reply with quote

zmedico wrote:
Ever since I added --jobs support, I've felt that suppression of build output would be a better default

Hmm I hope you didn't take offence at my saying it hadn't been thought-out enough? Obviously you have your reasons. The thing is you went ahead and implemented it with practically no discussion on the list (14 hours after it had been raised, which is nowhere near enough time for people to respond.)

As I've stated, -j1 doesn't do what it should in terms of disabling --jobs and allowing the user to use the default (which used to be --quiet-build=n) when they have eg --jobs=3 in default opts. Discussion before making the change might have shown that actually recommending new users use --jobs (the exact parameter cannot be specified since it's hw-dependent, apart from saying eg -j2 if you have a uni-processor is worth doing, as is -j2 for make default opts.) That way, new users would have seen the full output, and appreciate the switch to --jobs as many of us have done. Again, being able to switch back to a noisy build simply by stating -j1 on command-line (meaning "I'm building a package that's giving me trouble and I want to step thru one at a time" or "I'm building a package that's of interest to me") is a sensible default imo (and again, new users could be told about --quiet-build in docs if they did want the same behaviour irrespective of --jobs.)

zmedico wrote:

I estimate that the flooding of the terminal with build output is useless for more than 99% of users. Usually, there's too much information scrolling by at too high of a rate for it to be intelligible. Having this as the default behavior is ridiculous and leads to jokes like apt-gentoo [1]. Generally, people who want to analyze build output are best served by PORT_LOGDIR.

Well I use PORT_LOGDIR, and as you know I wrote update several years ago primarily to cut down the amount of cruft on the screen (as well as redoing failed packages in the days before --keep-going) so I'm with you in terms of there being too much data on screen to be of use. Now (if -j1 or no --jobs in default opts, or for toolchain packages which are always single-stepped) update displays the current line from build output (viewCruft=1 in default config) but then deletes it for the next one, and anything that the ebuild outputs with einfo et al, is kept on screen, as is some stuff from the underlying build (some are ignored if you use -q, more is shown if you use -v, everything is shown if you use -vv, and practically nothing is shown if you use -qq; there's also a different output for servers/automation using -x.) update has been outputting end of failed logfile (if one package failed) or a list of logfiles if more since the beginning as well.

I don't think some debian user's joke about us should be taken as the reason to change something, though. After all, there are plenty of jokes that can be made about any distro you like, and the joke was based on something from years ago, as the author states.
Quote:

With --quiet-build, the user is presented with a useful summary of overall progress, along with current load average data. Why should we expose new users to legacy defaults that are useless to more than 99% of users, when they would most likely prefer the --quiet-build display?

Well the thing is that cruft is one of the unique things about Gentoo, which is in practical terms the only source-based distro still standing. Explaining to new users in the documentation about --jobs would already switch them to a funky new display, and I can't see them going back from it given that they know their packages are being readied more quickly. In practical terms then, they'd still have had the experience of seeing exactly what was happening (which is an important part of the whole installation initiation thing) for their first few emerges, and wouldn't really be "exposed" to seeing too much on an everyday basis.

Quote:
Some of those who seek to revert the --quiet-build default have attacked my 99% estimate, but I stand by it. You have to factor in the "silent majority" that welcomes the change and does not express it publicly. A forum thread like this one tends to attract a "vocal minority", which tends to skew results in way that does not give a fair statistical representation of the gentoo population as a whole (it excludes the "silent majority").

Man, this is the bit that I totally disagree with. You're giving a blatantly swollen figure based on nothing but your gut intuition and as it makes you feel better about pushing thru the change with no discussion. At least when you came out with that 99% crap in #-portage again you were winking about it. Then on top you dismiss anyone who might disagree with you in this discussion. Any Gentoo user is what would be called a "power-user" on any other OS; we have to be. Don't dismiss our point of view so lightly.

You sure you're not burning out? I recall you saying a few days ago that there have been a whole heap of patches lately and you need to rest. Being dismissive of users is one of the first signs of burn-out, and is totally not your usual approach.
Back to top
View user's profile Send private message
Naib
Watchman
Watchman


Joined: 21 May 2004
Posts: 6050
Location: Removed by Neddy

PostPosted: Tue Nov 15, 2011 1:32 pm    Post subject: Reply with quote

People complained when Portage did output the data
People complain now portage hides the data

common factor? people complain

hiding the merge output makes sense for --jobs=(>=2) since wtf you going to mux parallel merge data into one term
_________________
Quote:
Removed by Chiitoo
Back to top
View user's profile Send private message
ppurka
Advocate
Advocate


Joined: 26 Dec 2004
Posts: 3256

PostPosted: Tue Nov 15, 2011 1:37 pm    Post subject: Reply with quote

steveL wrote:
zmedico wrote:
Ever since I added --jobs support, I've felt that suppression of build output would be a better default

Hmm I hope you didn't take offence at my saying it hadn't been thought-out enough? Obviously you have your reasons. The thing is you went ahead and implemented it with practically no discussion on the list (14 hours after it had been raised, which is nowhere near enough time for people to respond.)
I for one believe it is a more consistent behavior from the view point of an end user. If you see no output with -j2 there is no reason why you should see piles of output with -j1.

Just because the verbose output has been the default for many years does not mean that it should remain the default, especially with the introduction of these newer features like -j.

Naib is right. People just complain, because they can. :roll: I don't think it will be wrong if I say that all the people who are complaining are advanced gentoo users, because they want to see the output and glean information out of it. And if you are an advanced user, then it should be easy for you to add --quiet-build=y to make.conf.
_________________
emerge --quiet redefined | E17 vids: I, II | Now using kde5 | e is unstable :-/
Back to top
View user's profile Send private message
John R. Graham
Administrator
Administrator


Joined: 08 Mar 2005
Posts: 10587
Location: Somewhere over Atlanta, Georgia

PostPosted: Tue Nov 15, 2011 1:46 pm    Post subject: Reply with quote

steveL wrote:
(Quite a lot, really.)
Wow. If I were a developer, I'd seriously consider staying away from the forums. I know many do.

For what it's worth, I voted for silent by default.

- John
_________________
I can confirm that I have received between 0 and 499 National Security Letters.
Back to top
View user's profile Send private message
steveL
Watchman
Watchman


Joined: 13 Sep 2006
Posts: 5153
Location: The Peanut Gallery

PostPosted: Tue Nov 15, 2011 2:17 pm    Post subject: Reply with quote

John R. Graham wrote:
Wow. If I were a developer, I'd seriously consider staying away from the forums. I know many do.

Well most of what I wrote was about the topic of sensible defaults; the fact that there wasn't time for discussion led to a change of one aspect without considering another, the combination of which I felt would lead to a better default.

And yeah I can add an option, it's no biggy for me as I've already said; I was discussing what would be good defaults. Sorry if you feel I'm flaming anyone, it was not my intent. I simply feel the discussion should have happened before the change.
Back to top
View user's profile Send private message
gringo
Advocate
Advocate


Joined: 27 Apr 2003
Posts: 3793

PostPosted: Tue Nov 15, 2011 3:48 pm    Post subject: Reply with quote

ive been using portage with the most silent output for quite long now and im going to stick with that no matter what defaults it is going to have.

Why ? Because this is how a package manager should work IMO : only bitch if sth. has gone wrong or more input is needed, otherwise just proceed without spewing lots of stuff to the screen. There is no need to print by default anything apart from the merge process itself.
A regular user ( me included ) doesnt really care : if the package builds and works afterwards thats all i need. If something breaks i know where to look : i get an error telling me what phase failed, i have logs and i can switch to a verbose build in case i need it.

just my 2 cents.
Back to top
View user's profile Send private message
zmedico
Developer
Developer


Joined: 02 Jan 2004
Posts: 352
Location: California USA

PostPosted: Tue Nov 15, 2011 4:23 pm    Post subject: Reply with quote

steveL wrote:
Then on top you dismiss anyone who might disagree with you in this discussion. Any Gentoo user is what would be called a "power-user" on any other OS; we have to be. Don't dismiss our point of view so lightly.


Dismissing a POV and thinking that it is not representative of the majority are two entirely different things. Now it sounds like you're dismissing my POV by calling it dismissive. :wink:
_________________
Zac
Back to top
View user's profile Send private message
angry_vincent
n00b
n00b


Joined: 21 Feb 2010
Posts: 30

PostPosted: Tue Nov 15, 2011 5:43 pm    Post subject: Reply with quote

Rather than keep bitching new portage options, everyone give credits to zmedico for his enormous daily work with it. Yes, people like talks-about-nothing for 10+ pages, very much like those endless kde/gnome fanboys, really not a behaviour for true gentoo users. Set --quite-build=n in EMERGE_DEFAULTS_OPTS and be happy.
_________________
http://www.funtoo.org
Back to top
View user's profile Send private message
MustrumR
n00b
n00b


Joined: 15 Nov 2011
Posts: 71
Location: Right here

PostPosted: Tue Nov 15, 2011 5:53 pm    Post subject: Reply with quote

I think there should be verbosity levels.
For example:
0 - no build output
1 - unpacking, configuring, compiling etc.
2 - full build output.

emerge --sync should also be affected - setting the rsync verbosity.
Back to top
View user's profile Send private message
djinnZ
Advocate
Advocate


Joined: 02 Nov 2006
Posts: 4831
Location: somewhere in L.O.S.

PostPosted: Tue Nov 15, 2011 6:23 pm    Post subject: Reply with quote

vote:hide build output by default

zmedico wrote:
Generally, people who want to analyze build output are best served by PORT_LOGDIR.
I agree, in case of successiful build is sure a waste of resources, but...
more than once, for simple problems as library mismatch, is useful for me only read the last lines of the output.
Especially if the build start in a x terminal.
The full output, only in case of error, by default is good, having it scrolled directly by less, most (as build in console vt) or ccze will be the best.
I suggest alternative options as
    --quiet-build=[N,Y,E,L]-[flag]
  • N hide all
  • Y classical output if Y-flag only the selectet phase will give ouput y alone is for all
  • E default, only in case of errors
  • L at error output is showed as in LOG_LESS="less ${dest}" where dest is the logfile
  • F at error output is filtered as in LOG_FILTER="ccze -A -p distcc"
      flags are:
    • configure
    • build
    • install
A "full optional" solution.
-vv will also show the "internal" elements as rsync, wget outputs

[OT]Only because we are speaking about upgrades, emerge use the colors in the output so... asking to have something as this
emerge output wrote:
[build output][cut]
emake failed
* ERROR: media-libs/svgalib-1.9.25-r1 failed (
compile phase):
* Unable to
emake HOSTCC=i686-pc-linux-gnu-gcc CROSS_COMPILE=i686-pc-linux-gnu- LDFLAGS= KDIR=
*
* Call stack:
* ebuild.sh, line 56: Called src_compile
* environment, line 3771: Called linux-mod_src_compile
* environment, line 2880: Called die
* The specific snippet of code:
*
[code]
* If you need support, post the output of
'emerge --info =',
* the complete build log and the output of '
emerge -pqv ='.
* The complete build log is located at
'/var/tmp/portage/.../temp/build.log[cut]
is too much? :roll:

Adding "never report only the red coloured lines" will not help to prevent noobs in reporting only them, i think, but can be an idea too. :twisted: [/OT]

In fact is more important to have the ability to choice as discuss about the default (do what you want, is the same for me until I can use EMERGE_DEFAULTS_OPTS, but really what "normal" user need the output?).

just my ¼ cent.
_________________
scita et risus abundant in ore stultorum sed etiam semper severi insani sunt:wink:
mala tempora currunt...mater stultorum semper pregna est :evil:
Murpy'sLaw:If anything can go wrong, it will - O'Toole's Corollary:Murphy was an optimist :wink:
Back to top
View user's profile Send private message
evan18h
Tux's lil' helper
Tux's lil' helper


Joined: 02 Dec 2004
Posts: 83

PostPosted: Tue Nov 15, 2011 9:05 pm    Post subject: Reply with quote

Rule of Silence in the basics of Unix philosophy says

Quote:
When a program has nothing surprising to say, it should say nothing.


I think having it hidden by default is fine as long as we keep it trivial to choose the behavior (which seems to already be the case).
_________________
A day without sunshine is like night.
Back to top
View user's profile Send private message
aditsu
n00b
n00b


Joined: 16 Jul 2004
Posts: 6

PostPosted: Tue Nov 15, 2011 10:31 pm    Post subject: Reply with quote

I vote "other". I don't know if it's possible/feasible, but this is how I would like it to work:
- hide all the compile/assemble/link/build library/install/etc tasks and warnings; keep the configure tasks and all other (plain English) messages
- rather than hiding the above tasks completely, show a progress indicator as well as the current phase (configure/build/install/whatever); if a progress percentage is not feasible, then at least show a counter
- the option to control this should be something nicer than --quiet-build=N, but don't overload -v; perhaps use -vv or a different SHORTcut
From the man page, it looks like -q is supposed to do something similar, but in practice it seems a bit too quiet (just tried it now for the first time).
Back to top
View user's profile Send private message
Asphyxiated
n00b
n00b


Joined: 16 Nov 2011
Posts: 10
Location: Minnesota, USA

PostPosted: Wed Nov 16, 2011 5:40 am    Post subject: Reply with quote

For what its worth I was taken by surprise by the change in default behavior but it was no big deal to set EMERGE_DEFAULT_OPTS="--quiet-build=n"

I didn't particularly like the fact that the default behavior just up and changed on me but I also was not particularly upset by having to set this flag in make.conf

Although the change doesn't seem like gentoo to me just because the default has been to spew out all those lines of code for so long.

As others have said, I just would have like to have been notified of the change before you actually did it. If a gentoo user can't change a config file to get the computer to do what they want they haven't been using gentoo for very long.....
_________________
Disobedience is the true foundation of liberty. The obedient must be slaves.
~ Henry David Thoreau
Back to top
View user's profile Send private message
trippels
Tux's lil' helper
Tux's lil' helper


Joined: 24 Nov 2010
Posts: 137
Location: Berlin

PostPosted: Wed Nov 16, 2011 9:25 am    Post subject: Reply with quote

What is Gentoo if you can't stare at compiler output?
Voted "emerge should show build output by default".
Back to top
View user's profile Send private message
steveL
Watchman
Watchman


Joined: 13 Sep 2006
Posts: 5153
Location: The Peanut Gallery

PostPosted: Wed Nov 16, 2011 9:39 am    Post subject: Reply with quote

zmedico wrote:
steveL wrote:
Then on top you dismiss anyone who might disagree with you in this discussion. Any Gentoo user is what would be called a "power-user" on any other OS; we have to be. Don't dismiss our point of view so lightly.


Dismissing a POV and thinking that it is not representative of the majority are two entirely different things. Now it sounds like you're dismissing my POV by calling it dismissive. ;)

lol, i think we're on an infinite recursion here..

no, fwiw, I just don't think you thought it through properly in terms of landing the change on everyone; it was something you'd wanted to do for a while, and you'd only discussed it privately. As i said, i'm with you on not having loads of crap on the screen (it was one of the main selling points of update in the early days.)

and I disagree that only the people dead set against the change will comment; I think it far more statistically valid to say that out of the readership of whichever medium, only those who feel they have something to say will do so ;-) As you can see from the responses both here and on ML, there have been quite a few people speaking up in favour of the change.

Changes which radically affect the default ui people are used to, whether it's end-user ui or ebuild api, are only going to spark a reaction if people haven't had a heads-up. That's human nature too, and you must have seen similar examples over the years of your work on Gentoo.

Anyhow, thanks as ever for that work.
_________________
creaker wrote:
systemd. It is a really ass pain

update - "a most excellent portage wrapper"

#friendly-coders -- We're still here for you™ ;)
Back to top
View user's profile Send private message
steveL
Watchman
Watchman


Joined: 13 Sep 2006
Posts: 5153
Location: The Peanut Gallery

PostPosted: Wed Nov 16, 2011 9:53 am    Post subject: Reply with quote

aditsu wrote:
I vote "other". I don't know if it's possible/feasible, but this is how I would like it to work:
- hide all the compile/assemble/link/build library/install/etc tasks and warnings; keep the configure tasks and all other (plain English) messages
- rather than hiding the above tasks completely, show a progress indicator as well as the current phase (configure/build/install/whatever); if a progress percentage is not feasible, then at least show a counter
- the option to control this should be something nicer than --quiet-build=N, but don't overload -v; perhaps use -vv or a different SHORTcut
From the man page, it looks like -q is supposed to do something similar, but in practice it seems a bit too quiet (just tried it now for the first time).

Seriously, try update it does all that (apart from a progress percentage) if you don't have -j/--jobs in default opts or if you do, start it with -j1 / --jobs=1. (You use -q/-qq and -v/-vv to control verbosity during build.) It also handles ABI breakages like libpng that we're notified of by users (which doesn't really happen; users are as lazy as coders;) or eselect news. You always get the emerge -pv output beforehand and it does glsa-check, depclean, and revdep-rebuild for default -uDN --with-bdeps=y world target. Toolchain handling, perl-cleaner, python-update yadda yadda.. I'll push another version to deal with --quiet-build change.
</sales pitch> ;)
Back to top
View user's profile Send private message
arnvidr
l33t
l33t


Joined: 19 Aug 2004
Posts: 629
Location: Oslo, Norway

PostPosted: Wed Nov 16, 2011 10:17 am    Post subject: Reply with quote

The change took me by surprise, but after living with it for a few days, I realise I don't miss the output at all. Voted silent by default.
_________________
Noone wrote:
anything
Back to top
View user's profile Send private message
anti-s
n00b
n00b


Joined: 29 Oct 2005
Posts: 12
Location: Norway

PostPosted: Wed Nov 16, 2011 10:49 am    Post subject: emerge should show build output by default Reply with quote

The build output was what made me learn how compiling of applications worked, and to see how the different compilers worked.

I don't mind them showing by default because now that I'm familiar with most of the packages I always install I can just look in the build output to estimate where in the build progress the compiler working, and estimate how long it will go on.

May be a bit off-topic, but if the output-toggle is implemented - I would have liked to see some kind of timer indicating when the package is done compiling using results stored by 'qlop' or something similar.
_________________
For gentoo tips, tricks and other nerdy stuff, visit my blog: http://anderse.wordpress.com/


Last edited by anti-s on Wed Nov 16, 2011 10:54 am; edited 1 time in total
Back to top
View user's profile Send private message
Mepho
Arch/Herd Tester
Arch/Herd Tester


Joined: 31 Jul 2011
Posts: 14

PostPosted: Wed Nov 16, 2011 10:53 am    Post subject: Reply with quote

Well, there is one solution to jobs > 1 problem, it's called portage-jobsmon.
It's lil buggy and currently keyworded, but it does the job for me (doubt it would make it to official state, but it's a nice thing).

I prefer verbose by default, non verbose on multiple jobs. Or non verbose but outputting full log on error.
_________________
I WANT YOU
FOR GENTOO.
Back to top
View user's profile Send private message
aditsu
n00b
n00b


Joined: 16 Jul 2004
Posts: 6

PostPosted: Wed Nov 16, 2011 2:01 pm    Post subject: Reply with quote

steveL wrote:
Seriously, try update it does all that (apart from a progress percentage) if you don't have -j/--jobs in default opts or if you do, start it with -j1 / --jobs=1.

Um.. first of all, it took me a few minutes to understand that you're talking about a program called "update" rather than updating portage. A sales pitch should be clearer.
Second, no multiple jobs? That sucks.
And third, it's not in the tree and not even an overlay? I don't think I'll bother.
But thanks for the suggestion.
Back to top
View user's profile Send private message
Display posts from previous:   
Reply to topic    Gentoo Forums Forum Index Gentoo Chat All times are GMT
Goto page Previous  1, 2, 3, 4 ... 9, 10, 11  Next
Page 3 of 11

 
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