From: Alyssa Ross <hi@alyssa.is>
To: Demi Marie Obenour <demiobenour@gmail.com>
Cc: Spectrum OS Development <devel@spectrum-os.org>
Subject: Re: [PATCH 5/7] release: add install step
Date: Wed, 29 Oct 2025 13:20:47 +0100 [thread overview]
Message-ID: <87pla5kig0.fsf@alyssa.is> (raw)
In-Reply-To: <20251029-updates-v1-5-401c1be2a11b@gmail.com>
[-- Attachment #1: Type: text/plain, Size: 6826 bytes --]
Demi Marie Obenour <demiobenour@gmail.com> writes:
> This step provides versioned release artifacts. Writing a detached
> OpenPGP signature of SHA256SUMS to SHA256SUMS.gpg is sufficient to
> create a directory usable by systemd-sysupdate.
>
> Signed-off-by: Demi Marie Obenour <demiobenour@gmail.com>
> ---
> host/rootfs/Makefile | 4 ++--
> host/rootfs/default.nix | 6 +++---
> release/checks/integration/default.nix | 2 +-
> release/combined/eosimages.nix | 2 +-
> release/live/Makefile | 14 ++++++++++++++
> release/live/default.nix | 5 +----
> 6 files changed, 22 insertions(+), 11 deletions(-)
And then on the server we'd only serve one of these at a time, so we'd
use the SHA256SUMS file generated by the build?
> diff --git a/host/rootfs/Makefile b/host/rootfs/Makefile
> index 84f1b385198ecfa5905b69e4901e56150ea1b424..35adb3d972c1a30705a5b123c65abf837617eb72 100644
> --- a/host/rootfs/Makefile
> +++ b/host/rootfs/Makefile
> @@ -91,7 +91,7 @@ clean:
> # supports one output per rule, so we combine the two outputs then
> # define two more rules to separate them again.
> build/rootfs.verity: $(dest)
> - $(VERITYSETUP) format $(dest) build/rootfs.verity.superblock.tmp \
> + set -euo pipefail; $(VERITYSETUP) format $(dest) build/rootfs.verity.superblock.tmp \
> | awk -F ':[[:blank:]]*' '$$1 == "Root hash" {print $$2; exit}' \
> > build/rootfs.verity.roothash.tmp
> cat build/rootfs.verity.roothash.tmp build/rootfs.verity.superblock.tmp \
Correct but unrelated change.
> @@ -100,7 +100,7 @@ build/rootfs.verity: $(dest)
> build/rootfs.verity.roothash: build/rootfs.verity
> head -n 1 build/rootfs.verity > $@
> build/rootfs.verity.superblock: build/rootfs.verity
> - tail -n +2 build/rootfs.verity > $@
> + { read -r && cat; } < build/rootfs.verity > $@
Why?
> diff --git a/host/rootfs/default.nix b/host/rootfs/default.nix
> index bc364b930b30e00c55b17b5e4248a303392cf3a0..995b9bfd4c53edf9fa060011c128464518d15d6e 100644
> --- a/host/rootfs/default.nix
> +++ b/host/rootfs/default.nix
> @@ -8,8 +8,8 @@ import ../../lib/call-package.nix (
> }:
> pkgsStatic.callPackage (
>
> -{ busybox, cloud-hypervisor, cryptsetup, dbus, erofs-utils, execline
> -, inkscape, inotify-tools, iproute2, jq, lib, mdevd, nixos
> +{ btrfs-progs, busybox, cloud-hypervisor, cryptsetup, dbus, erofs-utils
> +, execline, inkscape, inotify-tools, iproute2, jq, lib, mdevd, nixos
> , runCommand, s6, s6-linux-init, s6-rc, socat, spectrum-host-tools
> , stdenvNoCC, util-linux, virtiofsd, writeClosure
> , xdg-desktop-portal-spectrum-host, xorg
> @@ -82,7 +82,7 @@ let
> # Packages that should be fully linked into /usr,
> # (not just their bin/* files).
> usrPackages = [
> - appvm kernel.modules firmware kmod kmod.lib
> + appvm btrfs-progs firmware kernel.modules kmod kmod.lib
> netvm mesa dejavu_fonts systemd util-linux westonLite
> ];
>
Unrelated.
> diff --git a/release/checks/integration/default.nix b/release/checks/integration/default.nix
> index 340fb6e11fed5971caf879d0a8a40baf395a7589..947d9cb8f2a5e1d7e93b6814581d33e342b522fc 100644
> --- a/release/checks/integration/default.nix
> +++ b/release/checks/integration/default.nix
> @@ -86,7 +86,7 @@ stdenv.mkDerivation (finalAttrs: {
> env = {
> QEMU_SYSTEM = "qemu-system-${stdenv.hostPlatform.qemuArch} -nographic";
> EFI_PATH = "${qemu_kvm}/share/qemu/edk2-${stdenv.hostPlatform.qemuArch}-code.fd";
> - IMG_PATH = live;
> + IMG_PATH = "${live}/live.img";
> USER_DATA_PATH = userData;
> };
>
> diff --git a/release/combined/eosimages.nix b/release/combined/eosimages.nix
> index ba44d9cd82d55d491293ed36cc0402db8ebd3ffe..b168dcf61a74f96fed1d52858c0c3ebfc311873c 100644
> --- a/release/combined/eosimages.nix
> +++ b/release/combined/eosimages.nix
> @@ -7,7 +7,7 @@ import ../../lib/call-package.nix (
> runCommand "eosimages.img" {
> nativeBuildInputs = [ e2fsprogs tar2ext4 ];
> imageName = "Spectrum-0.0-x86_64-generic.0.Live.img";
> - image = callSpectrumPackage ../live {};
> + image = "${callSpectrumPackage ../live {}}/live.img";
> __structuredAttrs = true;
> unsafeDiscardReferences = { out = true; };
> dontFixup = true;
> diff --git a/release/live/Makefile b/release/live/Makefile
> index 3072d869f13efbf5ea196d191881aeab85726d2e..9aa2488a57ba583ff49f0d95af4f91878a0cd5dd 100644
> --- a/release/live/Makefile
> +++ b/release/live/Makefile
> @@ -30,6 +30,20 @@ build/spectrum.efi: build/rootfs.verity.roothash $(DTBS) $(KERNEL) $(INITRAMFS)
> --os-release $$'NAME="Spectrum"\n' \
> --cmdline "ro intel_iommu=on x-spectrum-roothash=$$roothash x-spectrum-version=$$VERSION"
>
> +install: build/rootfs.verity.superblock $(ROOT_FS) build/spectrum.efi $(dest)
> + set -euo pipefail; \
I don't think this needs to hack around the normal Make thing of having
one shell per line.
> + $(READ_ROOTHASH); \
> + mkdir -p -- $(DESTDIR) build; \
> + cp -- build/rootfs.verity.superblock $(DESTDIR)/"Spectrum_OS_$$VERSION.verity"; \
> + cp -- $(ROOT_FS) $(DESTDIR)/"Spectrum_OS_$$VERSION.root"; \
> + cp -- build/spectrum.efi $(DESTDIR)/"Spectrum_OS_$$VERSION.efi"; \
> + cp $(dest) $(DESTDIR)/live.img; \
> + cd $(DESTDIR); \
> + sha256sum live.img \
> + "Spectrum_OS_$$VERSION.root" \
> + "Spectrum_OS_$$VERSION.verity" \
> + "Spectrum_OS_$$VERSION.efi" > SHA256SUMS
> +
No "OS" in the project name.
Given that we won't ever want the live image and the individual
partition updates at the same time, it probably makes sense to put these
into separate builds. Maybe we add host/verity and host/efi to build
those, assemble them into an image in release/live, and also add
release/update that combines the partition images and the SHA256SUMS
file.
> diff --git a/release/live/default.nix b/release/live/default.nix
> index b5c0c8df31d4c6cb7fdd2337e8169f36655dd1a8..c6dcabd49363e113eb0783ced2a167633a6e19c3 100644
> --- a/release/live/default.nix
> +++ b/release/live/default.nix
> @@ -56,14 +56,11 @@ stdenv.mkDerivation {
> SYSTEMD_BOOT_EFI = "${systemd}/lib/systemd/boot/efi/systemd-boot${efiArch}.efi";
> EFINAME = "BOOT${toUpper efiArch}.EFI";
> VERSION = import ../../lib/version.nix;
> + DESTDIR = "$(out)";
> } // lib.optionalAttrs stdenv.hostPlatform.linux-kernel.DTB or false {
> DTBS = "${rootfs.kernel}/dtbs";
> };
>
> - buildFlags = [ "dest=$(out)" ];
> -
DESTDIR should stay in buildFlags so it's not in the environment for
nix-shell.
> - dontInstall = true;
> -
> enableParallelBuilding = true;
>
> __structuredAttrs = true;
>
> --
> 2.51.2
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 227 bytes --]
next prev parent reply other threads:[~2025-10-29 12:21 UTC|newest]
Thread overview: 177+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-10-29 10:12 [PATCH 0/7] System updates based on systemd-sysupdate Demi Marie Obenour
2025-10-29 10:12 ` [PATCH 1/7] host/rootfs: Use full util-linux and systemd Demi Marie Obenour
2025-10-29 11:36 ` Alyssa Ross
2025-11-01 3:25 ` Demi Marie Obenour
2025-11-01 12:13 ` Alyssa Ross
2025-11-06 9:15 ` Demi Marie Obenour
2025-10-29 10:12 ` [PATCH 2/7] release/combined: Compress installation image Demi Marie Obenour
2025-10-29 11:50 ` Alyssa Ross
2025-10-29 16:51 ` Alyssa Ross
2025-11-01 22:15 ` Demi Marie Obenour
2025-11-02 0:18 ` Demi Marie Obenour
2025-11-02 12:05 ` Alyssa Ross
2025-11-02 14:42 ` Alyssa Ross
2025-11-02 19:38 ` Demi Marie Obenour
2025-10-29 10:12 ` [PATCH 3/7] tools: Add directory checker for updates Demi Marie Obenour
2025-10-29 12:01 ` Alyssa Ross
2025-10-31 20:31 ` Demi Marie Obenour
2025-11-01 12:17 ` Alyssa Ross
2025-11-01 14:09 ` Alyssa Ross
2025-11-01 18:36 ` Demi Marie Obenour
2025-11-02 12:18 ` Alyssa Ross
2025-11-02 12:43 ` Alyssa Ross
2025-11-02 19:34 ` Demi Marie Obenour
2025-11-04 15:26 ` Alyssa Ross
2025-11-02 19:21 ` Demi Marie Obenour
2025-11-04 15:27 ` Alyssa Ross
2025-11-04 22:56 ` Demi Marie Obenour
2025-11-06 10:15 ` Alyssa Ross
2025-10-29 10:12 ` [PATCH 4/7] Adjust partition layout to support updates Demi Marie Obenour
2025-10-29 15:49 ` Alyssa Ross
2025-10-29 10:12 ` [PATCH 5/7] release: add install step Demi Marie Obenour
2025-10-29 12:20 ` Alyssa Ross [this message]
2025-10-29 10:12 ` [PATCH 6/7] Factor out dm-verity build rules Demi Marie Obenour
2025-10-29 12:22 ` Alyssa Ross
2025-10-31 6:39 ` Demi Marie Obenour
2025-10-29 10:12 ` [PATCH 7/7] Support updates via systemd-sysupdate Demi Marie Obenour
2025-10-29 15:48 ` Alyssa Ross
2025-11-12 22:14 ` [PATCH v2 0/8] System updates based on systemd-sysupdate Demi Marie Obenour
2025-11-12 22:14 ` [PATCH v2 1/8] host/rootfs: Install all programs from util-linuxMinimal Demi Marie Obenour
2025-11-13 12:35 ` Alyssa Ross
2025-11-12 22:14 ` [PATCH v2 2/8] host/rootfs: Install systemd-pull Demi Marie Obenour
2025-11-13 15:22 ` Alyssa Ross
2025-11-13 23:46 ` Demi Marie Obenour
2025-11-14 11:59 ` Alyssa Ross
2025-11-12 22:14 ` [PATCH v2 3/8] tools: Add directory checker for updates Demi Marie Obenour
2025-11-13 13:21 ` Alyssa Ross
2025-11-13 17:53 ` Demi Marie Obenour
2025-11-13 18:01 ` Alyssa Ross
2025-11-13 18:03 ` Demi Marie Obenour
2025-11-14 13:08 ` Alyssa Ross
2025-11-14 18:37 ` Demi Marie Obenour
2025-11-15 15:20 ` Alyssa Ross
2025-11-12 22:14 ` [PATCH v2 4/8] Adjust partition layout to support updates Demi Marie Obenour
2025-11-13 16:00 ` Alyssa Ross
2025-11-12 22:14 ` [PATCH v2 5/8] release: Create directory with system update Demi Marie Obenour
2025-11-13 16:04 ` Alyssa Ross
2025-11-13 18:23 ` Demi Marie Obenour
2025-11-13 19:09 ` Alyssa Ross
2025-11-12 22:15 ` [PATCH v2 6/8] Support updates via systemd-sysupdate Demi Marie Obenour
2025-11-13 16:44 ` Alyssa Ross
2025-11-13 20:25 ` Demi Marie Obenour
2025-11-14 12:14 ` Alyssa Ross
2025-11-14 23:16 ` Demi Marie Obenour
2025-11-20 14:56 ` Alyssa Ross
2025-11-20 19:42 ` Demi Marie Obenour
2025-11-12 22:15 ` [PATCH v2 7/8] Documentation: Update support Demi Marie Obenour
2025-11-13 16:49 ` Alyssa Ross
2025-11-13 22:24 ` Demi Marie Obenour
2025-11-14 12:16 ` Alyssa Ross
2025-11-12 22:15 ` [PATCH v2 8/8] lib/config.nix: Validate configuration parameters Demi Marie Obenour
2025-11-13 17:16 ` Alyssa Ross
2025-11-19 8:18 ` [PATCH v3 00/14] System updates based on systemd-sysupdate Demi Marie Obenour
2025-11-19 8:18 ` [PATCH v3 01/14] host/rootfs: Install all programs from util-linuxMinimal Demi Marie Obenour
2025-11-19 14:14 ` Alyssa Ross
2025-11-20 0:12 ` Demi Marie Obenour
2025-11-19 8:18 ` [PATCH v3 02/14] host/rootfs: Install systemd-pull Demi Marie Obenour
2025-11-19 8:18 ` [PATCH v3 03/14] tools: Add directory checker for updates Demi Marie Obenour
2025-11-19 14:45 ` Alyssa Ross
2025-11-19 23:58 ` Demi Marie Obenour
2025-11-19 8:18 ` [PATCH v3 04/14] scripts: port make-gpt.sh to bash Demi Marie Obenour
2025-11-20 10:28 ` Demi Marie Obenour
2025-11-19 8:18 ` [PATCH v3 05/14] scripts/make-gpt.sh: Allow specifying partition size Demi Marie Obenour
2025-11-19 8:18 ` [PATCH v3 06/14] Support generating multiple partition UUIDs Demi Marie Obenour
2025-11-19 8:18 ` [PATCH v3 07/14] scripts: Use shell expansion to get partition path Demi Marie Obenour
2025-11-19 8:18 ` [PATCH v3 08/14] Use OS version to set partition labels and UKI name Demi Marie Obenour
2025-11-20 12:11 ` Demi Marie Obenour
2025-11-19 8:18 ` [PATCH v3 09/14] release: Compress installation images and remove live image Demi Marie Obenour
2025-11-20 12:14 ` Demi Marie Obenour
2025-11-19 8:18 ` [PATCH v3 10/14] Add B partitions to installation images Demi Marie Obenour
2025-11-19 8:18 ` [PATCH v3 11/14] release: Create directory with system update Demi Marie Obenour
2025-11-19 8:18 ` [PATCH v3 12/14] Support updates via systemd-sysupdate Demi Marie Obenour
2025-11-19 8:18 ` [PATCH v3 13/14] Documentation: Update support Demi Marie Obenour
2025-11-19 8:18 ` [PATCH v3 14/14] Validate configuration parameters Demi Marie Obenour
2025-11-22 1:23 ` [PATCH v4 00/14] System updates based on systemd-sysupdate Demi Marie Obenour
2025-11-22 1:23 ` [PATCH v4 01/14] host/rootfs: Install all programs from util-linuxMinimal Demi Marie Obenour
2025-11-25 11:56 ` Alyssa Ross
2025-11-22 1:23 ` [PATCH v4 02/14] host/rootfs: Install systemd-pull Demi Marie Obenour
2025-11-25 7:36 ` Alyssa Ross
2025-11-22 1:23 ` [PATCH v4 03/14] tools: Add directory checker for updates Demi Marie Obenour
2025-11-22 1:23 ` [PATCH v4 04/14] scripts: port make-gpt.sh to bash Demi Marie Obenour
2025-11-22 1:23 ` [PATCH v4 05/14] scripts/make-gpt.sh: Allow specifying partition size Demi Marie Obenour
2025-11-22 1:23 ` [PATCH v4 06/14] Support generating multiple partition UUIDs Demi Marie Obenour
2025-11-25 13:02 ` Alyssa Ross
2025-11-26 18:26 ` Demi Marie Obenour
2025-11-22 1:23 ` [PATCH v4 07/14] scripts: Use shell expansion to get partition path Demi Marie Obenour
2025-11-22 1:23 ` [PATCH v4 08/14] release: Compress installation images and remove live image Demi Marie Obenour
2025-11-25 13:19 ` Alyssa Ross
2025-11-25 22:38 ` Demi Marie Obenour
2025-11-28 11:09 ` Alyssa Ross
2025-11-28 19:45 ` Demi Marie Obenour
2025-11-22 1:23 ` [PATCH v4 09/14] Use OS version to set partition labels and UKI name Demi Marie Obenour
2025-11-25 14:11 ` Alyssa Ross
2025-11-22 1:23 ` [PATCH v4 10/14] Add B partitions to installation images Demi Marie Obenour
2025-11-25 16:31 ` Alyssa Ross
2025-11-22 1:23 ` [PATCH v4 11/14] release: Create directory with system update Demi Marie Obenour
2025-11-25 16:50 ` Alyssa Ross
2025-11-22 1:23 ` [PATCH v4 12/14] Support updates via systemd-sysupdate Demi Marie Obenour
2025-11-25 17:54 ` Alyssa Ross
2025-11-22 1:23 ` [PATCH v4 13/14] Documentation: Update support Demi Marie Obenour
2025-11-25 18:00 ` Alyssa Ross
2025-11-22 1:23 ` [PATCH v4 14/14] Validate configuration parameters Demi Marie Obenour
2025-11-25 18:06 ` Alyssa Ross
2025-11-25 12:22 ` [PATCH v4 00/14] System updates based on systemd-sysupdate Alyssa Ross
2025-11-26 19:40 ` [PATCH v5 00/13] " Demi Marie Obenour
2025-11-26 19:40 ` [PATCH v5 01/13] tools: Add directory checker for updates Demi Marie Obenour
2025-11-26 19:40 ` [PATCH v5 02/13] scripts: port make-gpt.sh to bash Demi Marie Obenour
2025-11-26 19:40 ` [PATCH v5 03/13] scripts/make-gpt.sh: Allow specifying partition size Demi Marie Obenour
2025-11-26 19:40 ` [PATCH v5 04/13] Port scripts/format-uuid.sh to awk Demi Marie Obenour
2025-11-26 19:40 ` [PATCH v5 05/13] Use set and a command substitution to set UUID variables Demi Marie Obenour
2025-11-26 19:40 ` [PATCH v5 06/13] scripts: Use shell expansion to get partition path Demi Marie Obenour
2025-11-28 11:20 ` Alyssa Ross
2025-11-26 19:40 ` [PATCH v5 07/13] release: Compress installation images and remove live image Demi Marie Obenour
2025-11-28 11:21 ` Alyssa Ross
2025-11-26 19:40 ` [PATCH v5 08/13] Use OS version to set partition labels and UKI name Demi Marie Obenour
2025-11-26 19:40 ` [PATCH v5 09/13] Add B partitions to installation images Demi Marie Obenour
2025-11-28 11:23 ` Alyssa Ross
2025-11-26 19:40 ` [PATCH v5 10/13] release: Create directory with system update Demi Marie Obenour
2025-11-26 19:40 ` [PATCH v5 11/13] Support updates via systemd-sysupdate Demi Marie Obenour
2025-11-28 13:47 ` Alyssa Ross
2025-11-28 20:27 ` Demi Marie Obenour
2025-11-28 20:41 ` Alyssa Ross
2025-11-28 20:44 ` Demi Marie Obenour
2025-11-28 21:08 ` Alyssa Ross
2025-11-28 21:28 ` Demi Marie Obenour
2025-11-28 21:30 ` Alyssa Ross
2025-11-26 19:40 ` [PATCH v5 12/13] Documentation: Update support Demi Marie Obenour
2025-11-26 19:40 ` [PATCH v5 13/13] Validate configuration parameters Demi Marie Obenour
2025-11-29 9:49 ` [PATCH v6 0/8] System updates based on systemd-sysupdate Demi Marie Obenour
2025-11-29 9:49 ` [PATCH v6 1/8] tools: Add directory checker for updates Demi Marie Obenour
2025-11-29 11:16 ` Alyssa Ross
2025-11-29 9:49 ` [PATCH v6 2/8] release: Compress installation images and remove live image Demi Marie Obenour
2025-11-29 11:16 ` Alyssa Ross
2025-11-29 9:50 ` [PATCH v6 3/8] Use OS version to set partition labels and UKI name Demi Marie Obenour
2025-11-29 11:16 ` Alyssa Ross
2025-11-29 9:50 ` [PATCH v6 4/8] Add B partitions to installation images Demi Marie Obenour
2025-11-29 11:16 ` Alyssa Ross
2025-11-29 9:50 ` [PATCH v6 5/8] release: Create directory with system update Demi Marie Obenour
2025-11-29 11:16 ` Alyssa Ross
2025-11-29 9:50 ` [PATCH v6 6/8] Support updates via systemd-sysupdate Demi Marie Obenour
2025-11-29 11:16 ` Alyssa Ross
2025-11-29 9:50 ` [PATCH v6 7/8] Documentation: Update support Demi Marie Obenour
2025-11-30 21:46 ` Alyssa Ross
2025-11-29 9:50 ` [PATCH v6 8/8] Validate configuration parameters Demi Marie Obenour
2025-11-26 19:33 ` [PATCH v4 00/13] System updates based on systemd-sysupdate Demi Marie Obenour
2025-11-26 19:33 ` [PATCH v4 01/13] tools: Add directory checker for updates Demi Marie Obenour
2025-11-26 19:34 ` [PATCH v4 02/13] scripts: port make-gpt.sh to bash Demi Marie Obenour
2025-11-26 19:34 ` [PATCH v4 03/13] scripts/make-gpt.sh: Allow specifying partition size Demi Marie Obenour
2025-11-26 19:34 ` [PATCH v4 04/13] Port scripts/format-uuid.sh to awk Demi Marie Obenour
2025-11-26 19:34 ` [PATCH v4 05/13] Use set and a command substitution to set UUID variables Demi Marie Obenour
2025-11-26 19:34 ` [PATCH v4 06/13] scripts: Use shell expansion to get partition path Demi Marie Obenour
2025-11-26 19:34 ` [PATCH v4 07/13] release: Compress installation images and remove live image Demi Marie Obenour
2025-11-26 19:34 ` [PATCH v4 08/13] Use OS version to set partition labels and UKI name Demi Marie Obenour
2025-11-26 19:34 ` [PATCH v4 09/13] Add B partitions to installation images Demi Marie Obenour
2025-11-26 19:34 ` [PATCH v4 10/13] release: Create directory with system update Demi Marie Obenour
2025-11-26 19:34 ` [PATCH v4 11/13] Support updates via systemd-sysupdate Demi Marie Obenour
2025-11-26 19:34 ` [PATCH v4 12/13] Documentation: Update support Demi Marie Obenour
2025-11-26 19:34 ` [PATCH v4 13/13] Validate configuration parameters Demi Marie Obenour
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=87pla5kig0.fsf@alyssa.is \
--to=hi@alyssa.is \
--cc=demiobenour@gmail.com \
--cc=devel@spectrum-os.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
Code repositories for project(s) associated with this public inbox
https://spectrum-os.org/git/crosvm
https://spectrum-os.org/git/doc
https://spectrum-os.org/git/mktuntap
https://spectrum-os.org/git/nixpkgs
https://spectrum-os.org/git/spectrum
https://spectrum-os.org/git/ucspi-vsock
https://spectrum-os.org/git/www
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).