summaryrefslogtreecommitdiff
path: root/bin
diff options
context:
space:
mode:
authorErich Eckner <git@eckner.net>2019-12-06 09:28:57 +0100
committerErich Eckner <git@eckner.net>2019-12-06 09:28:57 +0100
commitae2f05e4853bc4781635b156a0ade9411187f7d4 (patch)
tree1574d101fa13752a2ca48408a75faa1f894153fc /bin
parent36564f45e007b4fd832c187bc406574a13d68766 (diff)
downloadbuilder-ae2f05e4853bc4781635b156a0ade9411187f7d4.tar.xz
bin/bootstrap-mysql: `calculate_maximal_moveable_set`(): deliberately break packages which did not successfully build for 1 day
Diffstat (limited to 'bin')
-rwxr-xr-xbin/bootstrap-mysql15
1 files changed, 10 insertions, 5 deletions
diff --git a/bin/bootstrap-mysql b/bin/bootstrap-mysql
index 04b06bf..a1c23be 100755
--- a/bin/bootstrap-mysql
+++ b/bin/bootstrap-mysql
@@ -256,11 +256,6 @@ fi
done
done
- # TODO: We might want to deliberately break packages that fail(ed) to build
- # for quite some time. Suggestion: packages with a failed build older than
- # x days get removed from our lists, so their dependencies cannot hold
- # back anything else.
-
# packages which should not be replaced: ones providing something that is:
# a) still needed by a not-replaced package x "less stable" than the target repository and
# b) not provided by:
@@ -282,6 +277,16 @@ fi
printf ' ON `repl_bpir`.`id`=`replaced_bpir`.`id`'
# deliberately break to-be-deleted packages
printf ' AND NOT `repl_bpir`.`is_to_be_deleted`'
+ mysql_join_binary_packages_in_repositories_binary_packages 'repl_bpir' 'repl_bp'
+ mysql_join_binary_packages_build_assignments 'repl_bp' 'repl_ba'
+ # deliberately break packages whose build_assignment was unsuccessfully
+ # built more than a day ago
+ printf ' AND NOT EXISTS ('
+ printf 'SELECT 1'
+ printf ' FROM `failed_builds`'
+ printf ' WHERE `failed_builds`.`date`<=ADDTIME(NOW(),"-1 00:00:00")'
+ printf ' AND `failed_builds`.`build_assignment`=`repl_ba`.`id`'
+ printf ')'
mysql_join_binary_packages_in_repositories_install_target_providers 'repl_bpir'
mysql_join_binary_packages_in_repositories_repositories 'repl_bpir' 'repl_r'
mysql_join_install_target_providers_dependencies_with_versions