From mboxrd@z Thu Jan 1 00:00:00 1970 From: ludo@gnu.org (Ludovic =?UTF-8?Q?Court=C3=A8s?=) Subject: bug#30265: Fish shell has wrong path variables Date: Fri, 21 Sep 2018 14:03:35 +0200 Message-ID: <87d0t72h2g.fsf@gnu.org> References: <87pnx9yhsx.fsf@ambrevar.xyz> <87o9ctdxxk.fsf@gnu.org> <87efdoxia5.fsf@ambrevar.xyz> <877ejgumrn.fsf@elephly.net> <87bm8sxfd4.fsf@ambrevar.xyz> 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]:54009) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1g3KDF-00065C-Lr for bug-guix@gnu.org; Fri, 21 Sep 2018 08:07:11 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1g3KD8-0005YM-87 for bug-guix@gnu.org; Fri, 21 Sep 2018 08:07:08 -0400 Received: from debbugs.gnu.org ([208.118.235.43]:43446) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1g3KD8-0005YI-47 for bug-guix@gnu.org; Fri, 21 Sep 2018 08:07:02 -0400 Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1g3KD7-0004Y4-Ug for bug-guix@gnu.org; Fri, 21 Sep 2018 08:07:01 -0400 Sender: "Debbugs-submit" Resent-Message-ID: In-Reply-To: <87bm8sxfd4.fsf@ambrevar.xyz> (Pierre Neidhardt's message of "Thu, 20 Sep 2018 19:12:23 +0200") 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: Pierre Neidhardt Cc: meiyo.peng@gmail.com, 30265@debbugs.gnu.org Pierre Neidhardt skribis: >> A package will be grafted when any >> of its inputs (direct or transitive) have been replaced. > > I understand why that would happen when _updating_ fish, but why does it = happen > when (re-)building it from scratch, for instance when the graft source is= gone > from the store? Whether a package is grafted depends on its dependencies and the set of applicable grafts. For instance, these are the grafts that can potentially be applied to Fish as of commit 1df40d3dbff82c2990271b406b32633fe216d143: --8<---------------cut here---------------start------------->8--- scheme@(guile-user)> ,use(guix) scheme@(guile-user)> ,use(gnu packages shells) scheme@(guile-user)> (define s (open-connection)) scheme@(guile-user)> (package-grafts s fish) $8 =3D (# /gnu/store/p2531jppdwwgn312bzwmm6q2cbmcdyc5-libtiff-4.0.9 2ff7840> = # /= gnu/store/vjailgb48w3jcf7brb2cgf61j9an3blm-jbig2dec-0.15 33b2630> # /gnu/sto= re/hc5cak3fj0dijbm86kpz2asl7ld4gf8y-libgcrypt-1.8.3 32688d0> # /gnu/store/bid7h= vpnm8nq04vm4dszywxsw9g2kmf2-libx11-1.6.6 3268630> # /gnu/store/x8nacy2qpqlwi0= gm7r6slcynv1cwmicb-openssl-1.0.2o 305de40> # /gnu/store/fhbiaq9bnp4m79bd6wd= fi9px41mwmdib-ghostscript-9.24 294aa80> # /gnu/store/7ifc22sh86zblnzamqimgmv06id= yx69v-perl-5.26.1 3a7be40> # /gnu/store/ia117b5q4pzcm81xj1hkv2qgg898v7x5-curl-7.= 61.1 20b2c90> # /gnu/store/v6c0fksl6q8bkshwb0rb74l9n4lyjfnn-perl-5.26.1 3518360>) --8<---------------cut here---------------end--------------->8--- In practice only a subset of these grafts are applied because, for instance, Fish doesn=E2=80=99t depend (directly or indirectly) on Ghostscri= pt at run time whereas it does depend on Perl: --8<---------------cut here---------------start------------->8--- $ guix gc -R $(guix build fish) | grep -E '(perl|ghostscript)' /gnu/store/7ifc22sh86zblnzamqimgmv06idyx69v-perl-5.26.1 --8<---------------cut here---------------end--------------->8--- HTH! Ludo=E2=80=99.