diff options
Diffstat (limited to 'bin')
-rwxr-xr-x | bin/seed-build-list | 31 |
1 files changed, 28 insertions, 3 deletions
diff --git a/bin/seed-build-list b/bin/seed-build-list index ebcae26..2d52526 100755 --- a/bin/seed-build-list +++ b/bin/seed-build-list @@ -192,11 +192,14 @@ git -C "${repo_paths__archlinux32}" archive "${repo_heads__archlinux32}" -- blac t d ' \ +| "${tmp_dir}/blacklist" \ >> "${tmp_dir}/ignore-packages" -expand_blacklist_architectures "${tmp_dir}/architecture-compatibilities" \ -< "${tmp_dir}/ignore-packages" \ -| sponge "${tmp_dir}/ignore-packages" +for list in 'ignore-package' 'blacklist'; do + expand_blacklist_architectures "${tmp_dir}/architecture-compatibilities" \ + < "${tmp_dir}/${list}" \ + | sponge "${tmp_dir}/${list}" +done # TODO: translate lib32-* packages instead of ignoring them for -m @@ -628,6 +631,28 @@ if ${update}; then printf ' SET `build_assignments`.`priority`=@`max_priority`' printf ';\n' fi + + printf 'CREATE TEMPORARY TABLE `blacklist` (' + printf '`architecture` VARCHAR (16),' + printf '`pkgbase` VARCHAR (64),' + printf 'UNIQUE KEY `content`(`architecture`,`pkgbase`)' + printf ');\n' + printf 'LOAD DATA LOCAL INFILE "%s" INTO TABLE `blacklist`(`architecture`,`pkgbase`);\n' \ + "${tmp_dir}/blacklist" + +# TODO: finish this! +# printf 'UPDATE `blacklist`' .. will not work (blacklisting "any" packages needs to create multiple binary_packages_in_repositories) +# printf ' JOIN `package_sources`' +# printf ' ON `blacklist`.`pkgbase`=`package_sources`.`pkgbase`' +# mysql_join_package_sources_build_assignments +# mysql_join_build_assignments_architectures +# printf ' AND `architectures`.`name`=`blacklist`.`architecture`' +# mysql_join_build_assignments_binary_packages +# mysql_join_binary_packages_binary_packages_in_repositories +# printf ' AND `binary_packages_in_repositories`.`repositories`=%s' \ +# "${repository_ids__any_build_list}" +# printf ' JOIN `repositories` AS `dl_r`' +# printf ' ON `dl_r`.`architecture`' ... see above } | \ mysql_run_query |