packaging: Add u-boot-qemu-riscv64 spec file 44/293644/2
authorŁukasz Stelmach <l.stelmach@samsung.com>
Fri, 26 May 2023 17:44:32 +0000 (19:44 +0200)
committerŁukasz Stelmach <l.stelmach@samsung.com>
Fri, 2 Jun 2023 15:45:02 +0000 (17:45 +0200)
Change-Id: Idf0402efaf70974b09760732a29769afd8b713e7
Signed-off-by: Łukasz Stelmach <l.stelmach@samsung.com>
packaging/u-boot-qemu-riscv64.spec [new file with mode: 0644]
packaging/u_boot_qemu_riscv64.manifest [new file with mode: 0644]

diff --git a/packaging/u-boot-qemu-riscv64.spec b/packaging/u-boot-qemu-riscv64.spec
new file mode 100644 (file)
index 0000000..f05dc23
--- /dev/null
@@ -0,0 +1,70 @@
+Name: u-boot-qemu-riscv64
+Version: 2022.10
+Release: 0
+Summary: Das U-Boot - Tizen bootloader
+Group: System/Kernel
+License: GPL-2.0+
+ExclusiveArch: riscv64
+URL: https://source.denx.de/u-boot/u-boot.git
+Source0: u-boot-%{version}.tar.bz2
+Source1001: u_boot_qemu_riscv64.manifest
+
+BuildRequires: gcc >= 6.0
+BuildRequires: bc
+BuildRequires: flex
+BuildRequires: bison
+BuildRequires: libopenssl1.1-devel
+BuildRequires: opensbi
+BuildRequires: python3-devel
+BuildRequires: swig
+BuildRequires: python3-setuptools
+BuildRequires: u-boot-tools
+
+%description
+Tizen bootloader for QEMU emulating RISC-V
+
+%prep
+%setup -q -n u-boot-%{version}
+
+%build
+%{?asan:/usr/bin/gcc-unforce-options}
+cp %{SOURCE1001} .
+
+for c in riscv64 riscv64_smode; do
+       CONFIG=qemu-${c}_defconfig
+
+       # Set configuration
+       make O=./build/${c} $CONFIG
+
+       make O=./build/${c} %{?_smp_mflags} HOSTCC="gcc $RPM_OPT_FLAGS" \
+               DTC=/usr/bin/dtc \
+               OPENSBI=/platform/generic/firmware/fw_dynamic.bin \
+               EXTRAVERSION=`echo %{vcs} | sed 's/.*u-boot.*#\(.\{9\}\).*/-g\1-TIZEN.org/'` \
+               u-boot.bin
+done
+
+## Generate uboot.env
+./scripts/get_default_envs.sh build/riscv64 > default_envs.txt
+./build/riscv64/tools/mkenvimage -s 16384 -o uboot.env default_envs.txt
+rm default_envs.txt
+
+%install
+rm -rf %{buildroot}
+
+# u-boot installation
+install -m 644 -D uboot.env %{buildroot}/boot/uboot.env
+install -m 644 -D build/riscv64/u-boot %{buildroot}/%{_libdir}/u-boot/qemu-riscv64/uboot.elf
+install -m 644 -D build/riscv64/u-boot.bin %{buildroot}/%{_libdir}/u-boot/qemu-riscv64/u-boot.bin
+install -m 644 -D build/riscv64_smode/u-boot %{buildroot}/%{_libdir}/u-boot/qemu-riscv64_smode/uboot.elf
+install -m 644 -D build/riscv64_smode/u-boot.bin %{buildroot}/%{_libdir}/u-boot/qemu-riscv64_smode/u-boot.bin
+
+%clean
+
+%files
+%manifest u_boot_qemu_riscv64.manifest
+%defattr(-,root,root,-)
+/boot/uboot.env
+%{_libdir}/u-boot/qemu-riscv64/u-boot.bin
+%{_libdir}/u-boot/qemu-riscv64/uboot.elf
+%{_libdir}/u-boot/qemu-riscv64_smode/u-boot.bin
+%{_libdir}/u-boot/qemu-riscv64_smode/uboot.elf
diff --git a/packaging/u_boot_qemu_riscv64.manifest b/packaging/u_boot_qemu_riscv64.manifest
new file mode 100644 (file)
index 0000000..017d22d
--- /dev/null
@@ -0,0 +1,5 @@
+<manifest>
+ <request>
+    <domain name="_"/>
+ </request>
+</manifest>