Date: Thu, 11 Sep 2008 02:40:19 GMT From: Mark Linimon <linimon@FreeBSD.org> To: FreeBSD-gnats-submit@FreeBSD.org Subject: ports/127286: update to makeduds script to annotate why packages were skipped Message-ID: <200809110240.m8B2eJDi003513@freefall.freebsd.org> Resent-Message-ID: <200809110250.m8B2o1be003794@freefall.freebsd.org>
next in thread | raw e-mail | index | archive | help
>Number: 127286 >Category: ports >Synopsis: update to makeduds script to annotate why packages were skipped >Confidential: no >Severity: non-critical >Priority: low >Responsible: freebsd-ports-bugs >State: open >Quarter: >Keywords: >Date-Required: >Class: change-request >Submitter-Id: current-users >Arrival-Date: Thu Sep 11 02:50:01 UTC 2008 >Closed-Date: >Last-Modified: >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: >Unformatted:
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200809110240.m8B2eJDi003513>