Skip to content

How to update WebKit related components

Pablo Saavedra edited this page Dec 21, 2022 · 9 revisions

How to update a WebKit related component

  1. Follow the How to build instructions in balena-browser-wpe to setup your local build environment but stop before the build step

  2. Go to the meta-webkit layer sources and point the sources to the target commit reference:

    pushd  sources/meta-webkit/
    git fetch --all
    git checkout main
    git pull
    # Annotate the hash. It will be used later
  3. Follow the Testing local images

  4. If the tests are satisfactory:

    1. Update the meta-webkit reference, previously annotated, in the manifest file:

      diff --git a/manifest-honister.xml b/manifest-honister.xml
      index 4332eb8..19ec3d6 100644
      --- a/manifest-honister.xml
      +++ b/manifest-honister.xml
      @@ -8,6 +8,6 @@
         <default sync-j="2"/>
         <project name="meta-openembedded" path="sources/meta-openembedded" remote="oe" revision="061b7fc74f887454251307ef119b808a90654d3f" upstream="honister" dest-branch="honister"/>
         <project name="meta-raspberrypi" path="sources/meta-raspberrypi" remote="yocto" revision="378d4b6e7ba64b6a9a701457cc3780fa896ba5dc" upstream="honister" dest-branch="honister"/>
      -  <project name="meta-webkit.git" path="sources/meta-webkit" remote="igalia" revision="438991116ffb84a31e942a06b2e72a1d36207982" upstream="main" dest-branch="main"/>
      +  <project name="meta-webkit.git" path="sources/meta-webkit" remote="igalia" revision="707c338503ad19f59d66a8bd334e19e2aee6d4f3" upstream="main" dest-branch="main"/>
         <project name="poky" path="sources/poky" remote="yocto" revision="ee68ae307fd951b9de6b31dc6713ea29186b7749" upstream="honister" dest-branch="honister"/>
       </manifest>
    2. Check the generated balena/image.manifest file to know the version of the relevant components:

      cat balena/image.manifest | grep -E "cog |wpewebkit |libwpe|libwpebackend-fdo|wayland |libegl-mesa|gstreamer1.0 |libgles2-mesa" | awk '{ print "  * "$1" "$3 }'
    3. Create a temporary branch example_branch

    4. Commit the change

      Bump up meta-webkit layer reference
      
      * Packages:
        * cog 0.10.1-r0
        * gstreamer1.0 1.18.4-r0
        * libegl-mesa 2:21.0.3-r0
        * libgles2-mesa 2:21.0.3-r0
        * libwpe-1.0-1 1.12.0-r0
        * libwpebackend-fdo-1.0-1 1.12.0-r0
        * wayland 1.19.0-r0
        * wpewebkit 2.34.1-r0
      
      Change-type: major
    5. Finally, you probably will be interested on create a version commit. Use the following instructions to do it:

      balena-versionist
      git add CHANGELOG.md  VERSION  balena.yml
      git commit -m "v$(cat VERSION)"
      
    6. Create the Pull Request

      $ git push origin to_langdale
      ...
      remote: Create a pull request for 'to_langdale' on GitHub by visiting:
      remote:      https://github.com/Igalia/balena-browser-wpe/pull/new/to_langdale
      
    7. Get an Approval before the Rebase+Merge or set the Unreviewed change text as part of the commit (only for committers).