This still fails on musl/aarch64 see
https://errors.yoctoproject.org/Errors/Details/616736/

On Mon, Nov 8, 2021 at 2:49 AM Ross Burton <r...@burtonini.com> wrote:
>
> Signed-off-by: Ross Burton <ross.bur...@arm.com>
> ---
>  meta-oe/recipes-bsp/fwupd/fwupd/no-bash.patch | 141 ++++++++++++++++++
>  meta-oe/recipes-bsp/fwupd/fwupd/run-ptest     |   6 +
>  meta-oe/recipes-bsp/fwupd/fwupd_1.7.1.bb      | 101 +++++++++++++
>  3 files changed, 248 insertions(+)
>  create mode 100644 meta-oe/recipes-bsp/fwupd/fwupd/no-bash.patch
>  create mode 100755 meta-oe/recipes-bsp/fwupd/fwupd/run-ptest
>  create mode 100644 meta-oe/recipes-bsp/fwupd/fwupd_1.7.1.bb
>
> diff --git a/meta-oe/recipes-bsp/fwupd/fwupd/no-bash.patch 
> b/meta-oe/recipes-bsp/fwupd/fwupd/no-bash.patch
> new file mode 100644
> index 0000000000..e0f83c4b6c
> --- /dev/null
> +++ b/meta-oe/recipes-bsp/fwupd/fwupd/no-bash.patch
> @@ -0,0 +1,141 @@
> +Upstream-Status: Backport [a346c582cc0f34ac6c7c11251919c84553424efb]
> +Signed-off-by: Ross Burton <ross.bur...@arm.com>
> +
> +diff --git a/data/installed-tests/fwupd.sh b/data/installed-tests/fwupd.sh
> +index 5b1f5d22..eaa5ec7f 100755
> +--- a/data/installed-tests/fwupd.sh
> ++++ b/data/installed-tests/fwupd.sh
> +@@ -1,4 +1,4 @@
> +-#!/bin/bash
> ++#!/bin/sh
> +
> + exec 2>&1
> + dirname=`dirname $0`
> +@@ -7,7 +7,7 @@ run_test()
> + {
> +         if [ -f $dirname/$1 ]; then
> +                 $dirname/$1
> +-                rc=$?; if [[ $rc != 0 ]]; then exit $rc; fi
> ++                rc=$?; if [ $rc != 0 ]; then exit $rc; fi
> +         fi
> + }
> +
> +diff --git a/data/installed-tests/fwupdmgr.sh 
> b/data/installed-tests/fwupdmgr.sh
> +index e3f7ee31..3d65395e 100755
> +--- a/data/installed-tests/fwupdmgr.sh
> ++++ b/data/installed-tests/fwupdmgr.sh
> +@@ -1,4 +1,4 @@
> +-#!/bin/bash
> ++#!/bin/sh
> +
> + exec 2>&1
> + device=08d460be0f1f9f128413f816022a6439e0078018
> +@@ -13,47 +13,47 @@ error()
> + # ---
> + echo "Getting the list of remotes..."
> + fwupdmgr get-remotes
> +-rc=$?; if [[ $rc != 0 ]]; then error $rc; fi
> ++rc=$?; if [ $rc != 0 ]; then error $rc; fi
> +
> + # ---
> + echo "Enabling fwupd-tests remote..."
> + fwupdmgr enable-remote fwupd-tests
> +-rc=$?; if [[ $rc != 0 ]]; then error $rc; fi
> ++rc=$?; if [ $rc != 0 ]; then error $rc; fi
> +
> + # ---
> + echo "Update the device hash database..."
> + fwupdmgr verify-update $device
> +-rc=$?; if [[ $rc != 0 ]]; then error $rc; fi
> ++rc=$?; if [ $rc != 0 ]; then error $rc; fi
> +
> + # ---
> + echo "Getting devices (should be one)..."
> + fwupdmgr get-devices --no-unreported-check
> +-rc=$?; if [[ $rc != 0 ]]; then error $rc; fi
> ++rc=$?; if [ $rc != 0 ]; then error $rc; fi
> +
> + # ---
> + echo "Testing the verification of firmware..."
> + fwupdmgr verify $device
> +-rc=$?; if [[ $rc != 0 ]]; then error $rc; fi
> ++rc=$?; if [ $rc != 0 ]; then error $rc; fi
> +
> + # ---
> + echo "Getting updates (should be one)..."
> + fwupdmgr --no-unreported-check --no-metadata-check get-updates
> +-rc=$?; if [[ $rc != 0 ]]; then error $rc; fi
> ++rc=$?; if [ $rc != 0 ]; then error $rc; fi
> +
> + # ---
> + echo "Installing test firmware..."
> + fwupdmgr update $device -y
> +-rc=$?; if [[ $rc != 0 ]]; then error $rc; fi
> ++rc=$?; if [ $rc != 0 ]; then error $rc; fi
> +
> + # ---
> + echo "Getting updates (should be none)..."
> + fwupdmgr --no-unreported-check --no-metadata-check get-updates
> +-rc=$?; if [[ $rc != 2 ]]; then error $rc; fi
> ++rc=$?; if [ $rc != 2 ]; then error $rc; fi
> +
> + # ---
> + echo "Testing the verification of firmware (again)..."
> + fwupdmgr verify $device
> +-rc=$?; if [[ $rc != 0 ]]; then error $rc; fi
> ++rc=$?; if [ $rc != 0 ]; then error $rc; fi
> +
> + if [ -z "$CI_NETWORK" ]; then
> +         echo "Skipping remaining tests due to CI_NETWORK not being set"
> +@@ -63,27 +63,27 @@ fi
> + # ---
> + echo "Downgrading to older release (requires network access)"
> + fwupdmgr downgrade $device -y
> +-rc=$?; if [[ $rc != 0 ]]; then error $rc; fi
> ++rc=$?; if [ $rc != 0 ]; then error $rc; fi
> +
> + # ---
> + echo "Downgrading to older release (should be none)"
> + fwupdmgr downgrade $device
> +-rc=$?; if [[ $rc != 2 ]]; then error $rc; fi
> ++rc=$?; if [ $rc != 2 ]; then error $rc; fi
> +
> + # ---
> + echo "Updating all devices to latest release (requires network access)"
> + fwupdmgr --no-unreported-check --no-metadata-check --no-reboot-check update 
> -y
> +-rc=$?; if [[ $rc != 0 ]]; then error $rc; fi
> ++rc=$?; if [ $rc != 0 ]; then error $rc; fi
> +
> + # ---
> + echo "Getting updates (should be none)..."
> + fwupdmgr --no-unreported-check --no-metadata-check get-updates
> +-rc=$?; if [[ $rc != 2 ]]; then error $rc; fi
> ++rc=$?; if [ $rc != 2 ]; then error $rc; fi
> +
> + # ---
> + echo "Refreshing from the LVFS (requires network access)..."
> + fwupdmgr refresh
> +-rc=$?; if [[ $rc != 0 ]]; then error $rc; fi
> ++rc=$?; if [ $rc != 0 ]; then error $rc; fi
> +
> + # success!
> + exit 0
> +diff --git a/plugins/uefi-capsule/fwupd.grub.conf.in 
> b/plugins/uefi-capsule/fwupd.grub.conf.in
> +index 92bd49a1..9c3a22f2 100755
> +--- a/plugins/uefi-capsule/fwupd.grub.conf.in
> ++++ b/plugins/uefi-capsule/fwupd.grub.conf.in
> +@@ -1,4 +1,4 @@
> +-#! /bin/bash
> ++#! /bin/sh
> + # SPDX-License-Identifier: LGPL-2.1+
> + set -e
> +
> +@@ -8,7 +8,7 @@ set -e
> +
> + if [ -f @localstatedir@/lib/fwupd/uefi_capsule.conf ] &&
> +    ls 
> /sys/firmware/efi/efivars/fwupd-*-0abba7dc-e516-4167-bbf5-4d9d1c739416 
> 1>/dev/null 2>&1; then
> +-      source @localstatedir@/lib/fwupd/uefi_capsule.conf
> ++      . @localstatedir@/lib/fwupd/uefi_capsule.conf
> +       if [ "${EFI_PATH}" != "" ] && [ "${ESP}" != "" ]; then
> +       echo "Adding Linux Firmware Updater entry" >&2
> + cat << EOF
> diff --git a/meta-oe/recipes-bsp/fwupd/fwupd/run-ptest 
> b/meta-oe/recipes-bsp/fwupd/fwupd/run-ptest
> new file mode 100755
> index 0000000000..dbc0fc32a2
> --- /dev/null
> +++ b/meta-oe/recipes-bsp/fwupd/fwupd/run-ptest
> @@ -0,0 +1,6 @@
> +#! /bin/sh
> +
> +# Don't run all of the fwupd tests, as fwupd/fwupdmgr.test needs a custom
> +# /etc/fwupd/daemon.conf with DisabledPlugins unset.
> +
> +gnome-desktop-testing-runner fwupd/fwupd.test
> diff --git a/meta-oe/recipes-bsp/fwupd/fwupd_1.7.1.bb 
> b/meta-oe/recipes-bsp/fwupd/fwupd_1.7.1.bb
> new file mode 100644
> index 0000000000..2147ea0bd9
> --- /dev/null
> +++ b/meta-oe/recipes-bsp/fwupd/fwupd_1.7.1.bb
> @@ -0,0 +1,101 @@
> +SUMMARY = "A simple daemon to allow session software to update firmware"
> +LICENSE = "LGPL-2.1+"
> +LIC_FILES_CHKSUM = "file://COPYING;md5=4fbd65380cdd255951079008b364516c"
> +
> +DEPENDS = "glib-2.0 libxmlb json-glib sqlite3 libjcat gcab vala-native"
> +
> +SRC_URI = 
> "https://github.com/${BPN}/${BPN}/releases/download/1.7.1/${BP}.tar.xz \
> +           file://run-ptest \
> +           file://no-bash.patch"
> +SRC_URI[sha256sum] = 
> "ae56ceb44b786f21f54d133ac70bc5d9cb8cd4bda0167339c669a228da67fa3c"
> +
> +UPSTREAM_CHECK_URI = "https://github.com/${BPN}/${BPN}/releases";
> +
> +# Machine-specific as we examine MACHINE_FEATURES to decide whether to build 
> the UEFI plugins
> +PACKAGE_ARCH = "${MACHINE_ARCH}"
> +
> +inherit meson vala gobject-introspection systemd bash-completion pkgconfig 
> gi-docgen ptest manpages
> +
> +GIDOCGEN_MESON_OPTION = 'docs'
> +GIDOCGEN_MESON_ENABLE_FLAG = 'docgen'
> +GIDOCGEN_MESON_DISABLE_FLAG = 'none'
> +
> +PACKAGECONFIG ??= "curl gnutls gudev gusb lzma \
> +                   ${@bb.utils.filter('DISTRO_FEATURES', 'polkit systemd', 
> d)} \
> +                   ${@bb.utils.contains('MACHINE_FEATURES', 'efi', 
> 'plugin_uefi_capsule plugin_uefi_pk', '', d)} \
> +                   ${@bb.utils.contains('PTEST_ENABLED', '1', 'tests 
> plugin_dummy', '', d)} \
> +                   plugin_altos \
> +                   plugin_amt \
> +                   plugin_emmc \
> +                   plugin_fastboot \
> +                   plugin_flashrom \
> +                   plugin_intel_spi \
> +                   plugin_logitech_bulkcontroller \
> +                   plugin_modem_manager \
> +                   plugin_msr \
> +                   plugin_nvme \
> +                   plugin_parade_lspcon \
> +                   plugin_platform_integrity \
> +                   plugin_realtek_mst \
> +                   plugin_redfish \
> +                   plugin_synaptics_mst \
> +                   plugin_synaptics_rmi \
> +                   plugin_thunderbolt"
> +
> +PACKAGECONFIG[bluez] = "-Dbluez=true,-Dbluez=false"
> +PACKAGECONFIG[consolekit] = "-Dconsolekit=true,-Dconsolekit=false,consolekit"
> +PACKAGECONFIG[curl] = "-Dcurl=true,-Dcurl=false,curl"
> +PACKAGECONFIG[firmware-packager] = 
> "-Dfirmware-packager=true,-Dfirmware-packager=false"
> +PACKAGECONFIG[gnutls] = "-Dgnutls=true,-Dgnutls=false,gnutls"
> +PACKAGECONFIG[gudev] = "-Dgudev=true,-Dgudev=false,libgudev"
> +PACKAGECONFIG[gusb] = "-Dgusb=true,-Dgusb=false,libgusb"
> +PACKAGECONFIG[libarchive] = "-Dlibarchive=true,-Dlibarchive=false,libarchive"
> +PACKAGECONFIG[lzma] = "-Dlzma=true,-Dlzma=false,xz"
> +PACKAGECONFIG[manpages] = "-Dman=true,-Dman=false"
> +PACKAGECONFIG[polkit] = "-Dpolkit=true,-Dpolkit=false,polkit"
> +PACKAGECONFIG[systemd] = "-Dsystemd=true,-Dsystemd=false,systemd"
> +PACKAGECONFIG[tests] = "-Dtests=true,-Dtests=false,gcab-native"
> +
> +# TODO plugins-all meta-option that expands to all plugin_*?
> +PACKAGECONFIG[plugin_altos] = 
> "-Dplugin_altos=true,-Dplugin_altos=false,elfutils"
> +PACKAGECONFIG[plugin_amt] = "-Dplugin_amt=true,-Dplugin_amt=false"
> +PACKAGECONFIG[plugin_dell] = 
> "-Dplugin_dell=true,-Dplugin_dell=false,libsmbios"
> +PACKAGECONFIG[plugin_dummy] = "-Dplugin_dummy=true,-Dplugin_dummy=false"
> +PACKAGECONFIG[plugin_emmc] = "-Dplugin_emmc=true,-Dplugin_emmc=false"
> +PACKAGECONFIG[plugin_fastboot] = 
> "-Dplugin_fastboot=true,-Dplugin_fastboot=false"
> +PACKAGECONFIG[plugin_flashrom] = 
> "-Dplugin_flashrom=true,-Dplugin_flashrom=false,flashrom"
> +PACKAGECONFIG[plugin_intel_spi] = 
> "-Dplugin_intel_spi=true,-Dplugin_intel_spi=false"
> +PACKAGECONFIG[plugin_logitech_bulkcontroller] = 
> "-Dplugin_logitech_bulkcontroller=true,-Dplugin_logitech_bulkcontroller=false,protobuf-c-native
>  protobuf-c"
> +PACKAGECONFIG[plugin_modem_manager] = 
> "-Dplugin_modem_manager=true,-Dplugin_modem_manager=false,libqmi modemmanager"
> +PACKAGECONFIG[plugin_msr] = "-Dplugin_msr=true,-Dplugin_msr=false,cpuid"
> +PACKAGECONFIG[plugin_nvme] = "-Dplugin_nvme=true,-Dplugin_nvme=false"
> +PACKAGECONFIG[plugin_parade_lspcon] = 
> "-Dplugin_parade_lspcon=true,-Dplugin_parade_lspcon=false"
> +PACKAGECONFIG[plugin_platform_integrity] = 
> "-Dplugin_platform_integrity=true,-Dplugin_platform_integrity=false"
> +PACKAGECONFIG[plugin_realtek_mst] = 
> "-Dplugin_realtek_mst=true,-Dplugin_realtek_mst=false"
> +PACKAGECONFIG[plugin_redfish] = 
> "-Dplugin_redfish=true,-Dplugin_redfish=false"
> +PACKAGECONFIG[plugin_synaptics_mst] = 
> "-Dplugin_synaptics_mst=true,-Dplugin_synaptics_mst=false"
> +PACKAGECONFIG[plugin_synaptics_rmi] = 
> "-Dplugin_synaptics_rmi=true,-Dplugin_synaptics_rmi=false"
> +PACKAGECONFIG[plugin_thunderbolt] = 
> "-Dplugin_thunderbolt=true,-Dplugin_thunderbolt=false"
> +PACKAGECONFIG[plugin_tpm] = "-Dplugin_tpm=true,-Dplugin_tpm=false,tpm2-tss"
> +# Turn off the capsule splash as it needs G-I at buildtime, which isn't 
> currently supported
> +PACKAGECONFIG[plugin_uefi_capsule] = "-Dplugin_uefi_capsule=true 
> -Dplugin_uefi_capsule_splash=false,-Dplugin_uefi_capsule=false,efivar 
> fwupd-efi"
> +PACKAGECONFIG[plugin_uefi_pk] = 
> "-Dplugin_uefi_pk=true,-Dplugin_uefi_pk=false"
> +
> +# Always disable these plugins on non-x86 platforms as they don't compile
> +DISABLE_NON_X86 = "plugin_msr plugin_intel_spi"
> +DISABLE_NON_X86:x86 = ""
> +DISABLE_NON_X86:x86-64 = ""
> +PACKAGECONFIG:remove = "${DISABLE_NON_X86}"
> +
> +FILES:${PN} += "${libdir}/fwupd-plugins-* \
> +                ${systemd_unitdir} \
> +                ${datadir}/fish \
> +                ${datadir}/metainfo \
> +                ${datadir}/icons \
> +                ${datadir}/dbus-1 \
> +                ${datadir}/polkit-1 \
> +                ${nonarch_libdir}/modules-load.d"
> +
> +FILES:${PN}-ptest += "${libexecdir}/installed-tests/ \
> +                      ${datadir}/installed-tests/"
> +RDEPENDS:${PN}-ptest += "gnome-desktop-testing"
> --
> 2.25.1
>
>
> 
>
-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.
View/Reply Online (#93884): 
https://lists.openembedded.org/g/openembedded-devel/message/93884
Mute This Topic: https://lists.openembedded.org/mt/86902821/21656
Group Owner: openembedded-devel+ow...@lists.openembedded.org
Unsubscribe: https://lists.openembedded.org/g/openembedded-devel/unsub 
[arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-

Reply via email to