diff --git a/classes/sdcard_image-rpi.bbclass b/classes/sdcard_image-rpi.bbclass index 178e4ef24..ddcd69d31 100644 --- a/classes/sdcard_image-rpi.bbclass +++ b/classes/sdcard_image-rpi.bbclass @@ -60,7 +60,7 @@ do_image_rpi_sdimg[depends] = " \ do_image_rpi_sdimg[recrdeps] = "do_build" # SD card image name -SDIMG = "${IMGDEPLOYDIR}/${IMAGE_NAME}${IMAGE_NAME_SUFFIX}.rpi-sdimg" +SDIMG = "${IMGDEPLOYDIR}/${IMAGE_NAME}.rpi-sdimg" # Additional files and/or directories to be copied into the vfat partition from the IMAGE_ROOTFS. FATPAYLOAD ?= "" diff --git a/conf/layer.conf b/conf/layer.conf index e9bbbd9e9..9488ac938 100644 --- a/conf/layer.conf +++ b/conf/layer.conf @@ -9,7 +9,7 @@ BBFILE_COLLECTIONS += "raspberrypi" BBFILE_PATTERN_raspberrypi := "^${LAYERDIR}/" BBFILE_PRIORITY_raspberrypi = "9" -LAYERSERIES_COMPAT_raspberrypi = "nanbield" +LAYERSERIES_COMPAT_raspberrypi = "nanbield scarthgap" LAYERDEPENDS_raspberrypi = "core" # Additional license directories. diff --git a/conf/machine/include/rpi-base.inc b/conf/machine/include/rpi-base.inc index c87ab97d8..a5fd1a457 100644 --- a/conf/machine/include/rpi-base.inc +++ b/conf/machine/include/rpi-base.inc @@ -26,8 +26,16 @@ RPI_KERNEL_DEVICETREE_OVERLAYS ?= " \ overlays/gpio-poweroff.dtbo \ overlays/gpio-shutdown.dtbo \ overlays/hifiberry-amp.dtbo \ + overlays/hifiberry-amp100.dtbo \ + overlays/hifiberry-amp3.dtbo \ + overlays/hifiberry-amp4pro.dtbo \ overlays/hifiberry-dac.dtbo \ overlays/hifiberry-dacplus.dtbo \ + overlays/hifiberry-dacplusadc.dtbo \ + overlays/hifiberry-dacplusadcpro.dtbo \ + overlays/hifiberry-dacplusdsp.dtbo \ + overlays/hifiberry-dacplushd.dtbo \ + overlays/hifiberry-digi-pro.dtbo \ overlays/hifiberry-digi.dtbo \ overlays/justboom-both.dtbo \ overlays/justboom-dac.dtbo \ @@ -62,23 +70,23 @@ RPI_KERNEL_DEVICETREE_OVERLAYS ?= " \ " RPI_KERNEL_DEVICETREE ?= " \ - bcm2708-rpi-zero.dtb \ - bcm2708-rpi-zero-w.dtb \ - bcm2708-rpi-b.dtb \ - bcm2708-rpi-b-rev1.dtb \ - bcm2708-rpi-b-plus.dtb \ - bcm2709-rpi-2-b.dtb \ - bcm2710-rpi-2-b.dtb \ - bcm2710-rpi-3-b.dtb \ - bcm2710-rpi-3-b-plus.dtb \ - bcm2710-rpi-zero-2.dtb \ - bcm2711-rpi-4-b.dtb \ - bcm2711-rpi-400.dtb \ - bcm2708-rpi-cm.dtb \ - bcm2710-rpi-cm3.dtb \ - bcm2711-rpi-cm4.dtb \ - bcm2711-rpi-cm4s.dtb \ - bcm2712-rpi-5-b.dtb \ + broadcom/bcm2708-rpi-zero.dtb \ + broadcom/bcm2708-rpi-zero-w.dtb \ + broadcom/bcm2708-rpi-b.dtb \ + broadcom/bcm2708-rpi-b-rev1.dtb \ + broadcom/bcm2708-rpi-b-plus.dtb \ + broadcom/bcm2709-rpi-2-b.dtb \ + broadcom/bcm2710-rpi-2-b.dtb \ + broadcom/bcm2710-rpi-3-b.dtb \ + broadcom/bcm2710-rpi-3-b-plus.dtb \ + broadcom/bcm2710-rpi-zero-2.dtb \ + broadcom/bcm2711-rpi-4-b.dtb \ + broadcom/bcm2711-rpi-400.dtb \ + broadcom/bcm2708-rpi-cm.dtb \ + broadcom/bcm2710-rpi-cm3.dtb \ + broadcom/bcm2711-rpi-cm4.dtb \ + broadcom/bcm2711-rpi-cm4s.dtb \ + broadcom/bcm2712-rpi-5-b.dtb \ " KERNEL_DEVICETREE ??= " \ diff --git a/conf/machine/include/rpi-default-versions.inc b/conf/machine/include/rpi-default-versions.inc index 2f76db961..6def27490 100644 --- a/conf/machine/include/rpi-default-versions.inc +++ b/conf/machine/include/rpi-default-versions.inc @@ -1,4 +1,4 @@ # RaspberryPi BSP default versions -PREFERRED_VERSION_linux-raspberrypi ??= "6.1.%" +PREFERRED_VERSION_linux-raspberrypi ??= "6.6.%" PREFERRED_VERSION_linux-raspberrypi-v7 ??= "${PREFERRED_VERSION_linux-raspberrypi}" diff --git a/dynamic-layers/meta-python/recipes-devtools/python/python3-sense-hat_2.2.0.bb b/dynamic-layers/meta-python/recipes-devtools/python/python3-sense-hat_2.2.0.bb index fd67580f3..cf745fc6a 100644 --- a/dynamic-layers/meta-python/recipes-devtools/python/python3-sense-hat_2.2.0.bb +++ b/dynamic-layers/meta-python/recipes-devtools/python/python3-sense-hat_2.2.0.bb @@ -18,7 +18,7 @@ DEPENDS += " \ " RDEPENDS:${PN} += " \ - ${PYTHON_PN}-numpy \ - ${PYTHON_PN}-rtimu \ - ${PYTHON_PN}-pillow \ + python3-numpy \ + python3-rtimu \ + python3-pillow \ " diff --git a/dynamic-layers/multimedia-layer/recipes-multimedia/libcamera-apps/libcamera-apps/0001-utils-version.py-use-usr-bin-env-in-shebang.patch b/dynamic-layers/multimedia-layer/recipes-multimedia/libcamera-apps/libcamera-apps/0001-utils-version.py-use-usr-bin-env-in-shebang.patch index 4c066dee3..15f6bf4c7 100644 --- a/dynamic-layers/multimedia-layer/recipes-multimedia/libcamera-apps/libcamera-apps/0001-utils-version.py-use-usr-bin-env-in-shebang.patch +++ b/dynamic-layers/multimedia-layer/recipes-multimedia/libcamera-apps/libcamera-apps/0001-utils-version.py-use-usr-bin-env-in-shebang.patch @@ -1,4 +1,4 @@ -From 738f530829fb5ee37d74191d34f75d72921284ca Mon Sep 17 00:00:00 2001 +From bbc1ea3e4119c665723cfd1c5a364bc8c7cbb464 Mon Sep 17 00:00:00 2001 From: Martin Jansa Date: Thu, 4 May 2023 18:07:16 +0000 Subject: [PATCH] utils/version.py: use /usr/bin/env in shebang @@ -31,7 +31,7 @@ Upstream-Status: Pending 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/utils/version.py b/utils/version.py -index fc2d431..1400eed 100755 +index 48d7e05..4a5e35c 100755 --- a/utils/version.py +++ b/utils/version.py @@ -1,4 +1,4 @@ @@ -39,4 +39,4 @@ index fc2d431..1400eed 100755 +#!/usr/bin/env python3 # Copyright (C) 2021, Raspberry Pi (Trading) Limited - # Generate version information for libcamera-apps + # Generate version information for rpicam-apps diff --git a/dynamic-layers/multimedia-layer/recipes-multimedia/libcamera-apps/libcamera-apps/0002-Revert-Support-compressed-pixel-formats-when-saving-.patch b/dynamic-layers/multimedia-layer/recipes-multimedia/libcamera-apps/libcamera-apps/0002-Revert-Support-compressed-pixel-formats-when-saving-.patch new file mode 100644 index 000000000..c965b2c52 --- /dev/null +++ b/dynamic-layers/multimedia-layer/recipes-multimedia/libcamera-apps/libcamera-apps/0002-Revert-Support-compressed-pixel-formats-when-saving-.patch @@ -0,0 +1,271 @@ +From 500f1e9eaeca29b255d0364e1383d70ade1d1177 Mon Sep 17 00:00:00 2001 +From: Martin Jansa +Date: Tue, 30 Jan 2024 12:02:09 +0000 +Subject: [PATCH] Revert "Support compressed pixel formats when saving DNGs" + +This reverts commit a85aed7603a0b69a6685d3f81ee860246d5b1621. + +This requires rpi specific fork of libcamera to provide e.g. +formats::RGGB16_PISP_COMP1 +added in: +https://github.com/raspberrypi/libcamera/commit/fb3cb844f2117f30d3eeece99d6ce4d02624e492 +but not included in libcamera from meta-oe: +https://git.openembedded.org/meta-openembedded/commit/?id=711c6fbce39df685225bca081c5f42bae2de658b + +See https://github.com/raspberrypi/rpicam-apps/issues/627 + +Upstream-Status: Pending +--- + image/dng.cpp | 205 ++++++++------------------------------------------ + 1 file changed, 33 insertions(+), 172 deletions(-) + +diff --git a/image/dng.cpp b/image/dng.cpp +index 7692f92..fc10439 100644 +--- a/image/dng.cpp ++++ b/image/dng.cpp +@@ -33,47 +33,40 @@ struct BayerFormat + int bits; + char const *order; + bool packed; +- bool compressed; + }; + + static const std::map bayer_formats = + { +- { formats::SRGGB10_CSI2P, { "RGGB-10", 10, TIFF_RGGB, true, false } }, +- { formats::SGRBG10_CSI2P, { "GRBG-10", 10, TIFF_GRBG, true, false } }, +- { formats::SBGGR10_CSI2P, { "BGGR-10", 10, TIFF_BGGR, true, false } }, +- { formats::SGBRG10_CSI2P, { "GBRG-10", 10, TIFF_GBRG, true, false } }, +- +- { formats::SRGGB10, { "RGGB-10", 10, TIFF_RGGB, false, false } }, +- { formats::SGRBG10, { "GRBG-10", 10, TIFF_GRBG, false, false } }, +- { formats::SBGGR10, { "BGGR-10", 10, TIFF_BGGR, false, false } }, +- { formats::SGBRG10, { "GBRG-10", 10, TIFF_GBRG, false, false } }, +- +- { formats::SRGGB12_CSI2P, { "RGGB-12", 12, TIFF_RGGB, true, false } }, +- { formats::SGRBG12_CSI2P, { "GRBG-12", 12, TIFF_GRBG, true, false } }, +- { formats::SBGGR12_CSI2P, { "BGGR-12", 12, TIFF_BGGR, true, false } }, +- { formats::SGBRG12_CSI2P, { "GBRG-12", 12, TIFF_GBRG, true, false } }, +- +- { formats::SRGGB12, { "RGGB-12", 12, TIFF_RGGB, false, false } }, +- { formats::SGRBG12, { "GRBG-12", 12, TIFF_GRBG, false, false } }, +- { formats::SBGGR12, { "BGGR-12", 12, TIFF_BGGR, false, false } }, +- { formats::SGBRG12, { "GBRG-12", 12, TIFF_GBRG, false, false } }, +- +- { formats::SRGGB16, { "RGGB-16", 16, TIFF_RGGB, false, false } }, +- { formats::SGRBG16, { "GRBG-16", 16, TIFF_GRBG, false, false } }, +- { formats::SBGGR16, { "BGGR-16", 16, TIFF_BGGR, false, false } }, +- { formats::SGBRG16, { "GBRG-16", 16, TIFF_GBRG, false, false } }, +- +- { formats::R10_CSI2P, { "BGGR-10", 10, TIFF_BGGR, true, false } }, +- { formats::R10, { "BGGR-10", 10, TIFF_BGGR, false, false } }, ++ { formats::SRGGB10_CSI2P, { "RGGB-10", 10, TIFF_RGGB, true } }, ++ { formats::SGRBG10_CSI2P, { "GRBG-10", 10, TIFF_GRBG, true } }, ++ { formats::SBGGR10_CSI2P, { "BGGR-10", 10, TIFF_BGGR, true } }, ++ { formats::SGBRG10_CSI2P, { "GBRG-10", 10, TIFF_GBRG, true } }, ++ ++ { formats::SRGGB10, { "RGGB-10", 10, TIFF_RGGB, false } }, ++ { formats::SGRBG10, { "GRBG-10", 10, TIFF_GRBG, false } }, ++ { formats::SBGGR10, { "BGGR-10", 10, TIFF_BGGR, false } }, ++ { formats::SGBRG10, { "GBRG-10", 10, TIFF_GBRG, false } }, ++ ++ { formats::SRGGB12_CSI2P, { "RGGB-12", 12, TIFF_RGGB, true } }, ++ { formats::SGRBG12_CSI2P, { "GRBG-12", 12, TIFF_GRBG, true } }, ++ { formats::SBGGR12_CSI2P, { "BGGR-12", 12, TIFF_BGGR, true } }, ++ { formats::SGBRG12_CSI2P, { "GBRG-12", 12, TIFF_GBRG, true } }, ++ ++ { formats::SRGGB12, { "RGGB-12", 12, TIFF_RGGB, false } }, ++ { formats::SGRBG12, { "GRBG-12", 12, TIFF_GRBG, false } }, ++ { formats::SBGGR12, { "BGGR-12", 12, TIFF_BGGR, false } }, ++ { formats::SGBRG12, { "GBRG-12", 12, TIFF_GBRG, false } }, ++ ++ { formats::SRGGB16, { "RGGB-16", 16, TIFF_RGGB, false } }, ++ { formats::SGRBG16, { "GRBG-16", 16, TIFF_GRBG, false } }, ++ { formats::SBGGR16, { "BGGR-16", 16, TIFF_BGGR, false } }, ++ { formats::SGBRG16, { "GBRG-16", 16, TIFF_GBRG, false } }, ++ ++ { formats::R10_CSI2P, { "BGGR-10", 10, TIFF_BGGR, true } }, ++ { formats::R10, { "BGGR-10", 10, TIFF_BGGR, false } }, + // Currently not in the main libcamera branch + //{ formats::R12_CSI2P, { "BGGR-12", 12, TIFF_BGGR, true } }, +- { formats::R12, { "BGGR-12", 12, TIFF_BGGR, false, false } }, +- +- /* PiSP compressed formats. */ +- { formats::RGGB16_PISP_COMP1, { "RGGB-16-PISP", 16, TIFF_RGGB, false, true } }, +- { formats::GRBG16_PISP_COMP1, { "GRBG-16-PISP", 16, TIFF_GRBG, false, true } }, +- { formats::GBRG16_PISP_COMP1, { "GBRG-16-PISP", 16, TIFF_GBRG, false, true } }, +- { formats::BGGR16_PISP_COMP1, { "BGGR-16-PISP", 16, TIFF_BGGR, false, true } }, ++ { formats::R12, { "BGGR-12", 12, TIFF_BGGR, false } }, + }; + + static void unpack_10bit(uint8_t const *src, StreamInfo const &info, uint16_t *dest) +@@ -124,129 +117,6 @@ static void unpack_16bit(uint8_t const *src, StreamInfo const &info, uint16_t *d + } + } + +-// We always use these compression parameters. +-#define COMPRESS_OFFSET 2048 +-#define COMPRESS_MODE 1 +- +-static uint16_t postprocess(uint16_t a) +-{ +- if (COMPRESS_MODE & 2) +- { +- if (COMPRESS_MODE == 3 && a < 0x4000) +- a = a >> 2; +- else if (a < 0x1000) +- a = a >> 4; +- else if (a < 0x1800) +- a = (a - 0x800) >> 3; +- else if (a < 0x3000) +- a = (a - 0x1000) >> 2; +- else if (a < 0x6000) +- a = (a - 0x2000) >> 1; +- else if (a < 0xC000) +- a = (a - 0x4000); +- else +- a = 2 * (a - 0x8000); +- } +- +- return std::min(0xFFFF, a + COMPRESS_OFFSET); +-} +- +-static uint16_t dequantize(uint16_t q, int qmode) +-{ +- switch (qmode) +- { +- case 0: +- return (q < 320) ? 16 * q : 32 * (q - 160); +- +- case 1: +- return 64 * q; +- +- case 2: +- return 128 * q; +- +- default: +- return (q < 94) ? 256 * q : std::min(0xFFFF, 512 * (q - 47)); +- } +-} +- +-static void subBlockFunction(uint16_t *d, uint32_t w) +-{ +- int q[4]; +- +- int qmode = (w & 3); +- if (qmode < 3) +- { +- int field0 = (w >> 2) & 511; +- int field1 = (w >> 11) & 127; +- int field2 = (w >> 18) & 127; +- int field3 = (w >> 25) & 127; +- if (qmode == 2 && field0 >= 384) +- { +- q[1] = field0; +- q[2] = field1 + 384; +- } +- else +- { +- q[1] = (field1 >= 64) ? field0 : field0 + 64 - field1; +- q[2] = (field1 >= 64) ? field0 + field1 - 64 : field0; +- } +- int p1 = std::max(0, q[1] - 64); +- if (qmode == 2) +- p1 = std::min(384, p1); +- int p2 = std::max(0, q[2] - 64); +- if (qmode == 2) +- p2 = std::min(384, p2); +- q[0] = p1 + field2; +- q[3] = p2 + field3; +- } +- else +- { +- int pack0 = (w >> 2) & 32767; +- int pack1 = (w >> 17) & 32767; +- q[0] = (pack0 & 15) + 16 * ((pack0 >> 8) / 11); +- q[1] = (pack0 >> 4) % 176; +- q[2] = (pack1 & 15) + 16 * ((pack1 >> 8) / 11); +- q[3] = (pack1 >> 4) % 176; +- } +- +- d[0] = dequantize(q[0], qmode); +- d[2] = dequantize(q[1], qmode); +- d[4] = dequantize(q[2], qmode); +- d[6] = dequantize(q[3], qmode); +-} +- +-static void uncompress(uint8_t const *src, StreamInfo const &info, uint16_t *dest) +-{ +- // In all cases, the *decompressed* image must be a multiple of 8 columns wide. +- unsigned int buf_stride_pixels = (info.width + 7) & ~7; +- for (unsigned int y = 0; y < info.height; ++y) +- { +- uint16_t *dp = dest + y * buf_stride_pixels; +- uint8_t const *sp = src + y * info.stride; +- +- for (unsigned int x = 0; x < info.width; x+=8) +- { +- if (COMPRESS_MODE & 1) +- { +- uint32_t w0 = 0, w1 = 0; +- for (int b = 0; b < 4; ++b) +- w0 |= (*sp++) << (b * 8); +- for (int b = 0; b < 4; ++b) +- w1 |= (*sp++) << (b * 8); +- subBlockFunction(dp, w0); +- subBlockFunction(dp + 1, w1); +- for (int i = 0; i < 8; ++i, ++dp) +- *dp = postprocess(*dp); +- } +- else +- { +- for (int i = 0; i < 8; ++i) +- *dp++ = postprocess((*sp++) << 8); +- } +- } +- } +-} +- + struct Matrix + { + Matrix(float m0, float m1, float m2, +@@ -307,16 +177,8 @@ void dng_save(std::vector> const &mem, StreamInfo const + BayerFormat const &bayer_format = it->second; + LOG(1, "Bayer format is " << bayer_format.name); + +- // Decompression will require a buffer that's 8 pixels aligned. +- unsigned int buf_stride_pixels = info.width; +- unsigned int buf_stride_pixels_padded = (buf_stride_pixels + 7) & ~7; +- std::vector buf(buf_stride_pixels_padded * info.height); +- if (bayer_format.compressed) +- { +- uncompress(mem[0].data(), info, &buf[0]); +- buf_stride_pixels = buf_stride_pixels_padded; +- } +- else if (bayer_format.packed) ++ std::vector buf(info.width * info.height); ++ if (bayer_format.packed) + { + switch (bayer_format.bits) + { +@@ -444,9 +306,8 @@ void dng_save(std::vector> const &mem, StreamInfo const + { + for (unsigned int x = 0; x < (info.width >> 4); x++) + { +- unsigned int off = (y * buf_stride_pixels + x) << 4; +- uint32_t grey = +- buf[off] + buf[off + 1] + buf[off + buf_stride_pixels] + buf[off + buf_stride_pixels + 1]; ++ unsigned int off = (y * info.width + x) << 4; ++ uint32_t grey = buf[off] + buf[off + 1] + buf[off + info.width] + buf[off + info.width + 1]; + grey = (grey << 14) >> bayer_format.bits; + grey = sqrt((double)grey); // simple "gamma correction" + thumb_buf[3 * x] = thumb_buf[3 * x + 1] = thumb_buf[3 * x + 2] = grey; +@@ -478,7 +339,7 @@ void dng_save(std::vector> const &mem, StreamInfo const + + for (unsigned int y = 0; y < info.height; y++) + { +- if (TIFFWriteScanline(tif, &buf[buf_stride_pixels * y], y, 0) != 1) ++ if (TIFFWriteScanline(tif, &buf[info.width * y], y, 0) != 1) + throw std::runtime_error("error writing DNG image data"); + } + diff --git a/dynamic-layers/multimedia-layer/recipes-multimedia/libcamera-apps/libcamera-apps_git.bb b/dynamic-layers/multimedia-layer/recipes-multimedia/libcamera-apps/libcamera-apps_git.bb index 9880c0705..dc0714576 100644 --- a/dynamic-layers/multimedia-layer/recipes-multimedia/libcamera-apps/libcamera-apps_git.bb +++ b/dynamic-layers/multimedia-layer/recipes-multimedia/libcamera-apps/libcamera-apps_git.bb @@ -10,9 +10,10 @@ LIC_FILES_CHKSUM = "file://license.txt;md5=a0013d1b383d72ba4bdc5b750e7d1d77" SRC_URI = "\ git://github.com/raspberrypi/libcamera-apps.git;protocol=https;branch=main \ file://0001-utils-version.py-use-usr-bin-env-in-shebang.patch \ + file://0002-Revert-Support-compressed-pixel-formats-when-saving-.patch \ " -PV = "1.2.1+git${SRCPV}" -SRCREV = "1c1d1c1a2a86d70cf873edc8bb72d174f037973a" +PV = "1.4.2+git${SRCPV}" +SRCREV = "9ae39f85ae6bee9761c36b9b5b80d675bc1fa369" S = "${WORKDIR}/git" @@ -38,3 +39,6 @@ EXTRA_OEMESON += "${NEON_FLAGS}" do_install:append() { rm -v ${D}/${bindir}/camera-bug-report } + +# not picked automatically, because it's missing common 'lib' prefix +FILES:${PN}-dev += "${libdir}/rpicam_app.so" diff --git a/recipes-bsp/bootfiles/rpi-bootfiles.bb b/recipes-bsp/bootfiles/rpi-bootfiles.bb index f1248eed1..b04f24be2 100644 --- a/recipes-bsp/bootfiles/rpi-bootfiles.bb +++ b/recipes-bsp/bootfiles/rpi-bootfiles.bb @@ -5,7 +5,16 @@ LIC_FILES_CHKSUM = "file://LICENCE.broadcom;md5=c403841ff2837657b2ed8e5bb474ac8d inherit deploy nopackages -include recipes-bsp/common/raspberrypi-firmware.inc +RPIFW_DATE ?= "20240319" +SRCREV = "9f24f4bc2bdd07ffd158cfbb4bce88a2efc4c1f5" +SHORTREV = "${@d.getVar("SRCREV", False).__str__()[:7]}" +RPIFW_SRC_URI ?= "https://api.github.com/repos/raspberrypi/firmware/tarball/9f24f4bc2bdd07ffd158cfbb4bce88a2efc4c1f5;downloadfilename=raspberrypi-firmware-${SHORTREV}.tar.gz" +RPIFW_S ?= "${WORKDIR}/raspberrypi-firmware-${SHORTREV}" + +SRC_URI = "${RPIFW_SRC_URI}" +SRC_URI[sha256sum] = "4b436f8946b139c6a1202375ef55d4848e3bcd8c1a9cb47000e06d7ecec828f7" + +PV = "${RPIFW_DATE}" INHIBIT_DEFAULT_DEPS = "1" diff --git a/recipes-bsp/rpi-eeprom/rpi-eeprom_git.bb b/recipes-bsp/rpi-eeprom/rpi-eeprom_git.bb index 1f98f303e..2e10253e9 100644 --- a/recipes-bsp/rpi-eeprom/rpi-eeprom_git.bb +++ b/recipes-bsp/rpi-eeprom/rpi-eeprom_git.bb @@ -8,8 +8,8 @@ SRC_URI = " \ git://github.com/raspberrypi/rpi-eeprom.git;protocol=https;branch=master \ " -SRCREV = "f13b5789f56f65112e2b8aa58be43ebfcbedfe1d" -PV = "v2023.10.18-2712" +SRCREV = "36e58db5c2a2656e553441f4f48f32227809105d" +PV = "v.2024.02.16-2712" S = "${WORKDIR}/git" @@ -34,22 +34,29 @@ do_install() { install -m 0755 ${S}/rpi-eeprom-digest ${D}${bindir} # copy firmware files - install -d ${D}${base_libdir}/firmware/raspberrypi/bootloader/default - install -d ${D}${base_libdir}/firmware/raspberrypi/bootloader/latest + install -d ${D}${base_libdir}/firmware/raspberrypi/bootloader-2711/default + install -d ${D}${base_libdir}/firmware/raspberrypi/bootloader-2711/latest + install -d ${D}${base_libdir}/firmware/raspberrypi/bootloader-2712/default + install -d ${D}${base_libdir}/firmware/raspberrypi/bootloader-2712/latest - install -m 644 ${S}/firmware-2711/default/* ${D}${base_libdir}/firmware/raspberrypi/bootloader/default - install -m 644 ${S}/firmware-2711/latest/* ${D}${base_libdir}/firmware/raspberrypi/bootloader/latest + install -m 644 ${S}/firmware-2711/default/* ${D}${base_libdir}/firmware/raspberrypi/bootloader-2711/default + install -m 644 ${S}/firmware-2711/latest/* ${D}${base_libdir}/firmware/raspberrypi/bootloader-2711/latest + install -m 644 ${S}/firmware-2712/default/* ${D}${base_libdir}/firmware/raspberrypi/bootloader-2712/default + install -m 644 ${S}/firmware-2712/latest/* ${D}${base_libdir}/firmware/raspberrypi/bootloader-2712/latest - ln -s default ${D}${base_libdir}/firmware/raspberrypi/bootloader/critical - ln -s latest ${D}${base_libdir}/firmware/raspberrypi/bootloader/stable - ln -s latest ${D}${base_libdir}/firmware/raspberrypi/bootloader/beta + ln -s default ${D}${base_libdir}/firmware/raspberrypi/bootloader-2711/critical + ln -s latest ${D}${base_libdir}/firmware/raspberrypi/bootloader-2711/stable + ln -s latest ${D}${base_libdir}/firmware/raspberrypi/bootloader-2711/beta + ln -s default ${D}${base_libdir}/firmware/raspberrypi/bootloader-2712/critical + ln -s latest ${D}${base_libdir}/firmware/raspberrypi/bootloader-2712/stable + ln -s latest ${D}${base_libdir}/firmware/raspberrypi/bootloader-2712/beta # copy default config install -d ${D}${sysconfdir}/default install -D ${S}/rpi-eeprom-update-default ${D}${sysconfdir}/default/rpi-eeprom-update } -FILES:${PN} += "${base_libdir}/firmware/raspberrypi/bootloader/*" +FILES:${PN} += "${base_libdir}/firmware/raspberrypi/bootloader-*" INHIBIT_PACKAGE_STRIP = "1" INHIBIT_PACKAGE_DEBUG_SPLIT = "1" @@ -59,4 +66,4 @@ INHIBIT_PACKAGE_DEBUG_SPLIT = "1" # need to disable arch check for it otherwise it cannot packed. QAPATHTEST[arch] = "" -COMPATIBLE_MACHINE = "raspberrypi4|raspberrypi4-64" +COMPATIBLE_MACHINE = "raspberrypi4|raspberrypi4-64|raspberrypi5" diff --git a/recipes-graphics/userland/files/0025-CMakeLists.txt-.pc-respect-CMAKE_INSTALL_LIBDIR.patch b/recipes-graphics/userland/files/0025-CMakeLists.txt-.pc-respect-CMAKE_INSTALL_LIBDIR.patch new file mode 100644 index 000000000..6f4c7228e --- /dev/null +++ b/recipes-graphics/userland/files/0025-CMakeLists.txt-.pc-respect-CMAKE_INSTALL_LIBDIR.patch @@ -0,0 +1,725 @@ +From 8f7fba136391e2020cd0fc9dca76932d3faa21eb Mon Sep 17 00:00:00 2001 +From: Martin Jansa +Date: Fri, 8 Mar 2024 16:29:22 +0100 +Subject: [PATCH] CMakeLists.txt, *.pc: respect CMAKE_INSTALL_LIBDIR + +* and CMAKE_INSTALL_BINDIR, CMAKE_INSTALL_INCLUDEDIR as well +* fixes installation paths with multilib + lib32-userland fails with: + +ERROR: QA Issue: lib32-userland: Files/directories were installed but not shipped in any package: + /usr/lib/libbrcmEGL.so + /usr/lib/libvchiq_arm.so +... + /usr/lib/pkgconfig/wayland-egl.pc +Please set FILES such that these items are packaged. Alternatively if they are unneeded, avoid installing them or delete them within do_install. +lib32-userland: 66 installed and not shipped files. [installed-vs-shipped] + +Signed-off-by: Martin Jansa +--- +Upstream-Status: Pending + + CMakeLists.txt | 2 +- + containers/CMakeLists.txt | 2 +- + containers/test/CMakeLists.txt | 24 +++++++++---------- + helpers/dtoverlay/CMakeLists.txt | 2 +- + .../linux/apps/dtmerge/CMakeLists.txt | 2 +- + .../linux/apps/dtoverlay/CMakeLists.txt | 6 ++--- + .../linux/apps/gencmd/CMakeLists.txt | 2 +- + .../apps/hello_pi/hello_audio/CMakeLists.txt | 2 +- + .../hello_pi/hello_dispmanx/CMakeLists.txt | 2 +- + .../apps/hello_pi/hello_encode/CMakeLists.txt | 2 +- + .../apps/hello_pi/hello_font/CMakeLists.txt | 2 +- + .../apps/hello_pi/hello_jpeg/CMakeLists.txt | 2 +- + .../apps/hello_pi/hello_teapot/CMakeLists.txt | 2 +- + .../apps/hello_pi/hello_tiger/CMakeLists.txt | 2 +- + .../hello_pi/hello_triangle/CMakeLists.txt | 2 +- + .../hello_pi/hello_triangle2/CMakeLists.txt | 2 +- + .../apps/hello_pi/hello_video/CMakeLists.txt | 2 +- + .../hello_pi/hello_videocube/CMakeLists.txt | 2 +- + .../hello_pi/hello_wayland/CMakeLists.txt | 2 +- + .../apps/hello_pi/hello_world/CMakeLists.txt | 2 +- + .../linux/apps/raspicam/CMakeLists.txt | 2 +- + .../linux/apps/smem/CMakeLists.txt | 2 +- + .../linux/apps/tvservice/CMakeLists.txt | 2 +- + .../linux/apps/vcmailbox/CMakeLists.txt | 2 +- + .../linux/libs/bcm_host/CMakeLists.txt | 2 +- + .../linux/libs/debug_sym/CMakeLists.txt | 6 ++--- + .../linux/libs/sm/CMakeLists.txt | 4 ++-- + interface/khronos/CMakeLists.txt | 10 ++++---- + interface/mmal/CMakeLists.txt | 4 ++-- + interface/mmal/components/CMakeLists.txt | 2 +- + interface/mmal/core/CMakeLists.txt | 4 ++-- + interface/mmal/util/CMakeLists.txt | 4 ++-- + interface/mmal/vc/CMakeLists.txt | 6 ++--- + interface/vchiq_arm/CMakeLists.txt | 4 ++-- + interface/vcos/CMakeLists.txt | 2 +- + interface/vcos/generic/CMakeLists.txt | 2 +- + interface/vcos/pthreads/CMakeLists.txt | 4 ++-- + interface/vmcs_host/CMakeLists.txt | 2 +- + makefiles/cmake/vmcs.cmake | 2 +- + middleware/openmaxil/CMakeLists.txt | 2 +- + pkgconfig/bcm_host.pc.in | 2 +- + pkgconfig/brcmegl.pc.in | 2 +- + pkgconfig/brcmglesv2.pc.in | 2 +- + pkgconfig/brcmvg.pc.in | 2 +- + pkgconfig/mmal.pc.in | 2 +- + pkgconfig/vcsm.pc.in | 2 +- + 46 files changed, 73 insertions(+), 73 deletions(-) + +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 3e3c90e..0bb54b7 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -136,7 +136,7 @@ if(PKG_CONFIG_FOUND) + foreach(PCFILE bcm_host.pc brcmegl.pc brcmglesv2.pc brcmvg.pc vcsm.pc mmal.pc openmaxil.pc) + configure_file("pkgconfig/${PCFILE}.in" "${PCFILE}" @ONLY) + install(FILES "${CMAKE_CURRENT_BINARY_DIR}/${PCFILE}" +- DESTINATION "${CMAKE_INSTALL_PREFIX}/lib/pkgconfig") ++ DESTINATION "${CMAKE_INSTALL_LIBDIR}/pkgconfig") + endforeach() + endif() + # Remove cache entry, if one added by command line +diff --git a/containers/CMakeLists.txt b/containers/CMakeLists.txt +index 5570038..6c3d39c 100644 +--- a/containers/CMakeLists.txt ++++ b/containers/CMakeLists.txt +@@ -66,7 +66,7 @@ set(packetizers_SRCS ${packetizers_SRCS} ${SOURCE_DIR}/h264/avc1_packetizer.c) + + add_library(containers ${LIBRARY_TYPE} ${core_SRCS} ${io_SRCS} ${net_SRCS} ${packetizers_SRCS}) + target_link_libraries(containers vcos) +-install(TARGETS containers DESTINATION lib) ++install(TARGETS containers DESTINATION ${CMAKE_INSTALL_LIBDIR}) + + set(container_readers) + set(container_writers) +diff --git a/containers/test/CMakeLists.txt b/containers/test/CMakeLists.txt +index 7d36352..832ad0f 100644 +--- a/containers/test/CMakeLists.txt ++++ b/containers/test/CMakeLists.txt +@@ -1,17 +1,17 @@ + # Generate test application + add_executable(containers_test test.c) + target_link_libraries(containers_test -Wl,--no-whole-archive containers) +-install(TARGETS containers_test DESTINATION bin) ++install(TARGETS containers_test DESTINATION ${CMAKE_INSTALL_BINDIR}) + + # Generate test application + add_executable(containers_check_frame_int check_frame_int.c) + target_link_libraries(containers_check_frame_int -Wl,--no-whole-archive containers) +-install(TARGETS containers_check_frame_int DESTINATION bin) ++install(TARGETS containers_check_frame_int DESTINATION ${CMAKE_INSTALL_BINDIR}) + + # Generate autotest application + #add_executable(containers_autotest autotest.cpp crc_32.c) + #target_link_libraries(containers_autotest -Wl,--no-whole-archive containers}) +-#install(TARGETS containers_autotest DESTINATION bin) ++#install(TARGETS containers_autotest DESTINATION ${CMAKE_INSTALL_BINDIR}) + + # Helper code to provide non-blocking console input + if (WIN32) +@@ -28,39 +28,39 @@ add_dependencies(containers_test containers_test_extra) + # Generate net test applications + add_executable(containers_stream_client stream_client.c ${NB_IO_SOURCE}) + target_link_libraries(containers_stream_client containers) +-install(TARGETS containers_stream_client DESTINATION bin) ++install(TARGETS containers_stream_client DESTINATION ${CMAKE_INSTALL_BINDIR}) + + add_executable(containers_stream_server stream_server.c) + target_link_libraries(containers_stream_server containers) +-install(TARGETS containers_stream_server DESTINATION bin) ++install(TARGETS containers_stream_server DESTINATION ${CMAKE_INSTALL_BINDIR}) + + add_executable(containers_datagram_sender datagram_sender.c) + target_link_libraries(containers_datagram_sender containers) +-install(TARGETS containers_datagram_sender DESTINATION bin) ++install(TARGETS containers_datagram_sender DESTINATION ${CMAKE_INSTALL_BINDIR}) + + add_executable(containers_datagram_receiver datagram_receiver.c) + target_link_libraries(containers_datagram_receiver containers) +-install(TARGETS containers_datagram_receiver DESTINATION bin) ++install(TARGETS containers_datagram_receiver DESTINATION ${CMAKE_INSTALL_BINDIR}) + + add_executable(containers_rtp_decoder rtp_decoder.c ${NB_IO_SOURCE}) + target_link_libraries(containers_rtp_decoder containers) +-install(TARGETS containers_rtp_decoder DESTINATION bin) ++install(TARGETS containers_rtp_decoder DESTINATION ${CMAKE_INSTALL_BINDIR}) + + # Generate URI test application + add_executable(containers_test_uri test_uri.c) + target_link_libraries(containers_test_uri containers) +-install(TARGETS containers_test_uri DESTINATION bin) ++install(TARGETS containers_test_uri DESTINATION ${CMAKE_INSTALL_BINDIR}) + + # Generate URI pipe application + add_executable(containers_uri_pipe uri_pipe.c ${NB_IO_SOURCE}) + target_link_libraries(containers_uri_pipe containers) +-install(TARGETS containers_uri_pipe DESTINATION bin) ++install(TARGETS containers_uri_pipe DESTINATION ${CMAKE_INSTALL_BINDIR}) + + # Generate bit stream test application + add_executable(containers_test_bits test_bits.c) + target_link_libraries(containers_test_bits containers) +-install(TARGETS containers_test_bits DESTINATION bin) ++install(TARGETS containers_test_bits DESTINATION ${CMAKE_INSTALL_BINDIR}) + + # Generate packet file dump application + add_executable(containers_dump_pktfile dump_pktfile.c) +-install(TARGETS containers_dump_pktfile DESTINATION bin) ++install(TARGETS containers_dump_pktfile DESTINATION ${CMAKE_INSTALL_BINDIR}) +diff --git a/helpers/dtoverlay/CMakeLists.txt b/helpers/dtoverlay/CMakeLists.txt +index b3bd30f..7e83780 100644 +--- a/helpers/dtoverlay/CMakeLists.txt ++++ b/helpers/dtoverlay/CMakeLists.txt +@@ -22,4 +22,4 @@ add_library (dtovl ${SHARED} + + target_link_libraries(dtovl fdt) + +-install (TARGETS dtovl DESTINATION lib) ++install (TARGETS dtovl DESTINATION ${CMAKE_INSTALL_LIBDIR}) +diff --git a/host_applications/linux/apps/dtmerge/CMakeLists.txt b/host_applications/linux/apps/dtmerge/CMakeLists.txt +index d3f7e36..daa91e5 100755 +--- a/host_applications/linux/apps/dtmerge/CMakeLists.txt ++++ b/host_applications/linux/apps/dtmerge/CMakeLists.txt +@@ -17,5 +17,5 @@ include_directories ( + add_executable(dtmerge dtmerge.c) + target_link_libraries(dtmerge dtovl) + +-install(TARGETS dtmerge RUNTIME DESTINATION bin) ++install(TARGETS dtmerge RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}) + install(FILES dtmerge.1 DESTINATION man/man1) +diff --git a/host_applications/linux/apps/dtoverlay/CMakeLists.txt b/host_applications/linux/apps/dtoverlay/CMakeLists.txt +index 97bcadc..238296d 100755 +--- a/host_applications/linux/apps/dtoverlay/CMakeLists.txt ++++ b/host_applications/linux/apps/dtoverlay/CMakeLists.txt +@@ -16,12 +16,12 @@ include_directories ( + + add_executable(dtoverlay dtoverlay_main.c utils.c) + target_link_libraries(dtoverlay dtovl) +-install(TARGETS dtoverlay RUNTIME DESTINATION bin) ++install(TARGETS dtoverlay RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}) + install(FILES dtoverlay.1 DESTINATION man/man1) + + add_custom_command(TARGET dtoverlay POST_BUILD COMMAND ln;-sf;dtoverlay;dtparam) +-install(FILES ${CMAKE_CURRENT_BINARY_DIR}/dtparam DESTINATION bin) ++install(FILES ${CMAKE_CURRENT_BINARY_DIR}/dtparam DESTINATION ${CMAKE_INSTALL_BINDIR}) + install(FILES dtparam.1 DESTINATION man/man1) + + set(DTOVERLAY_SCRIPTS dtoverlay-pre dtoverlay-post) +-install(PROGRAMS ${DTOVERLAY_SCRIPTS} DESTINATION bin) ++install(PROGRAMS ${DTOVERLAY_SCRIPTS} DESTINATION ${CMAKE_INSTALL_BINDIR}) +diff --git a/host_applications/linux/apps/gencmd/CMakeLists.txt b/host_applications/linux/apps/gencmd/CMakeLists.txt +index 0c2c32a..fdd2f00 100644 +--- a/host_applications/linux/apps/gencmd/CMakeLists.txt ++++ b/host_applications/linux/apps/gencmd/CMakeLists.txt +@@ -16,5 +16,5 @@ include_directories( ../../../.. + + add_executable(vcgencmd gencmd.c) + target_link_libraries(vcgencmd vcos vchiq_arm vchostif) +-install(TARGETS vcgencmd RUNTIME DESTINATION bin) ++install(TARGETS vcgencmd RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}) + install(FILES vcgencmd.1 DESTINATION man/man1) +diff --git a/host_applications/linux/apps/hello_pi/hello_audio/CMakeLists.txt b/host_applications/linux/apps/hello_pi/hello_audio/CMakeLists.txt +index 03207c5..8f4d06c 100644 +--- a/host_applications/linux/apps/hello_pi/hello_audio/CMakeLists.txt ++++ b/host_applications/linux/apps/hello_pi/hello_audio/CMakeLists.txt +@@ -5,4 +5,4 @@ add_executable(${EXEC} ${SRCS}) + target_link_libraries(${EXEC} ${HELLO_PI_LIBS}) + + install(TARGETS ${EXEC} +- RUNTIME DESTINATION bin) ++ RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}) +diff --git a/host_applications/linux/apps/hello_pi/hello_dispmanx/CMakeLists.txt b/host_applications/linux/apps/hello_pi/hello_dispmanx/CMakeLists.txt +index 0471a1d..fd8b85e 100644 +--- a/host_applications/linux/apps/hello_pi/hello_dispmanx/CMakeLists.txt ++++ b/host_applications/linux/apps/hello_pi/hello_dispmanx/CMakeLists.txt +@@ -5,4 +5,4 @@ add_executable(${EXEC} ${SRCS}) + target_link_libraries(${EXEC} ${HELLO_PI_LIBS}) + + install(TARGETS ${EXEC} +- RUNTIME DESTINATION bin) ++ RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}) +diff --git a/host_applications/linux/apps/hello_pi/hello_encode/CMakeLists.txt b/host_applications/linux/apps/hello_pi/hello_encode/CMakeLists.txt +index 147623b..98a197a 100644 +--- a/host_applications/linux/apps/hello_pi/hello_encode/CMakeLists.txt ++++ b/host_applications/linux/apps/hello_pi/hello_encode/CMakeLists.txt +@@ -5,4 +5,4 @@ add_executable(${EXEC} ${SRCS}) + target_link_libraries(${EXEC} ${HELLO_PI_LIBS}) + + install(TARGETS ${EXEC} +- RUNTIME DESTINATION bin) ++ RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}) +diff --git a/host_applications/linux/apps/hello_pi/hello_font/CMakeLists.txt b/host_applications/linux/apps/hello_pi/hello_font/CMakeLists.txt +index 448d2cf..1d89f4c 100644 +--- a/host_applications/linux/apps/hello_pi/hello_font/CMakeLists.txt ++++ b/host_applications/linux/apps/hello_pi/hello_font/CMakeLists.txt +@@ -6,4 +6,4 @@ target_link_libraries(${EXEC} ${HELLO_PI_LIBS}) + target_link_libraries(${EXEC} vgfont freetype z) + + install(TARGETS ${EXEC} +- RUNTIME DESTINATION bin) ++ RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}) +diff --git a/host_applications/linux/apps/hello_pi/hello_jpeg/CMakeLists.txt b/host_applications/linux/apps/hello_pi/hello_jpeg/CMakeLists.txt +index a56dda5..f611f8e 100644 +--- a/host_applications/linux/apps/hello_pi/hello_jpeg/CMakeLists.txt ++++ b/host_applications/linux/apps/hello_pi/hello_jpeg/CMakeLists.txt +@@ -5,4 +5,4 @@ add_executable(${EXEC} ${SRCS}) + target_link_libraries(${EXEC} ${HELLO_PI_LIBS}) + + install(TARGETS ${EXEC} +- RUNTIME DESTINATION bin) ++ RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}) +diff --git a/host_applications/linux/apps/hello_pi/hello_teapot/CMakeLists.txt b/host_applications/linux/apps/hello_pi/hello_teapot/CMakeLists.txt +index cdb8413..a60da3e 100644 +--- a/host_applications/linux/apps/hello_pi/hello_teapot/CMakeLists.txt ++++ b/host_applications/linux/apps/hello_pi/hello_teapot/CMakeLists.txt +@@ -5,4 +5,4 @@ add_executable(${EXEC} ${SRCS}) + target_link_libraries(${EXEC} ${HELLO_PI_LIBS}) + + install(TARGETS ${EXEC} +- RUNTIME DESTINATION bin) ++ RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}) +diff --git a/host_applications/linux/apps/hello_pi/hello_tiger/CMakeLists.txt b/host_applications/linux/apps/hello_pi/hello_tiger/CMakeLists.txt +index b253f3f..1104a8b 100644 +--- a/host_applications/linux/apps/hello_pi/hello_tiger/CMakeLists.txt ++++ b/host_applications/linux/apps/hello_pi/hello_tiger/CMakeLists.txt +@@ -6,4 +6,4 @@ add_executable(${EXEC} ${SRCS}) + target_link_libraries(${EXEC} ${HELLO_PI_LIBS}) + + install(TARGETS ${EXEC} +- RUNTIME DESTINATION bin) ++ RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}) +diff --git a/host_applications/linux/apps/hello_pi/hello_triangle/CMakeLists.txt b/host_applications/linux/apps/hello_pi/hello_triangle/CMakeLists.txt +index 4e8128e..4b738bb 100644 +--- a/host_applications/linux/apps/hello_pi/hello_triangle/CMakeLists.txt ++++ b/host_applications/linux/apps/hello_pi/hello_triangle/CMakeLists.txt +@@ -5,4 +5,4 @@ add_executable(${EXEC} ${SRCS}) + target_link_libraries(${EXEC} ${HELLO_PI_LIBS}) + + install(TARGETS ${EXEC} +- RUNTIME DESTINATION bin) ++ RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}) +diff --git a/host_applications/linux/apps/hello_pi/hello_triangle2/CMakeLists.txt b/host_applications/linux/apps/hello_pi/hello_triangle2/CMakeLists.txt +index 390980a..c8c534f 100644 +--- a/host_applications/linux/apps/hello_pi/hello_triangle2/CMakeLists.txt ++++ b/host_applications/linux/apps/hello_pi/hello_triangle2/CMakeLists.txt +@@ -5,4 +5,4 @@ add_executable(${EXEC} ${SRCS}) + target_link_libraries(${EXEC} ${HELLO_PI_LIBS}) + + install(TARGETS ${EXEC} +- RUNTIME DESTINATION bin) ++ RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}) +diff --git a/host_applications/linux/apps/hello_pi/hello_video/CMakeLists.txt b/host_applications/linux/apps/hello_pi/hello_video/CMakeLists.txt +index 42187af..6b15ca2 100644 +--- a/host_applications/linux/apps/hello_pi/hello_video/CMakeLists.txt ++++ b/host_applications/linux/apps/hello_pi/hello_video/CMakeLists.txt +@@ -5,4 +5,4 @@ add_executable(${EXEC} ${SRCS}) + target_link_libraries(${EXEC} ${HELLO_PI_LIBS}) + + install(TARGETS ${EXEC} +- RUNTIME DESTINATION bin) ++ RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}) +diff --git a/host_applications/linux/apps/hello_pi/hello_videocube/CMakeLists.txt b/host_applications/linux/apps/hello_pi/hello_videocube/CMakeLists.txt +index d7fb059..9612ffe 100644 +--- a/host_applications/linux/apps/hello_pi/hello_videocube/CMakeLists.txt ++++ b/host_applications/linux/apps/hello_pi/hello_videocube/CMakeLists.txt +@@ -5,4 +5,4 @@ add_executable(${EXEC} ${SRCS}) + target_link_libraries(${EXEC} ${HELLO_PI_LIBS}) + + install(TARGETS ${EXEC} +- RUNTIME DESTINATION bin) ++ RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}) +diff --git a/host_applications/linux/apps/hello_pi/hello_wayland/CMakeLists.txt b/host_applications/linux/apps/hello_pi/hello_wayland/CMakeLists.txt +index 9a2f75c..9a468a6 100644 +--- a/host_applications/linux/apps/hello_pi/hello_wayland/CMakeLists.txt ++++ b/host_applications/linux/apps/hello_pi/hello_wayland/CMakeLists.txt +@@ -5,4 +5,4 @@ add_executable(${EXEC} ${SRCS}) + target_link_libraries(${EXEC} ${HELLO_PI_LIBS} -lwayland-client -lwayland-egl) + + install(TARGETS ${EXEC} +- RUNTIME DESTINATION bin) ++ RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}) +diff --git a/host_applications/linux/apps/hello_pi/hello_world/CMakeLists.txt b/host_applications/linux/apps/hello_pi/hello_world/CMakeLists.txt +index b0120fe..97d90f6 100644 +--- a/host_applications/linux/apps/hello_pi/hello_world/CMakeLists.txt ++++ b/host_applications/linux/apps/hello_pi/hello_world/CMakeLists.txt +@@ -5,4 +5,4 @@ add_executable(${EXEC} ${SRCS}) + target_link_libraries(${EXEC} ${HELLO_PI_LIBS}) + + install(TARGETS ${EXEC} +- RUNTIME DESTINATION bin) ++ RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}) +diff --git a/host_applications/linux/apps/raspicam/CMakeLists.txt b/host_applications/linux/apps/raspicam/CMakeLists.txt +index f73a4d0..4a9cd88 100644 +--- a/host_applications/linux/apps/raspicam/CMakeLists.txt ++++ b/host_applications/linux/apps/raspicam/CMakeLists.txt +@@ -66,6 +66,6 @@ target_link_libraries(raspiyuv ${MMAL_LIBS} vcos bcm_host m) + target_link_libraries(raspivid ${MMAL_LIBS} vcos bcm_host m) + target_link_libraries(raspividyuv ${MMAL_LIBS} vcos bcm_host m) + +-install(TARGETS raspistill raspiyuv raspivid raspividyuv RUNTIME DESTINATION bin) ++install(TARGETS raspistill raspiyuv raspivid raspividyuv RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}) + install(FILES raspistill.1 raspiyuv.1 raspivid.1 raspividyuv.1 DESTINATION man/man1) + install(FILES raspicam.7 DESTINATION man/man7) +diff --git a/host_applications/linux/apps/smem/CMakeLists.txt b/host_applications/linux/apps/smem/CMakeLists.txt +index 0fa8328..60c9c61 100644 +--- a/host_applications/linux/apps/smem/CMakeLists.txt ++++ b/host_applications/linux/apps/smem/CMakeLists.txt +@@ -16,5 +16,5 @@ include_directories ( + add_executable(vcsmem smem.c) + target_link_libraries(vcsmem vcos vcsm vchostif) + +-install(TARGETS vcsmem RUNTIME DESTINATION bin) ++install(TARGETS vcsmem RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}) + +diff --git a/host_applications/linux/apps/tvservice/CMakeLists.txt b/host_applications/linux/apps/tvservice/CMakeLists.txt +index 0190774..fad5a6b 100644 +--- a/host_applications/linux/apps/tvservice/CMakeLists.txt ++++ b/host_applications/linux/apps/tvservice/CMakeLists.txt +@@ -3,5 +3,5 @@ add_executable(tvservice tvservice.c) + target_link_libraries(tvservice vchostif bcm_host) + + install(TARGETS tvservice +- RUNTIME DESTINATION bin) ++ RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}) + install(FILES tvservice.1 DESTINATION man/man1) +diff --git a/host_applications/linux/apps/vcmailbox/CMakeLists.txt b/host_applications/linux/apps/vcmailbox/CMakeLists.txt +index d153363..2731724 100644 +--- a/host_applications/linux/apps/vcmailbox/CMakeLists.txt ++++ b/host_applications/linux/apps/vcmailbox/CMakeLists.txt +@@ -2,6 +2,6 @@ add_executable(vcmailbox vcmailbox.c) + target_link_libraries(vcmailbox vchostif) + + install(TARGETS vcmailbox +- RUNTIME DESTINATION bin) ++ RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}) + install(FILES vcmailbox.1 DESTINATION man/man1) + install(FILES vcmailbox.7 raspiotp.7 raspirev.7 DESTINATION man/man7) +diff --git a/host_applications/linux/libs/bcm_host/CMakeLists.txt b/host_applications/linux/libs/bcm_host/CMakeLists.txt +index 7a4ab06..3614943 100644 +--- a/host_applications/linux/libs/bcm_host/CMakeLists.txt ++++ b/host_applications/linux/libs/bcm_host/CMakeLists.txt +@@ -19,5 +19,5 @@ add_library(bcm_host ${SHARED} bcm_host.c) + + target_link_libraries(bcm_host vcos vchostif) + +-install(TARGETS bcm_host DESTINATION lib) ++install(TARGETS bcm_host DESTINATION ${CMAKE_INSTALL_LIBDIR}) + +diff --git a/host_applications/linux/libs/debug_sym/CMakeLists.txt b/host_applications/linux/libs/debug_sym/CMakeLists.txt +index d437b99..37eb759 100644 +--- a/host_applications/linux/libs/debug_sym/CMakeLists.txt ++++ b/host_applications/linux/libs/debug_sym/CMakeLists.txt +@@ -11,6 +11,6 @@ include_directories ( + add_library(debug_sym ${SHARED} debug_sym.c) + add_library(debug_sym_static STATIC debug_sym.c) + +-install(TARGETS debug_sym DESTINATION lib) +-install(TARGETS debug_sym_static DESTINATION lib) +-install(FILES debug_sym.h DESTINATION include/interface/debug_sym) ++install(TARGETS debug_sym DESTINATION ${CMAKE_INSTALL_LIBDIR}) ++install(TARGETS debug_sym_static DESTINATION ${CMAKE_INSTALL_LIBDIR}) ++install(FILES debug_sym.h DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/interface/debug_sym) +diff --git a/host_applications/linux/libs/sm/CMakeLists.txt b/host_applications/linux/libs/sm/CMakeLists.txt +index 5ce5aca..84d8123 100644 +--- a/host_applications/linux/libs/sm/CMakeLists.txt ++++ b/host_applications/linux/libs/sm/CMakeLists.txt +@@ -14,5 +14,5 @@ add_library(vcsm ${SHARED} user-vcsm.c) + + target_link_libraries(vcsm vcos) + +-install(TARGETS vcsm DESTINATION lib) +-install(FILES user-vcsm.h DESTINATION include/interface/vcsm) ++install(TARGETS vcsm DESTINATION ${CMAKE_INSTALL_LIBDIR}) ++install(FILES user-vcsm.h DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/interface/vcsm) +diff --git a/interface/khronos/CMakeLists.txt b/interface/khronos/CMakeLists.txt +index 95c0e11..00316a5 100644 +--- a/interface/khronos/CMakeLists.txt ++++ b/interface/khronos/CMakeLists.txt +@@ -94,11 +94,11 @@ if (BUILD_WAYLAND) + ) + + add_library(wayland-egl ${SHARED} ${WAYLAND_EGL_SOURCE}) +- install(TARGETS wayland-egl DESTINATION lib) ++ install(TARGETS wayland-egl DESTINATION ${CMAKE_INSTALL_LIBDIR}) + + configure_file ("wayland-egl/wayland-egl.pc.in" "wayland-egl/wayland-egl.pc" @ONLY) + install (FILES "${CMAKE_CURRENT_BINARY_DIR}/wayland-egl/wayland-egl.pc" +- DESTINATION lib/pkgconfig) ++ DESTINATION ${CMAKE_INSTALL_LIBDIR}/pkgconfig) + endif () + + add_library(EGL ${SHARED} ${EGL_SOURCE}) +@@ -126,8 +126,8 @@ target_link_libraries(GLESv2 EGL khrn_client vcos) + target_link_libraries(WFC EGL) + target_link_libraries(OpenVG EGL) + +-install(TARGETS EGL GLESv2 OpenVG WFC khrn_client DESTINATION lib) +-install(TARGETS EGL_static GLESv2_static khrn_static DESTINATION lib) ++install(TARGETS EGL GLESv2 OpenVG WFC khrn_client DESTINATION ${CMAKE_INSTALL_LIBDIR}) ++install(TARGETS EGL_static GLESv2_static khrn_static DESTINATION ${CMAKE_INSTALL_LIBDIR}) + + # recommended names to use to avoid conflicts with mesa libs + add_library(brcmEGL ${SHARED} ${EGL_SOURCE}) +@@ -140,4 +140,4 @@ target_link_libraries(brcmGLESv2 brcmEGL khrn_client vcos) + target_link_libraries(brcmWFC brcmEGL) + target_link_libraries(brcmOpenVG brcmEGL) + +-install(TARGETS brcmEGL brcmGLESv2 brcmOpenVG brcmWFC DESTINATION lib) ++install(TARGETS brcmEGL brcmGLESv2 brcmOpenVG brcmWFC DESTINATION ${CMAKE_INSTALL_LIBDIR}) +diff --git a/interface/mmal/CMakeLists.txt b/interface/mmal/CMakeLists.txt +index c5c1642..fe784e8 100644 +--- a/interface/mmal/CMakeLists.txt ++++ b/interface/mmal/CMakeLists.txt +@@ -16,7 +16,7 @@ add_subdirectory(client) + + target_link_libraries(mmal mmal_core mmal_util mmal_vc_client vcos mmal_components) + +-install(TARGETS mmal DESTINATION lib) ++install(TARGETS mmal DESTINATION ${CMAKE_INSTALL_LIBDIR}) + install(FILES + mmal.h + mmal_buffer.h +@@ -36,7 +36,7 @@ install(FILES + mmal_pool.h mmal_port.h + mmal_queue.h + mmal_types.h +- DESTINATION include/interface/mmal ++ DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/interface/mmal + ) + + # Test apps +diff --git a/interface/mmal/components/CMakeLists.txt b/interface/mmal/components/CMakeLists.txt +index d65fa37..4c85de0 100644 +--- a/interface/mmal/components/CMakeLists.txt ++++ b/interface/mmal/components/CMakeLists.txt +@@ -30,5 +30,5 @@ set(container_libs ${container_libs} containers) + target_link_libraries(mmal_components ${container_libs} mmal_util) + target_link_libraries(mmal_components mmal_core) + +-install(TARGETS mmal_components DESTINATION lib) ++install(TARGETS mmal_components DESTINATION ${CMAKE_INSTALL_LIBDIR}) + +diff --git a/interface/mmal/core/CMakeLists.txt b/interface/mmal/core/CMakeLists.txt +index efa14d9..4fe0779 100644 +--- a/interface/mmal/core/CMakeLists.txt ++++ b/interface/mmal/core/CMakeLists.txt +@@ -13,7 +13,7 @@ add_library (mmal_core ${LIBRARY_TYPE} + + target_link_libraries (mmal_core vcos mmal_vc_client) + +-install(TARGETS mmal_core DESTINATION lib) ++install(TARGETS mmal_core DESTINATION ${CMAKE_INSTALL_LIBDIR}) + install(FILES + mmal_buffer_private.h + mmal_clock_private.h +@@ -21,5 +21,5 @@ install(FILES + mmal_core_private.h + mmal_port_private.h + mmal_events_private.h +- DESTINATION include/interface/mmal/core ++ DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/interface/mmal/core + ) +diff --git a/interface/mmal/util/CMakeLists.txt b/interface/mmal/util/CMakeLists.txt +index b2a6858..e51afd0 100644 +--- a/interface/mmal/util/CMakeLists.txt ++++ b/interface/mmal/util/CMakeLists.txt +@@ -12,7 +12,7 @@ add_library (mmal_util ${LIBRARY_TYPE} + + target_link_libraries (mmal_util vcos) + +-install(TARGETS mmal_util DESTINATION lib) ++install(TARGETS mmal_util DESTINATION ${CMAKE_INSTALL_LIBDIR}) + install(FILES + mmal_component_wrapper.h + mmal_connection.h +@@ -24,5 +24,5 @@ install(FILES + mmal_util.h + mmal_util_params.h + mmal_util_rational.h +- DESTINATION include/interface/mmal/util ++ DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/interface/mmal/util + ) +diff --git a/interface/mmal/vc/CMakeLists.txt b/interface/mmal/vc/CMakeLists.txt +index d6e80db..3b9ec64 100644 +--- a/interface/mmal/vc/CMakeLists.txt ++++ b/interface/mmal/vc/CMakeLists.txt +@@ -8,12 +8,12 @@ target_link_libraries(mmal_vc_client vchiq_arm vcos vcsm) + if(BUILD_MMAL_APPS) + add_executable(mmal_vc_diag mmal_vc_diag.c) + target_link_libraries(mmal_vc_diag mmal mmal_vc_client debug_sym vcos) +-install(TARGETS mmal_vc_diag RUNTIME DESTINATION bin) ++install(TARGETS mmal_vc_diag RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}) + endif(BUILD_MMAL_APPS) + + include_directories ( ../../../host_applications/linux/libs/sm ) + +-install(TARGETS mmal_vc_client DESTINATION lib) ++install(TARGETS mmal_vc_client DESTINATION ${CMAKE_INSTALL_LIBDIR}) + install(FILES + mmal_vc_api.h + mmal_vc_api_drm.h +@@ -22,5 +22,5 @@ install(FILES + mmal_vc_msgs.h + mmal_vc_opaque_alloc.h + mmal_vc_shm.h +- DESTINATION include/interface/mmal/vc ++ DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/interface/mmal/vc + ) +diff --git a/interface/vchiq_arm/CMakeLists.txt b/interface/vchiq_arm/CMakeLists.txt +index 7af383d..e5a3224 100644 +--- a/interface/vchiq_arm/CMakeLists.txt ++++ b/interface/vchiq_arm/CMakeLists.txt +@@ -5,7 +5,7 @@ add_library(vchiq_arm SHARED + # pull in VCHI cond variable emulation + target_link_libraries(vchiq_arm vcos) + +-install(TARGETS vchiq_arm DESTINATION lib) ++install(TARGETS vchiq_arm DESTINATION ${CMAKE_INSTALL_LIBDIR}) + #install(FILES etc/10-vchiq.rules DESTINATION /etc/udev/rules.d) + + include_directories(../..) +@@ -17,4 +17,4 @@ target_link_libraries(vchiq_test + vchiq_arm + vcos) + +-install(TARGETS vchiq_test RUNTIME DESTINATION bin) ++install(TARGETS vchiq_test RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}) +diff --git a/interface/vcos/CMakeLists.txt b/interface/vcos/CMakeLists.txt +index 23a8d72..b0924a4 100644 +--- a/interface/vcos/CMakeLists.txt ++++ b/interface/vcos/CMakeLists.txt +@@ -65,4 +65,4 @@ if (WIN32) + configure_file (build_all.bat.in build_all.bat @ONLY) + endif () + +-#install (FILES ${HEADERS} DESTINATION include/interface/vcos) ++#install (FILES ${HEADERS} DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/interface/vcos) +diff --git a/interface/vcos/generic/CMakeLists.txt b/interface/vcos/generic/CMakeLists.txt +index c09f376..8af98fd 100644 +--- a/interface/vcos/generic/CMakeLists.txt ++++ b/interface/vcos/generic/CMakeLists.txt +@@ -18,4 +18,4 @@ foreach (header ${HEADERS}) + configure_file ("${header}" "${VCOS_HEADERS_BUILD_DIR}/generic/${header}" COPYONLY) + endforeach () + +-install (FILES ${HEADERS} DESTINATION include/interface/vcos/generic) ++install (FILES ${HEADERS} DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/interface/vcos/generic) +diff --git a/interface/vcos/pthreads/CMakeLists.txt b/interface/vcos/pthreads/CMakeLists.txt +index d6cd415..821b3f3 100644 +--- a/interface/vcos/pthreads/CMakeLists.txt ++++ b/interface/vcos/pthreads/CMakeLists.txt +@@ -50,5 +50,5 @@ else () + endif () + + +-#install(FILES ${HEADERS} DESTINATION include) +-install(TARGETS vcos DESTINATION lib) ++#install(FILES ${HEADERS} DESTINATION ${CMAKE_INSTALL_LIBDIR}) ++install(TARGETS vcos DESTINATION ${CMAKE_INSTALL_LIBDIR}) +diff --git a/interface/vmcs_host/CMakeLists.txt b/interface/vmcs_host/CMakeLists.txt +index 76813c9..0984d8a 100755 +--- a/interface/vmcs_host/CMakeLists.txt ++++ b/interface/vmcs_host/CMakeLists.txt +@@ -35,5 +35,5 @@ target_link_libraries(vchostif vchiq_arm vcos) + + #target_link_libraries(bufman WFC) + +-install(TARGETS ${INSTALL_TARGETS} DESTINATION lib) ++install(TARGETS ${INSTALL_TARGETS} DESTINATION ${CMAKE_INSTALL_LIBDIR}) + +diff --git a/makefiles/cmake/vmcs.cmake b/makefiles/cmake/vmcs.cmake +index 7c97463..a1eb911 100644 +--- a/makefiles/cmake/vmcs.cmake ++++ b/makefiles/cmake/vmcs.cmake +@@ -16,7 +16,7 @@ endif() + SET(CMAKE_INSTALL_PREFIX "${VMCS_INSTALL_PREFIX}" CACHE INTERNAL "Prefix + prepended to install directories" FORCE) + if(NOT DEFINED VMCS_PLUGIN_DIR) +- SET(VMCS_PLUGIN_DIR ${CMAKE_INSTALL_PREFIX}/${CMAKE_SHARED_LIBRARY_PREFIX}/plugins) ++ SET(VMCS_PLUGIN_DIR ${CMAKE_INSTALL_LIBDIR}/plugins) + endif() + + # What kind of system are we? +diff --git a/middleware/openmaxil/CMakeLists.txt b/middleware/openmaxil/CMakeLists.txt +index 3e9c5f9..c063740 100644 +--- a/middleware/openmaxil/CMakeLists.txt ++++ b/middleware/openmaxil/CMakeLists.txt +@@ -49,4 +49,4 @@ else () + + endif () + +-install (TARGETS openmaxil DESTINATION lib) ++install (TARGETS openmaxil DESTINATION ${CMAKE_INSTALL_LIBDIR}) +diff --git a/pkgconfig/bcm_host.pc.in b/pkgconfig/bcm_host.pc.in +index c7237c5..2988b42 100644 +--- a/pkgconfig/bcm_host.pc.in ++++ b/pkgconfig/bcm_host.pc.in +@@ -1,6 +1,6 @@ + prefix=@CMAKE_INSTALL_PREFIX@ + exec_prefix=${prefix} +-libdir=${exec_prefix}/lib ++libdir=${exec_prefix}/@CMAKE_INSTALL_LIBDIR@ + includedir=${prefix}/include + + Name: bcm_host +diff --git a/pkgconfig/brcmegl.pc.in b/pkgconfig/brcmegl.pc.in +index 5dd3d5b..a45bf22 100644 +--- a/pkgconfig/brcmegl.pc.in ++++ b/pkgconfig/brcmegl.pc.in +@@ -1,6 +1,6 @@ + prefix=@CMAKE_INSTALL_PREFIX@ + exec_prefix=${prefix} +-libdir=${exec_prefix}/lib ++libdir=${exec_prefix}/@CMAKE_INSTALL_LIBDIR@ + includedir=${prefix}/include + + Name: brcmEGL +diff --git a/pkgconfig/brcmglesv2.pc.in b/pkgconfig/brcmglesv2.pc.in +index e0e36f5..902fbf3 100644 +--- a/pkgconfig/brcmglesv2.pc.in ++++ b/pkgconfig/brcmglesv2.pc.in +@@ -1,6 +1,6 @@ + prefix=@CMAKE_INSTALL_PREFIX@ + exec_prefix=${prefix} +-libdir=${exec_prefix}/lib ++libdir=${exec_prefix}/@CMAKE_INSTALL_LIBDIR@ + includedir=${prefix}/include + + Name: brcmGLESv2 +diff --git a/pkgconfig/brcmvg.pc.in b/pkgconfig/brcmvg.pc.in +index 763a44b..98489ee 100644 +--- a/pkgconfig/brcmvg.pc.in ++++ b/pkgconfig/brcmvg.pc.in +@@ -1,6 +1,6 @@ + prefix=@CMAKE_INSTALL_PREFIX@ + exec_prefix=${prefix} +-libdir=${exec_prefix}/lib ++libdir=${exec_prefix}/@CMAKE_INSTALL_LIBDIR@ + includedir=${prefix}/include + + Name: brcmOpenVG +diff --git a/pkgconfig/mmal.pc.in b/pkgconfig/mmal.pc.in +index 37d344c..1ffa4f5 100644 +--- a/pkgconfig/mmal.pc.in ++++ b/pkgconfig/mmal.pc.in +@@ -1,6 +1,6 @@ + prefix=@CMAKE_INSTALL_PREFIX@ + exec_prefix=${prefix} +-libdir=${exec_prefix}/lib ++libdir=${exec_prefix}/@CMAKE_INSTALL_LIBDIR@ + includedir=${prefix}/include + + Name: MMAL +diff --git a/pkgconfig/vcsm.pc.in b/pkgconfig/vcsm.pc.in +index b12c56f..6f762cb 100644 +--- a/pkgconfig/vcsm.pc.in ++++ b/pkgconfig/vcsm.pc.in +@@ -1,6 +1,6 @@ + prefix=@CMAKE_INSTALL_PREFIX@ + exec_prefix=${prefix} +-libdir=${exec_prefix}/lib ++libdir=${exec_prefix}/@CMAKE_INSTALL_LIBDIR@ + includedir=${prefix}/include + + Name: VCSM diff --git a/recipes-graphics/userland/userland_git.bb b/recipes-graphics/userland/userland_git.bb index 198ad77a6..bd50bf801 100644 --- a/recipes-graphics/userland/userland_git.bb +++ b/recipes-graphics/userland/userland_git.bb @@ -46,6 +46,7 @@ SRC_URI = "\ file://0022-all-host_applications-remove-non-existent-projects.patch \ file://0023-hello_pi-optionally-build-wayland-specific-app.patch \ file://0024-userland-Sync-needed-defines-for-weston-build.patch \ + file://0025-CMakeLists.txt-.pc-respect-CMAKE_INSTALL_LIBDIR.patch \ " SRC_URI:remove:toolchain-clang = "file://0021-cmake-Disable-format-overflow-warning-as-error.patch" diff --git a/recipes-kernel/bluez-firmware-rpidistro/bluez-firmware-rpidistro_git.bb b/recipes-kernel/bluez-firmware-rpidistro/bluez-firmware-rpidistro_git.bb index d3d4e7d50..bd5ed6254 100644 --- a/recipes-kernel/bluez-firmware-rpidistro/bluez-firmware-rpidistro_git.bb +++ b/recipes-kernel/bluez-firmware-rpidistro/bluez-firmware-rpidistro_git.bb @@ -16,7 +16,7 @@ SECTION = "kernel" # [^1]: https://github.com/RPi-Distro/bluez-firmware/issues/1 LICENSE = "Firmware-cypress-rpidistro" LIC_FILES_CHKSUM = "\ - file://LICENCE.cypress-rpidistro;md5=c5d12ae0b24ef7177902a8e288751a4e \ + file://LICENCE.cypress-rpidistro;md5=be80828daf682762f392131141288a74 \ " # These are not common licenses, set NO_GENERIC_LICENSE for them @@ -24,10 +24,10 @@ LIC_FILES_CHKSUM = "\ NO_GENERIC_LICENSE[Firmware-cypress-rpidistro] = "LICENCE.cypress-rpidistro" SRC_URI = " \ - git://github.com/RPi-Distro/bluez-firmware;branch=master;protocol=https \ + git://github.com/RPi-Distro/bluez-firmware;branch=bookworm;protocol=https \ " -SRCREV = "9556b08ace2a1735127894642cc8ea6529c04c90" -PV = "1.2-4+rpt10" +SRCREV = "78d6a07730e2d20c035899521ab67726dc028e1c" +PV = "1.2-9+rpt3" S = "${WORKDIR}/git" @@ -51,19 +51,21 @@ do_install() { install -d ${D}${nonarch_base_libdir}/firmware/brcm cp LICENCE.cypress-rpidistro ${D}${nonarch_base_libdir}/firmware - install -m 0644 broadcom/BCM434*.hcd ${D}${nonarch_base_libdir}/firmware/brcm/ + install -m 0644 debian/firmware/broadcom/BCM434*.hcd ${D}${nonarch_base_libdir}/firmware/brcm/ } PACKAGES = "\ ${PN}-cypress-license \ ${PN}-bcm43430a1-hcd \ ${PN}-bcm43430b0-hcd \ + ${PN}-bcm4343a2-hcd \ ${PN}-bcm4345c0-hcd \ ${PN}-bcm4345c5-hcd \ " LICENSE:${PN}-bcm43430a1-hcd = "Firmware-cypress-rpidistro" LICENSE:${PN}-bcm43430b0-hcd = "Firmware-cypress-rpidistro" +LICENSE:${PN}-bcm4343a2-hcd = "Firmware-cypress-rpidistro" LICENSE:${PN}-bcm4345c0-hcd = "Firmware-cypress-rpidistro" LICENSE:${PN}-bcm4345c5-hcd = "Firmware-cypress-rpidistro" LICENSE:${PN}-cypress-license = "Firmware-cypress-rpidistro" @@ -77,6 +79,9 @@ FILES:${PN}-bcm43430a1-hcd = "\ FILES:${PN}-bcm43430b0-hcd = "\ ${nonarch_base_libdir}/firmware/brcm/BCM43430B0.hcd \ " +FILES:${PN}-bcm4343a2-hcd = "\ + ${nonarch_base_libdir}/firmware/brcm/BCM4343A2.hcd \ +" FILES:${PN}-bcm4345c0-hcd = "\ ${nonarch_base_libdir}/firmware/brcm/BCM4345C0.hcd \ " @@ -86,12 +91,15 @@ FILES:${PN}-bcm4345c5-hcd = "\ RDEPENDS:${PN}-bcm43430a1-hcd += "${PN}-cypress-license" RDEPENDS:${PN}-bcm43430b0-hcd += "${PN}-cypress-license" +RDEPENDS:${PN}-bcm4343a2-hcd += "${PN}-cypress-license" RDEPENDS:${PN}-bcm4345c0-hcd += "${PN}-cypress-license" RDEPENDS:${PN}-bcm4345c5-hcd += "${PN}-cypress-license" RCONFLICTS:${PN}-bcm43430a1-hcd = "linux-firmware-bcm43430a1-hcd" RREPLACES:${PN}-bcm43430a1-hcd = "linux-firmware-bcm43430a1-hcd" RCONFLICTS:${PN}-bcm43430b0-hcd = "linux-firmware-bcm43430b0-hcd" RREPLACES:${PN}-bcm43430b0-hcd = "linux-firmware-bcm43430b0-hcd" +RCONFLICTS:${PN}-bcm4343a2-hcd = "linux-firmware-bcm4343a2-hcd" +RREPLACES:${PN}-bcm4343a2-hcd = "linux-firmware-bcm4343a2-hcd" RCONFLICTS:${PN}-bcm43435c0-hcd = "linux-firmware-bcm4345c0-hcd" RREPLACES:${PN}-bcm43435c0-hcd = "linux-firmware-bcm4345c0-hcd" RCONFLICTS:${PN}-bcm43435c5-hcd = "linux-firmware-bcm4345c5-hcd" diff --git a/recipes-kernel/linux-firmware-rpidistro/linux-firmware-rpidistro_git.bb b/recipes-kernel/linux-firmware-rpidistro/linux-firmware-rpidistro_git.bb index 095516435..959513dca 100644 --- a/recipes-kernel/linux-firmware-rpidistro/linux-firmware-rpidistro_git.bb +++ b/recipes-kernel/linux-firmware-rpidistro/linux-firmware-rpidistro_git.bb @@ -7,7 +7,7 @@ SECTION = "kernel" LICENSE = "GPL-2.0-only & binary-redist-Cypress-rpidistro & Synaptics-rpidistro" LIC_FILES_CHKSUM = "\ - file://debian/copyright;md5=03475efdcf4c53c8f2d8fb4bc1fc6965 \ + file://debian/copyright;md5=291ee5385b4cf74b10c5fb5a46a7bbc6 \ " # Where these are no common licenses, set NO_GENERIC_LICENSE so that the # license files will be copied from the fetched source. @@ -15,11 +15,11 @@ NO_GENERIC_LICENSE[binary-redist-Cypress-rpidistro] = "debian/copyright" NO_GENERIC_LICENSE[Synaptics-rpidistro] = "debian/copyright" LICENSE_FLAGS = "synaptics-killswitch" -SRC_URI = "git://github.com/RPi-Distro/firmware-nonfree;branch=bullseye;protocol=https \ +SRC_URI = "git://github.com/RPi-Distro/firmware-nonfree;branch=bookworm;protocol=https \ file://0001-Default-43455-firmware-to-standard-variant.patch \ " -SRCREV = "2c3a8701193ba23d0ef85cdf0d0c9e47baf03dfc" -PV = "20230210-5_bpo11+1" +SRCREV = "223ccf3a3ddb11b3ea829749fbbba4d65b380897" +PV = "20230625-2+rpt2" S = "${WORKDIR}/git" inherit allarch @@ -71,7 +71,10 @@ FILES:${PN}-bcm43430 = " \ " FILES:${PN}-bcm43436 = "${nonarch_base_libdir}/firmware/brcm/brcmfmac43436-*" FILES:${PN}-bcm43436s = "${nonarch_base_libdir}/firmware/brcm/brcmfmac43436s*" -FILES:${PN}-bcm43439 = "${nonarch_base_libdir}/firmware/cypress/43439A0-7.95.49.00.combined" +FILES:${PN}-bcm43439 = " \ + ${nonarch_base_libdir}/firmware/cypress/43439A0-7.95.49.00.combined \ + ${nonarch_base_libdir}/firmware/cypress/cyfmac43439-sdio* \ +" FILES:${PN}-bcm43455 = " \ ${nonarch_base_libdir}/firmware/brcm/brcmfmac43455* \ ${nonarch_base_libdir}/firmware/cypress/cyfmac43455-sdio* \ diff --git a/recipes-kernel/linux/linux-raspberrypi-v7_6.6.bb b/recipes-kernel/linux/linux-raspberrypi-v7_6.6.bb new file mode 100644 index 000000000..a5695f61b --- /dev/null +++ b/recipes-kernel/linux/linux-raspberrypi-v7_6.6.bb @@ -0,0 +1,6 @@ +# SPDX-FileCopyrightText: Andrei Gherzan +# +# SPDX-License-Identifier: MIT + +require linux-raspberrypi-v7.inc +require linux-raspberrypi_6.6.bb diff --git a/recipes-kernel/linux/linux-raspberrypi_6.1.bb b/recipes-kernel/linux/linux-raspberrypi_6.1.bb index 0a838ae7f..5731a816d 100644 --- a/recipes-kernel/linux/linux-raspberrypi_6.1.bb +++ b/recipes-kernel/linux/linux-raspberrypi_6.1.bb @@ -1,9 +1,9 @@ -LINUX_VERSION ?= "6.1.61" +LINUX_VERSION ?= "6.1.77" LINUX_RPI_BRANCH ?= "rpi-6.1.y" LINUX_RPI_KMETA_BRANCH ?= "yocto-6.1" -SRCREV_machine = "f364e0eb8f973e1aa24a3c451d18e84247a8efcd" -SRCREV_meta = "29ec3dc6f4f59b731badcc864b212767023cc40c" +SRCREV_machine = "77fc1fbcb5c013329af9583307dd1ff3cd4752aa" +SRCREV_meta = "43d1723dbe0ce7b341cf32feeb35ecbe6b0ce29a" KMETA = "kernel-meta" diff --git a/recipes-kernel/linux/linux-raspberrypi_6.6.bb b/recipes-kernel/linux/linux-raspberrypi_6.6.bb new file mode 100644 index 000000000..b4d9953e1 --- /dev/null +++ b/recipes-kernel/linux/linux-raspberrypi_6.6.bb @@ -0,0 +1,31 @@ +LINUX_VERSION ?= "6.6.22" +LINUX_RPI_BRANCH ?= "rpi-6.6.y" +LINUX_RPI_KMETA_BRANCH ?= "yocto-6.6" + +SRCREV_machine = "c04af98514c26014a4f29ec87b3ece95626059bd" +SRCREV_meta = "6a24861d6504575a4a9f92366285332d47c7e111" + +KMETA = "kernel-meta" + +SRC_URI = " \ + git://github.com/raspberrypi/linux.git;name=machine;branch=${LINUX_RPI_BRANCH};protocol=https \ + git://git.yoctoproject.org/yocto-kernel-cache;type=kmeta;name=meta;branch=${LINUX_RPI_KMETA_BRANCH};destsuffix=${KMETA} \ + file://powersave.cfg \ + file://android-drivers.cfg \ + " + +require linux-raspberrypi.inc + +KERNEL_DTC_FLAGS += "-@ -H epapr" + +RDEPENDS:${KERNEL_PACKAGE_NAME}:raspberrypi-armv7:append = " ${RASPBERRYPI_v7_KERNEL_PACKAGE_NAME}" +RDEPENDS:${KERNEL_PACKAGE_NAME}-base:raspberrypi-armv7:append = " ${RASPBERRYPI_v7_KERNEL_PACKAGE_NAME}-base" +RDEPENDS:${KERNEL_PACKAGE_NAME}-image:raspberrypi-armv7:append = " ${RASPBERRYPI_v7_KERNEL_PACKAGE_NAME}-image" +RDEPENDS:${KERNEL_PACKAGE_NAME}-dev:raspberrypi-armv7:append = " ${RASPBERRYPI_v7_KERNEL_PACKAGE_NAME}-dev" +RDEPENDS:${KERNEL_PACKAGE_NAME}-vmlinux:raspberrypi-armv7:append = " ${RASPBERRYPI_v7_KERNEL_PACKAGE_NAME}-vmlinux" +RDEPENDS:${KERNEL_PACKAGE_NAME}-modules:raspberrypi-armv7:append = " ${RASPBERRYPI_v7_KERNEL_PACKAGE_NAME}-modules" +RDEPENDS:${KERNEL_PACKAGE_NAME}-dbg:raspberrypi-armv7:append = " ${RASPBERRYPI_v7_KERNEL_PACKAGE_NAME}-dbg" + +DEPLOYDEP = "" +DEPLOYDEP:raspberrypi-armv7 = "${RASPBERRYPI_v7_KERNEL}:do_deploy" +do_deploy[depends] += "${DEPLOYDEP}" diff --git a/recipes-multimedia/picamera-libs/picamera-libs.bb b/recipes-multimedia/picamera-libs/picamera-libs.bb index 2ebe41394..f873a1990 100644 --- a/recipes-multimedia/picamera-libs/picamera-libs.bb +++ b/recipes-multimedia/picamera-libs/picamera-libs.bb @@ -6,7 +6,7 @@ LIC_FILES_CHKSUM = "file://opt/vc/LICENCE;md5=86e53f5f5909ee66900418028de11780" include recipes-bsp/common/raspberrypi-firmware.inc -S = "${WORKDIR}/raspberrypi-firmware-1.${PV}" +S = "${RPIFW_S}" do_install(){ install -m 0755 -d ${D}${libdir} diff --git a/recipes-multimedia/rpidistro-ffmpeg/rpidistro-ffmpeg_4.3.4.bb b/recipes-multimedia/rpidistro-ffmpeg/rpidistro-ffmpeg_4.3.4.bb index a4a7f90ed..5a8ff8fa9 100644 --- a/recipes-multimedia/rpidistro-ffmpeg/rpidistro-ffmpeg_4.3.4.bb +++ b/recipes-multimedia/rpidistro-ffmpeg/rpidistro-ffmpeg_4.3.4.bb @@ -23,9 +23,9 @@ LIC_FILES_CHKSUM = "file://COPYING.GPLv2;md5=b234ee4d69f5fce4486a80fdaf4a4263 \ file://COPYING.LGPLv3;md5=e6a600fd5e1d9cbde2d983680233ad02" # Build fails when thumb is enabled: https://bugzilla.yoctoproject.org/show_bug.cgi?id=7717 -ARM_INSTRUCTION_SET_armv4 = "arm" -ARM_INSTRUCTION_SET_armv5 = "arm" -ARM_INSTRUCTION_SET_armv6 = "arm" +ARM_INSTRUCTION_SET:armv4 = "arm" +ARM_INSTRUCTION_SET:armv5 = "arm" +ARM_INSTRUCTION_SET:armv6 = "arm" # Should be API compatible with libav (which was a fork of ffmpeg) # libpostproc was previously packaged from a separate recipe PROVIDES = "ffmpeg libav libpostproc" diff --git a/wic/sdimage-raspberrypi.wks b/wic/sdimage-raspberrypi.wks index 01fbaeaeb..bb41e0f56 100644 --- a/wic/sdimage-raspberrypi.wks +++ b/wic/sdimage-raspberrypi.wks @@ -2,5 +2,5 @@ # long-description: Creates a partitioned SD card image for use with # Raspberry Pi. Boot files are located in the first vfat partition. -part /boot --source bootimg-partition --ondisk mmcblk0 --fstype=vfat --label boot --active --align 4096 --size 20 +part /boot --source bootimg-partition --ondisk mmcblk0 --fstype=vfat --label boot --active --align 4096 --size 100 part / --source rootfs --ondisk mmcblk0 --fstype=ext4 --label root --align 4096