From mboxrd@z Thu Jan 1 00:00:00 1970 From: Ricardo Wurmus Subject: bug#30265: Fish shell has wrong path variables Date: Thu, 20 Sep 2018 19:00:44 +0200 Message-ID: <877ejgumrn.fsf@elephly.net> References: <87pnx9yhsx.fsf@ambrevar.xyz> <87o9ctdxxk.fsf@gnu.org> <87efdoxia5.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]:59378) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1g32LB-0002yh-0F for bug-guix@gnu.org; Thu, 20 Sep 2018 13:02:09 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1g32L6-00060F-Nz for bug-guix@gnu.org; Thu, 20 Sep 2018 13:02:08 -0400 Received: from debbugs.gnu.org ([208.118.235.43]:43001) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1g32L6-0005zA-IP for bug-guix@gnu.org; Thu, 20 Sep 2018 13:02:04 -0400 Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1g32L4-00032m-6M for bug-guix@gnu.org; Thu, 20 Sep 2018 13:02:04 -0400 Sender: "Debbugs-submit" Resent-Message-ID: In-reply-to: <87efdoxia5.fsf@ambrevar.xyz> 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 writes: > I'm not so well versed in grafting, so let me ask a few questions: > > - Why is fish grafted in the first place? Almost any package can be grafted. A package will be grafted when any of its inputs (direct or transitive) have been replaced. The goal of grafting is to build a replacement package *quickly* and then only rewrite references to the replaced package in all dependent packages. The advantage is that dependent packages do not need to be rebuilt; they just need to be copied, scanned for references, and have their references updated. This is usually *much* faster than rebuilding all dependent packages, which may be an important consideration in distributing security fixes. > - Is the issue here that grafting does not support wide string literals? > Shouldn't we fix the Guix code to support wide strings as well? Grafting succeeds when we can find all references to items that should be replaced =E2=80=93 in plain text files but also in binaries. Past probl= ems with grafting were triggered by compiler behaviour that chopped up these reference strings, or by build systems that split these reference strings. A grafting problem is usually also a garbage collection problem, because both depend on successful scanning for store references. -- Ricardo