summaryrefslogtreecommitdiff
path: root/build.py
diff options
context:
space:
mode:
Diffstat (limited to 'build.py')
-rwxr-xr-xbuild.py19
1 files changed, 10 insertions, 9 deletions
diff --git a/build.py b/build.py
index 5e2ee85..9bfa52c 100755
--- a/build.py
+++ b/build.py
@@ -59,29 +59,30 @@ def main():
with contextlib.closing(db.cursor()) as cur:
cur.execute("BEGIN IMMEDIATE;")
cur.execute("""
- SELECT d.source, d.version, d.architecture, r.id
+ SELECT d.source, d.version, d.hostarch, r.id
FROM depstate AS d
JOIN buildrequests AS r
- ON ? = ifnull(r.buildarch, 'amd64')
- AND d.architecture = ifnull(r.hostarch, d.architecture)
+ ON ? = ifnull(r.buildarch, d.buildarch)
+ AND d.hostarch = ifnull(r.hostarch, d.hostarch)
AND d.source = r.source
JOIN depcheck
- ON d.architecture = depcheck.architecture
+ ON d.hostarch = depcheck.architecture
WHERE d.satisfiable = 1 AND depcheck.giveback = 0
AND NOT EXISTS (SELECT 1 FROM building
WHERE d.source = building.source
OR (? = building.buildarch AND
- d.architecture = building.hostarch))
+ d.hostarch = building.hostarch))
ORDER BY r.priority DESC, r.requesttime ASC, random()
LIMIT 1;""", (buildarch, buildarch))
row = cur.fetchone()
if not row:
cur.execute("""
- SELECT source, version, depstate.architecture, NULL
+ SELECT source, version, depstate.hostarch, NULL
FROM depstate JOIN depcheck
- ON depstate.architecture = depcheck.architecture
- WHERE satisfiable = 1 AND giveback = 0
- ORDER BY random() LIMIT 1;""")
+ ON depstate.hostarch = depcheck.architecture
+ WHERE depstate.buildarch = ? AND satisfiable = 1
+ AND giveback = 0
+ ORDER BY random() LIMIT 1;""", (buildarch,))
row = cur.fetchone()
if not row:
cur.execute("ROLLBACK;")