summaryrefslogtreecommitdiff
path: root/bin
diff options
context:
space:
mode:
authorErich Eckner <git@eckner.net>2018-02-26 20:31:30 +0100
committerErich Eckner <git@eckner.net>2018-02-26 20:31:30 +0100
commit6dd8f08841badc851ee88ebcf0364068a4a42e2e (patch)
tree72909ced3c856a278ac6aa87f768c6d0a632be50 /bin
parent3c876e32b322c15326b5835bb4fef1a02adbcbb6 (diff)
downloadbuilder-6dd8f08841badc851ee88ebcf0364068a4a42e2e.tar.xz
bin/seed-build-list: ignore to-be-deleted packages, too
Diffstat (limited to 'bin')
-rwxr-xr-xbin/seed-build-list16
1 files changed, 12 insertions, 4 deletions
diff --git a/bin/seed-build-list b/bin/seed-build-list
index 284c555..26b386d 100755
--- a/bin/seed-build-list
+++ b/bin/seed-build-list
@@ -159,10 +159,18 @@ fi
fi
# packages on the build-list or deletion-list should be ignored
printf 'INSERT IGNORE INTO `ignore_packages` (`pkgname`)'
- printf ' SELECT DISTINCT `binary_packages`.`pkgname`'
- printf ' FROM `binary_packages`'
- mysql_join_binary_packages_repositories
- printf ' WHERE `repositories`.`name` IN ("build-list","deletion-list");\n'
+ printf ' SELECT DISTINCT `ignore_bin`.`pkgname`'
+ printf ' FROM `binary_packages` AS `ignore_bin`'
+ mysql_join_binary_packages_repositories 'ignore_bin'
+ printf ' WHERE `repositories`.`name` IN ("build-list","deletion-list")'
+ # packages with no not-to-be-deleted and at least on to-be-deleted version should be ignored
+ printf ' OR ('
+ printf '`ignore_bin`.`is_to_be_deleted`'
+ printf ' AND NOT EXISTS ('
+ printf 'SELECT * FROM `binary_packages` AS `other_bin`'
+ printf ' WHERE NOT `other_bin`.`is_to_be_deleted`'
+ printf ' AND `other_bin`.`pkgname`=`ignore_bin`.`pkgname`'
+ printf '));\n'
} | \
sponge "${tmp_dir}/ignore-packages"