The *predicates* all start with "PKGS_THAT_...", e.g.: PKGS_THAT_BUILD_WITH_STAGE0 (previously "PACKAGES_STAGE0") PKGS_THAT_BUILD_WITH_STAGE2 (previously "STAGE2_PACKAGES") PKGS_THAT_USE_TH (previously "TH_PACKAGES) etc. (there are a few more) the lists of packages to build are now consistently named: PACKAGES_STAGE0 PACKAGES_STAGE1 (previously just "PACKAGES") PACKAGES_STAGE2
… sh boot Now that the clean rules don't require libraries/*/ghc.mk, we don't have to build them on demand. And having them built on demand introduced a failure mode (where some libraries have ghc.mk and some don't).