summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorErich Eckner <git@eckner.net>2017-08-03 12:34:10 +0200
committerErich Eckner <git@eckner.net>2017-08-03 12:34:10 +0200
commit890c772d9d43706b24ff1c840965a61035b09f97 (patch)
treea48a6794aeb3fc9a1f4e46f73092bcb63f27af71
parentdf67dfc9bd3fc91c5c0056ee3f5b7fd1678174f1 (diff)
downloadbuilder-890c772d9d43706b24ff1c840965a61035b09f97.tar.xz
bin/build-master-status: include statistics about packages that could be built
-rwxr-xr-xbin/build-master-status27
1 files changed, 24 insertions, 3 deletions
diff --git a/bin/build-master-status b/bin/build-master-status
index 6601260..c14c431 100755
--- a/bin/build-master-status
+++ b/bin/build-master-status
@@ -73,6 +73,25 @@ pending_packages=$(
done |
wc -l
)
+next_tasks=$(
+ (
+ grep -vxF 'break_loops' "${work_dir}/build-list"
+ ls "${work_dir}/package-states" | \
+ grep '\.broken$' | \
+ sed '
+ s|\.\([^.]\+\)\.\([^.]\+\)\.\([^.]\+\)\.[^.]\+$| \1 \2 \3|
+ p
+ '
+ ) | \
+ sort | \
+ uniq -u | \
+ while read -r package git_revision mod_git_revision repository; do
+ if [ -z "$(find_dependencies_on_build_list "${package}" "${git_revision}" "${mod_git_revision}" "${repository}")" ]; then
+ echo "${package}" "${git_revision}" "${mod_git_revision}" "${repository}"
+ fi
+ done | \
+ wc -l
+)
staging=$(
ls_master_mirror 'i686' | \
grep 'staging$' | \
@@ -121,10 +140,11 @@ printf 'The mirror master contains %d stable packages (vs. ca. %d planned).\n' \
"${stable}" \
"$((${staging}+${testing}+${pending_packages}))" >> \
"${tmp_dir}/build-master-status.html"
-printf 'The build list contains %d tasks (incl. broken: %d, leading to %d packages).\n' \
+printf 'The build list contains %d tasks (incl. broken: %d, leading to %d packages), of which %s can be built immediately.\n' \
"$((${tasks}-${broken}))" \
"${tasks}" \
- "${pending_packages}" >> \
+ "${pending_packages}" \
+ "${next_tasks}" >> \
"${tmp_dir}/build-master-status.html"
printf 'There are %d testing and %d staging packages.\n' \
"${testing}" \
@@ -173,7 +193,8 @@ if ${web}; then
"${loops}" \
"${looped_packages}" \
"${locked}" \
- "${blocked}" | \
+ "${blocked}" \
+ "${next_tasks}" | \
sed 's| $|\n|'
echo "${end}"
) | \