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
+
+ - Jail: ${JAILNAME}
+ - Ports tree: ${PTNAME}
+EOF
+ cnt=$(zget stats_queued)
+cat >> ${logdir}/index.html << EOF
+ - Nb ports queued: ${cnt}
+
+
+
+
+
+
+
+
Failed ports
+
+
+ | Port |
+ Origin |
+ status |
+
+EOF
+ cnt=0
+ while read port; do
+ pkgname=$(cache_get_pkgname ${port})
+cat >> ${logdir}/index.html << EOF
+
+ | ${pkgname} |
+ ${port} |
+ logfile |
+
+EOF
+ cnt=$(( cnt + 1 ))
+ done < ${JAILMNT}/failed
+ zset stats_failed $cnt
+cat >> ${logdir}/index.html << EOF
+
+
+
+
ignored ports
+
+
+ | Port |
+ Origin |
+ status |
+
+EOF
+ cnt=0
+ while read port; do
+ pkgname=$(cache_get_pkgname ${port})
+cat >> ${logdir}/index.html << EOF
+
+ | ${pkgname} |
+ ${port} |
+ logfile |
+
+EOF
+ cnt=$(( cnt + 1 ))
+ done < ${JAILMNT}/ignored
+ zset stats_ignored $cnt
+cat >> ${logdir}/index.html << EOF
+
+
+
+
Success ports
+
+
+ | Port |
+ Origin |
+ status |
+
+EOF
+ cnt=0
+ while read port; do
+ pkgname=$(cache_get_pkgname ${port})
+cat >> ${logdir}/index.html << EOF
+
+ | ${pkgname} |
+ ${port} |
+ logfile |
+
+EOF
+ cnt=$(( cnt + 1 ))
+ done < ${JAILMNT}/built
+ zset stats_built $cnt
+cat >> ${logdir}/index.html << EOF
+
+
+
+
+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