Create ebuild for several rust sub crates in crosvm |
||
Issue descriptionSome rust sub crates like sys_util and data_model have useful functions and wrappers for linux api. Expose them to the whole ebuild system will benefit rust development environment.
,
Dec 20
This bug is blocking rust version libcras for vm audio.
,
Dec 28
The following revision refers to this bug: https://chromium.googlesource.com/chromiumos/overlays/chromiumos-overlay/+/176d472fb3bd32081f62de424c896ef396db9ab2 commit 176d472fb3bd32081f62de424c896ef396db9ab2 Author: paulhsia <paulhsia@chromium.org> Date: Fri Dec 28 17:08:29 2018 cros-rust: Add helper function to get crate version Add function cros-rust_get_crate_version to get version from Cargo.toml for a crate. BUG=chromium:916921 TEST=Apply full patch set and run those tests Change-Id: I35c760d6130209d7bada500b7ca49ae2424248bb Reviewed-on: https://chromium-review.googlesource.com/1388074 Commit-Ready: Chih-Yang Hsia <paulhsia@chromium.org> Tested-by: Chih-Yang Hsia <paulhsia@chromium.org> Reviewed-by: Chirantan Ekbote <chirantan@chromium.org> [modify] https://crrev.com/176d472fb3bd32081f62de424c896ef396db9ab2/eclass/cros-rust.eclass
,
Dec 30
The following revision refers to this bug: https://chromium.googlesource.com/chromiumos/overlays/chromiumos-overlay/+/b2344a2128542d3e60ba3c62e0586eef2813dfdd commit b2344a2128542d3e60ba3c62e0586eef2813dfdd Author: paulhsia <paulhsia@chromium.org> Date: Sun Dec 30 18:45:18 2018 dev-rust: Add different version ebuild for crates To create ebuild for crosvm sub-crates data_model and sys_util, we need to add different version for external crates quote, proc-macro2 and syn. BUG=chromium:916921 TEST='emerge-eve =proc-macro2-0.4.21 =quote-0.6.10 =syn-0.15.21' Change-Id: Ic81eed3bacf740c5c476fba2ba4cedae530e38d4 Reviewed-on: https://chromium-review.googlesource.com/1386284 Commit-Ready: Chih-Yang Hsia <paulhsia@chromium.org> Tested-by: Chih-Yang Hsia <paulhsia@chromium.org> Reviewed-by: Chirantan Ekbote <chirantan@chromium.org> [add] https://crrev.com/b2344a2128542d3e60ba3c62e0586eef2813dfdd/dev-rust/syn/syn-0.15.21.ebuild [modify] https://crrev.com/b2344a2128542d3e60ba3c62e0586eef2813dfdd/dev-rust/proc-macro2/Manifest [modify] https://crrev.com/b2344a2128542d3e60ba3c62e0586eef2813dfdd/dev-rust/quote/Manifest [add] https://crrev.com/b2344a2128542d3e60ba3c62e0586eef2813dfdd/dev-rust/proc-macro2/proc-macro2-0.4.21.ebuild [add] https://crrev.com/b2344a2128542d3e60ba3c62e0586eef2813dfdd/dev-rust/quote/quote-0.6.10.ebuild [modify] https://crrev.com/b2344a2128542d3e60ba3c62e0586eef2813dfdd/dev-rust/syn/Manifest
,
Dec 30
The following revision refers to this bug: https://chromium.googlesource.com/chromiumos/overlays/chromiumos-overlay/+/b70192e242d130abdec88d993dcd16ce45ba41d9 commit b70192e242d130abdec88d993dcd16ce45ba41d9 Author: paulhsia <paulhsia@chromium.org> Date: Sun Dec 30 18:45:18 2018 dev-rust: Upgrade crate libc Add libc-0.2.44 to dev-rust and add an empty crate rustc-std-workspace-core depended by libc. Remove libc-0.2.43. BUG=chromium:916921 TEST='emerge-eve =libc-0.2.44' Change-Id: Iae97b03eea72b8e80d7e5c0606363f5b3e5c2692 Reviewed-on: https://chromium-review.googlesource.com/1386285 Commit-Ready: Chih-Yang Hsia <paulhsia@chromium.org> Tested-by: Chih-Yang Hsia <paulhsia@chromium.org> Reviewed-by: Chirantan Ekbote <chirantan@chromium.org> [add] https://crrev.com/b70192e242d130abdec88d993dcd16ce45ba41d9/dev-rust/rustc-std-workspace-core/rustc-std-workspace-core-1.0.0.ebuild [add] https://crrev.com/b70192e242d130abdec88d993dcd16ce45ba41d9/dev-rust/libc/libc-0.2.44-r1.ebuild [rename] https://crrev.com/b70192e242d130abdec88d993dcd16ce45ba41d9/dev-rust/libc/libc-0.2.44.ebuild [modify] https://crrev.com/b70192e242d130abdec88d993dcd16ce45ba41d9/dev-rust/libc/Manifest
,
Jan 3
The following revision refers to this bug: https://chromium.googlesource.com/chromiumos/platform/crosvm/+/d1eceeca7bfd12d4d1236346d7cdcc89b5e949e2 commit d1eceeca7bfd12d4d1236346d7cdcc89b5e949e2 Author: paulhsia <paulhsia@chromium.org> Date: Thu Jan 03 23:04:23 2019 crosvm: Split sub-crates into independent workspace Split sub-crates under crosvm root directory into several independent workspaces for adding ebuild files for those crates. data_model and sys_util could only be built by emerge after creating their ebuilds. BUG=chromium:916921 TEST='emerge-eve crosvm' TEST=Run 'cargo build' under crosvm directory Change-Id: I2dddbbb7c7344e643183a5885e867f134b299591 Reviewed-on: https://chromium-review.googlesource.com/1385972 Commit-Ready: Chih-Yang Hsia <paulhsia@chromium.org> Tested-by: Chih-Yang Hsia <paulhsia@chromium.org> Reviewed-by: Chirantan Ekbote <chirantan@chromium.org> Reviewed-by: Zach Reizner <zachr@chromium.org> [modify] https://crrev.com/d1eceeca7bfd12d4d1236346d7cdcc89b5e949e2/sync/Cargo.toml [modify] https://crrev.com/d1eceeca7bfd12d4d1236346d7cdcc89b5e949e2/assertions/Cargo.toml [modify] https://crrev.com/d1eceeca7bfd12d4d1236346d7cdcc89b5e949e2/sys_util/poll_token_derive/Cargo.toml [modify] https://crrev.com/d1eceeca7bfd12d4d1236346d7cdcc89b5e949e2/syscall_defines/Cargo.toml [modify] https://crrev.com/d1eceeca7bfd12d4d1236346d7cdcc89b5e949e2/Cargo.toml [modify] https://crrev.com/d1eceeca7bfd12d4d1236346d7cdcc89b5e949e2/data_model/Cargo.toml [modify] https://crrev.com/d1eceeca7bfd12d4d1236346d7cdcc89b5e949e2/sys_util/Cargo.toml
,
Jan 8
The following revision refers to this bug: https://chromium.googlesource.com/chromiumos/overlays/chromiumos-overlay/+/b6209f5c1351b248a338bfb3a77c27ffc75082e9 commit b6209f5c1351b248a338bfb3a77c27ffc75082e9 Author: paulhsia <paulhsia@chromium.org> Date: Tue Jan 08 03:40:35 2019 dev-rust: Add ebuild for data_model and assertions Add ebuild for data_model and assertions. Crate data_model depends on crate assertions. BUG=chromium:916921 TEST='emerge-eve data_model' CQ-DEPEND=CL:1385972 Change-Id: Ic26b0648b457d4e6a39344a2d291a9900c9ab3ad Reviewed-on: https://chromium-review.googlesource.com/1386286 Commit-Ready: ChromeOS CL Exonerator Bot <chromiumos-cl-exonerator@appspot.gserviceaccount.com> Tested-by: Chih-Yang Hsia <paulhsia@chromium.org> Reviewed-by: Chih-Yang Hsia <paulhsia@chromium.org> [add] https://crrev.com/b6209f5c1351b248a338bfb3a77c27ffc75082e9/dev-rust/assertions/files/chromeos-version.sh [add] https://crrev.com/b6209f5c1351b248a338bfb3a77c27ffc75082e9/dev-rust/data_model/files/chromeos-version.sh [add] https://crrev.com/b6209f5c1351b248a338bfb3a77c27ffc75082e9/dev-rust/assertions/assertions-9999.ebuild [add] https://crrev.com/b6209f5c1351b248a338bfb3a77c27ffc75082e9/dev-rust/data_model/data_model-9999.ebuild
,
Jan 8
The following revision refers to this bug: https://chromium.googlesource.com/chromiumos/overlays/chromiumos-overlay/+/2d9b833847b98efd753cb9ee9e3e11a06c3d1510 commit 2d9b833847b98efd753cb9ee9e3e11a06c3d1510 Author: paulhsia <paulhsia@chromium.org> Date: Tue Jan 08 03:40:35 2019 dev-rust: Add ebuild for sys_util and related crates Add ebuild for sys_util, syscall_defines and sync. Crate sys_util depends on crates syscall_defines and sync. BUG=chromium:916921 TEST='emerge-eve sys_util' CQ-DEPEND=CL:1385972 Change-Id: I6e6a00e6ee45642ae03d3a895fee53806fb86529 Reviewed-on: https://chromium-review.googlesource.com/1386287 Commit-Ready: ChromeOS CL Exonerator Bot <chromiumos-cl-exonerator@appspot.gserviceaccount.com> Tested-by: Chih-Yang Hsia <paulhsia@chromium.org> Reviewed-by: Chih-Yang Hsia <paulhsia@chromium.org> Reviewed-by: Mike Frysinger <vapier@chromium.org> [add] https://crrev.com/2d9b833847b98efd753cb9ee9e3e11a06c3d1510/dev-rust/sys_util/sys_util-9999.ebuild [add] https://crrev.com/2d9b833847b98efd753cb9ee9e3e11a06c3d1510/dev-rust/sync/sync-9999.ebuild [add] https://crrev.com/2d9b833847b98efd753cb9ee9e3e11a06c3d1510/dev-rust/syscall_defines/files/chromeos-version.sh [add] https://crrev.com/2d9b833847b98efd753cb9ee9e3e11a06c3d1510/dev-rust/sys_util/files/chromeos-version.sh [add] https://crrev.com/2d9b833847b98efd753cb9ee9e3e11a06c3d1510/dev-rust/syscall_defines/syscall_defines-9999.ebuild [add] https://crrev.com/2d9b833847b98efd753cb9ee9e3e11a06c3d1510/dev-rust/sync/files/chromeos-version.sh
,
Jan 10
,
Jan 12
The following revision refers to this bug: https://chromium.googlesource.com/chromiumos/overlays/chromiumos-overlay/+/7e054ab86f44d7c2a2e55fecaebe02fade183da5 commit 7e054ab86f44d7c2a2e55fecaebe02fade183da5 Author: David Tolnay <dtolnay@chromium.org> Date: Sat Jan 12 07:54:32 2019 rust: Support stripping patch.crates-io entries from Cargo.toml This CL introduces the ability for Cargo.toml files of cros-rust targets to contain: # ignore in ebuild { ... # } in between which the contents are stripped out during ebuild. We will use this to discard parts of [patch.crates-io] which should apply to local developer builds but not to ebuilds. In particular, some crates contained within the crosvm repository have their own ebuild independent of the crosvm ebuild so that they are usable from outside of crosvm. When a developer is building these crates locally with Cargo, we would like to patch dependencies such that they point to sibling crates within the crosvm repository. But when building via ebuild, the patches must not exist because they violate our build sandbox. The CROS_WORKON_OUTOFTREE_BUILD=1 flag must not be set in an ebuild that relies on `ignore in ebuild`. BUG=chromium:916921 TEST=emerge-amd64-generic crosvm, data_model, sys_util (with and without CL:1403887) Change-Id: I6b8413d14005fa1ab64549b31a17a4344356e535 Reviewed-on: https://chromium-review.googlesource.com/1407464 Commit-Ready: David Tolnay <dtolnay@chromium.org> Tested-by: David Tolnay <dtolnay@chromium.org> Reviewed-by: Chirantan Ekbote <chirantan@chromium.org> [modify] https://crrev.com/7e054ab86f44d7c2a2e55fecaebe02fade183da5/dev-rust/data_model/data_model-9999.ebuild [modify] https://crrev.com/7e054ab86f44d7c2a2e55fecaebe02fade183da5/eclass/cros-rust.eclass [modify] https://crrev.com/7e054ab86f44d7c2a2e55fecaebe02fade183da5/dev-rust/sys_util/sys_util-9999.ebuild
,
Jan 14
The following revision refers to this bug: https://chromium.googlesource.com/chromiumos/overlays/chromiumos-overlay/+/57f7870c6ef94b41f6014ca10f5e09a233ed47ca commit 57f7870c6ef94b41f6014ca10f5e09a233ed47ca Author: paulhsia <paulhsia@chromium.org> Date: Mon Jan 14 08:39:03 2019 media-sound/audio_streams: Add cros_workon ebuild Add ebuild for crate audio_streams, which provides a basic interface for playing audio. BUG=chromium:781398 BUG=chromium:916921 TEST=$ FEATURES=test emerge-eve media-sound/audio_streams CQ-DEPEND=CL:1402264 Change-Id: I7f8b923fe2c742457ebc612d1cbf18d9154d9215 Reviewed-on: https://chromium-review.googlesource.com/1400329 Commit-Ready: Chih-Yang Hsia <paulhsia@chromium.org> Tested-by: Chih-Yang Hsia <paulhsia@chromium.org> Reviewed-by: Chirantan Ekbote <chirantan@chromium.org> [add] https://crrev.com/57f7870c6ef94b41f6014ca10f5e09a233ed47ca/media-sound/audio_streams/audio_streams-9999.ebuild [add] https://crrev.com/57f7870c6ef94b41f6014ca10f5e09a233ed47ca/media-sound/audio_streams/files/chromeos-version.sh
,
Jan 16
The following revision refers to this bug: https://chromium.googlesource.com/chromiumos/overlays/chromiumos-overlay/+/155c5878d3871bad93e7e8b5c8a62f85aefda45d commit 155c5878d3871bad93e7e8b5c8a62f85aefda45d Author: David Tolnay <dtolnay@chromium.org> Date: Wed Jan 16 03:50:13 2019 rust: Support repointing path dependencies to ones provided by ebuild Adjustment to CL:1407464 -- this CL introduces a replacement of: [dependencies] data_model = { path = "../data_model" } # provided by ebuild with: [dependencies] data_model = { version = "*" } This new way is preferable because crates no longer need to list patches to all of their transitive dependencies. For example before, if libcras wanted to depend on data_model which depends on assertions, libcras would have needed to patch both data_model and assertions. Now libcras can declare that data_model is provided by ebuild, and data_model can declare that assertions is provided by ebuild. BUG=chromium:916921 TEST=emerge-amd64-generic crosvm, data_model, sys_util Change-Id: I6c1cbb46860280dc98c8cc79060d00a7a1ef5ec6 Reviewed-on: https://chromium-review.googlesource.com/1409854 Commit-Ready: David Tolnay <dtolnay@chromium.org> Tested-by: David Tolnay <dtolnay@chromium.org> Reviewed-by: Zach Reizner <zachr@chromium.org> Reviewed-by: Dylan Reid <dgreid@chromium.org> [modify] https://crrev.com/155c5878d3871bad93e7e8b5c8a62f85aefda45d/eclass/cros-rust.eclass
,
Jan 18
(4 days ago)
The following revision refers to this bug: https://chromium.googlesource.com/chromiumos/platform/crosvm/+/d5a9552d72f160aa0fef91971c94f3e90a29493f commit d5a9552d72f160aa0fef91971c94f3e90a29493f Author: David Tolnay <dtolnay@chromium.org> Date: Fri Jan 18 08:46:02 2019 build: Restore ability to compile data_model and sys_util in isolation CL:1385972 breaks building these crates because they are not in the workspace of the top level Cargo.toml so the patch.crates-io setting of the top level Cargo.toml does not take effect. They end up looking for their dependencies on crates.io rather than in the parent directory. Being able to build just data_model and sys_util on their own is useful when iterating on a change in one of them and needing to run `cargo test` (as I tried to do today). The errors without this CL are like this: error: no matching package named `assertions` found location searched: registry `https://github.com/rust-lang/crates.io-index` required by package `data_model v0.1.0 (/path/to/crosvm/data_model)` BUG=chromium:916921 TEST=cargo check in data_model and sys_util TEST=cargo test as well TEST=emerge-amd64-generic crosvm TEST=FEATURES=test emerge-amd64-generic data_model, sys_util CQ-DEPEND=CL:1409854 Change-Id: I7bd34f38507c1cea72380f515ce2dd0835aec4fa Reviewed-on: https://chromium-review.googlesource.com/1403887 Commit-Ready: David Tolnay <dtolnay@chromium.org> Tested-by: David Tolnay <dtolnay@chromium.org> Tested-by: kokoro <noreply+kokoro@google.com> Reviewed-by: Chih-Yang Hsia <paulhsia@chromium.org> [modify] https://crrev.com/d5a9552d72f160aa0fef91971c94f3e90a29493f/sys_util/Cargo.toml [modify] https://crrev.com/d5a9552d72f160aa0fef91971c94f3e90a29493f/sys_util/poll_token_derive/Cargo.toml [modify] https://crrev.com/d5a9552d72f160aa0fef91971c94f3e90a29493f/data_model/Cargo.toml
,
Today
(5 hours ago)
The following revision refers to this bug: https://chromium.googlesource.com/chromiumos/overlays/chromiumos-overlay/+/632f9aec3a3af74b5f08ca52788d96510d1f78b3 commit 632f9aec3a3af74b5f08ca52788d96510d1f78b3 Author: paulhsia <paulhsia@chromium.org> Date: Wed Jan 23 00:53:13 2019 dev-rust/syn: Fix 0.15.21 ebuild dependencies The package needs quote^0.6 and proc-macro2 ^0.4.4. BUG=chromium:916921 TEST=Remove quote and proc-macro2 by $ emerge-eve -Cav dev-rust/quote dev-rust/proc-macro2 and run $ emerge-eve =dev-rust/syn-0.15.21-r1 Change-Id: Iec36ca7d978096e557ba7fbd79b521ce3fe5edf0 Reviewed-on: https://chromium-review.googlesource.com/1426280 Commit-Ready: Chih-Yang Hsia <paulhsia@chromium.org> Tested-by: Chih-Yang Hsia <paulhsia@chromium.org> Reviewed-by: Chih-Yang Hsia <paulhsia@chromium.org> [modify] https://crrev.com/632f9aec3a3af74b5f08ca52788d96510d1f78b3/dev-rust/syn/syn-0.15.21.ebuild [add] https://crrev.com/632f9aec3a3af74b5f08ca52788d96510d1f78b3/dev-rust/syn/syn-0.15.21-r1.ebuild
,
Today
(5 hours ago)
The following revision refers to this bug: https://chromium.googlesource.com/chromiumos/overlays/chromiumos-overlay/+/632f9aec3a3af74b5f08ca52788d96510d1f78b3 commit 632f9aec3a3af74b5f08ca52788d96510d1f78b3 Author: paulhsia <paulhsia@chromium.org> Date: Wed Jan 23 00:53:13 2019 dev-rust/syn: Fix 0.15.21 ebuild dependencies The package needs quote^0.6 and proc-macro2 ^0.4.4. BUG=chromium:916921 TEST=Remove quote and proc-macro2 by $ emerge-eve -Cav dev-rust/quote dev-rust/proc-macro2 and run $ emerge-eve =dev-rust/syn-0.15.21-r1 Change-Id: Iec36ca7d978096e557ba7fbd79b521ce3fe5edf0 Reviewed-on: https://chromium-review.googlesource.com/1426280 Commit-Ready: Chih-Yang Hsia <paulhsia@chromium.org> Tested-by: Chih-Yang Hsia <paulhsia@chromium.org> Reviewed-by: Chih-Yang Hsia <paulhsia@chromium.org> [modify] https://crrev.com/632f9aec3a3af74b5f08ca52788d96510d1f78b3/dev-rust/syn/syn-0.15.21.ebuild [add] https://crrev.com/632f9aec3a3af74b5f08ca52788d96510d1f78b3/dev-rust/syn/syn-0.15.21-r1.ebuild
,
Today
(5 hours ago)
The following revision refers to this bug: https://chromium.googlesource.com/chromiumos/overlays/chromiumos-overlay/+/632f9aec3a3af74b5f08ca52788d96510d1f78b3 commit 632f9aec3a3af74b5f08ca52788d96510d1f78b3 Author: paulhsia <paulhsia@chromium.org> Date: Wed Jan 23 00:53:13 2019 dev-rust/syn: Fix 0.15.21 ebuild dependencies The package needs quote^0.6 and proc-macro2 ^0.4.4. BUG=chromium:916921 TEST=Remove quote and proc-macro2 by $ emerge-eve -Cav dev-rust/quote dev-rust/proc-macro2 and run $ emerge-eve =dev-rust/syn-0.15.21-r1 Change-Id: Iec36ca7d978096e557ba7fbd79b521ce3fe5edf0 Reviewed-on: https://chromium-review.googlesource.com/1426280 Commit-Ready: Chih-Yang Hsia <paulhsia@chromium.org> Tested-by: Chih-Yang Hsia <paulhsia@chromium.org> Reviewed-by: Chih-Yang Hsia <paulhsia@chromium.org> [modify] https://crrev.com/632f9aec3a3af74b5f08ca52788d96510d1f78b3/dev-rust/syn/syn-0.15.21.ebuild [add] https://crrev.com/632f9aec3a3af74b5f08ca52788d96510d1f78b3/dev-rust/syn/syn-0.15.21-r1.ebuild
,
Today
(4 hours ago)
The following revision refers to this bug: https://chromium.googlesource.com/chromiumos/overlays/chromiumos-overlay/+/632f9aec3a3af74b5f08ca52788d96510d1f78b3 commit 632f9aec3a3af74b5f08ca52788d96510d1f78b3 Author: paulhsia <paulhsia@chromium.org> Date: Wed Jan 23 00:53:13 2019 dev-rust/syn: Fix 0.15.21 ebuild dependencies The package needs quote^0.6 and proc-macro2 ^0.4.4. BUG=chromium:916921 TEST=Remove quote and proc-macro2 by $ emerge-eve -Cav dev-rust/quote dev-rust/proc-macro2 and run $ emerge-eve =dev-rust/syn-0.15.21-r1 Change-Id: Iec36ca7d978096e557ba7fbd79b521ce3fe5edf0 Reviewed-on: https://chromium-review.googlesource.com/1426280 Commit-Ready: Chih-Yang Hsia <paulhsia@chromium.org> Tested-by: Chih-Yang Hsia <paulhsia@chromium.org> Reviewed-by: Chih-Yang Hsia <paulhsia@chromium.org> [modify] https://crrev.com/632f9aec3a3af74b5f08ca52788d96510d1f78b3/dev-rust/syn/syn-0.15.21.ebuild [add] https://crrev.com/632f9aec3a3af74b5f08ca52788d96510d1f78b3/dev-rust/syn/syn-0.15.21-r1.ebuild
,
Today
(4 hours ago)
The following revision refers to this bug: https://chromium.googlesource.com/chromiumos/overlays/chromiumos-overlay/+/632f9aec3a3af74b5f08ca52788d96510d1f78b3 commit 632f9aec3a3af74b5f08ca52788d96510d1f78b3 Author: paulhsia <paulhsia@chromium.org> Date: Wed Jan 23 00:53:13 2019 dev-rust/syn: Fix 0.15.21 ebuild dependencies The package needs quote^0.6 and proc-macro2 ^0.4.4. BUG=chromium:916921 TEST=Remove quote and proc-macro2 by $ emerge-eve -Cav dev-rust/quote dev-rust/proc-macro2 and run $ emerge-eve =dev-rust/syn-0.15.21-r1 Change-Id: Iec36ca7d978096e557ba7fbd79b521ce3fe5edf0 Reviewed-on: https://chromium-review.googlesource.com/1426280 Commit-Ready: Chih-Yang Hsia <paulhsia@chromium.org> Tested-by: Chih-Yang Hsia <paulhsia@chromium.org> Reviewed-by: Chih-Yang Hsia <paulhsia@chromium.org> [modify] https://crrev.com/632f9aec3a3af74b5f08ca52788d96510d1f78b3/dev-rust/syn/syn-0.15.21.ebuild [add] https://crrev.com/632f9aec3a3af74b5f08ca52788d96510d1f78b3/dev-rust/syn/syn-0.15.21-r1.ebuild |
||
►
Sign in to add a comment |
||
Comment 1 by paulhsia@chromium.org
, Dec 20