Having played with this a bit more on dogfood, here is what I've found:
1) we used a little sql to set everything up the way it should be:
BEGIN;
INSERT INTO archivearch (archive, processorfamily)
(SELECT archive.id, processorfamily.id FROM archive, processorfamily
WHERE purpose=2
AND require_virtualized=False
AND processorfamily.name = 'arm');
INSERT INTO archivearch (archive, processorfamily)
(SELECT archive.id, processorfamily.id FROM archive, distribution, processorfamily
WHERE archive.purpose=1
AND distribution.name='ubuntu'
AND archive.distribution = distribution.id
AND processorfamily.name = 'arm');
UPDATE processorfamily SET restricted = True WHERE name = 'arm';
COMMIT;
2) https://dogfood.launchpad.net/~lamont/+archive/ppa/+admin (archive.id = 870)
a) "Allow ARM builds for this archive" shows checked, which is LYING
b) uncheck said box, click Save: all of the rows inserted in step 1 are now GONE
c) go back and check said box, click Save: we now have a row for archive 870, arm. (this piece is actually correct..)
3) https://dogfood.launchpad.net/~mvo/+archive/ppa/+admin (archive.id = 476)
a) "Allow ARM builds for this archive" shows checked, which is LYING
b) uncheck said box, click Save: the row inserted in 2c is now GONE
c) go back and check said box, click Save: we now have a row for archive 476, arm. (this piece is actually correct..)
So...
1) if the archive we are administering lacks a row in archivearch, it should not show as allowed
2) clearing the checkbox should not obliterate all of the allowed archives
Ivy (armel buildd) is configured on dogfood for testing.
Having played with this a bit more on dogfood, here is what I've found:
1) we used a little sql to set everything up the way it should be:
BEGIN; virtualized= False .name = 'arm');
INSERT INTO archivearch (archive, processorfamily)
(SELECT archive.id, processorfamily.id FROM archive, processorfamily
WHERE purpose=2
AND require_
AND processorfamily
INSERT INTO archivearch (archive, processorfamily) name='ubuntu' distribution = distribution.id .name = 'arm');
(SELECT archive.id, processorfamily.id FROM archive, distribution, processorfamily
WHERE archive.purpose=1
AND distribution.
AND archive.
AND processorfamily
UPDATE processorfamily SET restricted = True WHERE name = 'arm';
COMMIT;
2) https:/ /dogfood. launchpad. net/~lamont/ +archive/ ppa/+admin (archive.id = 870)
a) "Allow ARM builds for this archive" shows checked, which is LYING
b) uncheck said box, click Save: all of the rows inserted in step 1 are now GONE
c) go back and check said box, click Save: we now have a row for archive 870, arm. (this piece is actually correct..)
3) https:/ /dogfood. launchpad. net/~mvo/ +archive/ ppa/+admin (archive.id = 476)
a) "Allow ARM builds for this archive" shows checked, which is LYING
b) uncheck said box, click Save: the row inserted in 2c is now GONE
c) go back and check said box, click Save: we now have a row for archive 476, arm. (this piece is actually correct..)
So...
1) if the archive we are administering lacks a row in archivearch, it should not show as allowed
2) clearing the checkbox should not obliterate all of the allowed archives
Ivy (armel buildd) is configured on dogfood for testing.
lamont