summaryrefslogtreecommitdiff
path: root/buildmaster/build-list.php
diff options
context:
space:
mode:
authorErich Eckner <git@eckner.net>2018-11-13 15:31:29 +0100
committerErich Eckner <git@eckner.net>2018-11-13 15:31:29 +0100
commit6b30f375d4a1af1122c0dd3c35a597b5eeae30b0 (patch)
tree8baffe669c873d7980f033d9908b09ec05042113 /buildmaster/build-list.php
parent114356dfa1e41af9b334349c748b46912b5eb477 (diff)
downloadwebsite-6b30f375d4a1af1122c0dd3c35a597b5eeae30b0.tar.xz
buildmaster/build-list.php: dependencies must have matching architecture
Diffstat (limited to 'buildmaster/build-list.php')
-rw-r--r--buildmaster/build-list.php18
1 files changed, 18 insertions, 0 deletions
diff --git a/buildmaster/build-list.php b/buildmaster/build-list.php
index ee9368f..af8f9f8 100644
--- a/buildmaster/build-list.php
+++ b/buildmaster/build-list.php
@@ -294,6 +294,15 @@ $result = mysql_run_query(
mysql_join_dependencies_install_target_providers() .
mysql_join_install_target_providers_binary_packages('','dependency_bp') .
mysql_join_binary_packages_binary_packages_in_repositories('dependency_bp') .
+ mysql_join_binary_packages_build_assignments('dependent_bp','dependent_ba') .
+ mysql_join_binary_packages_build_assignments('dependency_bp','dependency_ba') .
+ " JOIN `architecture_compatibilities` AS `ac_a`".
+ " ON `ac_a`.`fully_compatible`".
+ " AND `ac_a`.`built_for`=`dependency_ba`.`architecture`".
+ " JOIN `architecture_compatibilities` AS `ac_b`".
+ " ON `ac_b`.`fully_compatible`".
+ " AND `ac_b`.`built_for`=`dependent_ba`.`architecture`".
+ " AND `ac_b`.`runs_on`=`ac_a`.`runs_on`".
mysql_join_binary_packages_in_repositories_repositories() .
" WHERE `dependency_bp`.`build_assignment` != `dependent_bp`.`build_assignment`" .
" AND `dependency_types`.`relevant_for_building`" .
@@ -309,13 +318,22 @@ $result = mysql_run_query(
" FROM `binary_packages` AS `dependent_bp`" .
mysql_join_binary_packages_dependencies('dependent_bp') .
mysql_join_dependencies_dependency_types() .
+ mysql_join_binary_packages_build_assignments('dependent_bp','dependent_ba') .
+ " JOIN `architecture_compatibilities` AS `ac_b`".
+ " ON `ac_b`.`fully_compatible`".
+ " AND `ac_b`.`built_for`=`dependent_ba`.`architecture`".
" WHERE NOT EXISTS(" .
"SELECT 1 FROM `install_target_providers`" .
mysql_join_install_target_providers_binary_packages('','dependency_bp') .
mysql_join_binary_packages_binary_packages_in_repositories('dependency_bp','dependency_bpir') .
mysql_join_binary_packages_in_repositories_repositories('dependency_bpir') .
+ mysql_join_binary_packages_build_assignments('dependency_bp','dependency_ba') .
+ " JOIN `architecture_compatibilities` AS `ac_a`".
+ " ON `ac_a`.`fully_compatible`".
+ " AND `ac_a`.`built_for`=`dependency_ba`.`architecture`".
" WHERE `install_target_providers`.`install_target` = `dependencies`.`depending_on`" .
" AND `repositories`.`is_on_master_mirror`" .
+ " AND `ac_b`.`runs_on`=`ac_a`.`runs_on`".
")" .
" AND `dependency_types`.`relevant_for_building`" .
" AND NOT `dependency_types`.`relevant_for_binary_packages`" .