diff mbox series

[v3] meta-arago-disto: chromium: split force-h264-youtube extension into its own package

Message ID 20260923201126.1084567-1-t-lannynd@ti.com
State New
Headers show
Series [v3] meta-arago-disto: chromium: split force-h264-youtube extension into its own package | expand

Commit Message

Thorsten Lannynd Sept. 23, 2026, 8:11 p.m. UTC
Split force-h264-youtube into its own recipe, built only for boards with
cnm-wave-fw. chromium-wrapper checks for the extension directory at runtime
before adding --load-extension.

Signed-off-by: Thorsten Lannynd <t-lannynd@ti.com>
---

v3:
- Separate the extension into its own package and install on boards with
  Wave5 firmware
- Enable extension if extension directory exists

v2:
- Shorten commit message title

 .../force_h264.js                             |  0
 .../manifest.json                             |  0
 ...mium-extension-force-h264-youtube_1.0.0.bb | 24 +++++++++++++++++++
 .../chromium/chromium-ozone-wayland-arago.inc | 12 ++--------
 4 files changed, 26 insertions(+), 10 deletions(-)
 rename meta-arago-distro/dynamic-layers/chromium-browser-layer/recipes-browser/{chromium/chromium-ozone-wayland/force-h264-youtube => chromium-extension-force-h264-youtube/chromium-extension-force-h264-youtube}/force_h264.js (100%)
 rename meta-arago-distro/dynamic-layers/chromium-browser-layer/recipes-browser/{chromium/chromium-ozone-wayland/force-h264-youtube => chromium-extension-force-h264-youtube/chromium-extension-force-h264-youtube}/manifest.json (100%)
 create mode 100644 meta-arago-distro/dynamic-layers/chromium-browser-layer/recipes-browser/chromium-extension-force-h264-youtube/chromium-extension-force-h264-youtube_1.0.0.bb

Comments

PRC Automation Sept. 23, 2026, 8:15 p.m. UTC | #1
meta-arago / na / 20260923201126.1084567-1-t-lannynd

PRC Results: FAIL

=========================================================
  check-yocto-patches: FAIL
=========================================================
Patches
----------------------------------------
FAIL - [PATCH v3] meta-arago-disto: chromium: split force-h264-youtube extension into its own package
    WARN: Missing branches specifier [master/scarthgap/XXXXX]. (META-2)
        patch:84
            Subject: [PATCH v3] meta-arago-disto: chromium: split force-h264-youtube extension into its own package
    
    ERROR: Commit message too long (> 80 chars): meta-arago-disto: chromium: split force-h264-youtube extension into its own package. (COMMIT-MESSAGE-1)
        patch:84
            Subject: [PATCH v3] meta-arago-disto: chromium: split force-h264-youtube extension into its own package
    
    For details on the above errors/warnings visit: https://lists.yoctoproject.org/g/meta-ti/wiki/40887
Denys Dmytriyenko Sept. 23, 2026, 8:27 p.m. UTC | #2
On Wed, Sep 23, 2026 at 03:11:26PM -0500, Thorsten Lannynd via lists.yoctoproject.org wrote:
> Split force-h264-youtube into its own recipe, built only for boards with
> cnm-wave-fw. chromium-wrapper checks for the extension directory at runtime
> before adding --load-extension.
> 
> Signed-off-by: Thorsten Lannynd <t-lannynd@ti.com>
> ---
> 
> v3:
> - Separate the extension into its own package and install on boards with
>   Wave5 firmware
> - Enable extension if extension directory exists

This looks much better, thank you.


