From Fedora Project Wiki
(Redirect Package Maintainer wiki links to docs.fp.o)
 
(12 intermediate revisions by 3 users not shown)
Line 1: Line 1:
All about building Fedora packages for [[Architectures/RISC-V|RISC-V]].
{{shortcut|Arch:RISC-V}}
{{autolang|base=yes}}


= Introduction =
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.
 
You want to help build packages for Fedora/RISC-V? You've come to the right place.


= Autobuilder =
= Autobuilder =
Line 9: Line 8:
All packages are now built with an [https://github.com/rwmjones/fedora-riscv-autobuild autobuilder] which picks up packages as they are built in [http://koji.fedoraproject.org/koji/ Fedora Koji build system] and tries to rebuild them for RISC-V.  [https://fedorapeople.org/groups/risc-v/ The status of builds, build logs, RPMs and SRPMs can be found here].
All packages are now built with an [https://github.com/rwmjones/fedora-riscv-autobuild autobuilder] which picks up packages as they are built in [http://koji.fedoraproject.org/koji/ Fedora Koji build system] and tries to rebuild them for RISC-V.  [https://fedorapeople.org/groups/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 <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 Libera.


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 =


Fedora has an [[Staying close to upstream projects|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.
Fedora has an [https://docs.fedoraproject.org/en-US/package-maintainers/Staying_Close_to_Upstream_Projects/ 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 changes which should go upstream, or for missing dependencies.  If there are missing dependencies, work on the dependencies first.  [https://lists.fedoraproject.org/archives/list/devel@lists.fedoraproject.org/thread/EEGFAY6XH5JIMOMIZUF7TALKVLBBJVCW/#EEGFAY6XH5JIMOMIZUF7TALKVLBBJVCW More information on this point.]
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.  [https://lists.fedoraproject.org/archives/list/devel@lists.fedoraproject.org/thread/EEGFAY6XH5JIMOMIZUF7TALKVLBBJVCW/#EEGFAY6XH5JIMOMIZUF7TALKVLBBJVCW 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 <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:


virt-copy-in -a stage4-disk.img RPMS /var/tmp/
= How stage4 is built =


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

Latest revision as of 11:48, 9 October 2021

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

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.