Bug 34459

Summary: Dumping config.log on configure error is unintuitive.
Product: Ports & Packages Reporter: Thomas Hurst <freaky>
Component: Individual Port(s)Assignee: Port Management Team <portmgr>
Status: Closed FIXED    
Severity: Affects Only Me    
Priority: Normal    
Version: Latest   
Hardware: Any   
OS: Any   
Attachments:
Description Flags
bsd.port.mk.diff none

Description Thomas Hurst 2002-01-30 17:50:00 UTC
        When configure fails, bsd.port.mk dumps config.log to the
        terminal.  This typcially results in several thousand lines of
        crap which often hides the actual problem way up in the display
        buffer, assuming it extends that far up.

        It should either pipe it through a pager, tail the last 20 lines
        or so (since that'll be where it failed anyway), or be made
        optional.

Fix: 

I tried for a patch, but my makefile abilities are weak.
Comment 1 Scot W. Hetzel 2002-01-30 21:35:24 UTC
From: "Thomas Hurst" <freaky@aagh.net>
>         When configure fails, bsd.port.mk dumps config.log to the
>         terminal.  This typcially results in several thousand lines of
>         crap which often hides the actual problem way up in the display
>         buffer, assuming it extends that far up.
>
>         It should either pipe it through a pager, tail the last 20 lines
>         or so (since that'll be where it failed anyway), or be made
>         optional.

bsd.port.mk doesn't dump the contents of the config.log.  config.log is
dumped by the configure script in the work/<distname> directory.

Scot
Comment 2 Thomas Hurst 2002-01-30 22:43:00 UTC
* Scot W. Hetzel (hetzels@westbend.net) wrote:

> From: "Thomas Hurst" <freaky@aagh.net>
> >         When configure fails, bsd.port.mk dumps config.log to the
> >         terminal.  This typcially results in several thousand lines of
> >         crap which often hides the actual problem way up in the display
> >         buffer, assuming it extends that far up.
> >
> >         It should either pipe it through a pager, tail the last 20 lines
> >         or so (since that'll be where it failed anyway), or be made
> >         optional.
> 
> bsd.port.mk doesn't dump the contents of the config.log.  config.log is
> dumped by the configure script in the work/<distname> directory.

Um, line 2270:

${CONFIGURE_ENV} ./${CONFIGURE_SCRIPT} ${CONFIGURE_ARGS}; then \
        ${ECHO} "===>  Script \"${CONFIGURE_SCRIPT}\" failed: here are the contents of \"${CONFIGURE_LOG}\""; \
        ${CAT} ${CONFIGURE_LOG}; \
        ${ECHO} "(end of \"${CONFIGURE_LOG}\")"; \

-- 
Thomas 'Freaky' Hurst  -  freaky@aagh.net  -  http://www.aagh.net/
-
Binary, adj.:
	Possessing the ability to have friends of both sexes.
Comment 3 Alan Eldridge 2002-01-30 23:37:13 UTC
This is nasty. Somebody please patch this out, or at least give it a knob
that defaults to 'no'. I'm sorry to be so blunt, but dumping config.log in
its entirety sucks really hard.

-- 
Alan E
"Please rush me my portable walrus cleaning kit! Yes I am over 18, 
but my IQ isn't."
Comment 4 Scot W. Hetzel 2002-01-31 01:33:01 UTC
From: "Thomas Hurst" <freaky@aagh.net>
> To: "Scot W. Hetzel" <hetzels@westbend.net>
>  > bsd.port.mk doesn't dump the contents of the config.log.  config.log is
>  > dumped by the configure script in the work/<distname> directory.
>
>  Um, line 2270:
>
>  ${CONFIGURE_ENV} ./${CONFIGURE_SCRIPT} ${CONFIGURE_ARGS}; then \
>          ${ECHO} "===>  Script \"${CONFIGURE_SCRIPT}\" failed: here are
the contents of \"${CONFIGURE_LOG}\""; \
>          ${CAT} ${CONFIGURE_LOG}; \
>          ${ECHO} "(end of \"${CONFIGURE_LOG}\")"; \
>
I stand corrected, I have attached a patch that puts a 'if CONFIG_DEBUG....
.. fi' around this.  I believe this was added so that bento's logs would
have the output of the config.log file in them.

Bento's scripts would need to be changed to add a -DCONFIG_DEBUG when
building packages.

Scot
Comment 5 Scot W. Hetzel 2002-01-31 01:49:18 UTC
Attached is a uuencoded version of the patch.


begin 666 bsd.port.mk.diff
M26YD97@Z(&)S9"YP;W)T+FUK"CT]/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]
M/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T*4D-3
M(&9I;&4Z("]H;VUE+VYC=G,O<&]R=',O36LO8G-D+G!O<G0N;6LL=@IR971R
M:65V:6YG(')E=FES:6]N(#$N,SDW"F1I9F8@+74@+7(Q+C,Y-R!B<V0N<&]R
M="YM:PHM+2T@8G-D+G!O<G0N;6L),C0@2F%N(#(P,#(@,#$Z,34Z,#,@+3 P
M,# ),2XS.3<**RLK(&)S9"YP;W)T+FUK"3,Q($IA;B R,# R(# Q.C$X.C(X
M("TP,# P"D! ("TU,3,L-B K-3$S+#<@0$ *(",)"0D)("!T;R!T=7)N('1H
M96T@;V9F("AD969A=6QT.B D>T5#2$]]*2X*(",@4$%40TA?1$5"54<)+2!)
M9B!S970L('!R:6YT(&]U="!M;W)E(&EN9F]R;6%T:6]N(&%B;W5T('1H92!P
M871C:&5S(&%S"B C"0D)"2 @:70@871T96UP=',@=&\@87!P;'D@=&AE;2X*
M*R,@0T].1DE'7T1%0E5'"2T@268@<V5T+"!P<FEN="!O=70@;6]R92!I;F9O
M<FUA=&EO;B!A8F]U="!T:&4@8V]N9FEG=7)E('!R;V-E<W,N"B C(%!+1U]$
M0D1)4@D)+2!7:&5R92!P86-K86=E(&EN<W1A;&QA=&EO;B!I<R!R96-O<F1E
M9" H9&5F875L=#H@+W9A<B]D8B]P:V<I"B C($Y/7U!+1U]214=)4U1%4B M
M($1O;B=T(')E9VES=&5R(&$@<&]R="!I;G-T86QL871I;VX@87,@82!P86-K
M86=E+@H@(R!&3U)#15]02T=?4D5'25-415(@+2!)9B!S970L(&ET('=I;&P@
M;W9E<G=R:71E(&%N>2!E>&ES=&EN9R!P86-K86=E"D! ("TQ,3$R+#8@*S$Q
M,3(L,3(@0$ *(%!!5$-(7T1)4U1?05)'4RL]"2U#"B N96YD:68*( HK+FEF
M(&1E9FEN960H0T].1DE'7T1%0E5'*0HK0T].1DE'7T1%0E5'7U1-4#T)>65S
M"BLN96QS90HK0T].1DE'7T1%0E5'7U1-4#T);F\**RYE;F1I9@HK"B N:68@
M97AI<W1S*"]B:6XO=&%R*0H@5$%2/ST)+V)I;B]T87(*("YE;'-E"D! ("TR
M,C T+#D@*S(R,#0L,3,@0$ *( D@(" @24Y35$%,3%]04D]'4D%-/2(D>TE.
M4U1!3$Q?4%)/1U)!37TB(%P*( D@(" @24Y35$%,3%]30U))4%0](B1[24Y3
M5$%,3%]30U))4%1](B!<"B )(" @("1[0T].1DE'55)%7T5.5GT@+B\D>T-/
M3D9)1U5215]30U))4%1]("1[0T].1DE'55)%7T%21U-].R!T:&5N(%P*+0D)
M"21[14-(3WT@(CT]/3X@(%-C<FEP="!<(B1[0T].1DE'55)%7U-#4DE05'U<
M(B!F86EL960Z(&AE<F4@87)E('1H92!C;VYT96YT<R!O9B!<(B1[0T].1DE'
M55)%7TQ/1WU<(B([(%P*+0D)"21[0T%4?2 D>T-/3D9)1U5215],3T=].R!<
M"BT)"0DD>T5#2$]]("(H96YD(&]F(%PB)'M#3TY&24=54D5?3$]'?5PB*2([
M(%P**PD)"6EF(%L@)'M#3TY&24=?1$5"54=?5$U0(#T@>65S(%T[('1H96X@
M7 HK"0D)"21[14-(3WT@(CT]/3X@(%-C<FEP="!<(B1[0T].1DE'55)%7U-#
M4DE05'U<(B!F86EL960Z(&AE<F4@87)E('1H92!C;VYT96YT<R!O9B!<(B1[
M0T].1DE'55)%7TQ/1WU<(B([(%P**PD)"0DD>T-!5'T@)'M#3TY&24=54D5?
M3$]'?3L@7 HK"0D)"21[14-(3WT@(BAE;F0@;V8@7"(D>T-/3D9)1U5215],
M3T=]7"(I(CL@7 HK"0D)96QS92!<"BL)"0D))'M%0TA/?2 B/3T]/B!38W)I
M<'0@(%PB)'M#3TY&24=54D5?4T-225!4?5PB(&9A:6QE9#H@<F5V:65W("1[
M0T].1DE'55)%7U=22U-20WTO)'M#3TY&24=54D5?3$]'?2!F;W(@<')O8FQE
M;2(@.R!<"BL)"0EF:2 [(%P*( D)"21[1D%,4T5].R!<"B )"69I*0H@+F5N
$9&EF"@``
`
end
Comment 6 Scot W. Hetzel 2002-01-31 17:54:43 UTC
Ignore the previous patches, as they were missing a "}" to CONFIG_DEBUG_TMP.

I have also added a code that will change the auto[conf|make] programs in the
configure script to the correct versions.  This is needed as I have noticed
that sometimes both autoconf* are run (i.e ${AUTOCONF} by bsd.port.mk, and
autoconf by the src distibutions Makefile).

Scot

Index: bsd.port.mk
===================================================================
RCS file: /home/ncvs/ports/Mk/bsd.port.mk,v
retrieving revision 1.397
diff -u -r1.397 bsd.port.mk
--- bsd.port.mk	24 Jan 2002 01:15:03 -0000	1.397
+++ bsd.port.mk	31 Jan 2002 16:32:34 -0000
@@ -513,6 +513,7 @@
 #				  to turn them off (default: ${ECHO}).
 # PATCH_DEBUG	- If set, print out more information about the patches as
 #				  it attempts to apply them.
+# CONFIG_DEBUG	- If set, print out more information about the configure process.
 # PKG_DBDIR		- Where package installation is recorded (default: /var/db/pkg)
 # NO_PKG_REGISTER - Don't register a port installation as a package.
 # FORCE_PKG_REGISTER - If set, it will overwrite any existing package
@@ -1112,6 +1113,12 @@
 PATCH_DIST_ARGS+=	-C
 .endif
 
+.if defined(CONFIG_DEBUG)
+CONFIG_DEBUG_TMP=	yes
+.else
+CONFIG_DEBUG_TMP=	no
+.endif
+
 .if exists(/bin/tar)
 TAR?=	/bin/tar
 .else
@@ -2197,6 +2204,9 @@
 	fi
 .if defined(HAS_CONFIGURE)
 	@(cd ${CONFIGURE_WRKSRC} && \
+		${PERL} -pi -e  "s/aclocal/${ACLOCAL}/g; s/automake/${AUTOMAKE}/g; \
+				 s/autoconf/${AUTOCONF}/g; s/autoheader/${AUTOHEADER}/g;" \
+				${CONFIGURE_SCRIPT} ; \
 		if ! ${SETENV} CC="${CC}" CXX="${CXX}" \
 	    CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" \
 	    INSTALL="/usr/bin/install -c -o ${BINOWN} -g ${BINGRP}" \
@@ -2204,9 +2214,13 @@
 	    INSTALL_PROGRAM="${INSTALL_PROGRAM}" \
 	    INSTALL_SCRIPT="${INSTALL_SCRIPT}" \
 	    ${CONFIGURE_ENV} ./${CONFIGURE_SCRIPT} ${CONFIGURE_ARGS}; then \
-			${ECHO} "===>  Script \"${CONFIGURE_SCRIPT}\" failed: here are the contents of \"${CONFIGURE_LOG}\""; \
-			${CAT} ${CONFIGURE_LOG}; \
-			${ECHO} "(end of \"${CONFIGURE_LOG}\")"; \
+			if [ ${CONFIG_DEBUG_TMP} = yes ]; then \
+				${ECHO} "===>  Script \"${CONFIGURE_SCRIPT}\" failed: here are the contents of \"${CONFIGURE_LOG}\""; \
+				${CAT} ${CONFIGURE_LOG}; \
+				${ECHO} "(end of \"${CONFIGURE_LOG}\")"; \
+			else \
+				${ECHO} "===> Script  \"${CONFIGURE_SCRIPT}\" failed: review ${CONFIGURE_WRKSRC}/${CONFIGURE_LOG} for problem" ; \
+			fi ; \
 			${FALSE}; \
 		fi)
 .endif
Comment 7 Pete Fritchman freebsd_committer freebsd_triage 2002-02-20 08:07:59 UTC
Responsible Changed
From-To: freebsd-ports->portmgr

Over to maintainer.  A fix in the meantime is to set CONFIGURE_LOG=/dev/null 
in /etc/make.conf.
Comment 8 Maxim Sobolev freebsd_committer freebsd_triage 2002-04-25 16:31:21 UTC
State Changed
From-To: open->closed

The problem was resolved in rev.1.410 of bsd.port.mk. Thank you for submission!