From mboxrd@z Thu Jan 1 00:00:00 1970 From: Meiyo Peng Subject: bug#30265: Fish shell has wrong path variables Date: Sat, 27 Jan 2018 21:45:15 +0800 Message-ID: <87wp03h0us.fsf@gmail.com> References: <87inbnpsx9.fsf@gmail.com> <87inbntryj.fsf@elephly.net> Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Return-path: Received: from eggs.gnu.org ([2001:4830:134:3::10]:50851) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1efQo3-0008WV-7l for bug-guix@gnu.org; Sat, 27 Jan 2018 08:46:08 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1efQny-0007qk-Al for bug-guix@gnu.org; Sat, 27 Jan 2018 08:46:07 -0500 Received: from debbugs.gnu.org ([208.118.235.43]:36576) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1efQny-0007qg-5a for bug-guix@gnu.org; Sat, 27 Jan 2018 08:46:02 -0500 Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1efQnx-0002d2-VE for bug-guix@gnu.org; Sat, 27 Jan 2018 08:46:01 -0500 Sender: "Debbugs-submit" Resent-Message-ID: In-Reply-To: <87inbntryj.fsf@elephly.net> (Ricardo Wurmus's message of "Sat, 27 Jan 2018 13:19:00 +0100") List-Id: Bug reports for GNU Guix List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: bug-guix-bounces+gcggb-bug-guix=m.gmane.org@gnu.org Sender: "bug-Guix" To: Ricardo Wurmus Cc: 30265@debbugs.gnu.org Ricardo Wurmus writes: > Where are these environment variables defined? According to `share/fish/config.fish`, they are defined in fish.cpp. #+BEGIN_SRC fish # __fish_datadir, __fish_sysconfdir, __fish_help_dir, __fish_bin_dir # are expected to have been set up by read_init from fish.cpp #+END_SRC You can get fish shell's environment variables using fish's `set` command. A single `set` without argument will print all environment variables. > The question is whether these old store references are kept in files > outside of the store (and thus are not directly under our control), or > if the packages that Guix builds include incorrect references. I guess > that it=E2=80=99s the former. > > As is the case for these other programmes that record paths in cache > files, we would need to patch fish to record only the stable names of > links to those files (e.g. ~/.guix-profile/foo/bar) rather than the > actual file names in the store, which may disappear upon =E2=80=9Cguix gc= =E2=80=9D. > Maybe you are right. Guix is still new to me, so I do not know details about guix's mechanism. Meiyo Peng