patches and low-level development discussion
 help / color / mirror / code / Atom feed
232f96c83fe725063cdf23a353291c214ce7b446 blob 1932 bytes (raw)

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
 
= Setting Up Binary Cache
:page-parent: Build and Run
:page-nav_order: 1

// SPDX-FileCopyrightText: 2022 Alyssa Ross <hi@alyssa.is>
// SPDX-License-Identifier: GFDL-1.3-no-invariants-or-later OR CC-BY-SA-4.0

Building Spectrum OS from source can take a very long time.  To avoid
having to wait when building the system to try it out or test patches,
an x86_64 binary cache service is available.  If configured to do so,
Nix will download build outputs from the cache, instead of building
them locally.

Builds are run on the latest NixOS unstable on
https://www.vultr.com/[Vultr], and are signed to ensure authenticity.
The build infrastructure and signing key are accessible by Alyssa Ross
and Puck Meerburg.  Storage is provided by Daniel Kuehn.  Please
https://spectrum-os.org/participating.html[get in touch] if you
encounter any trouble with it.

The binary cache is currently not able to provide logs, due to a
https://github.com/NixOS/nix/pull/6051[Nix bug].

== For NixOS

The following configuration adds the Spectrum binary cache as a
substituter, and tells Nix to trust builds signed with its public key.

[source,nix]
----
{ ... }:

{
  nix.settings.substituters = [ "https://cache.dataaturservice.se/spectrum/" ];
  nix.settings.trusted-public-keys = [
    "cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY="
    "spectrum-os.org-1:rnnSumz3+Dbs5uewPlwZSTP0k3g/5SRG4hD7Wbr9YuQ="
  ];
}
----

== For Non-NixOS Systems

Add the following configuration to /etc/nix/nix.conf:

[source]
----
substituters = https://cache.dataaturservice.se/spectrum/ https://cache.nixos.org/
trusted-public-keys = cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY= spectrum-os.org-1:rnnSumz3+Dbs5uewPlwZSTP0k3g/5SRG4hD7Wbr9YuQ=
----

If you have other binary caches configured besides cache.nixos.org,
make sure to add the Spectrum cache URL and public key to the existing
configuration lines in your nix.conf file.
debug log:

solving 232f96c ...
found 232f96c in https://spectrum-os.org/lists/archives/spectrum-devel/20220906135533.576642-1-evgeniia.nikolaenko@unikie.com/
found 6e69b39 in https://spectrum-os.org/git/spectrum
preparing index
index prepared:
100644 6e69b3996e0f167283cd6e3efbc20d92d17cb638	Documentation/binary-cache.adoc

applying [1/1] https://spectrum-os.org/lists/archives/spectrum-devel/20220906135533.576642-1-evgeniia.nikolaenko@unikie.com/
diff --git a/Documentation/binary-cache.adoc b/Documentation/installation/binary-cache.adoc
similarity index 90%
rename from Documentation/binary-cache.adoc
rename to Documentation/installation/binary-cache.adoc
index 6e69b39..232f96c 100644

Checking patch Documentation/binary-cache.adoc => Documentation/installation/binary-cache.adoc...
Applied patch Documentation/binary-cache.adoc => Documentation/installation/binary-cache.adoc cleanly.

index at:
100644 232f96c83fe725063cdf23a353291c214ce7b446	Documentation/installation/binary-cache.adoc

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).