> v2:
> - Shorten commit message title
> 
>  .../force_h264.js                             |  0
>  .../manifest.json                             |  0
>  ...mium-extension-force-h264-youtube_1.0.0.bb | 24 +++++++++++++++++++
>  .../chromium/chromium-ozone-wayland-arago.inc | 12 ++--------
>  4 files changed, 26 insertions(+), 10 deletions(-)
>  rename meta-arago-distro/dynamic-layers/chromium-browser-layer/recipes-browser/{chromium/chromium-ozone-wayland/force-h264-youtube => chromium-extension-force-h264-youtube/chromium-extension-force-h264-youtube}/force_h264.js (100%)
>  rename meta-arago-distro/dynamic-layers/chromium-browser-layer/recipes-browser/{chromium/chromium-ozone-wayland/force-h264-youtube => chromium-extension-force-h264-youtube/chromium-extension-force-h264-youtube}/manifest.json (100%)
>  create mode 100644 meta-arago-distro/dynamic-layers/chromium-browser-layer/recipes-browser/chromium-extension-force-h264-youtube/chromium-extension-force-h264-youtube_1.0.0.bb
> 
> diff --git a/meta-arago-distro/dynamic-layers/chromium-browser-layer/recipes-browser/chromium/chromium-ozone-wayland/force-h264-youtube/force_h264.js b/meta-arago-distro/dynamic-layers/chromium-browser-layer/recipes-browser/chromium-extension-force-h264-youtube/chromium-extension-force-h264-youtube/force_h264.js
> similarity index 100%
> rename from meta-arago-distro/dynamic-layers/chromium-browser-layer/recipes-browser/chromium/chromium-ozone-wayland/force-h264-youtube/force_h264.js
> rename to meta-arago-distro/dynamic-layers/chromium-browser-layer/recipes-browser/chromium-extension-force-h264-youtube/chromium-extension-force-h264-youtube/force_h264.js
> diff --git a/meta-arago-distro/dynamic-layers/chromium-browser-layer/recipes-browser/chromium/chromium-ozone-wayland/force-h264-youtube/manifest.json b/meta-arago-distro/dynamic-layers/chromium-browser-layer/recipes-browser/chromium-extension-force-h264-youtube/chromium-extension-force-h264-youtube/manifest.json
> similarity index 100%
> rename from meta-arago-distro/dynamic-layers/chromium-browser-layer/recipes-browser/chromium/chromium-ozone-wayland/force-h264-youtube/manifest.json
> rename to meta-arago-distro/dynamic-layers/chromium-browser-layer/recipes-browser/chromium-extension-force-h264-youtube/chromium-extension-force-h264-youtube/manifest.json
> diff --git a/meta-arago-distro/dynamic-layers/chromium-browser-layer/recipes-browser/chromium-extension-force-h264-youtube/chromium-extension-force-h264-youtube_1.0.0.bb b/meta-arago-distro/dynamic-layers/chromium-browser-layer/recipes-browser/chromium-extension-force-h264-youtube/chromium-extension-force-h264-youtube_1.0.0.bb
> new file mode 100644
> index 00000000..16473415
> --- /dev/null
> +++ b/meta-arago-distro/dynamic-layers/chromium-browser-layer/recipes-browser/chromium-extension-force-h264-youtube/chromium-extension-force-h264-youtube_1.0.0.bb
> @@ -0,0 +1,24 @@
> +SUMMARY = "Chromium extension that forces YouTube to use H.264 codec"
> +LICENSE = "CLOSED"
> +
> +python () {
> +    if not bb.utils.contains("MACHINE_ESSENTIAL_EXTRA_RRECOMMENDS", "cnm-wave-fw", True, False, d):
> +        raise bb.parse.SkipRecipe("cnm-wave-fw not in MACHINE_ESSENTIAL_EXTRA_RRECOMMENDS")

It will all depend on how you plan to pull this in to your image. But just an 
FYI, if you simply try to add this as an RDEPENDS in a packagegroup or image, 
it will fail for platforms that don't have cnm-wave-fw. As RDEPENDS is a hard 
dependency and SkipRecipe() breaks it and results in a failure. You would 
probably need to have a similar conditional to check for cnm-wave-fw presence 
and only then add to RDEPENDS...


> +}
> +
> +RDEPENDS:${PN} = "chromium-ozone-wayland"
> +
> +SRC_URI = "file://force_h264.js \
> +           file://manifest.json \
> +           "
> +
> +EXTENSION_DIR = "${libdir}/chromium/extensions/force-h264-youtube"
> +
> +do_install() {
> +    install -d ${D}${EXTENSION_DIR}
> +    install -m 0644 ${WORKDIR}/force_h264.js \
> +                    ${WORKDIR}/manifest.json \
> +                    ${D}${EXTENSION_DIR}/
> +}
> +
> +FILES:${PN} = "${EXTENSION_DIR}"
> diff --git a/meta-arago-distro/dynamic-layers/chromium-browser-layer/recipes-browser/chromium/chromium-ozone-wayland-arago.inc b/meta-arago-distro/dynamic-layers/chromium-browser-layer/recipes-browser/chromium/chromium-ozone-wayland-arago.inc
> index d8eb0204..93c802a6 100644
> --- a/meta-arago-distro/dynamic-layers/chromium-browser-layer/recipes-browser/chromium/chromium-ozone-wayland-arago.inc
> +++ b/meta-arago-distro/dynamic-layers/chromium-browser-layer/recipes-browser/chromium/chromium-ozone-wayland-arago.inc
> @@ -1,7 +1,5 @@
>  PR:append = ".arago0"
>  
> -EXTENSION_DIR = "/usr/lib/chromium/extensions/force-h264-youtube"
> -
>  FILESEXTRAPATHS:prepend := "${THISDIR}/chromium-ozone-wayland:"
>  
>  PACKAGECONFIG:append = " proprietary-codecs"
> @@ -11,15 +9,9 @@ SRC_URI:append = " \
>                    file://0002-chromium-gpu-sandbox-Allow-GPU-sandbox-access-to-V4L.patch \
>                    file://0003-chromium-gpu-v4l2-Fix-OUTPUT-queue-streaming-in-V4L2.patch \
>                    file://0004-media-gpu-v4l2-Avoid-placing-incomplete-H264-access-.patch \
> -                  file://force-h264-youtube/force_h264.js \
> -                  file://force-h264-youtube/manifest.json \
>                    "
>  
>  do_install:append() {
> -    install -d ${D}${EXTENSION_DIR}
> -    install -m 0644 ${WORKDIR}/sources/force-h264-youtube/force_h264.js \
> -                    ${WORKDIR}/sources/force-h264-youtube/manifest.json \
> -                    ${D}${EXTENSION_DIR}/
> +    sed -i "/^CHROME_EXTRA_ARGS=/a [ -d \"${libdir}/chromium/extensions/force-h264-youtube\" ] && CHROME_EXTRA_ARGS=\"\$CHROME_EXTRA_ARGS --load-extension=${libdir}/chromium/extensions/force-h264-youtube\"" \
> +        ${D}${libdir}/chromium/chromium-wrapper
>  }
> -
> -FILES:${PN}:append = " ${EXTENSION_DIR}"
> -- 
> 2.34.1
diff mbox series

