From 96773fdedcae8354aa720c63fb289140d482529d Mon Sep 17 00:00:00 2001 From: Erich Eckner Date: Mon, 23 Jul 2018 15:06:31 +0200 Subject: do not address deletion-list directly, but rather by its stability "forbidden" --- bin/delete-packages | 25 +++++++++++++++++-------- bin/get-package-updates | 17 ++++++++++++----- 2 files changed, 29 insertions(+), 13 deletions(-) (limited to 'bin') diff --git a/bin/delete-packages b/bin/delete-packages index 58d15e3..5109e4c 100755 --- a/bin/delete-packages +++ b/bin/delete-packages @@ -363,11 +363,26 @@ fi printf 'LOAD DATA LOCAL INFILE "%s" INTO TABLE `bpir_to_delete`;\n' \ "${tmp_dir}/package-in-repository-ids" + printf 'UPDATE `binary_packages_in_repositories`' + printf ' JOIN `bpir_to_delete`' + printf ' ON `bpir_to_delete`.`id`=`binary_packages_in_repositories`.`id`' + mysql_join_binary_packages_in_repositories_repositories + printf ' JOIN `repositories` AS `d_r`' + printf ' ON `d_r`.`stability`=%s' \ + "${repository_stability_ids__forbidden}" + printf ' AND `d_r`.`architecture`=`repositories`.`architecture`' + printf ' SET `binary_packages_in_repositories`.`repository`=`d_r`.`id`' + # shellcheck disable=SC2154 + printf ' WHERE `repositories`.`stability`!=%s;\n' \ + "${repository_stability_ids__standalone}" + printf 'DELETE `binary_packages_in_repositories`' printf ' FROM `binary_packages_in_repositories`' - printf ' JOIN `bpir_to_delete` ON `bpir_to_delete`.`id`=`binary_packages_in_repositories`.`id`' + printf ' JOIN `bpir_to_delete`' + printf ' ON `bpir_to_delete`.`id`=`binary_packages_in_repositories`.`id`' mysql_join_binary_packages_in_repositories_repositories - printf ' WHERE `repositories`.`name`="build-support";\n' + printf ' WHERE `repositories`.`stability`!=%s;\n' \ + "${repository_stability_ids__forbidden}" printf 'DELETE `binary_packages`' printf ' FROM `binary_packages`' @@ -375,12 +390,6 @@ fi printf 'SELECT 1 FROM `binary_packages_in_repositories`' printf ' WHERE `binary_packages_in_repositories`.`package`=`binary_packages`.`id`' printf ');\n' - - printf 'UPDATE `binary_packages_in_repositories`' - printf ' JOIN `bpir_to_delete` ON `bpir_to_delete`.`id`=`binary_packages_in_repositories`.`id`' - # shellcheck disable=SC2154 - printf ' SET `binary_packages_in_repositories`.`repository`=%s;\n' \ - "${repository_ids__any_deletion_list}" } | \ mysql_run_query diff --git a/bin/get-package-updates b/bin/get-package-updates index 1c0ac5e..575a96e 100755 --- a/bin/get-package-updates +++ b/bin/get-package-updates @@ -121,10 +121,15 @@ delete_package() { mysql_join_binary_packages_in_repositories_binary_packages mysql_join_binary_packages_build_assignments mysql_join_build_assignments_package_sources - printf ' SET ' + mysql_join_binary_packages_in_repositories_repositories + printf ' JOIN `repositories` AS `d_r`' # shellcheck disable=SC2154 + printf ' ON `d_r`.`stability`=%s' \ + "${repository_stability_ids__forbidden}" + printf ' AND `d_r`.`architecture`=`repositories`.`architecture`' + printf ' SET ' printf '`binary_packages_in_repositories`.`%s`=%s,' \ - 'repository' "${repository_ids__any_deletion_list}" \ + 'repository' '`d_r`.`id`' \ 'is_to_be_deleted' '1' \ 'last_moved' 'NOW()' | \ sed 's/,$//' @@ -379,14 +384,16 @@ trigger_rebuild_on_any_file_sed_expression=$( mysql_join_binary_packages_build_assignments mysql_join_build_assignments_package_sources mysql_join_binary_packages_binary_packages_in_repositories + mysql_join_binary_packages_in_repositories_repositories printf ' WHERE `package_sources`.`pkgbase`=from_base64("%s")' \ "$( printf '%s' "${package}" | \ base64 -w0 )" - printf ' AND `binary_packages_in_repositories`.`repository` IN (%s,%s);\n' \ - "${repository_ids__any_build_list}" \ - "${repository_ids__any_deletion_list}" + # shellcheck disable=SC2154 + printf ' AND `repositories`.`stability` IN (%s,%s);\n' \ + "${repository_stability_ids__unbuilt}" \ + "${repository_stability_ids__forbidden}" # remove is-to-be-deleted marker from old binary packages printf 'UPDATE `binary_packages_in_repositories`' mysql_join_binary_packages_in_repositories_binary_packages -- cgit v1.2.3