GCC Toolset 12 Software Collection Bootstrap Instructions: (by Skip Grube // 2022-10-01) 1. Have a proper SCL-enabled Mock config: - Need to include "scl-utils-build" in the buildroot (['chroot_setup_cmd']). This includes the necessary SCL macros 2. Obtain the source RPM packages: gcc-toolset-12 gcc-toolset-12-annobin gcc-toolset-12-binutils gcc-toolset-12-dwz gcc-toolset-12-gdb gcc-toolset-12-gcc 3. Modify the gcc-toolset-12-binutils .spec file, and produce a BOOTSTRAP-gcc-toolset-12-binutils SRPM - The spec file tells you what to do, circa Line 317 - Need to remove the scl macros from some BuildRequires, so it uses the system's default gcc/g++/annobin. This is just to get it going before building the final version - So now there are 2 binutils SRPMs: The bootstrap (uses non-SCL BuildRequires), and the real one 4. Build gcc-toolset-12 macro/metapackage - Be sure to include scl-utils-build - Should be a very fast build - Produces important package: "gcc-toolset-12-build" - IMPORTANT: gcc-toolset-12-build MUST now be added to the Mock config for building the rest of the packages (alongside scl-utils-build) 5. Bootstrap builds. Build in order. Each resulting packages must be available to subsequent builds: dwz gdb binutils(bootstrap) gcc annobin binutils - The bootstrap binutils can be discarded at the end of the proces 6. Final/actual builds. Build in order, with the bootstrap results available to these builds: dwz gcc annobin gdb binutils