[v2] sdkchroot: Fix dependency for RISC-V

Message ID f30c8893-3397-70d1-bccd-292aabfe245c@siemens.com
State Accepted, archived
Headers show
Series [v2] sdkchroot: Fix dependency for RISC-V | expand

Commit Message

Jan Kiszka Nov. 18, 2020, 10:50 p.m. UTC
From: Jan Kiszka <jan.kiszka@siemens.com>

RISC-V needs our crossbuild-essential-riscv64 package, and that needs to
be added to the dependency list of the sdkchroot, like already
the case for dpkg-base.bbclass.

While we could so far rely on buildchroot-host having installed the
required real dependencies of crossbuild-essential-riscv64 already, this
is not the case for the sdkchroot. So add those dependencies to our
replacement package.

Reported-by Steffen Gerhold <steffen.gerhold@siemens.com>
Signed-off-by: Jan Kiszka <jan.kiszka@siemens.com>
---

Changes in v2:
 - actually test the sdk and ensure that it installs the cross compiler

 ..._0.1-isar.bb => crossbuild-essential-riscv64_0.2-isar.bb} | 5 +++++
 meta/recipes-devtools/sdkchroot/sdkchroot.bb                 | 2 ++
 2 files changed, 7 insertions(+)
 rename meta/recipes-devtools/crossbuild-essential-riscv64/{crossbuild-essential-riscv64_0.1-isar.bb => crossbuild-essential-riscv64_0.2-isar.bb} (63%)

Comments

Anton Mikanovich Nov. 26, 2020, 5:59 a.m. UTC | #1
19.11.2020 11:50, Jan Kiszka wrote:
> From: Jan Kiszka <jan.kiszka@siemens.com>
>
> RISC-V needs our crossbuild-essential-riscv64 package, and that needs to
> be added to the dependency list of the sdkchroot, like already
> the case for dpkg-base.bbclass.
>
> While we could so far rely on buildchroot-host having installed the
> required real dependencies of crossbuild-essential-riscv64 already, this
> is not the case for the sdkchroot. So add those dependencies to our
> replacement package.
>
> Reported-by Steffen Gerhold <steffen.gerhold@siemens.com>
> Signed-off-by: Jan Kiszka <jan.kiszka@siemens.com>

Applied to next, thanks

Patch

diff --git a/meta/recipes-devtools/crossbuild-essential-riscv64/crossbuild-essential-riscv64_0.1-isar.bb b/meta/recipes-devtools/crossbuild-essential-riscv64/crossbuild-essential-riscv64_0.2-isar.bb
similarity index 63%
rename from meta/recipes-devtools/crossbuild-essential-riscv64/crossbuild-essential-riscv64_0.1-isar.bb
rename to meta/recipes-devtools/crossbuild-essential-riscv64/crossbuild-essential-riscv64_0.2-isar.bb
index eeefba92..be06688f 100644
--- a/meta/recipes-devtools/crossbuild-essential-riscv64/crossbuild-essential-riscv64_0.1-isar.bb
+++ b/meta/recipes-devtools/crossbuild-essential-riscv64/crossbuild-essential-riscv64_0.2-isar.bb
@@ -9,3 +9,8 @@  inherit dpkg-raw
 DPKG_ARCH = "all"
 
 ISAR_CROSS_BUILD = "0"
+
+DEBIAN_DEPENDS = " \
+    gcc-riscv64-linux-gnu, \
+    g++-riscv64-linux-gnu, \
+    dpkg-cross"
diff --git a/meta/recipes-devtools/sdkchroot/sdkchroot.bb b/meta/recipes-devtools/sdkchroot/sdkchroot.bb
index c96cc772..893b2877 100644
--- a/meta/recipes-devtools/sdkchroot/sdkchroot.bb
+++ b/meta/recipes-devtools/sdkchroot/sdkchroot.bb
@@ -19,6 +19,8 @@  SDK_INSTALL ?= ""
 
 DEPENDS += "${SDK_INSTALL}"
 
+DEPENDS_append_riscv64 = "${@' crossbuild-essential-riscv64' if d.getVar('ISAR_CROSS_COMPILE', True) == '1' and d.getVar('PN') != 'crossbuild-essential-riscv64' else ''}"
+
 TOOLCHAIN = "crossbuild-essential-${DISTRO_ARCH}"
 TOOLCHAIN_${HOST_ARCH} = "build-essential"
 TOOLCHAIN_i386 = "build-essential"