Patch

diff --git a/meta-arago-distro/dynamic-layers/chromium-browser-layer/recipes-browser/chromium/chromium-ozone-wayland/force-h264-youtube/force_h264.js b/meta-arago-distro/dynamic-layers/chromium-browser-layer/recipes-browser/chromium-extension-force-h264-youtube/chromium-extension-force-h264-youtube/force_h264.js
similarity index 100%
rename from meta-arago-distro/dynamic-layers/chromium-browser-layer/recipes-browser/chromium/chromium-ozone-wayland/force-h264-youtube/force_h264.js
rename to meta-arago-distro/dynamic-layers/chromium-browser-layer/recipes-browser/chromium-extension-force-h264-youtube/chromium-extension-force-h264-youtube/force_h264.js
diff --git a/meta-arago-distro/dynamic-layers/chromium-browser-layer/recipes-browser/chromium/chromium-ozone-wayland/force-h264-youtube/manifest.json b/meta-arago-distro/dynamic-layers/chromium-browser-layer/recipes-browser/chromium-extension-force-h264-youtube/chromium-extension-force-h264-youtube/manifest.json
similarity index 100%
rename from meta-arago-distro/dynamic-layers/chromium-browser-layer/recipes-browser/chromium/chromium-ozone-wayland/force-h264-youtube/manifest.json
rename to meta-arago-distro/dynamic-layers/chromium-browser-layer/recipes-browser/chromium-extension-force-h264-youtube/chromium-extension-force-h264-youtube/manifest.json
diff --git a/meta-arago-distro/dynamic-layers/chromium-browser-layer/recipes-browser/chromium-extension-force-h264-youtube/chromium-extension-force-h264-youtube_1.0.0.bb b/meta-arago-distro/dynamic-layers/chromium-browser-layer/recipes-browser/chromium-extension-force-h264-youtube/chromium-extension-force-h264-youtube_1.0.0.bb
new file mode 100644
index 00000000..16473415
--- /dev/null
+++ b/meta-arago-distro/dynamic-layers/chromium-browser-layer/recipes-browser/chromium-extension-force-h264-youtube/chromium-extension-force-h264-youtube_1.0.0.bb
@@ -0,0 +1,24 @@ 
+SUMMARY = "Chromium extension that forces YouTube to use H.264 codec"
+LICENSE = "CLOSED"
+
+python () {
+    if not bb.utils.contains("MACHINE_ESSENTIAL_EXTRA_RRECOMMENDS", "cnm-wave-fw", True, False, d):
+        raise bb.parse.SkipRecipe("cnm-wave-fw not in MACHINE_ESSENTIAL_EXTRA_RRECOMMENDS")
+}
+
+RDEPENDS:${PN} = "chromium-ozone-wayland"
+
+SRC_URI = "file://force_h264.js \
+           file://manifest.json \
+           "
+
+EXTENSION_DIR = "${libdir}/chromium/extensions/force-h264-youtube"
+
+do_install() {
+    install -d ${D}${EXTENSION_DIR}
+    install -m 0644 ${WORKDIR}/force_h264.js \
+                    ${WORKDIR}/manifest.json \
+                    ${D}${EXTENSION_DIR}/
+}
+
+FILES:${PN} = "${EXTENSION_DIR}"
diff --git a/meta-arago-distro/dynamic-layers/chromium-browser-layer/recipes-browser/chromium/chromium-ozone-wayland-arago.inc b/meta-arago-distro/dynamic-layers/chromium-browser-layer/recipes-browser/chromium/chromium-ozone-wayland-arago.inc
index d8eb0204..93c802a6 100644
--- a/meta-arago-distro/dynamic-layers/chromium-browser-layer/recipes-browser/chromium/chromium-ozone-wayland-arago.inc
+++ b/meta-arago-distro/dynamic-layers/chromium-browser-layer/recipes-browser/chromium/chromium-ozone-wayland-arago.inc
@@ -1,7 +1,5 @@ 
 PR:append = ".arago0"
 
