Sign Up
Log In
Log In
or
Sign Up
Places
All Projects
Status Monitor
Collapse sidebar
home:alefnode:branches:devel:ARM:Factory:Contrib:Librem5
arm-trusted-firmware
arm-trusted-firmware.spec.in
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
File arm-trusted-firmware.spec.in of Package arm-trusted-firmware
# # spec file for package arm-trusted-firmware # # Copyright (c) 2018 SUSE LINUX GmbH, Nuernberg, Germany. # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed # upon. The license for this file, and modifications and additions to the # file, is the same license as for the pristine package itself (unless the # license for the pristine package is not an Open Source License, in which # case the license is the MIT License). An "Open Source License" is a # license that conforms to the Open Source Definition (Version 1.9) # published by the Open Source Initiative. # Please submit bugfixes or comments via http://bugs.opensuse.org/ # %define platform %global debug_build 1 %bcond_with atf_optee %if %{with atf_optee} %define use_optee 1 %if "%{platform}" == "tegra186" || "%{platform}" == "tegra210" || "%{platform}" == "rk3328" || "%{platform}" == "rk3368" || "%{platform}" == "rk3399" # OP-TEE not available %define use_optee 0 %endif %if "%{platform}" == "rpi3" # Not building %define use_optee 0 %endif %if "%{platform}" == "imx8qm" || "%{platform}" == "imx8qx" || "%{platform}" == "sun50i_a64" || "%{platform}" == "sun50i_h6" || "%{platform}" == "imx8mq" # TBD %define use_optee 0 %endif %else %define use_optee 0 %endif Name: arm-trusted-firmware-%{platform} Version: 2.0 Release: 0 %define srcversion 2.0 Summary: Arm Trusted Firmware-A License: BSD-3-Clause Group: System/Boot Url: https://github.com/ARM-software/arm-trusted-firmware Source: https://source.puri.sm/Librem5/arm-trusted-firmware/-/archive/1fd3ff86cd4a05cd3e5637bf5a6902ac58fcafb9/arm-trusted-firmware-1fd3ff86cd4a05cd3e5637bf5a6902ac58fcafb9.tar.gz Patch100: hikey960.diff #!BuildIgnore: gcc-PIE %if "%{platform}" == "rpi3" BuildRequires: arm-trusted-firmware-rpi3-bootstrap %endif %if "%{platform}" == "rk3399" BuildRequires: cross-arm-none-gcc%{gcc_version} %endif %if "%{platform}" == "hikey" BuildRequires: edk2-hikey %endif %if "%{platform}" == "hikey960" BuildRequires: edk2-hikey960 %endif BuildRequires: git BuildRequires: libopenssl-devel %if %{use_optee} %if "%{platform}" == "qemu" BuildRequires: optee-qemu-armv8a %else BuildRequires: optee-%{platform} %endif %endif %if "%{platform}" == "qemu" BuildRequires: qemu-uefi-aarch64 %endif %if "%{platform}" == "hikey" BuildRequires: u-boot-hikey %endif %if "%{platform}" == "poplar" BuildRequires: u-boot-poplar %endif BuildRoot: %{_tmppath}/%{name}-%{version}-build BuildArch: noarch ExclusiveArch: aarch64 %description Trusted Firmware-A (TF-A) provides a reference implementation of secure world software for Armv7-A and Armv8-A, including a Secure Monitor executing at Exception Level 3 (EL3). %if "%{platform}" == "poplar" %package devel Summary: ARM Trusted Firmware -- %{platform} development files License: BSD-3-Clause Group: System/Boot Requires: %{name} = %{version} %description devel ARM Trusted Firmware provides a reference implementation of secure world software for ARMv8-A, including a Secure Monitor executing at Exception Level 3 (EL3). It implements various ARM interface standards, such as the Power State Coordination Interface (PSCI), Trusted Board Boot Requirements (TBBR, ARM DEN0006C-1) and SMC Calling Convention. As far as possible the code is designed for reuse or porting to other ARMv8-A model and hardware platforms. This sub-package contains development files. %endif %prep %setup -q -n arm-trusted-firmware-1fd3ff86cd4a05cd3e5637bf5a6902ac58fcafb9 %patch100 -p1 %build sed -i "s/-Werror//g" Makefile make %{?_smp_mflags} V=1 DISABLE_PEDANTIC=1 DEBUG=%{debug_build} \ %if "%{platform}" == "tegra186" || "%{platform}" == "tegra210" %if "%{platform}" == "tegra186" %define target_soc t186 %endif %if "%{platform}" == "tegra210" %define target_soc t210 %endif PLAT=tegra TARGET_SOC=%{target_soc} \ %else PLAT=%{platform} \ %endif %if %{use_optee} SPD=opteed \ BL32=/boot/tee-header_v2.bin \ BL32_EXTRA1=/boot/tee-pager_v2.bin \ BL32_EXTRA2=/boot/tee-pageable_v2.bin \ %endif %if "%{platform}" == "hikey" SCP_BL2=/boot/mcuimage.bin \ BL33=/boot/u-boot.bin \ all fip %else %if "%{platform}" == "hikey960" SCP_BL2=/boot/lpm3.img \ BL33=/boot/BL33_AP_UEFI.fd \ all fip %else %if "%{platform}" == "poplar" BL33=/boot/u-boot.bin \ all fip mv build build.orig make %{?_smp_mflags} V=1 DISABLE_PEDANTIC=1 DEBUG=%{debug_build} \ PLAT=poplar POPLAR_RECOVERY=1 \ BL33=/boot/u-boot.bin \ all fip mv build build.recovery mv build.orig build %else %if "%{platform}" == "rpi3" BL33=%{_datadir}/arm-trusted-firmware-rpi3-bootstrap/el2-bootstrap.bin \ all fip %else %if "%{platform}" == "qemu" BL33=%{_datadir}/qemu/qemu-uefi-aarch64.bin \ all fip %else all %endif # qemu %endif # rpi3 %endif # poplar %endif # hikey960 %endif # hikey %install export NO_BRP_STRIP_DEBUG=true export NO_DEBUGINFO_STRIP_DEBUG=true mkdir -p %{buildroot}%{_datadir}/%{name} %if 0%{?debug_build} %global dir debug %else %global dir release %endif %define outdir build/%{platform}/%{dir} %if "%{platform}" == "tegra186" || "%{platform}" == "tegra210" %define outdir build/tegra/%{target_soc}/%{dir} %endif # u-boot for rockchip requires bl31.elf file %if "%{platform}" == "rk3328" || "%{platform}" == "rk3368" || "%{platform}" == "rk3399" install -D -m 0644 %{outdir}/bl31/bl31.elf %{buildroot}%{_datadir}/%{name}/bl31.elf %else install -D -m 0644 %{outdir}/bl31.bin %{buildroot}%{_datadir}/%{name}/bl31.bin %endif %if "%{platform}" == "hikey" || "%{platform}" == "hikey960" || "%{platform}" == "poplar" || "%{platform}" == "qemu" || "%{platform}" == "rpi3" install -D -m 0644 %{outdir}/bl1.bin %{buildroot}%{_datadir}/%{name}/bl1.bin install -D -m 0644 %{outdir}/fip.bin %{buildroot}%{_datadir}/%{name}/fip.bin %endif %if "%{platform}" == "hikey" || "%{platform}" == "hikey960" || "%{platform}" == "rpi3" install -D -m 0644 %{outdir}/bl2.bin %{buildroot}%{_datadir}/%{name}/bl2.bin %endif %if "%{platform}" == "poplar" %define outdir build.recovery/%{platform}/%{dir} install -D -m 0644 %{outdir}/bl1.bin %{buildroot}%{_datadir}/%{name}/bl1.recovery.bin install -D -m 0644 %{outdir}/fip.bin %{buildroot}%{_datadir}/%{name}/fip.recovery.bin mkdir -p %{buildroot}%{_includedir}/%{name} install -D -m 0644 plat/hisilicon/poplar/include/poplar_layout.h %{buildroot}%{_includedir}/%{name}/ %endif %if "%{platform}" == "rpi3" install -D -m 0644 %{outdir}/armstub8.bin %{buildroot}%{_datadir}/%{name}/armstub8.bin %endif %files %defattr(-,root,root) %license license.rst %doc acknowledgements.rst contributing.rst maintainers.rst readme.rst dco.txt %{_datadir}/%{name} %if "%{platform}" == "poplar" %files devel %defattr(-,root,root) %{_includedir}/%{name} %endif %changelog
Locations
Projects
Search
Status Monitor
Help
OpenBuildService.org
Documentation
API Documentation
Code of Conduct
Contact
Support
@OBShq
Terms
openSUSE Build Service is sponsored by
The Open Build Service is an
openSUSE project
.
Sign Up
Log In
Places
Places
All Projects
Status Monitor