Index: src/poudriere.d/bulk.sh ================================================================== --- src/poudriere.d/bulk.sh +++ src/poudriere.d/bulk.sh @@ -105,16 +105,17 @@ zfs snapshot ${JAILFS}@prepkg parallel_build -cnt=$(wc -l ${JAILMNT}/ignored | awk '{ print $1 }') -zset stats_ignored $cnt -cnt=$(wc -l ${JAILMNT}/built | awk '{ print $1 }') -zset stats_built $cnt -cnt=$(wc -l ${JAILMNT}/failed | awk '{ print $1 }') -zset stats_failed $cnt +#cnt=$(wc -l ${JAILMNT}/ignored | awk '{ print $1 }') +#zset stats_ignored $cnt +#cnt=$(wc -l ${JAILMNT}/built | awk '{ print $1 }') +#zset stats_built $cnt +#cnt=$(wc -l ${JAILMNT}/failed | awk '{ print $1 }') +#zset stats_failed $cnt +build_stats failed=$(cat ${JAILMNT}/failed | xargs echo) built=$(cat ${JAILMNT}/built | xargs echo) ignored=$(cat ${JAILMNT}/ignored | xargs echo) nbfailed=$(zget stats_failed) Index: src/poudriere.d/common.sh ================================================================== --- src/poudriere.d/common.sh +++ src/poudriere.d/common.sh @@ -592,11 +592,139 @@ # No builders running, unset JOBS JOBS="" } + +build_stats() { + local port logdir pkgname + logdir=`log_path` + +cat > ${logdir}/index.html << EOF + + + Poudriere bulk results + + + + +

Poudriere bulk results

+ +
+ + + +
+
+

Failed ports

+ + + + + + +EOF + cnt=0 + while read port; do + pkgname=$(cache_get_pkgname ${port}) +cat >> ${logdir}/index.html << EOF + + + + + +EOF + cnt=$(( cnt + 1 )) + done < ${JAILMNT}/failed + zset stats_failed $cnt +cat >> ${logdir}/index.html << EOF +
PortOriginstatus
${pkgname}${port}logfile
+
+
+

ignored ports

+ + + + + + +EOF + cnt=0 + while read port; do + pkgname=$(cache_get_pkgname ${port}) +cat >> ${logdir}/index.html << EOF + + + + + +EOF + cnt=$(( cnt + 1 )) + done < ${JAILMNT}/ignored + zset stats_ignored $cnt +cat >> ${logdir}/index.html << EOF +
PortOriginstatus
${pkgname}${port}logfile
+
+
+

Success ports

+ + + + + + +EOF + cnt=0 + while read port; do + pkgname=$(cache_get_pkgname ${port}) +cat >> ${logdir}/index.html << EOF + + + + + +EOF + cnt=$(( cnt + 1 )) + done < ${JAILMNT}/built + zset stats_built $cnt +cat >> ${logdir}/index.html << EOF +
PortOriginstatus
${pkgname}${port}logfile
+
+ + +EOF +} + build_queue() { + local activity j cnt mnt fs name port while :; do activity=0 for j in ${JOBS}; do @@ -605,23 +733,18 @@ name="${JAILNAME}-job-${j}" if [ -f "${JAILMNT}/${j}.pid" ]; then if pgrep -qF "${JAILMNT}/${j}.pid" >/dev/null 2>&1; then continue fi - rm -f "${JAILMNT}/${j}.pid" - cnt=$(wc -l ${JAILMNT}/ignored | awk '{ print $1 }') - zset stats_ignored $cnt - cnt=$(wc -l ${JAILMNT}/built | awk '{ print $1 }') - zset stats_built $cnt - cnt=$(wc -l ${JAILMNT}/failed | awk '{ print $1 }') - zset stats_failed $cnt fi port=$(next_in_queue) if [ -z "${port}" ]; then # pool empty ? [ $(stat -f '%z' ${JAILMNT}/pool) -eq 2 ] && return + build_stats break + rm -f "${JAILMNT}/${j}.pid" fi msg "[${j}] Starting build of ${port}" >&5 JAILFS=${fs} zset status "starting:${port}" activity=1 zfs rollback -r ${fs}@prepkg