GNU bug report logs - #54997
[PATCH 00/12] Add "least authority" program wrapper

Previous Next

Package: guix-patches;

Reported by: Ludovic Courtès <ludo <at> gnu.org>

Date: Sun, 17 Apr 2022 21:02:02 UTC

Severity: normal

Tags: patch

Done: Ludovic Courtès <ludo <at> gnu.org>

Bug is archived. No further changes may be made.

Full log


View this message in rfc822 format

From: Ludovic Courtès <ludo <at> gnu.org>
To: Thiago Jung Bauermann <bauermann <at> kolabnow.com>
Cc: 54997 <at> debbugs.gnu.org
Subject: [bug#54997] [PATCH 00/12] Add "least authority" program wrapper
Date: Tue, 26 Apr 2022 22:17:44 +0200
Hi Thiago,

Thiago Jung Bauermann <bauermann <at> kolabnow.com> skribis:

> This is an awesome series! It will be yet another strength of Guix to
> have many services as possible (and even desktop apps, hopefully)
> isolated.

Thanks.  :-)

> Ludovic Courtès <ludo <at> gnu.org> writes:
>
>> +                             (define (read-graph port)
>> +                               ;; Return the list of references read from
>> +                               ;; PORT.  This is a stripped-down version of
>> +                               ;; 'read-reference-graph'.
>> +                               (let loop ((items '()))
>> +                                 (match (read-line port)
>> +                                   ((? eof-object?)
>> +                                    items)
>> +                                   ((? string? item)
>> +                                    (let ((deriver (read-line port))
>> +                                          (count
>> +                                           (string->number (read-line port))))
>> +                                      (drop-lines port count)
>> +                                      (loop (cons item items)))))))
>
> I'm sure I'm being dense, but I don't see how ‘item’ can change between
> iterations of this loop.

Each iteration reads a new line from PORT, an input port on a text file.

The file is created by guix-daemon and has a format like this:

     FILE
     DERIVER
     NUMBER-OF-REFERENCES
     REF1
     ...
     REFN

where each FILE is a store item (see store-copy.scm for details).

Here we only care about FILE and REF*.

> Which in my mind means that ‘read-graph’ can only return a list where
> the original ‘item’ argument from ‘references-file’ is repeated many
> times over. I ran the tests/gexp.scm test and all tests pass, so this
> code must be working...

I think it does!  :-)  It wouldn’t hurt to add a call to
‘delete-duplicates’ though.

Ludo’.




This bug report was last modified 3 years and 72 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.