From: "Ludovic Courtès" <ludo@gnu.org>
To: Christopher Baines <mail@cbaines.net>
Cc: guix-devel@gnu.org
Subject: Re: Tracking and inspecting how Guix changes over time
Date: Sat, 09 Feb 2019 16:18:17 +0100 [thread overview]
Message-ID: <87bm3lrnwm.fsf@gnu.org> (raw)
In-Reply-To: <87k1ia5sd4.fsf@cbaines.net> (Christopher Baines's message of "Fri, 08 Feb 2019 13:20:39 +0000")
Hello!
Christopher Baines <mail@cbaines.net> skribis:
> In summary, I've started playing around with a new service, I'm
> currently calling it the "Guix Data Service". The code is here [1], it's
> based off of Ricardo's excellent Mumi, and at the moment only does one
> thing, a basic comparison of two different versions (commits) of Guix
> for the few commits it has data for. I've got it up and running here
> [2].
>
> 1: https://git.cbaines.net/guix/data-service/
> 2: https://prototype-guix-data-service.cbaines.net/
Woow, impressive! I’m sure this is going to be useful in different
ways: for patch review, which is your main target, but also for things
like the hpcguix-web interface, which could provide information about
package history, or to bisect packaging issues, possibly connected to a
‘guix weather’ service.
> The following links relate to a couple of patches affecting the Ruby
> build system.
>
> Issue: https://issues.guix.info/issue/34385
> Patchwork series: https://patchwork.cbaines.net/project/guix-patches/list/?series=535
> Laminar job: https://laminar.cbaines.net/jobs/patchwork-test-series/889
> Git commits: https://git.cbaines.net/guix/patches/log/?h=series-535-version-1&qt=range&q=base-for-series-535-version-1..series-535-version-1
> Comparison: https://prototype-guix-data-service.cbaines.net/compare?base_commit=6fd72f7094885dc3dbb10431996c445251094915&target_commit=7d70e05d7064f31a8de60b04d22ac16c1953b7a9
Neat! With tight integration of all these things, coupled with info
from ‘guix weather’ and ‘guix lint’ and ‘guix challenge’, for example,
we’d have an unequaled QA tool!
> As far as I can see, guix pull/the channels code directly evaluates some
> Guile code from the source repository. It would be great if this could
> somehow be isolated to guard against any malicious patches that try to
> attack the machine running the Guix Data Service, I haven't thought much
> about how yet.
>
> Similarly, using the inferiors approach to extract out information from
> Guix requires running a REPL from the target Guix. This could also pose
> security issues. I was wondering if it was possible to run the REPL
> within a container, to at least isolate it a bit from the system.
Yes, we should definitely run that code in a container. Note that, for
‘guix pull’, I think it’s OK to run that code on the user’s machine
as-is in the sense that the user is going to run code coming from the
channels they specified anyway.
For an automated system like this, it’s a bit different, so using a
container makes a lot of sense. I’d suggest having an option directly
in (guix inferior) to allow users to choose whether to run an inferior
in separate name spaces. WDYT?
(There’s also (ice-9 sandbox) but I think it’s too restrictive to be
applicable here.)
> One other point is that while I've gone with the "web service" approach
> here, I think it would be very useful to have a "guix compare" command
> that did something similar.
Indeed. Part of it is already available in ‘guix pull’, but we could
certainly move the common logic in (guix inferior compare), say. Let’s
try to have as much of this available as UI-independent Guix modules.
This is really exciting, thanks for sharing!
Ludo’.
next prev parent reply other threads:[~2019-02-09 15:18 UTC|newest]
Thread overview: 7+ messages / expand[flat|nested] mbox.gz Atom feed top
2019-02-08 13:20 Tracking and inspecting how Guix changes over time Christopher Baines
2019-02-09 15:18 ` Ludovic Courtès [this message]
2019-02-12 22:05 ` Christopher Baines
2019-02-13 14:37 ` Ricardo Wurmus
2019-02-14 19:10 ` Christopher Baines
2019-02-24 16:25 ` Christopher Baines
2019-02-09 23:58 ` Chris Marusich
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
List information: https://guix.gnu.org/
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=87bm3lrnwm.fsf@gnu.org \
--to=ludo@gnu.org \
--cc=guix-devel@gnu.org \
--cc=mail@cbaines.net \
/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://git.savannah.gnu.org/cgit/guix.git
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 read-only IMAP folder(s) and NNTP newsgroup(s).