Date: Tue, 26 Apr 2011 08:18:01 +0000 (UTC) From: Florent Thoumie <flz@FreeBSD.org> To: src-committers@freebsd.org, svn-src-projects@freebsd.org Subject: svn commit: r221057 - projects/portbuild/scripts Message-ID: <201104260818.p3Q8I1Vf013736@svn.freebsd.org>
next in thread | raw e-mail | index | archive | help
Author: flz Date: Tue Apr 26 08:18:01 2011 New Revision: 221057 URL: http://svn.freebsd.org/changeset/base/221057 Log: Add support for dopackages -target <file>, to only build a defined set of ports. Modified: projects/portbuild/scripts/dopackages projects/portbuild/scripts/makeduds projects/portbuild/scripts/makeindex projects/portbuild/scripts/makerestr Modified: projects/portbuild/scripts/dopackages ============================================================================== --- projects/portbuild/scripts/dopackages Tue Apr 26 08:18:00 2011 (r221056) +++ projects/portbuild/scripts/dopackages Tue Apr 26 08:18:01 2011 (r221057) @@ -14,7 +14,7 @@ umask 002 journalname="journal" usage () { - echo "usage: arch branch buildid datestamp [-incremental] [-continue] [-restart] [-nofinish] [-finish] [-nocleanup] [-keep] [-nobuild] [-noindex] [-noduds] [-norestr] [-nochecksubdirs] [-nosrc] [-srcvcs] [-noports] [-portsvcs] [-noplistcheck] [-nodistfiles] [-fetch-original] [-cdrom] [-trybroken]" + echo "usage: arch branch buildid datestamp [-incremental] [-continue] [-restart] [-nofinish] [-finish] [-nocleanup] [-keep] [-nobuild] [-noindex] [-noduds] [-norestr] [-nochecksubdirs] [-nosrc] [-srcvcs] [-noports] [-portsvcs] [-noplistcheck] [-nodistfiles] [-fetch-original] [-cdrom] [-trybroken] [-target <file>]" # XXX MCL I think it's going to be too hard to move the create in here, now. echo " -incremental : Start a new incremental build" echo " -continue : Restart an interrupted build, skipping failed ports" @@ -37,6 +37,7 @@ usage () { echo " -fetch-original : Fetch from original MASTER_SITE" echo " -cdrom : Prepare a build for distribution on CDROM " echo " -trybroken : Try to build BROKEN ports" + echo " -target <file> : Build ports listed in file, rather than the whole ports tree" exit 1 } @@ -93,7 +94,7 @@ portstar() { md5 ${builddir}/ports-${buildid}.tbz > ${builddir}/ports-${buildid}.tbz.md5 } -# usage: makeindex pb arch branch builddir +# usage: makeindex pb arch branch builddir [target] # note: can take ~24 minutes! makeindex () { pb=$1 @@ -101,13 +102,14 @@ makeindex () { branch=$3 buildid=$4 builddir=$5 + target=$6 cd ${builddir}/ports echo "================================================" echo "generating index" echo "================================================" echo "index generation started at $(date)" - ${pb}/scripts/makeindex ${arch} ${branch} ${buildid} || return 1 + ${pb}/scripts/makeindex ${arch} ${branch} ${buildid} ${target} || return 1 echo "index generation ended at $(date)" echo $(wc -l ${INDEXFILE} | awk '{print $1}') "lines in INDEX" @@ -137,7 +139,7 @@ checkindex () { fi } -# usage: makeduds pb arch branch builddir +# usage: makeduds pb arch branch builddir [target] # note: can take ~21 minutes! makeduds () { pb=$1 @@ -145,6 +147,7 @@ makeduds () { branch=$3 buildid=$4 builddir=$5 + target=$6 cd ${builddir}/ports echo "================================================" @@ -154,7 +157,7 @@ makeduds () { if [ -e ${builddir}/duds ]; then cp -p ${builddir}/duds ${builddir}/duds.old fi - if ! ${pb}/scripts/makeduds ${arch} ${branch} ${buildid}; then + if ! ${pb}/scripts/makeduds ${arch} ${branch} ${buildid} ${target}; then echo "error(s) detected, exiting script at $(date). Failed duds list was:" cat ${builddir}/duds mailexit 1 @@ -170,7 +173,7 @@ makeduds () { cp -p ${builddir}/duds ${builddir}/duds.orig } -# usage: restrictedlist pb arch branch builddir +# usage: restrictedlist pb arch branch builddir [target] # note: can take ~25 minutes! restrictedlist () { pb=$1 @@ -178,13 +181,14 @@ restrictedlist () { branch=$3 buildid=$4 builddir=$5 + target=$6 cd ${builddir}/ports echo "================================================" echo "creating restricted list" echo "================================================" echo "restricted list generation started at $(date)" - ${pb}/scripts/makerestr ${arch} ${branch} ${buildid} || return 1 + ${pb}/scripts/makerestr ${arch} ${branch} ${buildid} ${target} || return 1 echo "restricted list generation ended at $(date)" echo $(grep -c '^#' ${builddir}/restricted.sh) "ports in ${builddir}/restricted.sh" } @@ -357,6 +361,10 @@ while [ $# -gt 0 ]; do x-nocleanup) nocleanup=1 ;; + x-target) + shift + target=$(realpath $1) + ;; *) usage ;; @@ -510,11 +518,11 @@ if [ "$skipstart" = 0 ]; then # XXX MCL could background these? # not run in background to check return status if [ "$noindex" = 0 ]; then - makeindex ${pb} ${arch} ${branch} ${buildid} ${builddir} || mailexit 1 + makeindex ${pb} ${arch} ${branch} ${buildid} ${builddir} ${target} || mailexit 1 fi checkindex ${builddir} || mailexit 1 if [ "$noduds" = 0 ]; then - makeduds ${pb} ${arch} ${branch} ${buildid} ${builddir} || mailexit 1 + makeduds ${pb} ${arch} ${branch} ${buildid} ${builddir} ${target} || mailexit 1 fi wait # for tar creation @@ -539,7 +547,7 @@ if [ "$skipstart" = 0 ]; then # XXX These can happen after build start if [ "$norestr" = 0 ]; then - restrictedlist ${pb} ${arch} ${branch} ${buildid} ${builddir} & + restrictedlist ${pb} ${arch} ${branch} ${buildid} ${builddir} ${target} & job_restrictedlist=$! fi Modified: projects/portbuild/scripts/makeduds ============================================================================== --- projects/portbuild/scripts/makeduds Tue Apr 26 08:18:00 2011 (r221056) +++ projects/portbuild/scripts/makeduds Tue Apr 26 08:18:01 2011 (r221057) @@ -1,11 +1,11 @@ #!/bin/sh usage () { - echo "usage: makeduds arch branch buildid" + echo "usage: makeduds arch branch buildid [target]" exit 1 } -if [ $# -ne 3 ]; then +if [ $# -lt 3 ]; then usage fi @@ -14,7 +14,7 @@ pb=/var/portbuild arch=$1 branch=$2 buildid=$3 -shift 3 +target=$4 builddir=${pb}/${arch}/${branch}/builds/${buildid} @@ -39,8 +39,21 @@ export LINUXBASE=/nonexistentlinux export PKG_DBDIR=/nonexistentpkg export PORT_DBDIR=/nonexistentport +DUDS_PORTS=. +if [ -n "$target" ]; then + if [ -f "$target" ]; then + DUDS_PORTS=$(cat $target | tr '\n' ' ') + else + echo "File $target doesn't exist. Exiting." + exit 1 + fi +fi + cd ${PORTSDIR} -make -j${DUDSJOBS} ignorelist-verbose ECHO_MSG=true > ${duds}.verbose 2> /dev/null || exit 1 +(for i in ${DUDS_PORTS}; do + cd ${PORTSDIR}/$i + make -j${DUDSJOBS} ignorelist-verbose ECHO_MSG=true +done) > ${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} Modified: projects/portbuild/scripts/makeindex ============================================================================== --- projects/portbuild/scripts/makeindex Tue Apr 26 08:18:00 2011 (r221056) +++ projects/portbuild/scripts/makeindex Tue Apr 26 08:18:01 2011 (r221057) @@ -16,18 +16,18 @@ export INDEX_JOBS=6 pb=/var/portbuild usage () { - echo "usage: makeindex arch branch buildid" + echo "usage: makeindex arch branch buildid [target]" exit 1 } -if [ $# -ne 3 ]; then +if [ $# -lt 3 ]; then usage fi arch=$1 branch=$2 buildid=$3 -shift 3 +target=$4 builddir=${pb}/${arch}/${branch}/builds/${buildid} @@ -44,8 +44,17 @@ unset DISPLAY # Don't pick up installed packages from the host export LOCALBASE=/nonexistentlocal +if [ -n "$target" ]; then + if [ -f "$target" ]; then + INDEX_PORTS=$(cat $target | tr '\n' ' ') + else + echo "File $target doesn't exist. Exiting." + exit 1 + fi +fi + cd ${PORTSDIR} -make index +make index INDEX_PORTS="${INDEX_PORTS}" if [ ! -e ${INDEXFILE} ]; then echo "makeindex: failed to make ${INDEXFILE}" exit 1 Modified: projects/portbuild/scripts/makerestr ============================================================================== --- projects/portbuild/scripts/makerestr Tue Apr 26 08:18:00 2011 (r221056) +++ projects/portbuild/scripts/makerestr Tue Apr 26 08:18:01 2011 (r221057) @@ -1,10 +1,10 @@ #!/bin/sh usage () { - echo "usage: makerestr arch branch buildid" + echo "usage: makerestr arch branch buildid [target]" exit 1 } -if [ $# -ne 3 ]; then +if [ $# -lt 3 ]; then usage fi @@ -13,7 +13,7 @@ pb=/var/portbuild arch=$1 branch=$2 buildid=$3 -shift +target=$4 . ${pb}/conf/server.conf . ${pb}/conf/common.conf @@ -32,8 +32,20 @@ export LINUXBASE=/nonexistentlinux export PKG_DBDIR=/nonexistentpkg export PORT_DBDIR=/nonexistentport +RESTR_PORTS=. +if [ -n "$target" ]; then + if [ -f "$target" ]; then + RESTR_PORTS=$(cat $target | tr '\n' ' ') + else + echo "File $target doesn't exist. Exiting." + exit 1 + fi +fi + cd ${PORTSDIR} -make -j4 ECHO_MSG=true clean-restricted-list \ - | sed -e "s!/usr/ports/packages/!${builddir}/packages/!g" \ - -e "s!/usr/ports/!${builddir}/ports/!g" \ - > ${builddir}/restricted.sh 2> /dev/null +(for i in ${RESTR_PORTS}; do + cd ${PORTSDIR}/$i + make -j4 ECHO_MSG=true clean-restricted-list \ + | sed -e "s!/usr/ports/packages/!${builddir}/packages/!g" \ + -e "s!/usr/ports/!${builddir}/ports/!g" +done) > ${builddir}/restricted.sh 2> /dev/null
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201104260818.p3Q8I1Vf013736>