summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorErich Eckner <git@eckner.net>2019-08-07 14:04:49 +0200
committerErich Eckner <git@eckner.net>2019-08-07 14:04:49 +0200
commit2f257aed0df2104dfed176d988089862e9389347 (patch)
treea4ce13d00496921644a484638c53436ae09c4501
parent3acd055e71a5de6d770f09a9875d6fd3e6f95bd5 (diff)
downloadbuilder-2f257aed0df2104dfed176d988089862e9389347.tar.xz
bin/seed-build-list: consider only packages which are available for *all* architectures as being available
-rwxr-xr-xbin/seed-build-list31
1 files changed, 25 insertions, 6 deletions
diff --git a/bin/seed-build-list b/bin/seed-build-list
index 4f701b3..23233bd 100755
--- a/bin/seed-build-list
+++ b/bin/seed-build-list
@@ -553,12 +553,31 @@ fi
"${tmp_dir}/pkgbases"
printf 'INSERT IGNORE INTO `ignore_packages`(`priority`,`pkgbase`)'
- printf ' SELECT 2,`package_sources`.`pkgbase`'
- printf ' FROM `package_sources`'
- mysql_join_package_sources_build_assignments
- mysql_join_build_assignments_binary_packages
- printf ' WHERE `build_assignments`.`is_black_listed` IS NOT NULL'
- printf ' OR `package_sources`.`pkgbase` LIKE "lib32-%%"'
+ printf ' SELECT 2,`sub_q`.`pkgbase`,`sub_q`.`architectures`'
+ printf ' FROM ('
+ printf 'SELECT'
+ printf ' `package_sources`.`pkgbase`,'
+ printf 'GROUP_CONCAT('
+ printf 'DISTINCT'
+ printf ' `build_assignments`.`architecture`'
+ printf ' ORDER BY `build_assignments`.`architecture`'
+ printf ') AS `architectures`'
+ printf ' FROM `package_sources`'
+ mysql_join_package_sources_build_assignments
+ mysql_join_build_assignments_binary_packages
+ mysql_join_binary_packages_binary_packages_in_repositories
+ mysql_join_binary_packages_in_repositories_repositories
+ printf ' WHERE `build_assignments`.`is_black_listed` IS NOT NULL'
+ printf ' OR `package_sources`.`pkgbase` LIKE "lib32-%%"'
+ printf ' OR `repositories`.`is_on_master_mirror`'
+ printf ' OR `binary_packages_in_repositories`.`repository`=%s' \
+ "${repository_ids__any_build_list}"
+ printf ' GROUP BY `package_sources`.`pkgbase`'
+ printf ') AS `sub_q`'
+ # shellcheck disable=SC2154
+ printf ' WHERE `sub_q`.`architectures` NOT IN ("%s","%s")' \
+ "${architecture_ids__any}" \
+ "${non_any_architecture_ids}"
printf ';\n'
printf 'INSERT IGNORE INTO `ignore_packages`(`priority`,`pkgbase`)'