Write GN logic to produce Fuchsia packages for executable targets |
||
Issue descriptionThe preferred (and soon, only) method for loading executables onto Fuchsia is to package the executables as .far files. This bug is to track the effort to produce .far files from the Chrome build system, and to integrate them into the emulator and on-device workflows.
,
Jan 23 2018
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/12550a7b2446c1de28011c46c3550d61e45eafad commit 12550a7b2446c1de28011c46c3550d61e45eafad Author: Sergey Ulanov <sergeyu@chromium.org> Date: Tue Jan 23 19:47:22 2018 [Fuchsia] Update PathProvideFuchsia to avoid blocking IO. Previously GetPackageRoot() was calling base::FileExists(), which requires blocking IO, i.e. it DCHECKs on some threads. Updated the logic used to detect that the app is packaged to avoid blocking IO. Bug: 796779 , 778467 Change-Id: I3ae8f5fefea182295a7fda4ff40964f21ba63e5c Reviewed-on: https://chromium-review.googlesource.com/876660 Commit-Queue: Sergey Ulanov <sergeyu@chromium.org> Reviewed-by: Wez <wez@chromium.org> Reviewed-by: Kevin Marshall <kmarshall@chromium.org> Cr-Commit-Position: refs/heads/master@{#531308} [modify] https://crrev.com/12550a7b2446c1de28011c46c3550d61e45eafad/base/base_paths_fuchsia.cc
,
Jan 25 2018
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/7f8f205ac00e221c60a2f1f3f8fe393dba86a4c7 commit 7f8f205ac00e221c60a2f1f3f8fe393dba86a4c7 Author: John Budorick <jbudorick@chromium.org> Date: Thu Jan 25 17:48:44 2018 Revert "Build Fuchsia packages for test and executable targets." This reverts commit b2b018c5a98218a3c08ad090fc38d20826eaee77. Reason for revert: Breaking compilation on multiple Fuchsia bots: crbug.com/805844 (includes net_unittests.archive_manifest files) Original change's description: > Build Fuchsia packages for test and executable targets. > > All targets that use the test() or fuchsia_executable_runner rules > will produce Fuchsia packages, which contain the test executable and > their runtime dependencies. > > The packages are modules which can be deployed in an already-running > system, as opposed to the current scheme which bakes the files into > the system boot image. > > Deployment and support for dynamic libraries will be addressed > in followup CLs. > > This CL also: > * Fixes PathService logic for packaged invocations. > * Adds a new "build_manifest.py" GN helper script. > * Fixes the dependency graph for Fuchsia runner script generation > so that it accurately captures the real dependency ordering. > > > Bug: 796779 > Change-Id: I4e3a38e0075573b328ad98425cc493e28cff1ca4 > Reviewed-on: https://chromium-review.googlesource.com/841749 > Commit-Queue: Kevin Marshall <kmarshall@chromium.org> > Reviewed-by: Wez <wez@chromium.org> > Reviewed-by: Daniel Cheng <dcheng@chromium.org> > Reviewed-by: Dirk Pranke <dpranke@chromium.org> > Reviewed-by: Sergey Ulanov <sergeyu@chromium.org> > Cr-Commit-Position: refs/heads/master@{#531288} TBR=dcheng@chromium.org,wez@chromium.org,dpranke@chromium.org,kmarshall@chromium.org,sergeyu@chromium.org Bug: 796779 ,805844 Change-Id: I451b714715b72a9a4b2f723a515a1f7c0dff7687 Reviewed-on: https://chromium-review.googlesource.com/886821 Commit-Queue: John Budorick <jbudorick@chromium.org> Reviewed-by: John Budorick <jbudorick@chromium.org> Cr-Commit-Position: refs/heads/master@{#531934} [modify] https://crrev.com/7f8f205ac00e221c60a2f1f3f8fe393dba86a4c7/base/BUILD.gn [modify] https://crrev.com/7f8f205ac00e221c60a2f1f3f8fe393dba86a4c7/base/base_paths_fuchsia.cc [delete] https://crrev.com/7835b9fa5aaf2d56503742c8a1871ebf4fd8b793/base/base_paths_fuchsia.h [modify] https://crrev.com/7f8f205ac00e221c60a2f1f3f8fe393dba86a4c7/base/i18n/icu_util.cc [delete] https://crrev.com/7835b9fa5aaf2d56503742c8a1871ebf4fd8b793/build/config/fuchsia/build_manifest.py [delete] https://crrev.com/7835b9fa5aaf2d56503742c8a1871ebf4fd8b793/build/config/fuchsia/package.gni [modify] https://crrev.com/7f8f205ac00e221c60a2f1f3f8fe393dba86a4c7/build/config/fuchsia/rules.gni [delete] https://crrev.com/7835b9fa5aaf2d56503742c8a1871ebf4fd8b793/build/config/fuchsia/sandbox_policy [modify] https://crrev.com/7f8f205ac00e221c60a2f1f3f8fe393dba86a4c7/testing/test.gni [modify] https://crrev.com/7f8f205ac00e221c60a2f1f3f8fe393dba86a4c7/tools/mb/mb.py
,
Jan 29 2018
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/f35fa5ff8934ea9bf06b45337c5168e12265fce9 commit f35fa5ff8934ea9bf06b45337c5168e12265fce9 Author: Kevin Marshall <kmarshall@chromium.org> Date: Mon Jan 29 19:24:42 2018 Reland "Build Fuchsia packages for test and executable targets." This is a reland of b2b018c5a98218a3c08ad090fc38d20826eaee77. Original change's description: > Build Fuchsia packages for test and executable targets. > > All targets that use the test() or fuchsia_executable_runner rules > will produce Fuchsia packages, which contain the test executable and > their runtime dependencies. > > The packages are modules which can be deployed in an already-running > system, as opposed to the current scheme which bakes the files into > the system boot image. > > Deployment and support for dynamic libraries will be addressed > in followup CLs. > > This CL also: > * Fixes PathService logic for packaged invocations. > * Adds a new "build_manifest.py" GN helper script. > * Fixes the dependency graph for Fuchsia runner script generation > so that it accurately captures the real dependency ordering. > > > Bug: 796779 > Change-Id: I4e3a38e0075573b328ad98425cc493e28cff1ca4 > Reviewed-on: https://chromium-review.googlesource.com/841749 > Commit-Queue: Kevin Marshall <kmarshall@chromium.org> > Reviewed-by: Wez <wez@chromium.org> > Reviewed-by: Daniel Cheng <dcheng@chromium.org> > Reviewed-by: Dirk Pranke <dpranke@chromium.org> > Reviewed-by: Sergey Ulanov <sergeyu@chromium.org> > Cr-Commit-Position: refs/heads/master@{#531288} Bug: 796779 Change-Id: I8c365a51abb49c2542aec8f66073e7fb7217cf75 Reviewed-on: https://chromium-review.googlesource.com/886982 Commit-Queue: Kevin Marshall <kmarshall@chromium.org> Reviewed-by: Daniel Cheng <dcheng@chromium.org> Reviewed-by: Dirk Pranke <dpranke@chromium.org> Reviewed-by: Scott Graham <scottmg@chromium.org> Reviewed-by: Wez <wez@chromium.org> Cr-Commit-Position: refs/heads/master@{#532537} [modify] https://crrev.com/f35fa5ff8934ea9bf06b45337c5168e12265fce9/base/BUILD.gn [modify] https://crrev.com/f35fa5ff8934ea9bf06b45337c5168e12265fce9/base/base_paths_fuchsia.cc [add] https://crrev.com/f35fa5ff8934ea9bf06b45337c5168e12265fce9/base/base_paths_fuchsia.h [modify] https://crrev.com/f35fa5ff8934ea9bf06b45337c5168e12265fce9/base/i18n/icu_util.cc [add] https://crrev.com/f35fa5ff8934ea9bf06b45337c5168e12265fce9/build/config/fuchsia/build_manifest.py [add] https://crrev.com/f35fa5ff8934ea9bf06b45337c5168e12265fce9/build/config/fuchsia/package.gni [modify] https://crrev.com/f35fa5ff8934ea9bf06b45337c5168e12265fce9/build/config/fuchsia/rules.gni [add] https://crrev.com/f35fa5ff8934ea9bf06b45337c5168e12265fce9/build/config/fuchsia/sandbox_policy [modify] https://crrev.com/f35fa5ff8934ea9bf06b45337c5168e12265fce9/testing/test.gni [modify] https://crrev.com/f35fa5ff8934ea9bf06b45337c5168e12265fce9/tools/mb/mb.py
,
Jan 30 2018
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/6cea1c6cef8146e0a81c6c494964b946abb15e13 commit 6cea1c6cef8146e0a81c6c494964b946abb15e13 Author: Sergey Ulanov <sergeyu@chromium.org> Date: Tue Jan 30 00:32:50 2018 [Fuchsia] Fix assets loading for content_shell package. content_shell previously was failing to find V8 natives file and resources when packaged on Fuchsia. Update paths used to locate these assets to make content_shell usable again. Bug: 796779 , 778467 Cq-Include-Trybots: master.tryserver.chromium.android:android_optional_gpu_tests_rel;master.tryserver.chromium.linux:linux_optional_gpu_tests_rel;master.tryserver.chromium.mac:mac_optional_gpu_tests_rel;master.tryserver.chromium.win:win_optional_gpu_tests_rel Change-Id: I257124223f953bbf048ca6ab649322e8f726bf5d Reviewed-on: https://chromium-review.googlesource.com/865466 Commit-Queue: Sergey Ulanov <sergeyu@chromium.org> Reviewed-by: Jochen Eisinger <jochen@chromium.org> Cr-Commit-Position: refs/heads/master@{#532695} [modify] https://crrev.com/6cea1c6cef8146e0a81c6c494964b946abb15e13/content/shell/app/shell_main_delegate.cc [modify] https://crrev.com/6cea1c6cef8146e0a81c6c494964b946abb15e13/gin/v8_initializer.cc
,
Mar 21 2018
,
May 8 2018
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/75b2f822f6df3b663c1653e2c7eede1e7abb2269 commit 75b2f822f6df3b663c1653e2c7eede1e7abb2269 Author: Wez <wez@chromium.org> Date: Tue May 08 18:27:29 2018 Make a single 'readelf' invocation for each iteration of lib-deps. We gather the library dependencies of the executable, to include them in the manifest, by running 'readelf' on it, then iterating over each library in turn to add its dependencies, and so-on. 'readelf' can accept multiple filenames on the command-line, so rather then invoking it once per-file, run it on a batch of all the not-yet- processed dependencies, at each iteration. Bug: 798851 , 796779 Change-Id: If1ff5be592bfea120b93d16b09eb53c651d6c50f Reviewed-on: https://chromium-review.googlesource.com/1049174 Commit-Queue: Wez <wez@chromium.org> Reviewed-by: Kevin Marshall <kmarshall@chromium.org> Cr-Commit-Position: refs/heads/master@{#556884} [modify] https://crrev.com/75b2f822f6df3b663c1653e2c7eede1e7abb2269/build/config/fuchsia/build_manifest.py |
||
►
Sign in to add a comment |
||
Comment 1 by bugdroid1@chromium.org
, Jan 23 2018