[Rpm-maint] [PATCH] RISCV 64-bit (riscv64) support.

Neal Gompa ngompa13 at gmail.com
Wed Aug 10 20:50:27 UTC 2016

On Wed, Aug 10, 2016 at 1:52 PM, Richard W.M. Jones <rjones at redhat.com> wrote:
> On Wed, Aug 10, 2016 at 06:51:43PM +0100, Richard W.M. Jones wrote:
>> So this sort of works.
>> However %{_arch} is not defined, for reasons I don't understand.
>>   # uname -a
>>   Linux stage3 4.1.26-01508-g592a151 #1 Sat Aug 6 08:53:06 BST 2016 riscv GNU/Linux
>> and according to
>>   http://www.rpm.org/max-rpm-snapshot/s1-rpm-multi-build-install-detection.html
>> what I've done should map "riscv" from the kernel to "riscv64".
>> /usr/lib/rpm/platform/riscv64-linux/macros is created (see attached)
>> but apparently it is not read in by rpm.
> With the attachment this time.
> Rich.

Could you please define the full spectrum of RISC-V architectures? I
know you only plan on doing 64-bit RISC-V, but it's much better when
the full platform is supported. Even when Michal Toman added MIPS
support for his MIPS bootstrap, he added all the arch variants,
including the ones he doesn't intend to use in Fedora right now. It
makes it much easier when someone (maybe even you!) decides to use it
for some other arch variant later.

As for /usr/lib/rpm/platform/riscv64-linux/macros, it is actually
used, but it's not documented properly. My understanding is that the
/usr/lib/rpm/platform folder is supposed to be where you can
dynamically set platforms (creating a new platform is supposed to be
as simple as just adding the directory and defining the macros).
However, the migration from rpmrc to normal macros and the
/usr/lib/rpm/platform structure was never completed. So some parts of
the platform definition are there, while the rpmrc is still required
for the architecture enumeration itself.

真実はいつも一つ!/ Always, there's only one truth!

More information about the Rpm-maint mailing list