> On Mar 5, 2017, at 17:05, Garance A Drosehn <dro...@rpi.edu> wrote: > > On 4 Mar 2017, at 15:42, Ngie Cooper (yaneurabeya) wrote: > >>> On Mar 4, 2017, at 12:39, Rodney W. Grimes wrote: >>> >>>> On 4 Mar 2017, at 15:13, Bryan Drewery wrote: >>>> >>>> Where is this discussion? The only one I can find is >>>> https://reviews.freebsd.org/D9207 which seems to have >>>> a consensus of moving to SRCTOP and :H vs '../..'. >>> >>> There was a short discussion here on the commiters list >>> with some others expressing the preferred the relative >>> status of things even though it clutters logs. >>> >>> D9207 touches 15 files.. I would not consider that an >>> adequate review that is actually going to change nearly >>> every Makefile in the tree, and change what people have >>> been looking and at working with for 30 years. >>> >>> I don't think any differntial that only had 3 or 4 people >>> involved that is going to effect all developers is >>> adequate either. Tree wide sweeping changes should be >>> discussed far more widely. >>> >>> Idk, maybe I am to personally attached to the relative >>> paths.. cause I had a major part in helping them all to >>> work, or perhaps its my been burned by absolute paths >>> that had to be reworked too many times in my past. But >>> my gut is telling me this change is Bad(tm). >> >> I care about this for the reasons brewery posted, but I >> also care because it slows down my terminal output and >> it bloats my disk with typescript logs that contain >> unnecessary information. > > FWIW, here was my method to fix the "slows down output" issue. > I wrote a wrapper around 'make' which I called "wcmake", and > it runs the output from a 'make' command through a script > which does a variety of analysis on that output. > > Among other things, it truncates the lines of make-output to > screen width, but it saves the full output to a temp file, and > then compresses that temp file. It also parses and condenses > the output so what the user sees at the console looks like: > > cc -c /usr/src/usr.bin/make/arch.c -O2 -pipe -I/usr/src/usr.bin/make > -DMAKE_V|+ > cc -c /usr/src/usr.bin/make/buf.c -O2 -pipe -I/usr/src/usr.bin/make > -DMAKE_VE|+ > cc -c /usr/src/usr.bin/make/cond.c -O2 -pipe -I/usr/src/usr.bin/make > -DMAKE_V|+ > > instead of: > > cc -O2 -pipe -I/usr/src/usr.bin/make -DMAKE_VERSION=\"9201210220\" > -DDEFSHELLNAME=\"sh\" -std=gnu99 -fstack-protector -Wsystem-headers -Wall > -Wno-format-y2k -W -Wno-unused-parameter -Wstrict-prototypes > -Wmissing-prototypes -Wpointer-arith -Wreturn-type -Wcast-qual > -Wwrite-strings -Wswitch -Wshadow -Wunused-parameter -Wcast-align > -Wchar-subscripts -Winline -Wnested-externs -Wredundant-decls > -Wold-style-definition -Wno-pointer-sign -c /usr/src/usr.bin/make/arch.c -o > arch.o > > cc -O2 -pipe -I/usr/src/usr.bin/make -DMAKE_VERSION=\"9201210220\" > -DDEFSHELLNAME=\"sh\" -std=gnu99 -fstack-protector -Wsystem-headers -Wall > -Wno-format-y2k -W -Wno-unused-parameter -Wstrict-prototypes > -Wmissing-prototypes -Wpointer-arith -Wreturn-type -Wcast-qual > -Wwrite-strings -Wswitch -Wshadow -Wunused-parameter -Wcast-align > -Wchar-subscripts -Winline -Wnested-externs -Wredundant-decls > -Wold-style-definition -Wno-pointer-sign -c /usr/src/usr.bin/make/buf.c -o > buf.o > > cc -O2 -pipe -I/usr/src/usr.bin/make -DMAKE_VERSION=\"9201210220\" > -DDEFSHELLNAME=\"sh\" -std=gnu99 -fstack-protector -Wsystem-headers -Wall > -Wno-format-y2k -W -Wno-unused-parameter -Wstrict-prototypes > -Wmissing-prototypes -Wpointer-arith -Wreturn-type -Wcast-qual > -Wwrite-strings -Wswitch -Wshadow -Wunused-parameter -Wcast-align > -Wchar-subscripts -Winline -Wnested-externs -Wredundant-decls > -Wold-style-definition -Wno-pointer-sign -c /usr/src/usr.bin/make/cond.c -o > cond.o > > # [I added blank-lines between the lines of make-output, so > # it doesn't look so much like a solid wall of characters] > > (ie, it moves the '-c filename' to the start of the line, strips > the setting of any environment variables at the start, and tacks > on the '|+' at the end if it has truncated the line). It also > parses the output looking for warning messages, and writes a > summary of messages-seen after the 'make' has finished. > > One of the goals was to speed up buildworld's when I was doing > them via a serial console-session or over a slow ssh-connection. > But this way if something really bad or odd *did* come up, I > could look at the original full make-output which was saved on > disk. Adding a wrapper-script obviously adds more CPU work to > the build, but my builds definitely finished faster as-far-as > wall-clock time because I was writing so much less output to > the console. > > I have two versions of this script, and I don't remember why > there are two versions. The first one was written in perl, and > later I wrote a second one in ruby. Both are under ~gad/scripts > on the machines at freebsd.org. I'm sure the code in the > scripts is probably lousy and somewhat embarrassing (to me), > but you could at least check them out and see where I was > going with it. > > disclaimer: I haven't taken a serious look at these scripts a > few years. I'm sure they need to be updated due to new commands > and new warning messages which have appeared since then.
Hi! Have you considered using make -s instead? It definitely abbreviates the output quite a bit... I probably could do similar for my local builds. Our Jenkins runs don't do that, but maybe they should though.. Thanks, -Ngie _______________________________________________ svn-src-head@freebsd.org mailing list https://lists.freebsd.org/mailman/listinfo/svn-src-head To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"