From dac98cdb30f75307e96916b2048d45db23589910 Mon Sep 17 00:00:00 2001 From: Erich Eckner Date: Tue, 26 Jun 2018 13:52:28 +0200 Subject: bin/seed-build-list: dependencies are also broken if they are not the least stable ones (because then, they will block stabilizing of something) --- bin/seed-build-list | 18 +++++++++++++++--- 1 file changed, 15 insertions(+), 3 deletions(-) (limited to 'bin/seed-build-list') diff --git a/bin/seed-build-list b/bin/seed-build-list index 516a947..6ffde81 100755 --- a/bin/seed-build-list +++ b/bin/seed-build-list @@ -21,9 +21,9 @@ usage() { >&2 echo 'possible options:' >&2 echo ' -a|--auto:' >&2 echo ' Automatically reschedule packages which have run-time' - >&2 echo ' dependencies that are not available anywhere and which' - >&2 echo ' cannot be replaced by another less stable version of' - >&2 echo ' the same package.' + >&2 echo ' dependencies that are not available from staging and' + >&2 echo ' which cannot be replaced by another less stable version' + >&2 echo ' of the same package.' >&2 echo ' -c|--cron-exit:' >&2 echo ' Exit with 0 if not getting a lock - makes the script' >&2 echo ' suitable for a crontab.' @@ -340,6 +340,18 @@ printf 'CREATE TEMPORARY TABLE `pkgbases` (`pkgbase` VARCHAR(64), `repository` V mysql_join_binary_packages_in_repositories_repositories 'subst_bir' 'subst_r' printf ' AND `subst_r`.`name` NOT IN ("build-support","deletion-list","to-be-decided")' printf ' WHERE `install_target_providers`.`install_target`=`dependencies`.`depending_on`' + # this is the least stable install_target_provider with that name + printf ' AND NOT EXISTS (' + printf 'SELECT 1 FROM `binary_packages` AS `ss_bp`' + mysql_join_binary_packages_binary_packages_in_repositories 'ss_bp' 'ss_bir' + mysql_join_binary_packages_in_repositories_repositories 'ss_bir' 'ss_r' + printf ' AND `ss_r`.`name` NOT IN ("build-support","deletion-list","to-be-decided")' + printf ' JOIN `repository_stability_relations` AS `ss_rsr`' + printf ' ON `ss_rsr`.`less_stable`=`ss_r`.`stability`' + printf ' WHERE `ss_bp`.`pkgname`=`subst_bp`.`pkgname`' + printf ' AND `ss_bp`.`id`!=`subst_bp`.`id`' + printf ' AND `ss_rsr`.`more_stable`=`subst_r`.`stability`' + printf ')' printf ')' printf ';\n' fi -- cgit v1.2.3