From linimon@FreeBSD.org  Thu Sep 11 02:40:19 2008
Return-Path: <linimon@FreeBSD.org>
Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34])
	by hub.freebsd.org (Postfix) with ESMTP id BD2E1106566B
	for <FreeBSD-gnats-submit@freebsd.org>; Thu, 11 Sep 2008 02:40:19 +0000 (UTC)
	(envelope-from linimon@FreeBSD.org)
Received: from freefall.freebsd.org (freefall.freebsd.org [IPv6:2001:4f8:fff6::28])
	by mx1.freebsd.org (Postfix) with ESMTP id A9DD48FC0A
	for <FreeBSD-gnats-submit@freebsd.org>; Thu, 11 Sep 2008 02:40:19 +0000 (UTC)
	(envelope-from linimon@FreeBSD.org)
Received: from freefall.freebsd.org (linimon@localhost [127.0.0.1])
	by freefall.freebsd.org (8.14.2/8.14.2) with ESMTP id m8B2eJwL003514
	for <FreeBSD-gnats-submit@freebsd.org>; Thu, 11 Sep 2008 02:40:19 GMT
	(envelope-from linimon@freefall.freebsd.org)
Received: (from linimon@localhost)
	by freefall.freebsd.org (8.14.2/8.14.1/Submit) id m8B2eJDi003513;
	Thu, 11 Sep 2008 02:40:19 GMT
	(envelope-from linimon)
Message-Id: <200809110240.m8B2eJDi003513@freefall.freebsd.org>
Date: Thu, 11 Sep 2008 02:40:19 GMT
From: Mark Linimon <linimon@FreeBSD.org>
Reply-To: Mark Linimon <linimon@FreeBSD.org>
To: FreeBSD-gnats-submit@freebsd.org
Subject: update to makeduds script to annotate why packages were skipped
X-Send-Pr-Version: 3.113

>Number:         127286
>Category:       ports
>Synopsis:       update to makeduds script to annotate why packages were skipped
>Confidential:   no
>Severity:       non-critical
>Priority:       low
>Responsible:    linimon
>State:          closed
>Quarter:        
>Keywords:       
>Date-Required:  
>Class:          change-request
>Submitter-Id:   current-users
>Arrival-Date:   Thu Sep 11 02:50:01 UTC 2008
>Closed-Date:    Thu Nov 12 03:44:35 UTC 2009
>Last-Modified:  Thu Nov 12 03:44:35 UTC 2009
>Originator:     Mark Linimon
>Release:        FreeBSD 7.0-STABLE i386
>Organization:
FreeBSD
>Environment:
	N/A
>Description:
This change to the makeduds scripts annotates the duds file with _why_
each package is a dud.  What this allows us to do is to show users
accurate metadata for the ports tree as of the build date.

Although portsmon makes a close approximation of the pointyhat build
environment, there are some minor differences.  However, the worse
problem is that portsmon has no concept of what the exact state of the
ports tree was as of the pointyhat tree update.

Testing on an otherwise idle system (thunder5) shows no statistical
time difference (see below).  The existing files (duds, duds.orig, and
duds.full) are created exactly the same.

#
# modified script
#
#time /var/portbuild/scripts/makeduds.linimon i386 7 latest
#
#     1051.44 real      1680.76 user       349.51 sys
#     1041.52 real      1677.31 user       349.00 sys
#     1040.30 real      1677.66 user       348.42 sys
#     1042.21 real      1677.24 user       348.95 sys
#     1042.26 real      1676.58 user       350.42 sys
#
# unmodified script but hacked for thunder5 buildenv
#
#time /var/portbuild/scripts/makeduds.real i386 7 latest
#
#     1042.90 real      1678.05 user       349.47 sys
#     1042.93 real      1678.76 user       348.49 sys
#     1042.65 real      1678.18 user       348.84 sys
#     1041.75 real      1678.72 user       347.20 sys
#     1049.67 real      1679.85 user       349.34 sys
#     1042.27 real      1678.34 user       348.23 sys
#     1043.03 real      1678.23 user       348.50 sys
#

head -10 duds.verbose

9term-1.6.3_2|IGNORE: is marked as broken: Unfetchable
AutoIndex-1.5.4_1|IGNORE: cannot install: doesn't work with PHP version : 5 (Doesn't support PHP 5)
DIMES-0.4.3b|NO_PACKAGE: There is the string in properties.xml which system-depends
Ebnf2ps-1.05_3|IGNORE: is marked as broken: Does not build
FreeMat-mpi-3.6_2|IGNORE: no MPI support at the moment
Generic-NQS-3.50.9_2|IGNORE: is an interactive port
HeroesOfMightAndMagic-3_1|IGNORE: is an interactive port
InsightToolkit-2.8.1_1|NO_PACKAGE: License does not allow redistribution of binaries
NeTraMet-4.4_3|IGNORE: is marked as broken: Checksum mismatch
Ocsinventory-Agent-0.0.9.2_1|IGNORE: is an interactive port

head -10 duds.full.verbose

9term-1.6.3_2|IGNORE: is marked as broken: Unfetchable
AutoIndex-1.5.4_1|IGNORE: cannot install: doesn't work with PHP version : 5 (Doesn't support PHP 5)
DIMES-0.4.3b|NO_PACKAGE: There is the string in properties.xml which system-depends
Ebnf2ps-1.05_3|IGNORE: is marked as broken: Does not build
FreeCAD-0.6.472_2|IGNORE: dependent port
FreeMat-mpi-3.6_2|IGNORE: no MPI support at the moment
Generic-NQS-3.50.9_2|IGNORE: is an interactive port
HeroesOfMightAndMagic-3_1|IGNORE: is an interactive port
InsightToolkit-2.8.1_1|NO_PACKAGE: License does not allow redistribution of binaries
Miro-1.2.6|IGNORE: dependent port
>How-To-Repeat:
N/A
>Fix:

