Overview
Request 1177636 accepted
- Enable build on riscv64
- Created by Andreas_Schwab
- In state accepted
- Package maintainer: jdelvare
- Supersedes 1126654
Which systems need this? Do we have such systems in house?
Isn't this just part of ACPI?
No, it isn't. SMBIOS and ACPI are separate specifications. It is possible to reference certain SMBIOS structures from ACPI tables but this isn't mandatory. Systems can implement ACPI without SMBIOS, or SMBIOS without ACPI.
There is support for RV32/RV64/RV128 in the SMBIOS spec.
Indeed. There are also many supported CPUs which I still have to see any real hardware use. Hobbit CPU anyone? :-D Don't get me wrong, I have no problem to let dmidecode build on riscv64 if it's useful there. But it would be nice to document which hardware we are enabling it for. I find it odd that you are submitting this request but don't see to have any incentive for doing so.
dmidecode is required by four packages: calamares hw-probe rasdaemon storage-fixup
This isn't a valid reason to enable dmidecode on a new architecture. If SMBIOS is implemented on some riscv64 systems, then of course we can and should enable this architecture. However if this is not the case then the proper fix is to make the dependency depend on the architecture. rasdaemon is already doing that for s390x for example.
It means that the packages are not installable.
I looked in the kernel, and there the DMI option is only defined on the arm, arm64, loongarch, mips and x86 architectures. This is in line with the current ExclusiveArch directive in the dmidecode package. I assume that the option would be defined for riscv if SMBIOS was implemented on these systems.
I'm not going to let dmidecode build on riscv64 only to satisfy dependencies, as it will not be usable on such systems. As I said before, the proper way to make the other packages installable is to fix the dependency on their side, using %ifnarch
directives.
dmidecode also works on plain files cross-platform, so it is not entirely unusable.
True, but this is essentially a development / debugging feature. It's not useful on production systems.
Note: it may also be possible to replace hard dependencies with weak dependencies (Recommends:, Supplements:).