Igalia / webkit-container-sdk

The all-in-one SDK for WebKit GTK/WPE port development.
MIT License
12 stars 7 forks source link

jhbuild: Backport webrtc patches from GStreamer main branch #46

Closed philn closed 1 month ago

philn commented 2 months ago

Those will not ship until 1.26.

https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7156 https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7294

nikolaszimmermann commented 2 months ago

Thanks @philn ! In the meanwhile we upgraded to gst 1.26. -- are those patches still relevant?

philn commented 1 month ago

You upgraded to 1.24.8 which doesn't ship these patches.

nikolaszimmermann commented 1 month ago

You upgraded to 1.24.8 which doesn't ship these patches.

Oops - misremembered 😂 thanks for the clarification.

philn commented 1 month ago

Error: identifier is not a container: preparing container for next step: creating build container: creating container: creating read-write layer with ID "4244d8e8bb5a3d50479680d92c5091a3b8f9d9138a512a124a9f0de95a44c90e": no space left on device

dpino commented 1 month ago

Error: identifier is not a container: preparing container for next step: creating build container: creating container: creating read-write layer with ID "4244d8e8bb5a3d50479680d92c5091a3b8f9d9138a512a124a9f0de95a44c90e": no space left on device

I will take a look.

dpino commented 1 month ago

@philn I freed up space in the host. Now it's failing with a different error:

*** Installing sysprof *** [13/15]
meson install --no-rebuild --quiet
/bin/sh /usr/local/share/jhbuild/triggers/desktop-database.trigger
/bin/sh /usr/local/share/jhbuild/triggers/gtk+.trigger
/bin/sh /usr/local/share/jhbuild/triggers/mime-database.trigger
*** module libspiel not built due to non buildable gstreamer *** [14/15]
*** module webkit-sdk-deps not built due to non buildable libwpe *** [15/15]
*** module webkit-sdk-deps not built due to non buildable wpebackend-fdo *** [15/15]
*** module webkit-sdk-deps not built due to non buildable gstreamer *** [15/15]
*** module webkit-sdk-deps not built due to non buildable libspiel *** [15/15]
*** the following modules were not built *** [15/15]
libwpe wpebackend-fdo gstreamer libspiel webkit-sdk-deps 
Error: building at STEP "RUN git clone https://gitlab.gnome.org/GNOME/jhbuild.git &&     cd jhbuild &&     ./autogen.sh --prefix=/usr/local &&     make &&     make install &&     export JHBUILD_RUN_AS_ROOT=1 WKDEV_IN_IMAGE_BUILD=1 &&     jhbuild --no-interact build &&     rm -r /var/tmp/jhbuild/build": while running runtime: exit status 1

[FATAL] Container image build failed - aborting with exit code 1.
Error: Process completed with exit code 1.

https://github.com/Igalia/webkit-container-sdk/actions/runs/11381867202/job/31672580197?pr=46

philn commented 1 month ago

Looks like a new jhbuild bug.

philn commented 1 month ago

Related to disk usage, the gst monorepo has a "medias" subproject which is quite big. For our use-case that subproject is useless, can it be ignored during the git clone?

dpino commented 1 month ago

Looks like a new jhbuild bug.

Indeed, I was hiting the same error on Playwright. I pushed a patch to fix it:

What's happening is that recently a patch to skip the configuration step for cmake modules was merged. The patch introduced a regression, and now all freshly pulled cmake modules skip the configuration step. Without running the configuration step is not possible to build.

The error you're seeing:

Cannot build: libwpe wpebackend-fdo gstreamer libspiel webkit-sdk-deps

happens because libwpe is a cmake module, which failed to build due to this regression. Everything after fails because there's a chain of dependencies: wpebackend-fdo depends on libwpe, gstreamer depends on wpebackend-fdo and libspiel depends on gstreamer.

Also, there's another bug in JHBuild that have been around for a long time and it's quite annoying. Whenever a module fails due to an error, there's not error message printed out in console. That makes it hard to figure out what has happened when a module fails. I also pushed a patch to fix this issue:

cc @TingPing