I've just run my build-order script for the first time after the 5.18 rebuild, and came up with some build dependency cycles, such as: perl-Perl-OSType->perl-Capture-Tiny->perl-Inline->perl-Parse-RecDescent->perl-Module-Build->perl-Perl-OSType perl-Test-Pod->perl-Module-Build->perl-Perl-OSType->perl-Capture-Tiny->perl-Inline->perl-Parse-RecDescent->perl-Test-Pod perl-Perl-OSType->perl-Capture-Tiny->perl-Parse-RecDescent->perl-Module-Build->perl-Perl-OSType perl-Test-Pod->perl-Module-Build->perl-Perl-OSType->perl-Capture-Tiny->perl-Parse-RecDescent->perl-Test-Pod perl-Test-Warn->perl-Test-Pod->perl-Module-Build->perl-Perl-OSType->perl-Capture-Tiny->perl-Inline->perl-Parse-RecDescent->perl-Test-Warn perl-Tree-DAG_Node->perl-Test-Pod->perl-Module-Build->perl-Perl-OSType->perl-Capture-Tiny->perl-Inline->perl-Parse-RecDescent->perl-Test-Warn->perl-Tree-DAG_Node perl-Test-Warn->perl-Test-Pod->perl-Module-Build->perl-Perl-OSType->perl-Capture-Tiny->perl-Inline->perl-Test-Warn perl-Tree-DAG_Node->perl-Test-Pod->perl-Module-Build->perl-Perl-OSType->perl-Capture-Tiny->perl-Inline->perl-Test-Warn->perl-Tree-DAG_Node perl-Test-Warn->perl-Test-Pod->perl-Module-Build->perl-Perl-OSType->perl-Capture-Tiny->perl-Parse-RecDescent->perl-Test-Warn perl-Tree-DAG_Node->perl-Test-Pod->perl-Module-Build->perl-Perl-OSType->perl-Capture-Tiny->perl-Parse-RecDescent->perl-Test-Warn->perl-Tree-DAG_Node perl-Test-Warn->perl-Sub-Uplevel->perl-Test-Script->perl-IPC-Run3->perl-Test-Pod->perl-Module-Build->perl-Perl-OSType->perl-Capture-Tiny->perl-Inline->perl-Parse-RecDescent->perl-Test-Warn perl-Test-Warn->perl-Sub-Uplevel->perl-Test-Script->perl-IPC-Run3->perl-Test-Pod->perl-Module-Build->perl-Perl-OSType->perl-Capture-Tiny->perl-Inline->perl-Test-Warn perl-Test-Warn->perl-Sub-Uplevel->perl-Test-Script->perl-IPC-Run3->perl-Test-Pod->perl-Module-Build->perl-Perl-OSType->perl-Capture-Tiny->perl-Parse-RecDescent->perl-Test-Warn All of these would go away if perl-Capture-Tiny didn't include the optional test buildreqs Inline/Inline::C/Parse::RecDescent when bootstrapping. It might be argued that all of these cycles involve Module::Build, which, being a dual-lived package, would be available at bootstrap time from the main bootstrapped perl package, but I'd prefer to avoid making special cases for such things where possible.
I'm fine with that. It will be simpler.