https://bugs.webkit.org/show_bug.cgi?id=229185
Reviewed by Philippe Normand.
Improve flatpakutils.py by ensuring that we don't make redundant
calls to flatpak during initialization of the data structures. This
saves 5 seconds on every call to build-webkit and run-webkit-tests.
Before:
$ time ./Tools/Scripts/webkit-flatpak -c true
real 0m6,297s
user 0m0,786s
sys 0m0,513s
After:
$ time ./Tools/Scripts/webkit-flatpak -c true
real 0m1,243s
user 0m0,375s
sys 0m0,162s
* flatpak/flatpakutils.py:
(FlatpakPackages.__init__): Separate the update into another
method so that it can be called directly when a package is installed.
Add new packages directly to self.packages.
(FlatpakRepos.__init__): Ensure that we only update our repositories
and package list once we've initialized our list of repositories.
(FlatpakRepos.add): Return True if this method actually changed anything
and accept a parameter determining whether an update is done to
the repository and package list.
(FlatpakRepos.is_package_installed): Added this method which replaces
FlatpakRepo.is_app_installed.
(FlatpakRepo.__init__): Remove the app registry because it is duplicated
by FlatpakPackages.
(FlatpakPackage.is_installed): Now call FlatpakRepos.is_package_installed.
(WebkitFlatpak._reset_repository): Set up both repositories here and
pass then as part of the FlatpakRepos constructor.
(WebkitFlatpak.main): Separate out the check which deletes the Flatpak
repository from the one that checks if the packages are installed. This
makes sure we don't install packages and then immediately delete them.
(WebkitFlatpak.check_installed_packages): rename _get_packages to _get_dependency_packages
in order to make it clear that it doesn't return installed packages.
(WebkitFlatpak._get_dependency_packages): Ditto.
(WebkitFlatpak.install_all): Ditto.
(FlatpakRepo.is_app_installed): Deleted.
(WebkitFlatpak._get_packages): Deleted.
Canonical link: https://commits.webkit.org/240629@main
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@281184 268f45cc-cd09-0410-ab3c-d52691b4dbfc
https://bugs.webkit.org/show_bug.cgi?id=227902
Reviewed by Carlos Garcia Campos.
Source/WebKit:
Introduce new GLib API (and corresponding GObject properties):
webkit_web_view_get_camera_capture_state
webkit_web_view_get_microphone_capture_state
webkit_web_view_set_camera_capture_state
webkit_web_view_set_microphone_capture_state
webkit_web_view_get_display_capture_state
webkit_web_view_set_display_capture_state
webkit_user_media_permission_is_for_display_device
This can be useful in Web browsers willing to indicate the status of the capture devices
currently in use by the WebView.
Covered by API tests.
* UIProcess/API/glib/WebKitUIClient.cpp:
* UIProcess/API/glib/WebKitUserMediaPermissionRequest.cpp:
(webkit_user_media_permission_is_for_display_device):
* UIProcess/API/glib/WebKitWebView.cpp:
(webkitWebViewMediaCaptureStateDidChange):
(webkitWebViewSetProperty):
(webkitWebViewGetProperty):
(webkit_web_view_class_init):
(webkitWebViewConfigureMediaCapture):
(webkit_web_view_get_camera_capture_state):
(webkit_web_view_set_camera_capture_state):
(webkit_web_view_get_microphone_capture_state):
(webkit_web_view_set_microphone_capture_state):
(webkit_web_view_get_display_capture_state):
(webkit_web_view_set_display_capture_state):
* UIProcess/API/glib/WebKitWebViewPrivate.h:
* UIProcess/API/gtk/WebKitUserMediaPermissionRequest.h:
* UIProcess/API/gtk/WebKitWebView.h:
* UIProcess/API/gtk/docs/webkit2gtk-4.0-sections.txt:
* UIProcess/API/wpe/WebKitUserMediaPermissionRequest.h:
* UIProcess/API/wpe/WebKitWebView.h:
* UIProcess/API/wpe/docs/wpe-1.0-sections.txt:
Tools:
The GTK MiniBrowser is now able to show media capture indicators, through the URI entry. A
new API test was added, checking support for getDisplayMedia().
* MiniBrowser/gtk/BrowserTab.c:
(decidePermissionRequest):
* MiniBrowser/gtk/BrowserWindow.c:
(webViewMediaCaptureStateChanged):
(webViewUriEntryIconPressed):
(browserWindowSwitchTab):
* TestWebKitAPI/Tests/WebKitGLib/TestUIClient.cpp:
(testWebViewUserMediaPermissionRequests):
(testWebViewAudioOnlyUserMediaPermissionRequests):
(testWebViewDisplayUserMediaPermissionRequests):
(beforeAll):
* TestWebKitAPI/glib/WebKitGLib/WebViewTest.cpp:
(displayCaptureChanged):
(WebViewTest::waitUntilDisplayCaptureStateChangedTo):
(microphoneCaptureChanged):
(WebViewTest::waitUntilMicrophoneCaptureStateChangedTo):
(cameraCaptureChanged):
(WebViewTest::waitUntilCameraCaptureStateChangedTo):
* TestWebKitAPI/glib/WebKitGLib/WebViewTest.h:
* flatpak/flatpakutils.py:
(WebkitFlatpak.run_in_sandbox):
Canonical link: https://commits.webkit.org/239867@main
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@280172 268f45cc-cd09-0410-ab3c-d52691b4dbfc
https://bugs.webkit.org/show_bug.cgi?id=226142
Patch by Philippe Normand <pnormand@igalia.com> on 2021-06-08
Reviewed by Adrian Perez de Castro.
By default the build directory remains WebKitBuild/{GTK,WPE}/{Release,Debug}. Builds done
with the Flatpak SDK now support the standard WEBKIT_OUTPUTDIR environment variable, eg.
setting $WEBKIT_OUTPUTDIR to "/path/to/somewhere", the built files will end up in
/path/to/somewhere/{GTK,WPE}/Release.
* flatpak/flatpakutils.py:
(WebkitFlatpak.clean_args):
Canonical link: https://commits.webkit.org/238589@main
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@278600 268f45cc-cd09-0410-ab3c-d52691b4dbfc
https://bugs.webkit.org/show_bug.cgi?id=223882
Patch by Philippe Normand <pnormand@igalia.com> on 2021-04-07
Reviewed by Adrian Perez de Castro.
The clang shipped by default in the FDO SDK is not usable for ASan, UBSan (and I guess TSan)
builds, but the Flatpak extension shipping LLVM11 allows this, even though UBSan builds
still fail (linking errors in JSC and WTF) and will require further investigation. Still,
having clang-11 in the SDK is an improvement.
This patch also adds support for cleaning up unused toolchain archives.
* flatpak/flatpakutils.py:
(run_sanitized):
(WebkitFlatpak.load_from_args):
(WebkitFlatpak.clean_args):
(WebkitFlatpak.run_in_sandbox):
(WebkitFlatpak.main):
(WebkitFlatpak.purge_unused_toolchains):
(WebkitFlatpak.pack_toolchain):
(WebkitFlatpak._get_packages):
Canonical link: https://commits.webkit.org/236240@main
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@275595 268f45cc-cd09-0410-ab3c-d52691b4dbfc
https://bugs.webkit.org/show_bug.cgi?id=222247
Reviewed by Žan Doberšek.
This patch adds support for unix signals disabling in developer builds, for the Flatpak SDK
runtime. Currently SIGINT, SIGHUP and SIGTERM will be ignored by the flatpak and bwrap
processes when they're running gdb in the sandbox runtime. This allows for nicer interactive
debugging sessions where Ctrl-C is actually handled by gdb.
* PlatformGTK.cmake:
* PlatformWPE.cmake:
* flatpak/CMakeLists.txt: Added.
* flatpak/flatpakutils.py:
(nullcontext):
(disable_signals):
(WebkitFlatpak.execute_command):
(WebkitFlatpak.run_in_sandbox):
* flatpak/sigaction-disabler.c: Added.
(real_sigaction):
(sigaction):
* flatpak/webkit-bwrap:
Canonical link: https://commits.webkit.org/234426@main
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@273240 268f45cc-cd09-0410-ab3c-d52691b4dbfc
https://bugs.webkit.org/show_bug.cgi?id=221711
Reviewed by Philippe Normand.
Instead of writing the environment to a file, read the --setenv
arguments from the --args file descriptor passed to webkit-bwrap like
bwrap itself would do.
* flatpak/flatpakutils.py: Do not write the env file anymore
(WebkitFlatpak.run_in_sandbox):
* flatpak/webkit-bwrap: Read the environment from the args file
descriptor.
Canonical link: https://commits.webkit.org/233957@main
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@272712 268f45cc-cd09-0410-ab3c-d52691b4dbfc
https://bugs.webkit.org/show_bug.cgi?id=221518
Reviewed by Adrian Perez de Castro.
.:
* Source/cmake/OptionsWPE.cmake: New variable for JSC forwarded headers path, useful
uninstalled builds of projects depending on JSC.
Source/WebKit:
* PlatformWPE.cmake: Produce uninstalled pkg-config files for wpe-webkit and web-extension
libraries. Also populate the JSC ForwardedHeaders path during the build.
* wpe/wpe-web-extension-uninstalled.pc.in: Added.
* wpe/wpe-webkit-uninstalled.pc.in: Added.
Tools:
By passing `-DENABLE_COG=ON` during the WPE build, the Cog browser is now built as an
external project. The repository is cloned in Tools/wpe/cog and the code can be edited
there.
The run-minibrowser --wpe script will now first try to execute cog and fallback to
MiniBrowser if it wasn't found. Cog is also a MiniBrowser, but with some additional
features, see https://github.com/Igalia/cog for more informations.
* PlatformWPE.cmake: Configure Cog as an external project in developer builds.
* Scripts/webkitpy/port/wpe.py:
(WPEPort.run_minibrowser): First check for cog, fallback to MiniBrowser if not found.
* flatpak/flatpakutils.py:
(WebkitFlatpak.run_in_sandbox): Set pkg-config path to lookup libraries in the WebKit's
build directory as well.
Canonical link: https://commits.webkit.org/233902@main
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@272643 268f45cc-cd09-0410-ab3c-d52691b4dbfc
https://bugs.webkit.org/show_bug.cgi?id=221605
Patch by Daniel Kolesa <dkolesa@igalia.com> on 2021-02-09
Reviewed by Philippe Normand.
This allows the user to specify a custom icecream toolchain.
Usually you will not want to do this, but it is useful e.g. when
you have a machine in your cluster that does not have a compiler
in the SDK. You can either force the whole version string by using
ICECC_VERSION_OVERRIDE, or append to the original string with
ICECC_VERSION_APPEND.
* flatpak/flatpakutils.py:
(WebkitFlatpak.run_in_sandbox):
Canonical link: https://commits.webkit.org/233849@main
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@272577 268f45cc-cd09-0410-ab3c-d52691b4dbfc
https://bugs.webkit.org/show_bug.cgi?id=221070
Reviewed by Philippe Normand.
To avoid nested webkit-flatpak calls overwriting/deleting whe
environment file, only create if there is no such file and only delete
in the same process that created it.
This approach has the drawback of limiting nested calls changing the
variable values and a file undeleted after a crash might avoid the
next normal invocation creating it.
* flatpak/flatpakutils.py:
(WebkitFlatpak.run_in_sandbox):
Canonical link: https://commits.webkit.org/233443@main
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@272018 268f45cc-cd09-0410-ab3c-d52691b4dbfc
https://bugs.webkit.org/show_bug.cgi?id=220781
Patch by Philippe Normand <pnormand@igalia.com> and Lauro Moura <lmoura@igalia.com> on 2021-01-27
Reviewed by Adrian Perez de Castro.
Flatpak no longer passes its env variables to bwrap, so the workaround is now to serialize
it on-disk in a JSON file and load it from our webkit-bwrap script.
* flatpak/flatpakutils.py:
(WebkitFlatpak.run_in_sandbox):
* flatpak/webkit-bwrap:
Canonical link: https://commits.webkit.org/233384@main
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@271938 268f45cc-cd09-0410-ab3c-d52691b4dbfc
https://bugs.webkit.org/show_bug.cgi?id=219884
Reviewed by Philippe Normand.
Tools:
- Update envvar to match the WEBKIT_FLATPAK prefix
- Give precedence to the verbose flag instead of envvar
- Enable logging earlier to be used in the parse step
- Error out if the user provides an user repo that is not accessible.
* flatpak/flatpakutils.py:
(WebkitFlatpak.load_from_args):
(WebkitFlatpak.clean_args):
Tools/buildstream:
- Allow inheriting the RSYNC info from envvar for local testing.
- Add a 'dry-push-repo' command to be able to perform push-repo dry-runs.
* Makefile:
Canonical link: https://commits.webkit.org/232647@main
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@271050 268f45cc-cd09-0410-ab3c-d52691b4dbfc
https://bugs.webkit.org/show_bug.cgi?id=218724
Reviewed by Philippe Normand.
The issue was caused because when adding a new flatpak repository
via the method FlatpakRepos.add() that repository is not added to
the internal list of available repositories inside the object FlatpakRepos.
So then the check on setup_builddir() added in r268542 failed because
the internal list of repositories on the object FlatpakRepos() was
empty on the first run (after a clean build).
To fix this we ensure to re-generate the internal list of flatpak
repositories any time that a new reporistory is added by calling
FlatpakRepos.update() after FlatpakRepos.add()
On top of that fix, we add another fix to make the code more robust.
Now it allows the generation of toolchains to fail without causing
a fatal error. Also a new check is added in order to retry to generate
the toolchains in the next run if is detected that they were not
correctly generated.
* flatpak/flatpakutils.py:
(FlatpakRepos.add):
(WebkitFlatpak.load_from_args):
(WebkitFlatpak.main):
(WebkitFlatpak.check_toolchains_generated):
(WebkitFlatpak.pack_toolchain):
Canonical link: https://commits.webkit.org/231699@main
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@269949 268f45cc-cd09-0410-ab3c-d52691b4dbfc
https://bugs.webkit.org/show_bug.cgi?id=217768
Reviewed by Philippe Normand.
During a cleanup of one of the bots, setup_builddir failed with a null
self.sdk member, which is set in get_packages.
While I could not reproduce it again, this commit prevents this by
checking whether the packages are installed before continuing the
original setup_builddir steps.
* flatpak/flatpakutils.py:
(WebkitFlatpak.setup_builddir): Check for installed packages.
(WebkitFlatpak.run_in_sandbox): Check for setup_builddir return code.
(WebkitFlatpak.check_installed_packages): Extracted from
setup_dev_env.
(WebkitFlatpak.setup_dev_env): Call extracted method.
Canonical link: https://commits.webkit.org/230505@main
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@268542 268f45cc-cd09-0410-ab3c-d52691b4dbfc
https://bugs.webkit.org/show_bug.cgi?id=216073
Reviewed by Adrian Perez de Castro.
Tools:
As this new SDK branch is based on the FDO 20.08 SDK which breaks ABI, existing WebKit
builds done with the 0.2 branch will no longer be usable. Developers are advised to remove
their WebKitBuild/{GTK,WPE} local directories after updating to 0.3.
* Scripts/webkitpy/port/gtk.py:
(GtkPort.setup_environ_for_server): Since we now ship Mesa directly in the SDK we can easily
configure the prefix where DRI modules are installed. This is now the same as in the JHBuild
sysroot.
* flatpak/flatpakutils.py:
(WebkitFlatpak.__init__): Bump to 0.3 branch. Also un-hardcode host platform architecture so
that we can more easily add aarch64 bots later.
(WebkitFlatpak._get_packages): The GL extension is no longer needed because Mesa is shipped
directly within our SDK now. Also install the rust extension, which is useful eg when doing
development with gst-build.
* flatpak/webkit-bwrap: Add rustc path in PATH.
LayoutTests:
* fast/xsl/resources/xslt-enc-cyr.xsl: Add name attribute in xsl templates, as mandated by the spec.
* fast/xsl/resources/xslt-enc.xsl: Ditto.
* fast/xsl/resources/xslt-enc16.xsl: Ditto.
* fast/xsl/resources/xslt-text.xsl: Ditto.
* platform/glib/fast/xsl/xslt-mismatched-tags-in-xslt-expected.txt: Added.
* platform/glib/fast/xsl/xslt-processor-expected.txt: Added.
Canonical link: https://commits.webkit.org/229300@main
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@267010 268f45cc-cd09-0410-ab3c-d52691b4dbfc
https://bugs.webkit.org/show_bug.cgi?id=215763
Reviewed by Žan Doberšek.
.:
* .gitignore: Ignore buildstream local Flatpak repository. This is created only when
manually building the SDK.
Tools:
Highlights:
- ICU 67 (see bug 215327)
- gcc update from 9.3.0 to 10.0
- clang update from 8.0 to 10.0
- perf is now included
- usable pipewire (host needs a working daemon and recent enough xdg-desktop-portal though)
- Mesa is no longer loaded from the flathub GL extension, but included in our downstream SDK, with debug symbols
This patch only includes the build definitions updates, bumping the SDK branch to 0.3. The
actual migration will be landed in a follow-up patch.
* buildstream/elements/flatpak-platform-extensions.bst:
* buildstream/elements/flatpak-runtimes.bst:
* buildstream/elements/flatpak/platform.bst:
* buildstream/elements/flatpak/sdk.bst:
* buildstream/elements/freedesktop-sdk.bst:
* buildstream/elements/sdk-build-depends/swig.bst:
* buildstream/elements/sdk-platform.bst:
* buildstream/elements/sdk.bst:
* buildstream/elements/sdk/at-spi2-atk.bst: Removed.
* buildstream/elements/sdk/at-spi2-core.bst: Removed.
* buildstream/elements/sdk/atk.bst: Removed.
* buildstream/elements/sdk/brotli.bst: Removed.
* buildstream/elements/sdk/glib.bst:
* buildstream/elements/sdk/gobject-introspection.bst: Removed.
* buildstream/elements/sdk/graphene.bst:
* buildstream/elements/sdk/gst-plugins-bad.bst:
* buildstream/elements/sdk/gst-plugins-good.bst:
* buildstream/elements/sdk/gstreamer.bst:
* buildstream/elements/sdk/gtk+-3.bst:
* buildstream/elements/sdk/gtk.bst:
* buildstream/elements/sdk/libdrm.bst: Added.
* buildstream/elements/sdk/libgcrypt.bst:
* buildstream/elements/sdk/libsecret.bst:
* buildstream/elements/sdk/libsoup.bst:
* buildstream/elements/sdk/libsrtp2.bst: Removed.
* buildstream/elements/sdk/mesa.bst: Added.
* buildstream/elements/sdk/pygobject.bst:
* buildstream/elements/sdk/python2-pygobject.bst:
* buildstream/elements/sdk/rr.bst:
* buildstream/elements/sdk/shared-mime-info.bst:
* buildstream/elements/sdk/v4lutils.bst: Removed.
* buildstream/elements/sdk/woff2.bst:
* buildstream/elements/sdk/xorg-server.bst:
* buildstream/elements/test-infra/httpd.bst:
* buildstream/patches/fdo/0001-Pango-Bump-to-1.45-master.patch: Removed.
* buildstream/patches/fdo/0001-dav1d-Bump-to-0.7.0.patch: Removed.
* buildstream/patches/gtk-meson-Bump-to-latest-version-of-the-3.24-branch.patch: Removed.
* buildstream/patches/libsecret-b53e9876f4611525b7a8f69a3110fbec51dcede0.patch: Removed.
* buildstream/patches/mesa/mesa_libdrm_deps.patch: Added.
* buildstream/patches/xserver-search-for-DRI-drivers-at-LIBGL_DRIVERS_PATH-environ.patch:
Removed because a variant was landed upstream 2 years ago:
319af6f471
* buildstream/project.conf:
* flatpak/flatpakutils.py:
(WebkitFlatpak.run_in_sandbox): White-list a few Mesa environment variables.
Canonical link: https://commits.webkit.org/228860@main
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@266455 268f45cc-cd09-0410-ab3c-d52691b4dbfc
https://bugs.webkit.org/show_bug.cgi?id=215927
Patch by Philippe Normand <pnormand@igalia.com> on 2020-08-31
Reviewed by Adrian Perez de Castro.
The development environment (flatpak install) needs to be performed before attempting to
rebuild toolchain archives. In most cases this wasn't an issue, but when the SDK needs to be
upgraded to a new ABI/branch, the previous version needs to be removed, that triggers a new
`flatpak install` and toolchain archives update, which need then to be done in the right
order.
* flatpak/flatpakutils.py:
(WebkitFlatpak.main):
Canonical link: https://commits.webkit.org/228785@main
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@266349 268f45cc-cd09-0410-ab3c-d52691b4dbfc
https://bugs.webkit.org/show_bug.cgi?id=215361
Patch by Philippe Normand <pnormand@igalia.com> on 2020-08-11
Reviewed by Žan Doberšek.
* Scripts/webkitpy/port/gtk.py:
(GtkPort.run_minibrowser): Add support for the $WEBKIT_MINI_BROWSER_PREFIX env var which can
be useful when debugging MiniBrowser with gdb or rr.
* Scripts/webkitpy/port/wpe.py:
(WPEPort.run_minibrowser): Ditto.
* flatpak/flatpakutils.py:
(WebkitFlatpak.run_in_sandbox): White-list MESA environment variables in the sandbox.
Canonical link: https://commits.webkit.org/228147@main
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@265496 268f45cc-cd09-0410-ab3c-d52691b4dbfc
https://bugs.webkit.org/show_bug.cgi?id=213973
Patch by Philippe Normand <pnormand@igalia.com> on 2020-07-08
Reviewed by Žan Doberšek.
Pre-start the sccache-dist server when the flatpak sandbox is being invoked for a build.
Usually the first sccache client process would do it but it seems to be racy when a large
number of clients is being started simultaneously.
* flatpak/flatpakutils.py:
(WebkitFlatpak.run_in_sandbox):
Canonical link: https://commits.webkit.org/226880@main
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@264096 268f45cc-cd09-0410-ab3c-d52691b4dbfc
https://bugs.webkit.org/show_bug.cgi?id=213833
Patch by Philippe Normand <pnormand@igalia.com> on 2020-07-08
Reviewed by Adrian Perez de Castro.
Avoid attempting to use the IceCC environment during the toolchain
archive update. The initial SDK installation triggers this when
IceCC is enabled on the command-line or via CCACHE_PREFIX, after
resetting the internal toolchain mapping. So the solution is to
opt-out of this runtime configuration setup, which is useless
anyway when the toolchain archive is being generated.
* flatpak/flatpakutils.py:
(WebkitFlatpak.run_in_sandbox):
(WebkitFlatpak.pack_toolchain):
Canonical link: https://commits.webkit.org/226873@main
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@264063 268f45cc-cd09-0410-ab3c-d52691b4dbfc
https://bugs.webkit.org/show_bug.cgi?id=213968
Patch by Philippe Normand <pnormand@igalia.com> on 2020-07-06
Reviewed by Sergio Villar Senin.
* buildstream/README.rst: ReST format fixes and doc additions.
* buildstream/elements/sdk/perl-term-readkey.bst: Remove perllocal.pod as it can clash with other recipes.
* flatpak/flatpakutils.py:
(run_in_sandbox_if_available): Add --flatpak- option pass-through support. This was lost
after the migration of run-minibrowser to python.
Canonical link: https://commits.webkit.org/226785@main
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@263963 268f45cc-cd09-0410-ab3c-d52691b4dbfc
https://bugs.webkit.org/show_bug.cgi?id=212459
Reviewed by Philippe Normand.
When developing WebKit we want as few system differences as possible
to make tests reproducible.
en_US.UTF-8 is indeed the only locale installed in our development
flatpak, but our scripts were not correctly clearing most locale
environment variables, which resulted in warnings when running some
tools (notably perl) when the user OS has a different locale.
This patch ensures all locale environment variables are cleared and
LANG is set to en_US.UTF-8. It also removes now redundant code from
flatpakutils.py.
* flatpak/flatpakutils.py:
(WebkitFlatpak.run_in_sandbox):
* flatpak/webkit-bwrap:
Canonical link: https://commits.webkit.org/226303@main
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@263397 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Patch by Philippe Normand <pnormand@igalia.com> on 2020-06-16
Rubber-stamped by Žan Doberšek.
* flatpak/flatpakutils.py:
(FlatpakObject.version): Gracefully return an empty version when the flatpak info command
fails. This usually means the app has not been installed yet.
Canonical link: https://commits.webkit.org/226020@main
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@263083 268f45cc-cd09-0410-ab3c-d52691b4dbfc
https://bugs.webkit.org/show_bug.cgi?id=213180
Patch by Philippe Normand <pnormand@igalia.com> on 2020-06-15
Reviewed by Žan Doberšek.
Added a new --version option to the script. We no longer gather the flatpak update command
output to know if something was updated or not. Instead we get the version of the SDK prior
to the update operation and compare that with the version after the update.
* flatpak/flatpakutils.py:
(FlatpakObject.version):
(WebkitFlatpak.load_from_args):
(WebkitFlatpak.main):
Canonical link: https://commits.webkit.org/225967@main
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@263029 268f45cc-cd09-0410-ab3c-d52691b4dbfc
https://bugs.webkit.org/show_bug.cgi?id=212964
<rdar://problem/64291035>
Patch by Philippe Normand <pnormand@igalia.com> on 2020-06-15
Reviewed by Žan Doberšek.
Because of the ABI bump of dav1d, which ffmpeg depends on, ffmpeg needs to be rebuilt. So
this is a good opportunity to include it in the SDK and not rely on the ffmpeg-full
extension anymore, because it doesn't provide debug symbols.
* buildstream/elements/flatpak/platform.bst:
* buildstream/elements/flatpak/sdk.bst:
* buildstream/elements/freedesktop-sdk.bst:
* buildstream/elements/sdk-platform.bst:
* buildstream/elements/sdk/ffmpeg.bst: Added.
* buildstream/elements/sdk/gst-libav.bst:
* buildstream/elements/sdk/libavif.bst: Added.
* buildstream/elements/sdk/ruby-highline.bst: Remove the spec source, un-needed.
* buildstream/patches/fdo/0001-dav1d-Bump-to-0.7.0.patch: Added.
* buildstream/patches/fdo/0001-ffmpeg-Add-MS-MPEG-DivX-variants.patch: Removed.
* buildstream/patches/fdo/0002-ffmpeg-Add-VP6-and-Sorenson-Spark-video-codecs.patch: Removed.
* buildstream/patches/fdo/0003-ffmpeg-Add-Intel-Indeo-and-Cinepak-video-support.patch: Removed.
* buildstream/patches/fdo/0004-ffmpeg-Add-MPEG-2-video-decoder.patch: Removed.
* buildstream/patches/fdo/0005-ffmpeg-Add-msmpeg4v3-support.patch: Removed.
* buildstream/project.conf:
* flatpak/flatpakutils.py:
(WebkitFlatpak._get_packages):
Canonical link: https://commits.webkit.org/225965@main
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@263027 268f45cc-cd09-0410-ab3c-d52691b4dbfc
https://bugs.webkit.org/show_bug.cgi?id=213179
Patch by Philippe Normand <pnormand@igalia.com> on 2020-06-15
Reviewed by Žan Doberšek.
This makes webkit-flatpak usable without installing additional perl modules (version) on the host OS.
* flatpak/flatpakutils.py:
(WebkitFlatpak.load_from_args): Make --release and --debug mutually exclusive, and default to Release builds.
(WebkitFlatpak.__init__):
(WebkitFlatpak.clean_args): No need to pull in webkitpy which pulls webkitdirs.pm only to
determine the default configuration. Assume we use Release by default.
Canonical link: https://commits.webkit.org/225962@main
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@263024 268f45cc-cd09-0410-ab3c-d52691b4dbfc
https://bugs.webkit.org/show_bug.cgi?id=212905
Patch by Víctor Manuel Jáquez Leal <vjaquez@igalia.com> on 2020-06-09
Reviewed by Philippe Normand.
Handle the passing of several GST environment variables,
particularly GST_DEBUG, which, when using * symbol, python adds
quotes, but they break the parsing in GStreamer.
Also the variables are handled by gst-env.py when using
GST_BUILD_PATH, so they are filtered out when it's exported,
avoiding duplication. But it GST_BUILD_PATH is not defined, the
variables are passed to flatpak.
* flatpak/flatpakutils.py:
(WebkitFlatpak.setup_gstbuild):
(WebkitFlatpak.run_in_sandbox):
Canonical link: https://commits.webkit.org/225760@main
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@262782 268f45cc-cd09-0410-ab3c-d52691b4dbfc
https://bugs.webkit.org/show_bug.cgi?id=212579
Patch by Philippe Normand <pnormand@igalia.com> on 2020-06-01
Reviewed by Žan Doberšek.
The `show_output` option was removed from the process execution routines. We now assume the
output will be displayed, unless the call-site asks `gather_output`. This change makes
webkit-flatpak more chatty, which is nice during install/update operations.
* flatpak/flatpakutils.py:
(run_sanitized):
(FlatpakObject.flatpak):
(FlatpakPackage.install):
(FlatpakPackage.update):
(WebkitFlatpak.setup_builddir):
(WebkitFlatpak.run_in_sandbox):
Canonical link: https://commits.webkit.org/225432@main
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@262384 268f45cc-cd09-0410-ab3c-d52691b4dbfc