diff options
Diffstat (limited to 'bin/seed-build-list')
-rwxr-xr-x | bin/seed-build-list | 31 |
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`)' |