summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorErich Eckner <git@eckner.net>2018-06-08 13:45:12 +0200
committerErich Eckner <git@eckner.net>2018-06-08 13:45:12 +0200
commit2c368ebb75c39d57e0a9dbe57af8647b393542d5 (patch)
treec39e5ef2780ae5ae6a4b661d6e94366c2b3fae72
parentfcfe8b1f4fb536d305cdcc5e633905f16b9d663c (diff)
downloadbuilder-2c368ebb75c39d57e0a9dbe57af8647b393542d5.tar.xz
lib/mysql-functions: mysql_find_build_assignment_loops(): check-dependencies are not sufficient to loop
-rwxr-xr-xlib/mysql-functions7
1 files changed, 6 insertions, 1 deletions
diff --git a/lib/mysql-functions b/lib/mysql-functions
index 6619968..206a06a 100755
--- a/lib/mysql-functions
+++ b/lib/mysql-functions
@@ -753,6 +753,7 @@ mysql_find_build_assignment_loops() {
{
printf 'SELECT DISTINCT `packages_dependency`.`build_assignment`,`packages_dependent`.`build_assignment`'
printf ' FROM `dependencies`'
+ mysql_join_dependencies_dependency_types
mysql_join_dependencies_install_target_providers
mysql_join_install_target_providers_binary_packages '' 'packages_dependency'
mysql_join_dependencies_binary_packages '' 'packages_dependent'
@@ -760,8 +761,12 @@ mysql_find_build_assignment_loops() {
mysql_join_binary_packages_binary_packages_in_repositories 'packages_dependent' 'packages_in_repository_dependent'
printf ' WHERE `packages_in_repository_dependent`.`repository`=%s' \
"${repository_ids__any_build_list}"
- printf ' AND `packages_in_repository_dependency`.`repository`=%s;\n' \
+ printf ' AND `packages_in_repository_dependency`.`repository`=%s' \
"${repository_ids__any_build_list}"
+ printf ' AND ('
+ printf '`dependency_types`.`relevant_for_building`'
+ printf ' OR `dependency_types`.`relevant_for_building`'
+ printf ');\n'
} | \
mysql_run_query | \
tr '\t' ' ' | \