Migrate from liblaunchpad to fdio_spawn |
|||||
Issue descriptionlaunchpad is being deprecated in favor of fdio_spawn (C++ lib) or fuchsia.process.Launcher (FIDL). This bug is for tracking the migration task. From the announcement: # Summary Clients of liblaunchpad.so outside of Zircon should migrate to either fdio_spawn [1] or fuchsia.process.Launcher [2]. Eventually, liblaunchpad.so will be available only in Zircon. # Background Currently, programs that launch processes load a shared library, liblaunchpad.so, into their address space. This library parses the ELF data in executables and directly creates the launched process. Rather than doing this work in the calling process, we're migrating to using a service to launch processes. This model means we can evolve how we launch processes without needing to change clients to use a newer library. # Migration https://fuchsia.atlassian.net/browse/US-492 tracks going through the source tree and migrating clients off liblaunchpad.so. We'll migrate simple clients to fdio_spawn or fdio_spawn_etc, which are a C frontend for the underlying FIDL service. We'll migrate clients with more complex needs to using the underlying FIDL service directly. Once we've migrated all the clients, we'll remove liblaunchpad.so from the SDK.
,
Jun 5 2018
,
Jun 5 2018
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/dc98dbfd177787df0d527e2f131c00f82b03e238 commit dc98dbfd177787df0d527e2f131c00f82b03e238 Author: Wez <wez@chromium.org> Date: Tue Jun 05 19:49:42 2018 [Mojo] Channel::RemoteProcessLaunched->RemoteProcessLaunchAttempted. Replaces the Channel::RemoteProcessLaunched API, which callers had to invoke only if they successfully launched a process with the Channel handle, with RemoteProcessLaunchAttempted, which must always be called regardless of whether process-launch was successful, so long as it was attempted with base::LaunchProcess. This is required under Fuchsia, where the remote endpoint handle is transferred, rather than cloned, and the LaunchProcess API consumes the handle even on failure, for consistency. On POSIX and Windows the effect is just to close the remote endpoint handle earlier in the case of failure to launch. Bug: 848028 , 754449 Change-Id: Ia79efebdc8b629f3d579a76c941283d461980e4c Reviewed-on: https://chromium-review.googlesource.com/1086385 Reviewed-by: Scott Violet <sky@chromium.org> Reviewed-by: Ken Rockot <rockot@chromium.org> Commit-Queue: Wez <wez@chromium.org> Cr-Commit-Position: refs/heads/master@{#564620} [modify] https://crrev.com/dc98dbfd177787df0d527e2f131c00f82b03e238/chrome/browser/safe_browsing/chrome_cleaner/chrome_cleaner_runner_win.cc [modify] https://crrev.com/dc98dbfd177787df0d527e2f131c00f82b03e238/chrome/utility/importer/firefox_importer_unittest_utils_mac.cc [modify] https://crrev.com/dc98dbfd177787df0d527e2f131c00f82b03e238/content/browser/child_process_launcher_helper.cc [modify] https://crrev.com/dc98dbfd177787df0d527e2f131c00f82b03e238/mojo/edk/system/invitation_unittest.cc [modify] https://crrev.com/dc98dbfd177787df0d527e2f131c00f82b03e238/mojo/edk/test/multiprocess_test_helper.cc [modify] https://crrev.com/dc98dbfd177787df0d527e2f131c00f82b03e238/mojo/public/cpp/platform/platform_channel.cc [modify] https://crrev.com/dc98dbfd177787df0d527e2f131c00f82b03e238/mojo/public/cpp/platform/platform_channel.h [modify] https://crrev.com/dc98dbfd177787df0d527e2f131c00f82b03e238/mojo/public/cpp/system/tests/invitation_unittest.cc [modify] https://crrev.com/dc98dbfd177787df0d527e2f131c00f82b03e238/services/service_manager/runner/host/service_process_launcher.cc [modify] https://crrev.com/dc98dbfd177787df0d527e2f131c00f82b03e238/services/service_manager/runner/host/service_process_launcher_unittest.cc [modify] https://crrev.com/dc98dbfd177787df0d527e2f131c00f82b03e238/services/service_manager/tests/service_manager/service_manager_unittest.cc [modify] https://crrev.com/dc98dbfd177787df0d527e2f131c00f82b03e238/services/service_manager/tests/util.cc
,
Jun 6 2018
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/0629d40f3333e499a0e2aa61b71369a10a3988af commit 0629d40f3333e499a0e2aa61b71369a10a3988af Author: Wez <wez@chromium.org> Date: Wed Jun 06 00:26:43 2018 Reimplement base::LaunchProcess using the fdio_spawn_etc() API. LaunchProcess was previously implemented using "launchpad", which is being replaced for SDK users by the fdio_spawn*() APIs. - Migrate call-sites off the old |options.clone_flags|. - Add the fdio_spawn*() header file to our GN package rule for "fdio". - Add TODO to "launchpad" package definition for it to be removed once all dependency repos have been updated (e.g. gtest, crashpad). Bug: 848028 Change-Id: I2d871a0f77bd9cba0d16217371069989fdef17f3 Reviewed-on: https://chromium-review.googlesource.com/1081078 Reviewed-by: Gabriel Charette <gab@chromium.org> Reviewed-by: Sergey Ulanov <sergeyu@chromium.org> Commit-Queue: Wez <wez@chromium.org> Cr-Commit-Position: refs/heads/master@{#564731} [modify] https://crrev.com/0629d40f3333e499a0e2aa61b71369a10a3988af/base/BUILD.gn [modify] https://crrev.com/0629d40f3333e499a0e2aa61b71369a10a3988af/base/fuchsia/scoped_zx_handle.h [modify] https://crrev.com/0629d40f3333e499a0e2aa61b71369a10a3988af/base/process/launch.h [modify] https://crrev.com/0629d40f3333e499a0e2aa61b71369a10a3988af/base/process/launch_fuchsia.cc [modify] https://crrev.com/0629d40f3333e499a0e2aa61b71369a10a3988af/base/process/process_util_unittest.cc [modify] https://crrev.com/0629d40f3333e499a0e2aa61b71369a10a3988af/content/common/sandbox_policy_fuchsia.cc [modify] https://crrev.com/0629d40f3333e499a0e2aa61b71369a10a3988af/third_party/fuchsia-sdk/BUILD.gn
,
Jun 6 2018
Assigning to fdegans, who is arranging the googletest and crashpad dependency rolls into Chromium, to wrap this up.
,
Jun 11 2018
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/408ec2cbbca7d90cd5016ebba53497573fb8daa3 commit 408ec2cbbca7d90cd5016ebba53497573fb8daa3 Author: Fabrice de Gans-Riberi <fdegans@chromium.org> Date: Mon Jun 11 21:21:08 2018 Roll src/third_party/googletest/src/ 145d05750..9077ec7ef (11 commits) https://chromium.googlesource.com/external/github.com/google/googletest.git/+log/145d05750b15..9077ec7efe5b $ git log 145d05750..9077ec7ef --date=short --no-merges --format='%ad %ae %s' 2018-06-11 misterg Removed "Documentation.md" not adding value and not consitent with internal docs 2018-06-11 misterg Rename Samples.md to samples.md and adjust the links 2018-06-11 misterg Rename FAQ.md to faq.md and adjust the links. 2018-06-11 misterg Rename AdvancedGuide.md to advanced.md and adjust the links. Part of documentation rationalization work 2018-06-11 misterg Rename "Primer.md" to "primer.md" and adjust links. Part of the documentaion rationalzation 2018-06-07 steelskin Fuchsia: Change fdio include path. 2018-06-04 misterg Upstream, cl/199129756 2018-05-31 steelskin Clean up 2018-05-30 fdegans Remvoe launchpad dependency from Fuchsia. 2018-05-23 misterg formatting changes 2018-05-23 misterg Formatting changes Created with: roll-dep src/third_party/googletest/src Bug: 848028 , 850757 Change-Id: I561501321fb200d0cf140fa8cde61e1afa593121 Reviewed-on: https://chromium-review.googlesource.com/1087361 Commit-Queue: Fabrice de Gans-Riberi <fdegans@chromium.org> Reviewed-by: Wez <wez@chromium.org> Reviewed-by: Dirk Pranke <dpranke@chromium.org> Cr-Commit-Position: refs/heads/master@{#566149} [modify] https://crrev.com/408ec2cbbca7d90cd5016ebba53497573fb8daa3/DEPS [modify] https://crrev.com/408ec2cbbca7d90cd5016ebba53497573fb8daa3/third_party/googletest/BUILD.gn
,
Jun 11 2018
Sending back to Scott for Crashpad rolling. I believe we will still be missing a dependency in v8, which depends on a chromium roll with the latest gtest.
,
Jun 12 2018
The following revision refers to this bug: https://chromium.googlesource.com/crashpad/crashpad.git/+/bff3594594abe4fbba8a30e4ee9c2c2b69e93bb6 commit bff3594594abe4fbba8a30e4ee9c2c2b69e93bb6 Author: Scott Graham <scottmg@chromium.org> Date: Tue Jun 12 16:47:21 2018 fuchsia: Update includes for new fdio header location Also includes a gtest roll, which includes a change in gtest to do the same thing. This also removes the link against launchpad which is no longer necessary, and will be removed from the SDK soon. Bug: crashpad:196, chromium:848028 , chromium:850757 Change-Id: Ica8632a6157b585d6b44073e05bf7aa43253e305 Reviewed-on: https://chromium-review.googlesource.com/1096353 Commit-Queue: Scott Graham <scottmg@chromium.org> Reviewed-by: Joshua Peraza <jperaza@chromium.org> [modify] https://crrev.com/bff3594594abe4fbba8a30e4ee9c2c2b69e93bb6/DEPS [modify] https://crrev.com/bff3594594abe4fbba8a30e4ee9c2c2b69e93bb6/client/crashpad_client_fuchsia.cc [modify] https://crrev.com/bff3594594abe4fbba8a30e4ee9c2c2b69e93bb6/test/multiprocess_exec_fuchsia.cc [modify] https://crrev.com/bff3594594abe4fbba8a30e4ee9c2c2b69e93bb6/third_party/gtest/BUILD.gn [modify] https://crrev.com/bff3594594abe4fbba8a30e4ee9c2c2b69e93bb6/tools/run_with_crashpad.cc
,
Jun 13 2018
The following revision refers to this bug: https://chromium.googlesource.com/v8/v8.git/+/dc53e17e92898a3b95f9c854f20085e313d765ac commit dc53e17e92898a3b95f9c854f20085e313d765ac Author: Wez <wez@chromium.org> Date: Wed Jun 13 21:12:08 2018 [tools] Remove unused V8 dependency on Fuchsia's "launchpad" package. R=sergiyb@chromium.org Bug: chromium:848028 Change-Id: If8ce38ff0e991e171eae68e2bea708365e63a35c Reviewed-on: https://chromium-review.googlesource.com/1099601 Commit-Queue: Wez <wez@chromium.org> Reviewed-by: Sergiy Byelozyorov <sergiyb@chromium.org> Cr-Commit-Position: refs/heads/master@{#53719} [modify] https://crrev.com/dc53e17e92898a3b95f9c854f20085e313d765ac/BUILD.gn
,
Jun 14 2018
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/808ccb5ebf826849c8e62c89c72fc08130106205 commit 808ccb5ebf826849c8e62c89c72fc08130106205 Author: Wez <wez@chromium.org> Date: Thu Jun 14 17:43:20 2018 Remove Fuchsia SDK's 'launchpad' package definition. The 'launchpad' package has been removed from the Fuchsia SDK, with its functionality replaced by fdio_spawn(). The lingering definition will e.g. block Chromium dependency rolls into V8, so we need to remove it ASAP. TBR: jam Bug: 848028 Change-Id: Iac4ed84b65e9c077c9fe97d75c636f19ff597e74 Reviewed-on: https://chromium-review.googlesource.com/1098675 Commit-Queue: Wez <wez@chromium.org> Reviewed-by: John Abd-El-Malek <jam@chromium.org> Reviewed-by: Wez <wez@chromium.org> Reviewed-by: Sergey Ulanov <sergeyu@chromium.org> Cr-Commit-Position: refs/heads/master@{#567336} [modify] https://crrev.com/808ccb5ebf826849c8e62c89c72fc08130106205/content/common/BUILD.gn [modify] https://crrev.com/808ccb5ebf826849c8e62c89c72fc08130106205/content/common/sandbox_policy_fuchsia.cc [modify] https://crrev.com/808ccb5ebf826849c8e62c89c72fc08130106205/third_party/fuchsia-sdk/BUILD.gn
,
Jun 14 2018
|
|||||
►
Sign in to add a comment |
|||||
Comment 1 by w...@chromium.org
, May 31 2018Owner: w...@chromium.org
Status: Started (was: Untriaged)