summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorErich Eckner <git@eckner.net>2017-08-03 14:08:33 +0200
committerErich Eckner <git@eckner.net>2017-08-03 14:08:33 +0200
commit13ee2eab0367bb6794c7cf380dbf7f954c06d9e9 (patch)
tree81fe5c86cea2e2daa44ef315905903e4ac1b4b36
parentf89e3d67a34b34f7a22efdf290fa0e32fcdfdb3a (diff)
downloadbuilder-13ee2eab0367bb6794c7cf380dbf7f954c06d9e9.tar.xz
bin/build-master-status: save list of broken packages in temporary file
-rwxr-xr-xbin/build-master-status52
1 files changed, 27 insertions, 25 deletions
diff --git a/bin/build-master-status b/bin/build-master-status
index 79c0f42..dd04c49 100755
--- a/bin/build-master-status
+++ b/bin/build-master-status
@@ -52,6 +52,9 @@ if [ $# -ne 0 ]; then
usage
fi
+tmp_dir=$(mktemp -d)
+trap 'rm -rf --one-file-system "${tmp_dir}"' EXIT
+
stable=$(
ls_master_mirror 'i686' | \
grep -v 'testing$\|staging$\|-unstable$' | \
@@ -108,32 +111,34 @@ testing=$(
done | \
grep -c '\.pkg\.tar\.xz$'
)
-broken=$(
+(
+ ls "${work_dir}/package-states/" | \
+ grep '\.broken$' | \
+ sed 's|\.\([^.]\+\)\.\([^.]\+\)\.\([^.]\+\)\.[^.]\+$| \1 \2 \3|' | \
+ while read -r pkg rev mod_rev repo; do
+ if [ -z "$(find_dependencies_on_build_list "${pkg}" "${rev}" "${mod_rev}" "${repo}")" ]; then
+ echo "${pkg}"
+ fi
+ done
(
+ ls "${work_dir}/build-list.loops" | \
+ grep '^loop_[0-9]\+$' | \
+ sed "s|^|${work_dir}/build-list.loops/|" | \
+ xargs -r cat | \
+ sort -u
ls "${work_dir}/package-states/" | \
grep '\.broken$' | \
- sed 's|\.\([^.]\+\)\.\([^.]\+\)\.\([^.]\+\)\.[^.]\+$| \1 \2 \3|' | \
- while read -r pkg rev mod_rev repo; do
- if [ -z "$(find_dependencies_on_build_list "${pkg}" "${rev}" "${mod_rev}" "${repo}")" ]; then
- echo "${pkg}"
- fi
- done
- (
- ls "${work_dir}/build-list.loops" | \
- grep '^loop_[0-9]\+$' | \
- sed "s|^|${work_dir}/build-list.loops/|" | \
- xargs -r cat | \
- sort -u
- ls "${work_dir}/package-states/" | \
- grep '\.broken$' | \
- sed 's|\(\.[^.]\+\)\{4\}||' | \
- sort -u
- ) | \
- sort | \
- uniq -d
+ sed 's|\(\.[^.]\+\)\{4\}||' | \
+ sort -u
) | \
- sort -u | \
- wc -l
+ sort | \
+ uniq -d
+) | \
+ sort -u > \
+ "${tmp_dir}/broken-packages-names"
+broken=$(
+ wc -l < \
+ "${tmp_dir}/broken-packages-names"
)
blocked=$(
ls "${work_dir}/package-states/" | \
@@ -156,9 +161,6 @@ looped_packages=$(
wc -l
)
-tmp_dir=$(mktemp -d)
-trap 'rm -rf --one-file-system "${tmp_dir}"' EXIT
-
printf 'The mirror master contains %d stable packages (vs. ca. %d planned).\n' \
"${stable}" \
"$((${staging}+${testing}+${pending_packages}))" >> \