-
Jonathon Hall authored
Commit 5fa79061 ("Implement support for repos with modern-style arch:all support") added support for modern-style arch:all - where the architecture-specific release files do not list packages for arch all; they're in a separate list. However, it did not work for foreign bootstrap when the second stage is performed separately. The second stage relied on a global "ARCH_ALL_SUPPORTED" being set by the first stage, which doesn't happen when they are executed separately. This caused PureOS Crimson to fail a foreign bootstrap, because dpkg could not record the selection of cron-daemon-common (an arch:all pre-dependency of cron). Additionally, it appears this would not have been precisely correct for multiple suites. Most logic would use the ARCH_ALL_SUPPORTED value of the last suite for all suites. download_release_indices would have carried over the 'all' from prior suites to later suites, possibly duplicating it if more than one suite supports all. Don't use global state for this. Check support for each suite when needed. Signed-off-by:
Jonathon Hall <jonathon.hall@puri.sm>
Jonathon Hall authoredCommit 5fa79061 ("Implement support for repos with modern-style arch:all support") added support for modern-style arch:all - where the architecture-specific release files do not list packages for arch all; they're in a separate list. However, it did not work for foreign bootstrap when the second stage is performed separately. The second stage relied on a global "ARCH_ALL_SUPPORTED" being set by the first stage, which doesn't happen when they are executed separately. This caused PureOS Crimson to fail a foreign bootstrap, because dpkg could not record the selection of cron-daemon-common (an arch:all pre-dependency of cron). Additionally, it appears this would not have been precisely correct for multiple suites. Most logic would use the ARCH_ALL_SUPPORTED value of the last suite for all suites. download_release_indices would have carried over the 'all' from prior suites to later suites, possibly duplicating it if more than one suite supports all. Don't use global state for this. Check support for each suite when needed. Signed-off-by:
Jonathon Hall <jonathon.hall@puri.sm>