Index: Tools/portbuild/scripts/makeduds
===================================================================
RCS file: /home/FreeBSD/pcvs/ports/Tools/portbuild/scripts/makeduds,v
retrieving revision 1.20
diff -u -r1.20 makeduds
--- Tools/portbuild/scripts/makeduds	26 Jul 2008 13:47:03 -0000	1.20
+++ Tools/portbuild/scripts/makeduds	11 Sep 2008 10:07:09 -0000
@@ -40,9 +40,14 @@
 export PORT_DBDIR=/nonexistentport
 
 cd ${PORTSDIR}
-make -j${DUDSJOBS} ignorelist ECHO_MSG=true > ${duds} || exit 1
-sort ${duds} > ${duds}.tmp
-mv -f ${duds}.tmp ${duds}
+make -j${DUDSJOBS} ignorelist-verbose ECHO_MSG=true > ${duds}.verbose 2> /dev/null || exit 1
+sort ${duds}.verbose > ${duds}.verbose.tmp
+mv -f ${duds}.verbose.tmp ${duds}.verbose
+cut -f 1 -d \| ${duds}.verbose > ${duds}
 
 cp ${duds} ${duds}.orig
 grep -Ff ${duds}.orig ${index} | cut -f 1 -d \| > ${duds}.full
+
+cat ${duds} ${duds}.full | sort | uniq -u | sed -e "s@\$@|IGNORE: dependent port@" > ${duds}.full.verbose.tmp
+cat ${duds}.verbose ${duds}.full.verbose.tmp | sort > ${duds}.full.verbose
+rm ${duds}.full.verbose.tmp
Index: Mk/bsd.port.mk
===================================================================
RCS file: /home/FreeBSD/pcvs/ports/Mk/bsd.port.mk,v
retrieving revision 1.604
diff -u -r1.604 bsd.port.mk
--- Mk/bsd.port.mk	5 Sep 2008 19:41:43 -0000	1.604
+++ Mk/bsd.port.mk	8 Sep 2008 14:07:57 -0000
@@ -3166,9 +3167,9 @@
 .if defined(IGNORE) || defined(NO_PACKAGE)
 ignorelist-verbose:
 .if defined(IGNORE)
-	@${ECHO_MSG} "${PKGNAME}|IGNORE: "${IGNORE:Q}
+	@${ECHO_CMD} "${PKGNAME}|IGNORE: "${IGNORE:Q}
 .else
-	@${ECHO_MSG} "${PKGNAME}|NO_PACKAGE: "${NO_PACKAGE:Q}
+	@${ECHO_CMD} "${PKGNAME}|NO_PACKAGE: "${NO_PACKAGE:Q}
 .endif
 .else
 ignorelist-verbose:

>Release-Note:
>Audit-Trail:
Responsible-Changed-From-To: freebsd-ports-bugs->linimon 
Responsible-Changed-By: linimon 
Responsible-Changed-When: Thu Sep 11 02:53:25 UTC 2008 
Responsible-Changed-Why:  
My idea. 

http://www.freebsd.org/cgi/query-pr.cgi?pr=127286 

From: dfilter@FreeBSD.ORG (dfilter service)
To: bug-followup@FreeBSD.org
Cc:  
Subject: Re: ports/127286: commit references a PR
Date: Sun, 11 Jan 2009 11:04:20 +0000 (UTC)

 pav         2009-01-11 11:04:05 UTC
 
   FreeBSD ports repository
 
   Modified files:
     Mk                   bsd.port.mk 
   Log:
   - Remove conditional checks and support for FreeBSD versions prior 6.0-RELEASE
   
   Submitted by:   pav
   
   - Fix COPYTREE_* macros not to change permissions and ownership on files, that
     were already present in the target path
   
   Submitted by:   beech
   
   - Add a showconfig-recursive target, which has been in documentation for years
     but never implemented
   
   PR:             ports/87642, ports/126770
   Submitted by:   Andy Kosela <andy.kosela@gmail.com>
   
   - Fix ignorelist-verbose target (in preparation for duds.verbose)
   
   PR:             ports/127286 (part of)
   Submitted by:   linimon
   
   - Fix OPTIONS dialog to show up for every previously unconfigured port in the
     dependency chain
   
   PR:             ports/127554
   Submitted by:   ale
   
   - Fail, if recursing into a dependency failed to satisfy the dependency object
     (only for :install targets)
   
   PR:             ports/116601
   Submitted by:   edwin
   
   Revision  Changes    Path
   1.606     +46 -26    ports/Mk/bsd.port.mk
 _______________________________________________
 cvs-all@freebsd.org mailing list
 http://lists.freebsd.org/mailman/listinfo/cvs-all
 To unsubscribe, send any mail to "cvs-all-unsubscribe@freebsd.org"
 
State-Changed-From-To: open->closed 
State-Changed-By: linimon 
State-Changed-When: Thu Nov 12 03:43:28 UTC 2009 
State-Changed-Why:  
This got commmitted 2009/05/21 by pav. 

http://www.freebsd.org/cgi/query-pr.cgi?pr=127286 
>Unformatted:
