diff --git a/meta-oe/recipes-support/libusb/libusb-compat/0002-automake-make-example-programs-installable.patch b/meta-oe/recipes-support/libusb/libusb-compat/0002-automake-make-example-programs-installable.patch new file mode 100644 index 0000000000..faf532cad2 --- /dev/null +++ b/meta-oe/recipes-support/libusb/libusb-compat/0002-automake-make-example-programs-installable.patch @@ -0,0 +1,24 @@ +From 9dcdfa716e3c3831d9b70472b39dab2fd370f503 Mon Sep 17 00:00:00 2001 +From: Yoann Congal +Date: Sun, 26 Feb 2023 16:04:35 +0100 +Subject: [PATCH] automake: make example programs installable + +The example programs are used as tests for ptest, so we need a way to +install them on the rootfs. + +Upstream-Status: Inappropriate [oe-core specific] +--- + examples/Makefile.am | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/examples/Makefile.am b/examples/Makefile.am +index 9bd3efc..f4324c2 100644 +--- a/examples/Makefile.am ++++ b/examples/Makefile.am +@@ -1,5 +1,5 @@ + AM_CPPFLAGS = -I$(top_srcdir)/libusb +-noinst_PROGRAMS = lsusb testlibusb ++bin_PROGRAMS = lsusb testlibusb + + lsusb_SOURCES = lsusb.c + lsusb_LDADD = ../libusb/libusb.la diff --git a/meta-oe/recipes-support/libusb/libusb-compat/run-ptest b/meta-oe/recipes-support/libusb/libusb-compat/run-ptest new file mode 100644 index 0000000000..901662d696 --- /dev/null +++ b/meta-oe/recipes-support/libusb/libusb-compat/run-ptest @@ -0,0 +1,14 @@ +#!/bin/sh + +rc=0 +for TEST in lsusb testlibusb; do + if ! ./$TEST ; then + echo "FAIL: $TEST" + rc=$((rc + 1)) + else + echo "PASS: $TEST" + fi +done + +# return number of failed tests +exit $rc diff --git a/meta-oe/recipes-support/libusb/libusb-compat_0.1.8.bb b/meta-oe/recipes-support/libusb/libusb-compat_0.1.8.bb index 884b1bbb24..bfafdae7a4 100644 --- a/meta-oe/recipes-support/libusb/libusb-compat_0.1.8.bb +++ b/meta-oe/recipes-support/libusb/libusb-compat_0.1.8.bb @@ -21,6 +21,8 @@ PE = "1" SRC_URI = " \ git://github.com/libusb/libusb-compat-0.1.git;protocol=https;branch=master \ file://0001-usb.h-Include-sys-types.h.patch \ + file://0002-automake-make-example-programs-installable.patch \ + file://run-ptest \ " SRCREV = "c497eff1ae8c4cfd4fdff370f04c78fa0584f4f3" S = "${WORKDIR}/git" @@ -29,5 +31,14 @@ UPSTREAM_CHECK_URI = "https://github.com/libusb/libusb-compat-0.1/releases" BINCONFIG = "${bindir}/libusb-config" -inherit autotools pkgconfig binconfig-disabled lib_package +inherit autotools pkgconfig binconfig-disabled lib_package ptest +# examples are used as ptest so enable them at configuration if needed +EXTRA_OECONF += "${@bb.utils.contains('PTEST_ENABLED', '1', '--enable-examples-build', '', d)}" + +# Move test binaries out of bindir to avoid clashing with a "real" lsusb. +do_install_ptest() { + for bin in lsusb testlibusb; do + mv ${D}${bindir}/$bin ${D}${PTEST_PATH} + done +}