From: Maxim Cournoyer <maxim.cournoyer@gmail.com>
To: Mark H Weaver <mhw@netris.org>
Cc: "Ludovic Courtès" <ludo@gnu.org>, "John Soo" <jsoo1@asu.edu>,
30265-done@debbugs.gnu.org
Subject: bug#30265: Fish embeds store file names in UCS-4/UTF-32 literal strings
Date: Sun, 09 Oct 2022 23:38:43 -0400 [thread overview]
Message-ID: <87fsfw2vr0.fsf@gmail.com> (raw)
In-Reply-To: <87czb3uza5.fsf@netris.org> (Mark H. Weaver's message of "Fri, 07 Oct 2022 16:57:43 -0400")
Hi,
Mark H Weaver <mhw@netris.org> writes:
> John Soo <jsoo1@asu.edu> writes:
>> I looked into it and I think a patch to fish might be required but I
>> got buried in other work.
>
> Note that commit 1bab9b9f17256a9e4f45f5b0cceb8b52e0a1b1ed (April 2021)
> added support in our grafting code to find and rewrite UTF-16 and UTF-32
> store references. That might have mitigated or even eliminated the
> adverse effects of this bug.
>
> However, the Guix daemon's reference scanner still does not detect
> UTF-16/32 references. This could be a problem if some store item is
> reachable *only* via UTF-16/32 store references, because "guix gc" might
> delete it even though it is still needed.
>
> However, if it is the case that every referenced store item is
> represented in ASCII or UTF-8 at least once, everything should work.
> Therefore, an easy workaround would be to add another phase that simply
> creates a file in the output(s) that contains ASCII or UTF-8 references
> to any needed store items.
Working with what I see (the fish build outputs results), the only UCS-4
references (either big or small endian) it registered to the store via
multi-byte encoded strings are:
--8<---------------cut here---------------start------------->8---
$ strings -e L /gnu/store/qfy1rxm1vzd68y9jvcvq4zzz0cnbla8i-fish-3.5.1/bin/fish* | grep /gnu
/gnu/store/qfy1rxm1vzd68y9jvcvq4zzz0cnbla8i-fish-3.5.1/share/doc/fish
/gnu/store/qfy1rxm1vzd68y9jvcvq4zzz0cnbla8i-fish-3.5.1/share/fish
/gnu/store/qfy1rxm1vzd68y9jvcvq4zzz0cnbla8i-fish-3.5.1/etc/fish
/gnu/store/qfy1rxm1vzd68y9jvcvq4zzz0cnbla8i-fish-3.5.1/bin
/gnu/store/qfy1rxm1vzd68y9jvcvq4zzz0cnbla8i-fish-3.5.1/bin
/gnu/store/qfy1rxm1vzd68y9jvcvq4zzz0cnbla8i-fish-3.5.1/bin
strings -e B /gnu/store/qfy1rxm1vzd68y9jvcvq4zzz0cnbla8i-fish-3.5.1/bin/fish* | grep /gnu
/gnu/store/qfy1rxm1vzd68y9jvcvq4zzz0cnbla8i-fish-3.5.1/share/doc/fish
/gnu/store/qfy1rxm1vzd68y9jvcvq4zzz0cnbla8i-fish-3.5.1/share/fish
/gnu/store/qfy1rxm1vzd68y9jvcvq4zzz0cnbla8i-fish-3.5.1/etc/fish
/gnu/store/qfy1rxm1vzd68y9jvcvq4zzz0cnbla8i-fish-3.5.1/bin
/gnu/store/qfy1rxm1vzd68y9jvcvq4zzz0cnbla8i-fish-3.5.1/bin
/gnu/store/qfy1rxm1vzd68y9jvcvq4zzz0cnbla8i-fish-3.5.1/bin
--8<---------------cut here---------------end--------------->8---
No UCS-2 references are detected via 'strings'.
Thanks for having shared the history and background.
Closing.
--
Maxim
prev parent reply other threads:[~2022-10-10 3:39 UTC|newest]
Thread overview: 25+ messages / expand[flat|nested] mbox.gz Atom feed top
2018-01-27 9:11 bug#30265: Fish shell has wrong path variables Meiyo Peng
2018-01-27 10:36 ` ng0
2018-01-27 16:25 ` Ludovic Courtès
2018-01-27 18:19 ` ng0
2018-01-27 12:19 ` Ricardo Wurmus
2018-01-27 13:45 ` Meiyo Peng
2018-01-27 14:13 ` Meiyo Peng
2018-09-19 9:09 ` Pierre Neidhardt
2018-09-19 20:39 ` Ludovic Courtès
2018-09-20 16:09 ` Pierre Neidhardt
2018-09-20 17:00 ` Ricardo Wurmus
2018-09-20 17:12 ` Pierre Neidhardt
2018-09-21 12:03 ` Ludovic Courtès
2018-09-21 12:05 ` Ludovic Courtès
2018-09-21 14:42 ` Pierre Neidhardt
2018-09-21 14:46 ` Ricardo Wurmus
2018-09-21 15:11 ` Pierre Neidhardt
2019-02-02 7:20 ` bug#30265: Fish embeds store file names in UCS-4/UTF-32 literal strings Meiyo Peng
2019-02-04 22:16 ` Ludovic Courtès
2020-03-30 6:29 ` John Soo
2022-10-07 19:42 ` Maxim Cournoyer
2022-10-07 19:43 ` Maxim Cournoyer
2022-10-07 19:44 ` John Soo
2022-10-07 20:57 ` Mark H Weaver
2022-10-10 3:38 ` Maxim Cournoyer [this message]
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=87fsfw2vr0.fsf@gmail.com \
--to=maxim.cournoyer@gmail.com \
--cc=30265-done@debbugs.gnu.org \
--cc=jsoo1@asu.edu \
--cc=ludo@gnu.org \
--cc=mhw@netris.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.