X-Git-Url: http://git.annexia.org/?a=blobdiff_plain;ds=sidebyside;f=opensbi%2Fopensbi.spec;h=cda873a7a3d7db829d30ac8cf34b79c0db9af53c;hb=HEAD;hp=de3c1311e13adbba54ad4843e4e37fe4019a6354;hpb=c59856adb7760260a343a244cbbdf57191dfa5cf;p=fedora-reviews.git diff --git a/opensbi/opensbi.spec b/opensbi/opensbi.spec index de3c131..6ce35c8 100644 --- a/opensbi/opensbi.spec +++ b/opensbi/opensbi.spec @@ -1,58 +1,103 @@ # Disable debug packages, we don't need them. %global debug_package %{nil} -Name: opensbi-unstable -# The last part is short hash -# Format: ..... -Version: v1.2.116.2023.05.02.7919530 -Release: 1%{?dist} -Summary: RISC-V Open Source Supervisor Binary Interface - -License: BSD -URL: https://github.com/riscv/opensbi - -# Download tarball, e.g.: -# https://github.com/riscv/opensbi/archive/%full_commit.tar.gz -%global full_commit 791953030836d39687688a8e7f1a3e708892cfa1 -Source0: https://github.com/riscv/opensbi/archive/%{full_commit}.tar.gz - -BuildRequires: gcc -BuildRequires: binutils -BuildRequires: findutils -BuildRequires: grep -BuildRequires: coreutils -BuildRequires: make -BuildRequires: dtc -BuildRequires: python3 -BuildRequires: gawk -BuildRequires: sed +# Make sure we use the cross-binary to strip. +%global __strip riscv64-linux-gnu-strip + +# Avoid this error caused by cross-compilation and packaging the +# result in a noarch package: +# error: Arch dependent binaries in noarch package +%global _binaries_in_noarch_packages_terminate_build 0 + +%global forgeurl https://github.com/riscv/opensbi +%global commit 355796c5bc1906d749850e4215e0f7f53802ba5b +%forgemeta + +Name: opensbi +Version: 1.2 +Release: 1%{?dist} +Summary: RISC-V Open Source Supervisor Binary Interface + +License: BSD +URL: %{forgeurl} +Source: %{forgesource} + +# The resulting binary contains RISC-V firmware intended to be used +# under virtualization, so it can be used on any architecture. +Buildarch: noarch + +BuildRequires: gcc-riscv64-linux-gnu +BuildRequires: binutils-riscv64-linux-gnu +BuildRequires: findutils +BuildRequires: grep +BuildRequires: coreutils +BuildRequires: make +BuildRequires: dtc +BuildRequires: python3 +BuildRequires: gawk +BuildRequires: sed %description -RISC-V Open Source Supervisor Binary Interface compiled in jump variant. -This is only for QEMU RISC-V virt machine. +RISC-V Open Source Supervisor Binary Interface. + +The current version is for QEMU RISC-V virt machines, SiFive HiFive +Unleashed, T-HEAD C9xx and some others. %prep -%autosetup -n opensbi-%{full_commit} +%forgesetup %build -make \ +mkdir build32 build64 +# Build 32 bit firmware. +%make_build \ + O=build32 \ + CROSS_COMPILE=riscv64-linux-gnu- \ + PLATFORM=generic \ + PLATFORM_RISCV_XLEN=32 +# Build 64 bit firmware. +%make_build \ + O=build32 \ + CROSS_COMPILE=riscv64-linux-gnu- \ PLATFORM=generic - %install -make \ +# Install 32 bit firmware. +%make_install \ + O=build32 \ + CROSS_COMPILE=riscv64-linux-gnu- \ PLATFORM=generic \ + PLATFORM_RISCV_XLEN=32 \ I=%{buildroot} \ - INSTALL_LIB_PATH=lib64 \ - INSTALL_FIRMWARE_PATH=%{_datadir}/%{name} \ - install - - -rm -rfv %{buildroot}/lib64 + INSTALL_LIB_PATH=%{_libdir} \ + INSTALL_FIRMWARE_PATH=%{_datadir}/%{name} +pushd %{buildroot}%{_datadir}/%{name}/generic/firmware +for f in fw_*.bin fw_*.elf; do + mv $f opensbi-riscv32-generic-$f +done +popd + +# Install 64 bit firmware. +%make_install \ + O=build64 \ + CROSS_COMPILE=riscv64-linux-gnu- \ + PLATFORM=generic \ + I=%{buildroot} \ + INSTALL_LIB_PATH=%{_libdir} \ + INSTALL_FIRMWARE_PATH=%{_datadir}/%{name} +pushd %{buildroot}%{_datadir}/%{name}/generic/firmware +for f in fw_*.bin fw_*.elf; do + mv $f opensbi-riscv64-generic-$f +done +popd + +# Remove development libraries and headers for the time being. +rm -rfv %{buildroot}%{_libdir} rm -rfv %{buildroot}/include + +# Remove the example/testing payloads. rm -rfv %{buildroot}%{_datadir}/%{name}/*/firmware/payloads @@ -64,19 +109,24 @@ rm -rfv %{buildroot}%{_datadir}/%{name}/*/firmware/payloads %changelog -* Tue May 02 2022 David Abdurachmanov v1.2.116.2023.05.02.7919530-1 +* Tue May 23 2023 Richard W.M. Jones 1.2 +- Use forge macros +- Convert to use cross-compilation +- Fix dates in changelog + +* Tue May 02 2023 David Abdurachmanov v1.2.116.2023.05.02.7919530-1 - Sync with upstream master branch (v1.2-116-g7919530) -* Thu Jan 26 2022 David Abdurachmanov v1.2.0.2023.01.26.c6b5188c-1 +* Thu Jan 26 2023 David Abdurachmanov v1.2.0.2023.01.26.c6b5188c-1 - Use v1.2 (last stable release for now) -* Tue Jan 25 2022 David Abdurachmanov v1.2.34.2023.01.25.c45992c-1 +* Wed Jan 25 2023 David Abdurachmanov v1.2.34.2023.01.25.c45992c-1 - Sync with upstream master branch (v1.2-34-gc45992c) * Thu Nov 17 2022 David Abdurachmanov v1.1.85.2022.11.17.14f5c4c-1 - Sync with upstream master branch (v1.1-85-g14f5c4c) -* Mon Jun 23 2022 David Abdurachmanov v1.1.0.2022.06.27.4489876-1 +* Mon Jun 27 2022 David Abdurachmanov v1.1.0.2022.06.27.4489876-1 - Sync with upstream master branch (v1.1 tag) * Thu Jun 23 2022 David Abdurachmanov v1.0.99.2022.06.23.6f1fe98-1