Commit graph

33 commits

Author SHA1 Message Date
Astro b7731c3997 crosvm: install both .policy and .bpf files
`crosvm --seccomp-log-failures` requires the .policy files. see:
https://crosvm.dev/book/building_crosvm.html#known-issues
2022-08-17 18:03:50 +02:00
Astro 020c641a88 crosvm: 103.3 -> 104.0 2022-08-14 14:35:09 +02:00
Alyssa Ross f85bbdf2d7 crosvm: don't repeat the path to Cargo.lock
This makes it slightly more convenient to test a local crosvm, by not
having to change the path to Cargo.lock twice.  It's also just cleaner.
2022-08-12 07:55:09 +00:00
Alyssa Ross 290039f8cd crosvm: get rid of upstream-info.json
This was important when building crosvm required assembling our own
build tree from lots of different repositories, but now that they've
moved to submodules, it's overly complicated and needlessly
inconsistent with the rest of Nixpkgs.
2022-08-12 07:55:09 +00:00
Alyssa Ross 7f4172608e crosvm: drop code for running integration tests
These are no longer by default as they have been extracted into their
own crate, so this code wasn't doing anything.  If we did want to run
the integration tests again, we'd have to download kernel and rootfs
binaries from Google, and that's more trouble than it's worth.
2022-08-12 07:55:09 +00:00
Alyssa Ross a4e921432f crosvm: use cpu arch name to find seccomp files
This matches for both supported platforms, and the package is already
marked incompatible with other processes, so we can simplify here.
2022-08-12 07:55:09 +00:00
Alyssa Ross de662ab315 crosvm: reindent
This style is more common across Nixpkgs.
2022-08-12 07:55:09 +00:00
Alyssa Ross ad7f06781b crosvm: precompile seccomp policy files
This saves crosvm having to compile them at runtime, and allows us to
catch more errors at build time.
2022-08-02 12:25:58 +00:00
Alyssa Ross 5df33d0216 crosvm: add support for virgl_renderer{,_next} 2022-07-23 08:42:31 +00:00
Alyssa Ross b273c33cb2 crosvm.updateScript: update repo URL
ed7d455a43
2022-07-21 16:30:56 +00:00
Alyssa Ross c83e38c40d crosvm: 100.14526.0.0-rc1 -> 103.3
This is the first update using the new versioning scheme in introduced
in the previous commit.
2022-07-21 16:30:56 +00:00
Alyssa Ross c01c68bf1c crosvm.updateScript: stop trying manifest-versions
manifest-versions never seems to contain the release build any more,
so we can't use it to find the version of crosvm being served to CrOS
devices.

Instead, I've changed the update script to take the latest version of
the appropriate crosvm Chrome OS release branch.  This is the branch
that gets served.  Every release, it is branched off from the
"chromeos" branch (which is the one that passes Chrome OS QA), and
then collects any critical fixes over the lifetime of the release.

