⚠ Archived content — this site is no longer maintained.   Current WebKit documentation is at docs.webkit.org.

Changeset 264096 in webkit


Ignore:
Timestamp:
Jul 8, 2020, 4:22:43 AM (6 years ago)
Author:
commit-queue@webkit.org
Message:

[Flatpak SDK] Pre-start sccache server
​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):

Location:
trunk/Tools
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/Tools/ChangeLog

    r264094 r264096  
     12020-07-08  Philippe Normand  <pnormand@igalia.com>
     2
     3        [Flatpak SDK] Pre-start sccache server
     4        https://bugs.webkit.org/show_bug.cgi?id=213973
     5
     6        Reviewed by Žan Doberšek.
     7
     8        Pre-start the sccache-dist server when the flatpak sandbox is being invoked for a build.
     9        Usually the first sccache client process would do it but it seems to be racy when a large
     10        number of clients is being started simultaneously.
     11
     12        * flatpak/flatpakutils.py:
     13        (WebkitFlatpak.run_in_sandbox):
     14
    1152020-07-08  Carlos Alberto Lopez Perez  <clopez@igalia.com>
    216
  • trunk/Tools/flatpak/flatpakutils.py

    r264064 r264096  
    654654    def run_in_sandbox(self, *args, **kwargs):
    655655        self.setup_builddir()
    656         cwd = kwargs.pop("cwd", None)
    657         extra_env_vars = kwargs.pop("env", {})
    658         stdout = kwargs.pop("stdout", sys.stdout)
    659         extra_flatpak_args = kwargs.pop("extra_flatpak_args", [])
    660         skip_icc = kwargs.pop("skip_icc", False)
     656        cwd = kwargs.get("cwd", None)
     657        extra_env_vars = kwargs.get("env", {})
     658        stdout = kwargs.get("stdout", sys.stdout)
     659        extra_flatpak_args = kwargs.get("extra_flatpak_args", [])
     660        start_sccache = kwargs.get("start_sccache", True)
     661        skip_icc = kwargs.get("skip_icc", False)
    661662
    662663        if not isinstance(args, list):
    … …  
    775776                                      "SCCACHE_GCS_BUCKET", "SCCACHE_AZURE_CONNECTION_STRING",
    776777                                      "WEBKIT_USE_SCCACHE"])
    777         if remote_sccache_configs.intersection(set(os.environ.keys())):
     778        if remote_sccache_configs.intersection(set(os.environ.keys())) and start_sccache:
    778779            _log.debug("Enabling network access for the remote sccache")
    779780            flatpak_command.append(share_network_option)
    780781
    781             if os.path.isfile(self.sccache_config_file) and not self.regenerate_toolchains and "SCCACHE_CONF" not in os.environ.keys():
    782                 sandbox_environment["SCCACHE_CONF"] = self.host_path_to_sandbox_path(self.sccache_config_file)
    783 
    784         override_sccache_server_port = os.environ.get("WEBKIT_SCCACHE_SERVER_PORT")
    785         if override_sccache_server_port:
    786             _log.debug("Overriding sccache server port to %s" % override_sccache_server_port)
    787             sandbox_environment["SCCACHE_SERVER_PORT"] = override_sccache_server_port
     782            sccache_environment = {}
     783            if os.path.isfile(self.sccache_config_file) and not self.regenerate_toolchains and \
     784               "SCCACHE_CONF" not in os.environ.keys():
     785                sccache_environment["SCCACHE_CONF"] = self.host_path_to_sandbox_path(self.sccache_config_file)
     786
     787            override_sccache_server_port = os.environ.get("WEBKIT_SCCACHE_SERVER_PORT")
     788            if override_sccache_server_port:
     789                _log.debug("Overriding sccache server port to %s" % override_sccache_server_port)
     790                sccache_environment["SCCACHE_SERVER_PORT"] = override_sccache_server_port
     791
     792            if building:
     793                # Spawn the sccache server in background, and avoid recursing here, using a bool keyword.
     794                _log.debug("Pre-starting the SCCache dist server")
     795                self.run_in_sandbox("sccache", "--start-server", env=sccache_environment,
     796                                    extra_flatpak_args=[share_network_option], start_sccache=False)
     797
     798            # Forward sccache server env vars to sccache clients.
     799            sandbox_environment.update(sccache_environment)
    788800
    789801        if self.use_icecream and not skip_icc:
Note: See TracChangeset for help on using the changeset viewer.