Skip to content
Fedora / RISC-V autobuilder
Shell
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
.gitignore
COPYING
README
autobuild
boot.sh
build
comps-f28.xml
config
koji-shadow
local.repo.in
push
upload

README

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’.

How it works
------------

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/<NVR>/.

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/<random-name>

$(ROOT)/stage4-disk.img is the base disk image.
You can’t perform that action at this time.