-EXTENSION_DIR = "/usr/lib/chromium/extensions/force-h264-youtube"
-
 FILESEXTRAPATHS:prepend := "${THISDIR}/chromium-ozone-wayland:"
 
 PACKAGECONFIG:append = " proprietary-codecs"
@@ -11,15 +9,9 @@  SRC_URI:append = " \
                   file://0002-chromium-gpu-sandbox-Allow-GPU-sandbox-access-to-V4L.patch \
                   file://0003-chromium-gpu-v4l2-Fix-OUTPUT-queue-streaming-in-V4L2.patch \
                   file://0004-media-gpu-v4l2-Avoid-placing-incomplete-H264-access-.patch \
-                  file://force-h264-youtube/force_h264.js \
-                  file://force-h264-youtube/manifest.json \
                   "
 
 do_install:append() {
-    install -d ${D}${EXTENSION_DIR}
-    install -m 0644 ${WORKDIR}/sources/force-h264-youtube/force_h264.js \
-                    ${WORKDIR}/sources/force-h264-youtube/manifest.json \
-                    ${D}${EXTENSION_DIR}/
+    sed -i "/^CHROME_EXTRA_ARGS=/a [ -d \"${libdir}/chromium/extensions/force-h264-youtube\" ] && CHROME_EXTRA_ARGS=\"\$CHROME_EXTRA_ARGS --load-extension=${libdir}/chromium/extensions/force-h264-youtube\"" \
+        ${D}${libdir}/chromium/chromium-wrapper
 }
-
-FILES:${PN}:append = " ${EXTENSION_DIR}"