all messages for Guix-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
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’.

  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

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