From: "Ludovic Courtès" <ludo@gnu.org>
To: 38441@debbugs.gnu.org
Cc: "Ludovic Courtès" <ludo@gnu.org>
Subject: [bug#38441] [PATCH 0/5] Record operating system provenance info
Date: Sat, 30 Nov 2019 23:30:13 +0100 [thread overview]
Message-ID: <20191130223013.14257-1-ludo@gnu.org> (raw)
Hello Guix!
This patch series allows ‘guix system’ to record provenance info
about a system in its output: the system itself (e.g.,
/run/current-system) now contains three more files: “channels.scm”,
“configuration.scm”, and “provenance” (a summary of the first two
files.)
That means you can always inspect a deployed system to find its own
“source”. In some cases, you can even run something like:
guix time-machine \
-C /var/guix/profiles/system-N-link/channels.scm -- \
system reconfigure \
/var/guix/profiles/system-N-link/configuration.scm
to rebuild generation N of your system. Pretty cool, no? :-)
Otherwise you can simply run:
guix system describe
to see where your OS comes from.
Provenance tracking is implemented as a service. The service is
automatically added by ‘guix system init’, ‘reconfigure’, and by
‘guix deploy’. For other commands, one can pass ‘--save-provenance’
to turn it on.
This was long overdue!
This has interesting implications on trustworthiness: you can
distribute a VM/Docker image with provenance info, and anyone
can reproduce it and ensure they obtain the same bits (well, ideally,
because I guess a few steps may still not be bit-reproducible).
Thoughts?
Thanks,
Ludo’.
Ludovic Courtès (5):
services: Add 'provenance-service-type'.
guix system: Use 'provenance-service-type', add "--save-provenance".
machine: Add provenance tracking to each machine operating system.
guix system: "list-generations" displays provenance info.
guix system: Add "describe" action.
doc/guix.texi | 109 +++++++++++++++++++++++++++++++++++++---
gnu/machine.scm | 7 ++-
gnu/services.scm | 87 ++++++++++++++++++++++++++++++++
gnu/system.scm | 10 ++++
guix/scripts/pull.scm | 1 +
guix/scripts/system.scm | 107 ++++++++++++++++++++++++++++++++-------
6 files changed, 293 insertions(+), 28 deletions(-)
--
2.24.0
next reply other threads:[~2019-11-30 22:31 UTC|newest]
Thread overview: 8+ messages / expand[flat|nested] mbox.gz Atom feed top
2019-11-30 22:30 Ludovic Courtès [this message]
2019-11-30 22:31 ` [bug#38441] [PATCH 1/5] services: Add 'provenance-service-type' Ludovic Courtès
2019-11-30 22:31 ` [bug#38441] [PATCH 2/5] guix system: Use 'provenance-service-type', add "--save-provenance" Ludovic Courtès
2019-11-30 22:31 ` [bug#38441] [PATCH 3/5] machine: Add provenance tracking to each machine operating system Ludovic Courtès
2019-11-30 22:31 ` [bug#38441] [PATCH 4/5] guix system: "list-generations" displays provenance info Ludovic Courtès
2019-11-30 22:31 ` [bug#38441] [PATCH 5/5] guix system: Add "describe" action Ludovic Courtès
2019-12-02 12:12 ` [bug#38441] [PATCH 0/5] Record operating system provenance info zimoun
2019-12-07 0:03 ` bug#38441: " Ludovic Courtès
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=20191130223013.14257-1-ludo@gnu.org \
--to=ludo@gnu.org \
--cc=38441@debbugs.gnu.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 external index
https://git.savannah.gnu.org/cgit/guix.git
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.