X-Git-Url: https://git.decadent.org.uk/gitweb/?a=blobdiff_plain;f=daklib%2Flists.py;h=a8d3cedbe03853ee5a061e200a64d25856c48935;hb=3fc20f7b955dac60069640cdd0e25b9e69b8756f;hp=13555e2b1285f803d87cc154fef7dc49bcc70101;hpb=0f0598428037a6783d02a9aba82d6e3c607bf858;p=dak.git diff --git a/daklib/lists.py b/daklib/lists.py index 13555e2b..a8d3cedb 100755 --- a/daklib/lists.py +++ b/daklib/lists.py @@ -24,6 +24,8 @@ Helper functions for list generating commands (Packages, Sources). ################################################################################ +from dbconn import get_architecture + def fetch(query, args, session): for (id, path, filename) in session.execute(query, args).fetchall(): yield (id, path + filename) @@ -77,7 +79,7 @@ INSERT INTO b_candidates (id, source, file, architecture) FROM binaries b JOIN bin_associations ba ON b.id = ba.bin WHERE b.type = :type AND ba.suite = :suite AND - b.architecture IN (2, :architecture) %s; + b.architecture IN (:arch_all, :architecture) %s; CREATE TEMP TABLE gf_candidates ( id integer, @@ -98,17 +100,17 @@ INSERT INTO gf_candidates (id, filename, path, architecture, src, source) WITH arch_any AS (SELECT id, path, filename FROM gf_candidates - WHERE architecture > 2), + WHERE architecture <> :arch_all), arch_all_with_any AS (SELECT id, path, filename FROM gf_candidates - WHERE architecture = 2 AND - src IN (SELECT src FROM gf_candidates WHERE architecture > 2)), + WHERE architecture = :arch_all AND + src IN (SELECT src FROM gf_candidates WHERE architecture <> :arch_all)), arch_all_without_any AS (SELECT id, path, filename FROM gf_candidates - WHERE architecture = 2 AND - source NOT IN (SELECT DISTINCT source FROM gf_candidates WHERE architecture > 2)), + WHERE architecture = :arch_all AND + source NOT IN (SELECT DISTINCT source FROM gf_candidates WHERE architecture <> :arch_all)), filelist AS (SELECT * FROM arch_any @@ -122,6 +124,7 @@ WITH arch_any AS args = { 'suite': suite.suite_id, 'component': component.component_id, 'architecture': architecture.arch_id, + 'arch_all': get_architecture('all', session).arch_id, 'type': type } return fetch(query, args, session)