One of the challenges with Fedora 31 is that /usr/bin/python is now Python 3 rather than Python 2. Just about every python script in existence relies on /usr/bin/python being Python 2 and not anything else. I can’t really recall, but this probably happened with the 1.5 to 2 transition as well (although IIRC that was less breaking).
What this means is that for projects that are half-way through converting to python 3, everything breaks.
op-build is one of these projects.
So, we need:
- A minor update to the README.md of op-build about build dependencies (at least for Fedora not-Workstation, like I have installed on my Blackbird).
- Force various scripts in the SBE firmware to be run as Python 2 (some are already Python 3).
- I’m a little concerned about this one, a previous patch to support Python 3 has just languished without comment. Also has code from Raptor to improve status reporting.
- It appears the SBE is open sourced, but developers aren’t taking notice of activity outside of IBM.
- We also needed to patch the OpenPOWER pnor project, the set of scripts that assembles a PNOR image, so it’d let some of the SBE code decide what interpreter it wants.
- Finally, we needed a change to op-build itself. I included the SBE and pnor patch in that PR to actually prove the whole thing still works together as neither the SBE nor pnor projects have any CI tests.
After all that, you can actually build a pnor image on Fedora 31. Even on Fedora 31 ppc64le, which is literally what I’ve just done.