From cda5a4c1f2c56c237ec7b099ae7fbe6162a1abd3 Mon Sep 17 00:00:00 2001 From: Mark Hatle Date: Mon, 21 Nov 2022 13:17:33 -0800 Subject: qemu/qemu-native/qemu-system-native: Allow preferred provider to select Xilinx Implement Xilinux versions to work with the PREFERRED_PROVIDER syntax. This will prevent the non-preferred version of being used with the anonymous python in the 'alt.inc' files. Signed-off-by: Mark Hatle --- meta-xilinx-core/recipes-devtools/qemu/qemu-alt.inc | 19 +++++++++++++++++++ .../recipes-devtools/qemu/qemu-native-alt.inc | 12 ++++++++++++ .../recipes-devtools/qemu/qemu-native_%.bbappend | 1 + .../recipes-devtools/qemu/qemu-system-native-alt.inc | 13 +++++++++++++ .../qemu/qemu-system-native_%.bbappend | 1 + .../qemu/qemu-xilinx-native_2022.1.bb | 3 ++- .../qemu/qemu-xilinx-native_2022.2.bb | 3 ++- .../qemu/qemu-xilinx-native_2023.1.bb | 3 ++- .../qemu/qemu-xilinx-system-native_2022.1.bb | 1 + .../qemu/qemu-xilinx-system-native_2022.2.bb | 1 + .../recipes-devtools/qemu/qemu-xilinx_2022.1.bb | 1 + .../recipes-devtools/qemu/qemu-xilinx_2022.2.bb | 1 + .../recipes-devtools/qemu/qemu-xilinx_2023.1.bb | 1 + .../recipes-devtools/qemu/qemu_%.bbappend | 3 +-- 14 files changed, 58 insertions(+), 5 deletions(-) create mode 100644 meta-xilinx-core/recipes-devtools/qemu/qemu-alt.inc create mode 100644 meta-xilinx-core/recipes-devtools/qemu/qemu-native-alt.inc create mode 100644 meta-xilinx-core/recipes-devtools/qemu/qemu-native_%.bbappend create mode 100644 meta-xilinx-core/recipes-devtools/qemu/qemu-system-native-alt.inc create mode 100644 meta-xilinx-core/recipes-devtools/qemu/qemu-system-native_%.bbappend (limited to 'meta-xilinx-core/recipes-devtools') diff --git a/meta-xilinx-core/recipes-devtools/qemu/qemu-alt.inc b/meta-xilinx-core/recipes-devtools/qemu/qemu-alt.inc new file mode 100644 index 00000000..5064dc76 --- /dev/null +++ b/meta-xilinx-core/recipes-devtools/qemu/qemu-alt.inc @@ -0,0 +1,19 @@ +PROVIDES += "qemu" + +# Skip processing of this recipe if it is not explicitly specified as the +# PREFERRED_PROVIDER for qemu-syste-native. This avoids network access required by +# the use of AUTOREV SRCREVs, which may be the default for some recipes. +python () { + if bb.data.inherits_class('nativesdk', d): + if (not d.getVar("PREFERRED_PROVIDER_nativesdk-qemu") and "qemu" != d.getVar("PN")) or \ + (d.getVar("PREFERRED_PROVIDER_nativesdk-qemu") and d.getVar("PREFERRED_PROVIDER_nativesdk-qemu") != d.getVar("PN")): + d.delVar("BB_DONT_CACHE") + raise bb.parse.SkipRecipe("Set PREFERRED_PROVIDER_nativesdk-qemu to %s to enable it" % (d.getVar("PN"))) + elif (not d.getVar("PREFERRED_PROVIDER_qemu") and "qemu" != d.getVar("PN")) or \ + (d.getVar("PREFERRED_PROVIDER_qemu") and d.getVar("PREFERRED_PROVIDER_qemu") != d.getVar("PN")): + d.delVar("BB_DONT_CACHE") + raise bb.parse.SkipRecipe("Set PREFERRED_PROVIDER_qemu to %s to enable it" % (d.getVar("PN"))) +} + +RPROVIDES:${PN} += "qemu" +RPROVIDES:${PN}-ptest += "qemu-ptest" diff --git a/meta-xilinx-core/recipes-devtools/qemu/qemu-native-alt.inc b/meta-xilinx-core/recipes-devtools/qemu/qemu-native-alt.inc new file mode 100644 index 00000000..60c79542 --- /dev/null +++ b/meta-xilinx-core/recipes-devtools/qemu/qemu-native-alt.inc @@ -0,0 +1,12 @@ +PROVIDES += "qemu-native" + +# Skip processing of this recipe if it is not explicitly specified as the +# PREFERRED_PROVIDER for qemu-syste-native. This avoids network access required by +# the use of AUTOREV SRCREVs, which may be the default for some recipes. +python () { + if (not d.getVar("PREFERRED_PROVIDER_qemu-native") and "qemu-native" != d.getVar("PN")) or \ + (d.getVar("PREFERRED_PROVIDER_qemu-native") and d.getVar("PREFERRED_PROVIDER_qemu-native") != d.getVar("PN")): + d.delVar("BB_DONT_CACHE") + raise bb.parse.SkipRecipe("Set PREFERRED_PROVIDER_qemu-native to %s to enable it" % (d.getVar("PN"))) +} + diff --git a/meta-xilinx-core/recipes-devtools/qemu/qemu-native_%.bbappend b/meta-xilinx-core/recipes-devtools/qemu/qemu-native_%.bbappend new file mode 100644 index 00000000..d34c04ee --- /dev/null +++ b/meta-xilinx-core/recipes-devtools/qemu/qemu-native_%.bbappend @@ -0,0 +1 @@ +require qemu-native-alt.inc diff --git a/meta-xilinx-core/recipes-devtools/qemu/qemu-system-native-alt.inc b/meta-xilinx-core/recipes-devtools/qemu/qemu-system-native-alt.inc new file mode 100644 index 00000000..42592c58 --- /dev/null +++ b/meta-xilinx-core/recipes-devtools/qemu/qemu-system-native-alt.inc @@ -0,0 +1,13 @@ +PROVIDES += "qemu-system-native" + +# Skip processing of this recipe if it is not explicitly specified as the +# PREFERRED_PROVIDER for qemu-syste-native. This avoids network access required by +# the use of AUTOREV SRCREVs, which may be the default for some recipes. +python () { + if (not d.getVar("PREFERRED_PROVIDER_qemu-system-native") and "qemu-system-native" != d.getVar("PN")) or \ + (d.getVar("PREFERRED_PROVIDER_qemu-system-native") and d.getVar("PREFERRED_PROVIDER_qemu-system-native") != d.getVar("PN")): + d.delVar("BB_DONT_CACHE") + raise bb.parse.SkipRecipe("Set PREFERRED_PROVIDER_qemu-system-native to %s to enable it" % (d.getVar("PN"))) +} + +RPROVIDES:${PN} += "qemu-system-native" diff --git a/meta-xilinx-core/recipes-devtools/qemu/qemu-system-native_%.bbappend b/meta-xilinx-core/recipes-devtools/qemu/qemu-system-native_%.bbappend new file mode 100644 index 00000000..4a7810bd --- /dev/null +++ b/meta-xilinx-core/recipes-devtools/qemu/qemu-system-native_%.bbappend @@ -0,0 +1 @@ +require qemu-system-native-alt.inc diff --git a/meta-xilinx-core/recipes-devtools/qemu/qemu-xilinx-native_2022.1.bb b/meta-xilinx-core/recipes-devtools/qemu/qemu-xilinx-native_2022.1.bb index a6fd9268..e0edd965 100644 --- a/meta-xilinx-core/recipes-devtools/qemu/qemu-xilinx-native_2022.1.bb +++ b/meta-xilinx-core/recipes-devtools/qemu/qemu-xilinx-native_2022.1.bb @@ -1,8 +1,9 @@ require qemu-xilinx-2022.1.inc require qemu-xilinx-native.inc +require qemu-native-alt.inc + BPN = "qemu-xilinx" EXTRA_OECONF:append = " --target-list=${@get_qemu_usermode_target_list(d)} --disable-tools --disable-blobs --disable-guest-agent" -PROVIDES = "qemu-native" PACKAGECONFIG ??= "pie" diff --git a/meta-xilinx-core/recipes-devtools/qemu/qemu-xilinx-native_2022.2.bb b/meta-xilinx-core/recipes-devtools/qemu/qemu-xilinx-native_2022.2.bb index e4f6732c..21b9e9bf 100644 --- a/meta-xilinx-core/recipes-devtools/qemu/qemu-xilinx-native_2022.2.bb +++ b/meta-xilinx-core/recipes-devtools/qemu/qemu-xilinx-native_2022.2.bb @@ -1,8 +1,9 @@ require qemu-xilinx-2022.2.inc require qemu-xilinx-native.inc +require qemu-native-alt.inc + BPN = "qemu-xilinx" EXTRA_OECONF:append = " --target-list=${@get_qemu_usermode_target_list(d)} --disable-tools --disable-blobs --disable-guest-agent" -PROVIDES = "qemu-native" PACKAGECONFIG ??= "pie" diff --git a/meta-xilinx-core/recipes-devtools/qemu/qemu-xilinx-native_2023.1.bb b/meta-xilinx-core/recipes-devtools/qemu/qemu-xilinx-native_2023.1.bb index b1cb015b..04d91948 100644 --- a/meta-xilinx-core/recipes-devtools/qemu/qemu-xilinx-native_2023.1.bb +++ b/meta-xilinx-core/recipes-devtools/qemu/qemu-xilinx-native_2023.1.bb @@ -1,8 +1,9 @@ require qemu-xilinx-2023.1.inc require qemu-xilinx-native.inc +require qemu-native-alt.inc + BPN = "qemu-xilinx" EXTRA_OECONF:append = " --target-list=${@get_qemu_usermode_target_list(d)} --disable-tools --disable-blobs --disable-guest-agent" -PROVIDES = "qemu-native" PACKAGECONFIG ??= "pie" diff --git a/meta-xilinx-core/recipes-devtools/qemu/qemu-xilinx-system-native_2022.1.bb b/meta-xilinx-core/recipes-devtools/qemu/qemu-xilinx-system-native_2022.1.bb index d67b401d..ea7d6830 100644 --- a/meta-xilinx-core/recipes-devtools/qemu/qemu-xilinx-system-native_2022.1.bb +++ b/meta-xilinx-core/recipes-devtools/qemu/qemu-xilinx-system-native_2022.1.bb @@ -1,3 +1,4 @@ +require qemu-system-native-alt.inc require qemu-xilinx-2022.1.inc require qemu-xilinx-native.inc diff --git a/meta-xilinx-core/recipes-devtools/qemu/qemu-xilinx-system-native_2022.2.bb b/meta-xilinx-core/recipes-devtools/qemu/qemu-xilinx-system-native_2022.2.bb index 8cef3db2..540ec51a 100644 --- a/meta-xilinx-core/recipes-devtools/qemu/qemu-xilinx-system-native_2022.2.bb +++ b/meta-xilinx-core/recipes-devtools/qemu/qemu-xilinx-system-native_2022.2.bb @@ -1,3 +1,4 @@ +require qemu-system-native-alt.inc require qemu-xilinx-2022.2.inc require qemu-xilinx-native.inc diff --git a/meta-xilinx-core/recipes-devtools/qemu/qemu-xilinx_2022.1.bb b/meta-xilinx-core/recipes-devtools/qemu/qemu-xilinx_2022.1.bb index 9e9d05f6..3503e2f4 100644 --- a/meta-xilinx-core/recipes-devtools/qemu/qemu-xilinx_2022.1.bb +++ b/meta-xilinx-core/recipes-devtools/qemu/qemu-xilinx_2022.1.bb @@ -1,6 +1,7 @@ require qemu-xilinx-2022.1.inc require recipes-devtools/qemu/qemu.inc require qemu-xilinx.inc +require qemu-alt.inc BBCLASSEXTEND = "nativesdk" diff --git a/meta-xilinx-core/recipes-devtools/qemu/qemu-xilinx_2022.2.bb b/meta-xilinx-core/recipes-devtools/qemu/qemu-xilinx_2022.2.bb index 6aac2ad6..31b9c41d 100644 --- a/meta-xilinx-core/recipes-devtools/qemu/qemu-xilinx_2022.2.bb +++ b/meta-xilinx-core/recipes-devtools/qemu/qemu-xilinx_2022.2.bb @@ -1,6 +1,7 @@ require qemu-xilinx-2022.2.inc require recipes-devtools/qemu/qemu.inc require qemu-xilinx.inc +require qemu-alt.inc BBCLASSEXTEND = "nativesdk" diff --git a/meta-xilinx-core/recipes-devtools/qemu/qemu-xilinx_2023.1.bb b/meta-xilinx-core/recipes-devtools/qemu/qemu-xilinx_2023.1.bb index 3d1335d4..8bca9fdc 100644 --- a/meta-xilinx-core/recipes-devtools/qemu/qemu-xilinx_2023.1.bb +++ b/meta-xilinx-core/recipes-devtools/qemu/qemu-xilinx_2023.1.bb @@ -1,6 +1,7 @@ require qemu-xilinx-2023.1.inc require recipes-devtools/qemu/qemu.inc require qemu-xilinx.inc +require qemu-alt.inc BBCLASSEXTEND = "nativesdk" diff --git a/meta-xilinx-core/recipes-devtools/qemu/qemu_%.bbappend b/meta-xilinx-core/recipes-devtools/qemu/qemu_%.bbappend index 53475f64..9140060e 100644 --- a/meta-xilinx-core/recipes-devtools/qemu/qemu_%.bbappend +++ b/meta-xilinx-core/recipes-devtools/qemu/qemu_%.bbappend @@ -1,2 +1 @@ -# Has a dependency on libmali -PACKAGE_ARCH:mali400 = "${MACHINE_ARCH}" +require qemu-alt.inc -- cgit v1.2.3-54-g00ecf