GNU bug report logs -
#33848
Store references in SBCL-compiled code are "invisible"
Previous Next
Reported by: Ludovic Courtès <ludo <at> gnu.org>
Date: Sun, 23 Dec 2018 14:21:02 UTC
Severity: important
Tags: fixed
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
Pierre Neidhardt <mail <at> ambrevar.xyz> skribis:
>> Every file in the store is properly scanned for references. It’s just
>> that users cannot create top-level items with a non-ASCII file name.
>
> So if '/gnu/store/...-foo/á' is stored as UTF-8 in a binary, then it will be
> found? Is it because the filesystem encoding is also UTF-8 and Guix scans over
> byte arrays?
The reference scanner, currently written in C++, traverses whole
directory trees. Being C++ it treats file names as byte arrays so it
doesn’t matter what the file name encoding is.
Note also that the reference scanner only looks for “xyz…-foo”; what
comes before and after doesn’t matter. So for example if you have
“/gnu/store/xyz…-foo/à”, what’s important is the “xyz…-foo” bit.
This is all happening in libstore/references.cc (which is surprisingly
small) and in (guix build graft) for the grafting part, which Mark wrote
a while back.
HTH,
Ludo’.
This bug report was last modified 4 years and 8 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.