With this change, I've introduced a new, simplified versioning
scheme, e.g. 100.0.  The tip build is always 1:1 with the Chrome
version, so having both of those is redundant.  The other number is
the number of commits that have been added to the release branch after
branching from the chromeos branch, so that the number will go up if
we update to include a new commit from the same release.
2022-07-21 16:30:56 +00:00
Alyssa Ross acdfec904d crosvm.updateScript: update for new serving dash
The old dashboard no longer exists.  Currently, the platform version
being served doesn't exist in manifest versions, but that was also a
problem we had before sometimes.
2022-07-21 16:30:56 +00:00
Alyssa Ross 931ae3ee7b crosvm.updateScript: check for . in buildspec name
Otherwise, we might only match a prefix of the version.  (Although
it's not likely to be a problem in practice — I doubt we'll end up in
a situation where there's a buildspec number 10x the one we're looking
for.)
2022-07-21 16:30:56 +00:00
Alyssa Ross 11ffcf0fdf crosvm.updateScript: remove unused import 2022-07-21 16:30:56 +00:00
Alyssa Ross ff8e90326f crosvm: fix seccomp directory on aarch64
"arm" is for 32-bit ARM.  (Which I don't think is even still
supported, but it's still present.)
2022-07-17 07:37:50 +00:00
Alyssa Ross 7e7aa63d3b crosvm: enable debug info 2022-07-16 09:21:57 +00:00
Alyssa Ross 40f140ad87 crosvm: 99.14468.0.0-rc1 -> 100.14526.0.0-rc1 2022-04-13 08:20:32 +00:00
Alyssa Ross 26d66fbfa9 crosvm.updateScript: generate Cargo.lock 2022-04-13 08:20:32 +00:00
Alyssa Ross 6aefdafbed crosvm: 81.12871.0.0-rc1 -> 99.14468.0.0-rc1
crosvm now uses submodules for all of its dependencies to ease
out-of-tree builds, so we no longer need to try to reconstruct a
partial Chromium OS source tree ourselves.  Yay!

But, it no longer comes with a Cargo.lock, so we have to bundle that.
2022-03-21 14:21:44 +00:00
Daniël de Kok 85f96822a0 treewide: fix cargoSha256/cargoHash
Rust 1.50.0 incorporated a Cargo change (rust-lang/cargo#8937) in
which cargo vendor erroneously changed permissions of vendored
crates. This was fixed in Rust
1.51.0 (rust-lang/cargo#9131). Unfortunately, this means that all
cargoSha256/cargoHashes produced during the Rust 1.50.0 cycle are
potentially broken.

This change updates cargoSha256/cargoHash tree-wide.

Fixes #121994.
2021-05-08 00:36:37 -07:00
John Ericson 9c213398b3 lib: Clean up how linux and gcc config is specified
Second attempt of 8929989614589ee3acd070a6409b2b9700c92d65; see that
commit for details.

This reverts commit 0bc275e634.
2021-01-23 10:01:28 -05:00
Jonathan Ringer 0bc275e634
Revert "lib: Clean up how linux and gcc config is specified"
This is a stdenv-rebuild, and should not be merged
into master

This reverts commit 8929989614.
2021-01-22 14:07:06 -08:00
John Ericson 8929989614 lib: Clean up how linux and gcc config is specified
The `platform` field is pointless nesting: it's just stuff that happens
to be defined together, and that should be an implementation detail.

This instead makes `linux-kernel` and `gcc` top level fields in platform
configs. They join `rustc` there [all are optional], which was put there
and not in `platform` in anticipation of a change like this.

`linux-kernel.arch` in particular also becomes `linuxArch`, to match the
other `*Arch`es.

The next step after is this to combine the *specific* machines from
`lib.systems.platforms` with `lib.systems.examples`, keeping just the
"multiplatform" ones for defaulting.
2021-01-21 22:44:09 -05:00
Ben Siraphob 5d566c43b4 pkgs/applications: pkgconfig -> pkg-config 2021-01-16 23:49:59 -08:00
Alyssa Ross 98b3ac8d40 crosvm: 79.12607.0.0-rc4 -> 81.12871.0.0-rc1 2020-04-23 09:06:11 +00:00
Alyssa Ross 56e9d1f936 chromiumOSPackages.updateScript: fix buildspec url
"paladin" doesn't seem to be up to date, whereas "full" seems to match
what cros-updates-serving.appspot.com reports is currently being
shipped to Chromebooks.
2020-04-23 09:06:11 +00:00
Benjamin Hipple ad30a30488 rustPlatform.fetchCargo: handle custom Cargo.lock patchfiles with validation
Previously, we would asssert that the lockfiles are consistent during the
unpackPhase, but if the pkg has a patch for the lockfile itself then we must
wait until the patchPhase is complete to check.

This also removes an implicity dependency on the src attribute coming from
`fetchzip` / `fetchFromGitHub`, which happens to name the source directory
"source". Now we glob for it, so different fetchers will work consistently.
2020-02-28 18:54:23 -08:00
Benjamin Hipple eb11feaa0b treewide: change fetchCargoTarball default to opt-out
Changes the default fetcher in the Rust Platform to be the newer
`fetchCargoTarball`, and changes every application using the current default to
instead opt out.

This commit does not change any hashes or cause any rebuilds. Once integrated,
we will start deleting the opt-outs and recomputing hashes.

See #79975 for details.
2020-02-13 22:41:37 -08:00
Alyssa Ross c76deaef9c crosvm: 77.12371.0.0-rc1 -> 79.12607.0.0-rc4
Replaced src munging with a custom unpackPhase because the previous
approach couldn't handle a newly introduced path with a space, and
this is cleaner anyway (but was impossible at the time due to
unpackPhase not being forwarded to fetchcargo).
2019-12-24 17:23:52 +00:00
Alyssa Ross 0c62e73b37 crosvm: add myself as maintainer 2019-12-24 17:23:52 +00:00
Alyssa Ross 7e683f6393 crosvm.updateScript: use more stable update source
It has been explained to me that cros-omahaproxy reports which
versions are available to users, while cros-updates-serving reports
the latest builds available for each channel.  The latter is probably
better for our use case anyway, and apparently, while both aren't
officially supported, is less likely to randomly break.

So let's use that instead, even if it is much more annoying to parse.
2019-12-24 17:23:52 +00:00
Alyssa Ross d3b0f178ef crosvm: init at 77.12371.0.0-rc1
Co-Authored-By: hyperfekt <git@hyperfekt.net>
2019-11-06 19:35:48 +01:00