From Fedora Project Wiki
No edit summary
No edit summary
(6 intermediate revisions by 2 users not shown)
Line 1: Line 1:
{{shortcut|Arch:RISC-V}}
{{autolang|base=yes}}
All about building Fedora packages for [[Architectures/RISC-V|RISC-V]].  If you want to help build packages or fix broken packages, you've come to the right place.
All about building Fedora packages for [[Architectures/RISC-V|RISC-V]].  If you want to help build packages or fix broken packages, you've come to the right place.


Line 7: Line 10:
The autobuilder can also be manually told to build a particular package, or to do a mass rebuild of every package in Fedora.  If you need a particular package rebuilt, please ping <code>rwmjones</code> in the <code>#fedora-riscv</code> IRC channel on FreeNode.
The autobuilder can also be manually told to build a particular package, or to do a mass rebuild of every package in Fedora.  If you need a particular package rebuilt, please ping <code>rwmjones</code> in the <code>#fedora-riscv</code> IRC channel on FreeNode.


We are currently only building Fedora 25 packages, but expect to move to Rawhide in the near future.
We are currently only building Fedora 27 and 28 packages, but expect to move to Rawhide in the near future.


= Fixing broken builds =
= Fixing broken builds =
Line 16: Line 19:


If you have fixed a build, then there are two ways to get it into Fedora/RISC-V.  Either do a primary arch build in Koji, which (if successful) the autobuilder will pick up automatically.  Or ping <code>rwmjones</code> on <code>#fedora-riscv</code> and he will kick off a manual build.
If you have fixed a build, then there are two ways to get it into Fedora/RISC-V.  Either do a primary arch build in Koji, which (if successful) the autobuilder will pick up automatically.  Or ping <code>rwmjones</code> on <code>#fedora-riscv</code> and he will kick off a manual build.
== Exceptions to upstream first policy ==
Currently we have forked the following packages:
* kernel
* glibc
* binutils
* gcc
* gdb
This is a temporary situation.  We encourage RISC-V to send their changes to these projects upstream as soon as possible.


= Testing builds locally =
= Testing builds locally =


Download the [https://fedorapeople.org/groups/risc-v/disk-images/ stage4 disk image] and follow the instructions in the README for how to boot it.
Download the [https://fedorapeople.org/groups/risc-v/disk-images/ stage4 disk image] and follow the instructions in the README file.
 
If the build needs extra dependencies outside what are installed in the stage4 disk image, then you can download them from https://fedorapeople.org/groups/risc-v/RPMS and copy those into the disk image before booting, eg:


$ guestfish -a stage4-disk.img -i
= How stage4 is built =
><fs> copy-in -a stage4-disk.img RPMS /var/tmp/
><fs> upload -<<EOF /etc/yum.repos.d/local.repo
[local]
name=Local RPMS
baseurl=file:///var/tmp/RPMS
enabled=1
gpgcheck=0
EOF


Inside the qemu environment, you can use ordinary commands like <code>rpmbuild</code> and <code>gcc</code>. Instead of <code>dnf</code>, use <code>tdnf</code> (eventually we will get full dnf, but it's not there yet).
See [https://github.com/rwmjones/fedora-riscv-stage4 this repository].

Revision as of 22:25, 8 March 2018

Shortcut:
Arch:RISC-V

All about building Fedora packages for RISC-V. If you want to help build packages or fix broken packages, you've come to the right place.

Autobuilder

All packages are now built with an autobuilder which picks up packages as they are built in Fedora Koji build system and tries to rebuild them for RISC-V. The status of builds, build logs, RPMs and SRPMs can be found here.

The autobuilder can also be manually told to build a particular package, or to do a mass rebuild of every package in Fedora. If you need a particular package rebuilt, please ping rwmjones in the #fedora-riscv IRC channel on FreeNode.

We are currently only building Fedora 27 and 28 packages, but expect to move to Rawhide in the near future.

Fixing broken builds

Fedora has an upstream first policy and Fedora/RISC-V tries to stay as close as possible to this rule. Please send all your riscv64 changes to the upstream project. From there they will trickle down into Fedora.

If your package needs specfile changes, then you can ask the Fedora package maintainer to add those changes for you. However you should not do this for hacks, for patches which should go upstream, or for missing dependencies. If there are missing dependencies, work on the dependencies first. More information on this point.

If you have fixed a build, then there are two ways to get it into Fedora/RISC-V. Either do a primary arch build in Koji, which (if successful) the autobuilder will pick up automatically. Or ping rwmjones on #fedora-riscv and he will kick off a manual build.

Testing builds locally

Download the stage4 disk image and follow the instructions in the README file.

How stage4 is built

See this repository.