This is the temporary autobuilder for Fedora/RISC-V. It takes source RPMs (SRPMs) from Koji, and also SRPMs that can be supplied locally, and attempts to rebuild them for riscv64 under a qemu emulation. We intend to replace this with kojid once we have built that.
This program will consume huge amounts of CPU and disk space when run. You need an extremely fast multicore machine and lots of disk.
You must edit the configuration in ‘./config’.
There are several cooperating programs, but the main one is ‘./autobuild’. This picks up SRPMs from $(ROOT)/input and tries to build up to $(NR) of them in parallel.
The SRPMs are picked in alphabetical order, so you can prioritize them by creating numbered directories under $(ROOT)/input, eg. $(ROOT)/input/0000/.src.rpm will be picked before $(ROOT)/input/9000/.src.rpm.
If a particular SRPM builds successfully then the output will be placed in $(ROOT)/SRPMS and $(ROOT)/RPMS. These built RPMs are available for further builds and will be installed into the buildroot of future packages.
Whether or not an SRPM builds or fails to build (the usual case, sadly), logs files are left in $(ROOT)/logs//.
Noarch SRPMs are short-circuited. There is no need to build noarch packages on riscv64, so we just download the result from Fedora Koji and copy it to $(ROOT)/RPMS/noarch/
New Fedora Koji builds are picked up and downloaded into $(ROOT)/input/5000/ by a separate program called ‘./koji-shadow’. This doesn't run automatically, you have to create the input directory and start the program by hand.
Builds are handled by ‘./build $srpmpath’. Builds are done in a temporary directory $(ROOT)/tmp/
$(ROOT)/stage4-disk.img is the base disk image.