Changeset 273234 in webkit


Ignore:
Timestamp:
Feb 22, 2021 2:21:53 AM (3 years ago)
Author:
commit-queue@webkit.org
Message:

[Flatpak SDK] Cog build fails when gst-build is enabled
https://bugs.webkit.org/show_bug.cgi?id=222102

Patch by Philippe Normand <pnormand@igalia.com> on 2021-02-22
Reviewed by Žan Doberšek.

Merge gst-build env vars in the sandbox environment, without overriding previously set PATH
values such as PKG_CONFIG_PATH.

  • flatpak/flatpakutils.py:

(WebkitFlatpak.setup_gstbuild):
(WebkitFlatpak.run_in_sandbox):

Location:
trunk/Tools
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/Tools/ChangeLog

    r273233 r273234  
     12021-02-22  Philippe Normand  <pnormand@igalia.com>
     2
     3        [Flatpak SDK] Cog build fails when gst-build is enabled
     4        https://bugs.webkit.org/show_bug.cgi?id=222102
     5
     6        Reviewed by Žan Doberšek.
     7
     8        Merge gst-build env vars in the sandbox environment, without overriding previously set PATH
     9        values such as PKG_CONFIG_PATH.
     10
     11        * flatpak/flatpakutils.py:
     12        (WebkitFlatpak.setup_gstbuild):
     13        (WebkitFlatpak.run_in_sandbox):
     14
    1152021-02-22  Philippe Normand  <pnormand@igalia.com>
    216
  • trunk/Tools/flatpak/flatpakutils.py

    r272712 r273234  
    603603            if building:
    604604                _log.debug("$GST_BUILD_PATH environment variable not set. Skipping gst-build\n")
    605             return []
     605            return {}
    606606
    607607        if not os.path.exists(os.path.join(gst_dir, 'gst-env.py')):
     
    628628        allowlist = ("LD_LIBRARY_PATH", "PATH", "PKG_CONFIG_PATH")
    629629        nopathlist = ("GST_DEBUG", "GST_VERSION", "GST_ENV")
    630         env = []
     630        env = {}
    631631        for line in [line for line in gst_env.splitlines() if not line.startswith("export")]:
    632632            tokens = line.split("=")
     
    638638            else:
    639639                new_contents = contents.replace("'", "")
    640             env.append("--env=%s=%s" % (var_name, new_contents))
     640            env[var_name] = new_contents
    641641        return env
    642642
     
    850850            })
    851851
     852        # Set PKG_CONFIG_PATH in sandbox so uninstalled WebKit.pc files can be used.
     853        pkg_config_path = os.environ.get("PKG_CONFIG_PATH")
     854        if pkg_config_path:
     855            pkg_config_path = "%s:%s" % (self.build_path, pkg_config_path)
     856        else:
     857            pkg_config_path = self.build_path
     858        sandbox_environment["PKG_CONFIG_PATH"] = pkg_config_path
     859
     860        if not building_gst and args[0] != "sccache":
     861            # Merge gst-build env vars in sandbox environment, without overriding previously set PATH values.
     862            gst_env = self.setup_gstbuild(building)
     863            for var_name in list(gst_env.keys()):
     864                if var_name not in sandbox_environment:
     865                    sandbox_environment[var_name] = gst_env[var_name]
     866                else:
     867                    contents = gst_env[var_name]
     868                    if var_name.endswith('PATH'):
     869                        sandbox_environment[var_name] = "%s:%s" % (sandbox_environment[var_name], contents)
     870
    852871        for envvar, value in sandbox_environment.items():
    853872            flatpak_command.append("--env=%s=%s" % (envvar, value))
    854 
    855         if not building_gst and args[0] != "sccache":
    856             extra_flatpak_args.extend(self.setup_gstbuild(building))
    857873
    858874        flatpak_env = os.environ.copy()
     
    869885        flatpak_command += extra_flatpak_args + ['--command=%s' % args[0], "org.webkit.Sdk"] + args[1:]
    870886
    871 
    872887        flatpak_env.update({
    873888            "FLATPAK_BWRAP": os.path.join(scriptdir, "webkit-bwrap"),
     
    875890            "WEBKIT_FLATPAK_USER_DIR": os.environ["FLATPAK_USER_DIR"],
    876891        })
    877 
    878         pkg_config_path = flatpak_env.get("PKG_CONFIG_PATH")
    879         if pkg_config_path:
    880             pkg_config_path = "%s:%s" % (self.build_path, pkg_config_path)
    881         else:
    882             pkg_config_path = self.build_path
    883         flatpak_env["PKG_CONFIG_PATH"] = pkg_config_path
    884892
    885893        try:
Note: See TracChangeset for help on using the changeset viewer.