Joel Fernandes has uploaded this change for review.
Add a perfetto ebuild
Perfetto is a tracing daemon that traces Android and Linux. More details
at perfetto.dev. It is embedded into Chrome however we would like for it
to be able to kernel tracing. For this we would like the trace daemon
(traced) available outside of Chrome. Further, we would like traces to
be collectible on the command line. This is the first step toward
getting Perfetto on ChromeOS working. More details at: go/cros-perfetto
Change-Id: I8902ba3388e71491ca526ab30ca6ce54920ad7aa
Signed-off-by: Joel Fernandes <joe...@google.com>
---
A dev-util/perfetto/perfetto-1.2.ebuild
M virtual/target-chromium-os-dev/target-chromium-os-dev-1.ebuild
2 files changed, 58 insertions(+), 0 deletions(-)
To view, visit change 2070267. To unsubscribe, or for help writing mail filters, visit settings.
Joel Fernandes uploaded patch set #2 to this change.
Add a perfetto ebuild
Perfetto is a tracing daemon that traces Android and Linux. More details
at perfetto.dev. It is embedded into Chrome however we would like for it
to be able to kernel tracing. For this we would like the trace daemon
(traced) available outside of Chrome. Further, we would like traces to
be collectible on the command line. This is the first step toward
getting Perfetto on ChromeOS working. More details at: go/cros-perfetto
Change-Id: I8902ba3388e71491ca526ab30ca6ce54920ad7aa
Signed-off-by: Joel Fernandes <joe...@google.com>
---
A dev-util/perfetto/perfetto-1.2.ebuild
M virtual/target-chromium-os-dev/target-chromium-os-dev-1-r52.ebuild
M virtual/target-chromium-os-dev/target-chromium-os-dev-9999.ebuild
3 files changed, 59 insertions(+), 0 deletions(-)
To view, visit change 2070267. To unsubscribe, or for help writing mail filters, visit settings.
fixing the usual shellcheck :)
Joel Fernandes uploaded patch set #3 to this change.
Add a perfetto ebuild
Perfetto is a tracing daemon that traces Android and Linux. More details
at perfetto.dev. It is embedded into Chrome however we would like for it
to be able to kernel tracing. For this we would like the trace daemon
(traced) available outside of Chrome. Further, we would like traces to
be collectible on the command line. This is the first step toward
getting Perfetto on ChromeOS working. More details at: go/cros-perfetto
Change-Id: I8902ba3388e71491ca526ab30ca6ce54920ad7aa
Signed-off-by: Joel Fernandes <joe...@google.com>
---
A dev-util/perfetto/files/0001-Add-a-gn-arg-to-skip-buildtools-checks.patch
A dev-util/perfetto/perfetto-1.2.ebuild
M virtual/target-chromium-os-dev/target-chromium-os-dev-1-r52.ebuild
M virtual/target-chromium-os-dev/target-chromium-os-dev-9999.ebuild
4 files changed, 103 insertions(+), 0 deletions(-)
To view, visit change 2070267. To unsubscribe, or for help writing mail filters, visit settings.
Joel Fernandes uploaded patch set #4 to this change.
Add a perfetto ebuild
Perfetto is a tracing daemon that traces Android and Linux. More details
at perfetto.dev. It is embedded into Chrome however we would like for it
to be able to kernel tracing. For this we would like the trace daemon
(traced) available outside of Chrome. Further, we would like traces to
be collectible on the command line. This is the first step toward
getting Perfetto on ChromeOS working. More details at: go/cros-perfetto
Change-Id: I8902ba3388e71491ca526ab30ca6ce54920ad7aa
Signed-off-by: Joel Fernandes <joe...@google.com>
---
A dev-util/perfetto/Manifest
A dev-util/perfetto/files/0001-Add-a-gn-arg-to-skip-buildtools-checks.patch
A dev-util/perfetto/perfetto-1.2.ebuild
M virtual/target-chromium-os-dev/target-chromium-os-dev-1-r52.ebuild
M virtual/target-chromium-os-dev/target-chromium-os-dev-9999.ebuild
5 files changed, 104 insertions(+), 0 deletions(-)
To view, visit change 2070267. To unsubscribe, or for help writing mail filters, visit settings.
I'd have to look a bit closer to give proper suggestions for change, but your unpack logic is a bit strange
2 comments:
File dev-util/perfetto/perfetto-1.2.ebuild:
Patch Set #2, Line 17: DEPEND
I believe these are BDEPEND.
https://devmanual.gentoo.org/general-concepts/dependencies/index.html
Patch Set #2, Line 35: git am ${FILESDIR}/0001-Add-a-gn-arg-to-skip-buildtools-checks.patch
you forgot to actually upload this file.
Also, as of EAPI 6, you should be able to just use a PATCHES variable and omit any manual application of patches:
https://devmanual.gentoo.org/ebuild-writing/eapi/index.html
To view, visit change 2070267. To unsubscribe, or for help writing mail filters, visit settings.
you're also missing BUG=/TEST=
You might widen the permissions on go/cros-perfetto, given that I had to request access
Patch Set 4:
you're also missing BUG=/TEST=
You might widen the permissions on go/cros-perfetto, given that I had to request access
Will work on the BUG/TEST tags. Gave wide access to the doc. Thanks!
2 comments:
Patch Set #2, Line 17: DEPEND
I believe these are BDEPEND. […]
Ah yes, thanks.
Patch Set #2, Line 35: git am ${FILESDIR}/0001-Add-a-gn-arg-to-skip-buildtools-checks.patch
you forgot to actually upload this file. […]
I did upload it in my latest revision already.
Thanks for the pointer to PATCHES, will be getting rid of these since the patch just got merged. :)
To view, visit change 2070267. To unsubscribe, or for help writing mail filters, visit settings.
Joel Fernandes uploaded patch set #5 to this change.
Add a perfetto ebuild
Perfetto is a tracing daemon that traces Android and Linux. More details
at perfetto.dev. It is embedded into Chrome however we would like for it
to be able to kernel tracing. For this we would like the trace daemon
(traced) available outside of Chrome. Further, we would like traces to
be collectible on the command line. This is the first step toward
getting Perfetto on ChromeOS working. More details at: go/cros-perfetto
Change-Id: I8902ba3388e71491ca526ab30ca6ce54920ad7aa
Signed-off-by: Joel Fernandes <joe...@google.com>
---
A dev-util/perfetto/Manifest
A dev-util/perfetto/files/0001-Add-a-gn-arg-to-skip-buildtools-checks.patch
A dev-util/perfetto/perfetto-1.2.ebuild
M virtual/target-chromium-os-dev/target-chromium-os-dev-1-r52.ebuild
M virtual/target-chromium-os-dev/target-chromium-os-dev-9999.ebuild
5 files changed, 106 insertions(+), 0 deletions(-)
To view, visit change 2070267. To unsubscribe, or for help writing mail filters, visit settings.
Joel Fernandes uploaded patch set #6 to this change.
Add a perfetto ebuild
Perfetto is a tracing daemon that traces Android and Linux. More details
at perfetto.dev. It is embedded into Chrome however we would like for it
to be able to kernel tracing. For this we would like the trace daemon
(traced) available outside of Chrome. Further, we would like traces to
be collectible on the command line. This is the first step toward
getting Perfetto on ChromeOS working. More details at: go/cros-perfetto
Change-Id: I8902ba3388e71491ca526ab30ca6ce54920ad7aa
Signed-off-by: Joel Fernandes <joe...@google.com>
---
A dev-util/perfetto/Manifest
A dev-util/perfetto/perfetto-1.2.ebuild
M virtual/target-chromium-os-dev/target-chromium-os-dev-1-r52.ebuild
M virtual/target-chromium-os-dev/target-chromium-os-dev-9999.ebuild
4 files changed, 62 insertions(+), 0 deletions(-)
To view, visit change 2070267. To unsubscribe, or for help writing mail filters, visit settings.
Joel Fernandes uploaded patch set #7 to this change.
Add a perfetto ebuild
Perfetto is a tracing daemon that traces Android and Linux. More details
at perfetto.dev. It is embedded into Chrome however we would like for it
to be able to kernel tracing. For this we would like the trace daemon
(traced) available outside of Chrome. Further, we would like traces to
be collectible on the command line. This is the first step toward
getting Perfetto on ChromeOS working. More details at: go/cros-perfetto
Change-Id: I8902ba3388e71491ca526ab30ca6ce54920ad7aa
Signed-off-by: Joel Fernandes <joe...@google.com>
---
A dev-util/perfetto/Manifest
A dev-util/perfetto/perfetto-1.2.ebuild
M virtual/target-chromium-os-dev/target-chromium-os-dev-1-r52.ebuild
M virtual/target-chromium-os-dev/target-chromium-os-dev-9999.ebuild
4 files changed, 61 insertions(+), 0 deletions(-)
To view, visit change 2070267. To unsubscribe, or for help writing mail filters, visit settings.
1 comment:
File virtual/target-chromium-os-dev/target-chromium-os-dev-1-r52.ebuild:
Patch Set #6, Line 75: dev-util/perfetto
don't change the stable (-r52.ebuild) ebuild -- you only need to change the 9999 version.
To view, visit change 2070267. To unsubscribe, or for help writing mail filters, visit settings.
please use `repo upload` to upload CLs so they are properly checked before upload
Patch set 7:Code-Review -1
2 comments:
File dev-util/perfetto/perfetto-1.2.ebuild:
Patch Set #7, Line 8: EGIT_REPO_URI="https://android.googlesource.com/platform/external/perfetto/"
this is pulling from live git. that is impossible to reproduce which is why we do not allow it.
Patch Set #7, Line 9: SRC_URI="https://github.com/protocolbuffers/protobuf/releases/download/v3.9.0/protobuf-cpp-3.9.0.zip -> protobuf-3.9.0.zip"
we don't want static bundling of random packages
To view, visit change 2070267. To unsubscribe, or for help writing mail filters, visit settings.
Will use repo upload, no problem. Thanks for bearing with me as I'm new the ChromeOS and writing ebuilds.
2 comments:
Patch Set #7, Line 8: EGIT_REPO_URI="https://android.googlesource.com/platform/external/perfetto/"
this is pulling from live git. that is impossible to reproduce which is why we do not allow it.
Sorry about that. I was thinking about it already, I'll make it pull from a SHA.
Patch Set #7, Line 9: SRC_URI="https://github.com/protocolbuffers/protobuf/releases/download/v3.9.0/protobuf-cpp-3.9.0.zip -> protobuf-3.9.0.zip"
we don't want static bundling of random packages
This is how you build perfetto though when you build it on your machine. So it is not any different from that. I am not sure how else to do it. Were you suggesting creating a separate protobuf ebuild?
To view, visit change 2070267. To unsubscribe, or for help writing mail filters, visit settings.
1 comment:
Patch Set #6, Line 75: dev-util/perfetto
don't change the stable (-r52.ebuild) ebuild -- you only need to change the 9999 version.
Any pointers to documentation explaining this concept more? Thanks.
To view, visit change 2070267. To unsubscribe, or for help writing mail filters, visit settings.
1 comment:
File dev-util/perfetto/perfetto-1.2.ebuild:
Patch Set #7, Line 9: SRC_URI="https://github.com/protocolbuffers/protobuf/releases/download/v3.9.0/protobuf-cpp-3.9.0.zip -> protobuf-3.9.0.zip"
This is how you build perfetto though when you build it on your machine. […]
depend on dev-libs/protobuf which is already in the tree and use the system installed copy instead.
i understand that some packages blindly vendor in random 3rd party packages, but that's not how distros/Gentoo/CrOS do it. it adds significant overhead at build & runtime, increases maintenance, and makes security a nightmare.
To view, visit change 2070267. To unsubscribe, or for help writing mail filters, visit settings.
1 comment:
Patch Set #7, Line 9: SRC_URI="https://github.com/protocolbuffers/protobuf/releases/download/v3.9.0/protobuf-cpp-3.9.0.zip -> protobuf-3.9.0.zip"
depend on dev-libs/protobuf which is already in the tree and use the system installed copy instead. […]
Ok. I believe I had already looked into that and it required more changes to Perfetto and/or the protobuf version needed was not available in CrOS. But I'll look more into it, great point. Thank you.
To view, visit change 2070267. To unsubscribe, or for help writing mail filters, visit settings.
1 comment:
Patch Set #6, Line 75: dev-util/perfetto
Any pointers to documentation explaining this concept more? Thanks.
"When you are working on a cros_workon package (one with a 9999 ebuild), you only need to modify the 9999 ebuild - the Commit Queue will auto-uprev the version of the ebuild by copying the 9999 ebuild to an ebuild with the new bumped revision."
There's also these slides that cover a range of topics, including this one:
https://docs.google.com/presentation/d/1b5mHL5WaYjQcXX4qPXlW7bjqchTF_lJ6gsyHR5w8Goc/edit?usp=sharing
To view, visit change 2070267. To unsubscribe, or for help writing mail filters, visit settings.
Patch set 10:Verified +1Commit-Queue +1
Joel Fernandes uploaded patch set #11 to this change.
Add a perfetto ebuild
Perfetto is a tracing daemon that traces Android and Linux. More details
are at perfetto.dev. It is embedded into Chrome however we would like
for it to be able to kernel tracing. For this we would like the trace
daemon (traced) available outside of Chrome. Further, we would like
traces to be collectible on the command line. This is the first step
toward getting Perfetto on ChromeOS working. More details at: go/cros-perfetto
This changes just allows running perfetto on the command line and
collecting traces. Chrome changes will be be made in the future.
Further, init changes will be in a separate CL.
BUG=b:147789115
TEST=Build perfetto in the ChromeOS build system.
Change-Id: I8902ba3388e71491ca526ab30ca6ce54920ad7aa
---
A chromeos-base/perfetto/perfetto-1.2.ebuild
M profiles/targets/chromeos/make.defaults
M virtual/target-chromium-os/target-chromium-os-9999.ebuild
3 files changed, 55 insertions(+), 0 deletions(-)
To view, visit change 2070267. To unsubscribe, or for help writing mail filters, visit settings.
lets keep things separate. one CL to add the ebuild, and another to try turning it on.
Patch Set 11:
lets keep things separate. one CL to add the ebuild, and another to try turning it on.
sure
Joel Fernandes uploaded patch set #12 to this change.
Add a perfetto ebuild
Perfetto is a tracing daemon that traces Android and Linux. More details
are at perfetto.dev. It is embedded into Chrome however we would like
for it to be able to kernel tracing. For this we would like the trace
daemon (traced) available outside of Chrome. Further, we would like
traces to be collectible on the command line. This is the first step
toward getting Perfetto on ChromeOS working. More details at: go/cros-perfetto
This changes just allows running perfetto on the command line and
collecting traces. Chrome changes will be be made in the future.
Further, init changes will be in a separate CL.
BUG=b:147789115
TEST=Build perfetto in the ChromeOS build system.
Change-Id: I8902ba3388e71491ca526ab30ca6ce54920ad7aa
---
A chromeos-base/perfetto/perfetto-1.2.ebuild
M virtual/target-chromium-os/target-chromium-os-9999.ebuild
2 files changed, 52 insertions(+), 0 deletions(-)
To view, visit change 2070267. To unsubscribe, or for help writing mail filters, visit settings.
Patch set 12:Commit-Queue +2
9 comments:
File chromeos-base/perfetto/perfetto-1.2.ebuild:
where is PV=1.2 coming from ? i don't see a v1.2 tag in the tree.
Patch Set #12, Line 6: DESCRIPTION="perfetto"
add a proper desc please
Patch Set #12, Line 12: S="${WORKDIR}/${PN}-${PV}"
this is the default -> delete
Patch Set #12, Line 16: dev-util/gn
indent deps with a tab
Patch Set #12, Line 18: dev-libs/protobuf
don't you link against this ? you want it in DEPEND+RDEPEND then.
Patch Set #12, Line 20: GN_ARGS="
this should be moved to src_configure
Patch Set #12, Line 30: BUILD_OUTPUT="${S}/out_cros/"
use $WORKDIR instead of $S
Patch Set #12, Line 39: gn gen "${BUILD_OUTPUT}" --args="${GN_ARGS}"
add `|| die`
Patch Set #12, Line 43: ninja -C "${BUILD_OUTPUT}" traced traced_probes perfetto
inherit ninja-utils and then use `eninja` instead
do you need to enumerate all the targets ? doesn't the default build what you need ?
To view, visit change 2070267. To unsubscribe, or for help writing mail filters, visit settings.
8 comments:
File chromeos-base/perfetto/perfetto-1.2.ebuild:
Patch Set #12, Line 6: DESCRIPTION="perfetto"
add a proper desc please
Done
Patch Set #12, Line 12: S="${WORKDIR}/${PN}-${PV}"
this is the default -> delete
Done
Patch Set #12, Line 16: dev-util/gn
indent deps with a tab
Done
Patch Set #12, Line 18: dev-libs/protobuf
don't you link against this ? you want it in DEPEND+RDEPEND then.
Only BDEPEND, it does not depend on it at runtime.
Patch Set #12, Line 20: GN_ARGS="
this should be moved to src_configure
Ok done, but please note I can't indent it there otherwise the build breaks.
Patch Set #12, Line 30: BUILD_OUTPUT="${S}/out_cros/"
use $WORKDIR instead of $S
Done
Patch Set #12, Line 39: gn gen "${BUILD_OUTPUT}" --args="${GN_ARGS}"
add `|| die`
Done
Patch Set #12, Line 43: ninja -C "${BUILD_OUTPUT}" traced traced_probes perfetto
inherit ninja-utils and then use `eninja` instead […]
Re: #1, ok.
Re: #2, it does not.
To view, visit change 2070267. To unsubscribe, or for help writing mail filters, visit settings.
1 comment:
where is PV=1.2 coming from ? i don't see a v1.2 tag in the tree.
This came up during discussions, but the CL is a bit old so I can't recall. Further discussing, with them, I realize version numbering is not followed for this project (or at least it has been some time since it was followed).
Considering this, I chose just '1'. Does that work for you?
Or, do we make it -9999?
To view, visit change 2070267. To unsubscribe, or for help writing mail filters, visit settings.
Joel Fernandes has uploaded this change for review.
Add a perfetto ebuild
Perfetto is a tracing daemon that traces Android and Linux. More details
are at perfetto.dev. It is embedded into Chrome however we would like
for it to be able to kernel tracing. For this we would like the trace
daemon (traced) available outside of Chrome. Further, we would like
traces to be collectible on the command line. This is the first step
toward getting Perfetto on ChromeOS working. More details at: go/cros-perfetto
This changes just allows running perfetto on the command line and
collecting traces. Chrome changes will be be made in the future.
Further, init changes will be in a separate CL.
BUG=b:147789115
TEST=Build perfetto in the ChromeOS build system.
Change-Id: I26495b387a5b3f11528a822c8f6aa5c4e328792c
---
A chromeos-base/perfetto/perfetto-1-r1.ebuild
A chromeos-base/perfetto/perfetto-1.2.ebuild
A chromeos-base/perfetto/perfetto-1.ebuild
M virtual/target-chromium-os/target-chromium-os-9999.ebuild
4 files changed, 102 insertions(+), 0 deletions(-)
To view, visit change 2141442. To unsubscribe, or for help writing mail filters, visit settings.