Here's the implementation plan, as agreed with Jono:
1. Add a bool column "restricted" to ProcessorFamily, which will be "true" for "arm". This will tell SourcePackagePublishingHistory.createMissingBuilds() that it should not create builds for restricted architectures.
2. The existing table ArchiveArch associates archives and processorfamilies. If a row exists for a certain archive and arm architecture, then createMissingBuilds() will treat it as an override and ignore the "restricted" flag.
3. Amend the ppa +admin form to allow an admin to specify which restricted ProcessorFamilies the PPA is allowed to use (which will be saved in the ArchiveArch table)
createMissingBuilds() calls determineArchitecturesToBuild() in the buildmaster module. It already uses P-A-S to override the architectures selected - it can do something similar with ArchiveArch as well.
Here's the implementation plan, as agreed with Jono:
1. Add a bool column "restricted" to ProcessorFamily, which will be "true" for "arm". This will tell SourcePackagePu blishingHistory .createMissingB uilds() that it should not create builds for restricted architectures. ilds() will treat it as an override and ignore the "restricted" flag.
2. The existing table ArchiveArch associates archives and processorfamilies. If a row exists for a certain archive and arm architecture, then createMissingBu
3. Amend the ppa +admin form to allow an admin to specify which restricted ProcessorFamilies the PPA is allowed to use (which will be saved in the ArchiveArch table)
createMissingBu ilds() calls determineArchit ecturesToBuild( ) in the buildmaster module. It already uses P-A-S to override the architectures selected - it can do something similar with ArchiveArch as well.