Demi Marie Obenour <demiobenour@gmail.com> writes:
This will be needed once the B partitions are added. Otherwise, tar2ext4's size limit is exceeded.
The timeout is increased to account for the very slow compression process.
Signed-off-by: Demi Marie Obenour <demiobenour@gmail.com> --- release/checks/integration/meson.build | 2 +- release/combined/eosimages.nix | 14 +++++++++----- 2 files changed, 10 insertions(+), 6 deletions(-)
I haven't built this yet, so maybe I'm wrong somehow, but doesn't this break "Try Spectrum"? GRUB isn't going to be able to loopback mount a compressed image, I assume. That's why I keep asking what GNOME OS does. We currently produce an image that lets you install Spectrum, or try it out in a live image. Do they do that too? If so, how do they make it so that live image is bootable without being huge? Does their installer resize partitions, perhaps? (I reviewed the rest of the patch anyway, but I think we're going to need a different approach here.)
diff --git a/release/checks/integration/meson.build b/release/checks/integration/meson.build index 7bf8f51e4c762d2279ed6064ae1a87cb9b07494c..eb2860c6871b1067891c07ff7f4ac634cb4af458 100644 --- a/release/checks/integration/meson.build +++ b/release/checks/integration/meson.build @@ -13,6 +13,6 @@ lib = static_library('spectrum-integration-test', 'lib.c')
foreach test : ['appimage', 'late-serial', 'networking', 'portal'] test(test, executable(test, test + '.c', link_with : lib), - timeout : 400, + timeout : 800,
Did you measure this, and find that it was actually roughly twice as long? I'd like to keep the timeouts grounded in measurement, so this should be increased by an actual measured factor.
args : [run_qemu]) endforeach diff --git a/release/combined/eosimages.nix b/release/combined/eosimages.nix index 0ac4c48374e7098a2b91f61fc07cebb2042ffbdc..ba44d9cd82d55d491293ed36cc0402db8ebd3ffe 100644 --- a/release/combined/eosimages.nix +++ b/release/combined/eosimages.nix @@ -12,11 +12,15 @@ runCommand "eosimages.img" { unsafeDiscardReferences = { out = true; }; dontFixup = true; } '' + set -o pipefail
This is set by stdenv.
mkdir dir cd dir - ln -s $image $imageName - sha256sum $imageName > $imageName.sha256 - tar -chf $NIX_BUILD_TOP/eosimages.tar * - tar2ext4 -i $NIX_BUILD_TOP/eosimages.tar -o $out - e2label $out eosimages + ln -s -- "$image" "$imageName" + sha256sum -- "$imageName" > "$imageName.sha256" &
What's this used for? The eos-installer README indicates that it looks at the hash of the compressed image.
+ pid=$! + gzip -9 < "$image" > "$imageName.gz" + sha256sum -- "$imageName.gz" > "$imageName.gz.sha256" + wait "$pid" + tar -ch -- "$imageName.gz" "$imageName.gz.sha256" "$imageName.sha256" | tar2ext4 -o "$out" + e2label "$out" eosimages '') (_: {})
Please separate quoting/escaping changes to keep functional diffs easier to identify, and check if they're actually necessary. They never are for store paths because Nixpkgs assumes that.