From debbugs-submit-bounces@debbugs.gnu.org Tue Jul 25 12:39:05 2023 Received: (at submit) by debbugs.gnu.org; 25 Jul 2023 16:39:06 +0000 Received: from localhost ([127.0.0.1]:46810 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1qOL3x-0003V6-2e for submit@debbugs.gnu.org; Tue, 25 Jul 2023 12:39:05 -0400 Received: from lists.gnu.org ([2001:470:142::17]:35904) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1qOIbt-0007HW-3r for submit@debbugs.gnu.org; Tue, 25 Jul 2023 10:01:57 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1qOIbm-000760-Q6 for bug-guix@gnu.org; Tue, 25 Jul 2023 10:01:50 -0400 Received: from mail-yw1-x112b.google.com ([2607:f8b0:4864:20::112b]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1qOIbi-0005XU-VQ for bug-guix@gnu.org; Tue, 25 Jul 2023 10:01:50 -0400 Received: by mail-yw1-x112b.google.com with SMTP id 00721157ae682-583ae4818c8so46831427b3.3 for ; Tue, 25 Jul 2023 07:01:45 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=deeplinks-com.20221208.gappssmtp.com; s=20221208; t=1690293704; x=1690898504; h=to:subject:message-id:date:from:mime-version:from:to:cc:subject :date:message-id:reply-to; bh=V4P0+d4F95ZSu3LKBJTHSiRG4MRcBmnxtlXMOMPbj4U=; b=qFaL1FM62AEGudIEwjn44QvXs/uSxj9mOQNotYU403lVFQlKPhSvh9UMvy1PubWUER wKgDKsW26xzrlno2UzCASc4jMzC/wfY4XsDsE2JjWx+Nx30OczvdsnAdvAM1MWaiO/sV 548YsKkQOrt52yFHLoM7xawoJI/m10reqwdIver10khp3OqkmCI0DuoeklsV8w0Pu0SE INTUKHn+apxcjyK+vgj8HMeKBGastMngvpdMceryGxiF4I3QJiJv73pAeXG6FV62BTPl wSOKDcdLfayTsMfc1qQ0mp/lQb8Dhv11jxT4t7A0ZmjZ6Ye8LEaN2aTnGuZ2FrLoM1AL pDFA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1690293704; x=1690898504; h=to:subject:message-id:date:from:mime-version:x-gm-message-state :from:to:cc:subject:date:message-id:reply-to; bh=V4P0+d4F95ZSu3LKBJTHSiRG4MRcBmnxtlXMOMPbj4U=; b=QXtitjpw6Xii9OJGXBEyhN0SpGX9K3/PgjLbG3IF0ip3Ab5PlMObzvaiOjBGI6rJXR BfRomnXQ1RHGzoYyTS1YNFnfTlFhc5g3zHPY4M1MD+EOyWUzmJOaWLUE6/XF0xoL7jtH AuiI6oBcHgkc4Du2CbySLHT16KvynzH13IpU183Tl07EUo0LJz4ikIDXQzmifwJDdzwr ujCjenSPtjWQcXWB8wk/oiS9wCApYJnOsU6kj9UDW/T5lPvsZDSEohb3A3LlfPRR8HSW 354aCFICcXK4s1nuR9vKvFbSgFO3iURZ8nih2Zzx/y8eD8ZVaO9PPCdxPNme61HAGpiK ohDA== X-Gm-Message-State: ABy/qLZQrYDw7HM+mN1/iotRR/hsj1r2aioJc8aVmfIpxO8A/n03+T31 bqnorgwDk94d59n7/sGDVlG/hTxfbAjaN+cEcmSwIq6cebjcfDQuWVo= X-Google-Smtp-Source: APBJJlEebKVslTaeD/OANZ2GkZkghPBC+tRqY6BUTIWrrNZiYRm5Mz6g+jEkTMs4VU5y3BvDNdMZmgJHZlkCrltWYtw= X-Received: by 2002:a25:ac9b:0:b0:d0f:2038:9cbc with SMTP id x27-20020a25ac9b000000b00d0f20389cbcmr5928320ybi.31.1690293703194; Tue, 25 Jul 2023 07:01:43 -0700 (PDT) MIME-Version: 1.0 From: =?UTF-8?Q?Pierre=2DHenry_Fr=C3=B6hring?= Date: Tue, 25 Jul 2023 16:01:32 +0200 Message-ID: Subject: =?UTF-8?Q?=7Eguix_shell_=2DC_=2Df_guix=2Escm_=E2=80=A6=7E_should_not_always_ne?= =?UTF-8?Q?ed_=7E=2D=2Drebuild=2Dcache=7E_option_to_build_the_expected_environmen?= =?UTF-8?Q?t=2E?= To: bug-guix@gnu.org Content-Type: multipart/mixed; boundary="000000000000bf106b0601502bbf" Received-SPF: pass client-ip=2607:f8b0:4864:20::112b; envelope-from=phfrohring@deeplinks.com; helo=mail-yw1-x112b.google.com X-Spam_score_int: -18 X-Spam_score: -1.9 X-Spam_bar: - X-Spam_report: (-1.9 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01 autolearn=ham autolearn_force=no X-Spam_action: no action X-Spam-Score: 1.0 (+) X-Debbugs-Envelope-To: submit X-Mailman-Approved-At: Tue, 25 Jul 2023 12:39:00 -0400 X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.0 (/) --000000000000bf106b0601502bbf Content-Type: multipart/alternative; boundary="000000000000bf10680601502bbd" --000000000000bf10680601502bbd Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable Hello Guix! As discussed the [[ https://logs.guix.gnu.org/guix/2023-07-21.log#142414][other day]], I'm providing a more detailed description (see below) of the unexpected behaviour and an archive containing enough material to reproduce the bug. * Experiment ** pkgex-1 -> /gnu/store/0yk3xz85=E2=80=A6 The Guix package ~pkgex-1~ is built then its path (~/gnu/store/0yk3xz85=E2= =80=A6~) is shown from within a container (~guix shell -C -f guix.scm ripgrep fd coreutils emacs~). #+begin_example $ make build # equivalent to: guix build -f guix.scm =E2=80=A6 $ guix shell -C -f guix.scm ripgrep fd coreutils emacs [env]$ ls -al $EMACSLOADPATH/ total 32 dr-xr-xr-x 2 65534 overflow 4096 Jan 1 1970 . dr-xr-xr-x 3 65534 overflow 4096 Jan 1 1970 .. lrwxrwxrwx 1 65534 overflow 90 Jan 1 1970 guix-emacs.el -> /gnu/store/0ibk105zcyg27i9gifbf3lhgm6n78z66-emacs-28.2/share/emacs/site-lis= p/guix-emacs.el lrwxrwxrwx 1 65534 overflow 91 Jan 1 1970 guix-emacs.elc -> /gnu/store/0ibk105zcyg27i9gifbf3lhgm6n78z66-emacs-28.2/share/emacs/site-lis= p/guix-emacs.elc lrwxrwxrwx 1 65534 overflow 81 Jan 1 1970 pkgex-1 -> /gnu/store/0yk3xz85gamig58iska1py6rvn9924ss-pkgex-1/share/emacs/site-lisp/p= kgex-1 lrwxrwxrwx 1 65534 overflow 90 Jan 1 1970 site-start.el -> /gnu/store/0ibk105zcyg27i9gifbf3lhgm6n78z66-emacs-28.2/share/emacs/site-lis= p/site-start.el lrwxrwxrwx 1 65534 overflow 91 Jan 1 1970 site-start.elc -> /gnu/store/0ibk105zcyg27i9gifbf3lhgm6n78z66-emacs-28.2/share/emacs/site-lis= p/site-start.elc lrwxrwxrwx 1 65534 overflow 90 Jan 1 1970 subdirs.el -> /gnu/store/75z28mg9fd0v3mjcg3jmrah9ihnziqcb-emacs-subdirs/share/emacs/site-= lisp/subdirs.el #+end_example ** /gnu/store/8k18bghzcijbps8kix3wqp34x4smfc5l-pkgex-1 This very file (~pkgex.el.org~) is updated with this content then the package is built again. #+begin_example $ make build # equivalent to: guix build -f guix.scm =E2=80=A6 /gnu/store/8k18bghzcijbps8kix3wqp34x4smfc5l-pkgex-1 #+end_example ** pkgex-1 -> /gnu/store/0yk3xz85=E2=80=A6 Unexpectedly, the package linked from within the container using the same command as above is not updated, we observe: - ~pkgex-1 -> /gnu/store/0yk3xz85=E2=80=A6~ instead of: - ~pkgex-1 -> /gnu/store/8k18bghz=E2=80=A6~ #+begin_example $ guix shell -C -f guix.scm ripgrep fd coreutils emacs [env]$ ls -al $EMACSLOADPATH/ total 32 dr-xr-xr-x 2 65534 overflow 4096 Jan 1 1970 . dr-xr-xr-x 3 65534 overflow 4096 Jan 1 1970 .. lrwxrwxrwx 1 65534 overflow 90 Jan 1 1970 guix-emacs.el -> /gnu/store/0ibk105zcyg27i9gifbf3lhgm6n78z66-emacs-28.2/share/emacs/site-lis= p/guix-emacs.el lrwxrwxrwx 1 65534 overflow 91 Jan 1 1970 guix-emacs.elc -> /gnu/store/0ibk105zcyg27i9gifbf3lhgm6n78z66-emacs-28.2/share/emacs/site-lis= p/guix-emacs.elc lrwxrwxrwx 1 65534 overflow 81 Jan 1 1970 pkgex-1 -> /gnu/store/0yk3xz85gamig58iska1py6rvn9924ss-pkgex-1/share/emacs/site-lisp/p= kgex-1 lrwxrwxrwx 1 65534 overflow 90 Jan 1 1970 site-start.el -> /gnu/store/0ibk105zcyg27i9gifbf3lhgm6n78z66-emacs-28.2/share/emacs/site-lis= p/site-start.el lrwxrwxrwx 1 65534 overflow 91 Jan 1 1970 site-start.elc -> /gnu/store/0ibk105zcyg27i9gifbf3lhgm6n78z66-emacs-28.2/share/emacs/site-lis= p/site-start.elc lrwxrwxrwx 1 65534 overflow 90 Jan 1 1970 subdirs.el -> /gnu/store/75z28mg9fd0v3mjcg3jmrah9ihnziqcb-emacs-subdirs/share/emacs/site-= lisp/subdirs.el #+end_example ** pkgex-1 -> /gnu/store/8k18bghz=E2=80=A6 Nevertheless, if we build a new environment (because we added the ~tree~ package), then, the newly built package (~/gnu/store/8k18bghz=E2=80=A6~) is taken into account. #+begin_example $ guix shell -C -f guix.scm ripgrep fd coreutils emacs tree =E2=80=A6 [env]$ ls -al $EMACSLOADPATH/ total 32 dr-xr-xr-x 2 65534 overflow 4096 Jan 1 1970 . dr-xr-xr-x 3 65534 overflow 4096 Jan 1 1970 .. lrwxrwxrwx 1 65534 overflow 90 Jan 1 1970 guix-emacs.el -> /gnu/store/0ibk105zcyg27i9gifbf3lhgm6n78z66-emacs-28.2/share/emacs/site-lis= p/guix-emacs.el lrwxrwxrwx 1 65534 overflow 91 Jan 1 1970 guix-emacs.elc -> /gnu/store/0ibk105zcyg27i9gifbf3lhgm6n78z66-emacs-28.2/share/emacs/site-lis= p/guix-emacs.elc lrwxrwxrwx 1 65534 overflow 81 Jan 1 1970 pkgex-1 -> /gnu/store/8k18bghzcijbps8kix3wqp34x4smfc5l-pkgex-1/share/emacs/site-lisp/p= kgex-1 lrwxrwxrwx 1 65534 overflow 90 Jan 1 1970 site-start.el -> /gnu/store/0ibk105zcyg27i9gifbf3lhgm6n78z66-emacs-28.2/share/emacs/site-lis= p/site-start.el lrwxrwxrwx 1 65534 overflow 91 Jan 1 1970 site-start.elc -> /gnu/store/0ibk105zcyg27i9gifbf3lhgm6n78z66-emacs-28.2/share/emacs/site-lis= p/site-start.elc lrwxrwxrwx 1 65534 overflow 90 Jan 1 1970 subdirs.el -> /gnu/store/n7yizf59v4gvjlr66swh3q3kkz3v1vag-emacs-subdirs/share/emacs/site-= lisp/subdirs.el #+end_example --000000000000bf10680601502bbd Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable
Hello Guix!

As discussed the [[https://logs.guix.= gnu.org/guix/2023-07-21.log#142414][other day]], I'm providing a mo= re detailed description
(see below) of the unexpected behaviour and an a= rchive containing
enough material to reproduce the bug.

* Experim= ent
** pkgex-1 -> /gnu/store/0yk3xz85=E2=80=A6

The Guix packag= e ~pkgex-1~ is built then its path (~/gnu/store/0yk3xz85=E2=80=A6~) is
s= hown from within a container (~guix shell -C -f guix.scm ripgrep fd coreuti= ls
emacs~).

#+begin_example
$ make build # equivalent to: guix= build -f guix.scm
=E2=80=A6
$ guix shell -C -f guix.scm ripgrep fd c= oreutils emacs
[env]$ ls -al $EMACSLOADPATH/
total 32
dr-xr-xr-x 2= 65534 overflow 4096 Jan =C2=A01 =C2=A01970 .
dr-xr-xr-x 3 65534 overflo= w 4096 Jan =C2=A01 =C2=A01970 ..
lrwxrwxrwx 1 65534 overflow =C2=A0 90 J= an =C2=A01 =C2=A01970 guix-emacs.el -> /gnu/store/0ibk105zcyg27i9gifbf3l= hgm6n78z66-emacs-28.2/share/emacs/site-lisp/guix-emacs.el
lrwxrwxrwx 1 6= 5534 overflow =C2=A0 91 Jan =C2=A01 =C2=A01970 guix-emacs.elc -> /gnu/st= ore/0ibk105zcyg27i9gifbf3lhgm6n78z66-emacs-28.2/share/emacs/site-lisp/guix-= emacs.elc
lrwxrwxrwx 1 65534 overflow =C2=A0 81 Jan =C2=A01 =C2=A01970 p= kgex-1 -> /gnu/store/0yk3xz85gamig58iska1py6rvn9924ss-pkgex-1/share/emac= s/site-lisp/pkgex-1
lrwxrwxrwx 1 65534 overflow =C2=A0 90 Jan =C2=A01 = =C2=A01970 site-start.el -> /gnu/store/0ibk105zcyg27i9gifbf3lhgm6n78z66-= emacs-28.2/share/emacs/site-lisp/site-start.el
lrwxrwxrwx 1 65534 overfl= ow =C2=A0 91 Jan =C2=A01 =C2=A01970 site-start.elc -> /gnu/store/0ibk105= zcyg27i9gifbf3lhgm6n78z66-emacs-28.2/share/emacs/site-lisp/site-start.elclrwxrwxrwx 1 65534 overflow =C2=A0 90 Jan =C2=A01 =C2=A01970 subdirs.el -= > /gnu/store/75z28mg9fd0v3mjcg3jmrah9ihnziqcb-emacs-subdirs/share/emacs/= site-lisp/subdirs.el
#+end_example

** /gnu/store/8k18bghzcijbps8k= ix3wqp34x4smfc5l-pkgex-1

This very file (~pkgex.el.org~) is updated with this content then the package isbuilt again.

#+begin_example
$ make build # equivalent to: guix= build -f guix.scm
=E2=80=A6
/gnu/store/8k18bghzcijbps8kix3wqp34x4smf= c5l-pkgex-1
#+end_example

** pkgex-1 -> /gnu/store/0yk3xz85=E2= =80=A6

Unexpectedly, the package linked from within the container us= ing the same
command as above is not updated, we observe:

- ~pkge= x-1 -> /gnu/store/0yk3xz85=E2=80=A6~

instead of:

- ~pkgex-= 1 -> /gnu/store/8k18bghz=E2=80=A6~

#+begin_example
$ guix shel= l -C -f guix.scm ripgrep fd coreutils emacs
[env]$ ls -al $EMACSLOADPATH= /
total 32
dr-xr-xr-x 2 65534 overflow 4096 Jan =C2=A01 =C2=A01970 .<= br>dr-xr-xr-x 3 65534 overflow 4096 Jan =C2=A01 =C2=A01970 ..
lrwxrwxrwx= 1 65534 overflow =C2=A0 90 Jan =C2=A01 =C2=A01970 guix-emacs.el -> /gnu= /store/0ibk105zcyg27i9gifbf3lhgm6n78z66-emacs-28.2/share/emacs/site-lisp/gu= ix-emacs.el
lrwxrwxrwx 1 65534 overflow =C2=A0 91 Jan =C2=A01 =C2=A01970= guix-emacs.elc -> /gnu/store/0ibk105zcyg27i9gifbf3lhgm6n78z66-emacs-28.= 2/share/emacs/site-lisp/guix-emacs.elc
lrwxrwxrwx 1 65534 overflow =C2= =A0 81 Jan =C2=A01 =C2=A01970 pkgex-1 -> /gnu/store/0yk3xz85gamig58iska1= py6rvn9924ss-pkgex-1/share/emacs/site-lisp/pkgex-1
lrwxrwxrwx 1 65534 ov= erflow =C2=A0 90 Jan =C2=A01 =C2=A01970 site-start.el -> /gnu/store/0ibk= 105zcyg27i9gifbf3lhgm6n78z66-emacs-28.2/share/emacs/site-lisp/site-start.el=
lrwxrwxrwx 1 65534 overflow =C2=A0 91 Jan =C2=A01 =C2=A01970 site-start= .elc -> /gnu/store/0ibk105zcyg27i9gifbf3lhgm6n78z66-emacs-28.2/share/ema= cs/site-lisp/site-start.elc
lrwxrwxrwx 1 65534 overflow =C2=A0 90 Jan = =C2=A01 =C2=A01970 subdirs.el -> /gnu/store/75z28mg9fd0v3mjcg3jmrah9ihnz= iqcb-emacs-subdirs/share/emacs/site-lisp/subdirs.el
#+end_example
** pkgex-1 -> /gnu/store/8k18bghz=E2=80=A6

Nevertheless, if we b= uild a new environment (because we added the
~tree~ package), then, the = newly built package
(~/gnu/store/8k18bghz=E2=80=A6~) is taken into accou= nt.

#+begin_example
$ guix shell -C -f guix.scm ripgrep fd coreut= ils emacs tree
=E2=80=A6
[env]$ ls -al $EMACSLOADPATH/
total 32dr-xr-xr-x 2 65534 overflow 4096 Jan =C2=A01 =C2=A01970 .
dr-xr-xr-x 3 = 65534 overflow 4096 Jan =C2=A01 =C2=A01970 ..
lrwxrwxrwx 1 65534 overflo= w =C2=A0 90 Jan =C2=A01 =C2=A01970 guix-emacs.el -> /gnu/store/0ibk105zc= yg27i9gifbf3lhgm6n78z66-emacs-28.2/share/emacs/site-lisp/guix-emacs.el
l= rwxrwxrwx 1 65534 overflow =C2=A0 91 Jan =C2=A01 =C2=A01970 guix-emacs.elc = -> /gnu/store/0ibk105zcyg27i9gifbf3lhgm6n78z66-emacs-28.2/share/emacs/si= te-lisp/guix-emacs.elc
lrwxrwxrwx 1 65534 overflow =C2=A0 81 Jan =C2=A01= =C2=A01970 pkgex-1 -> /gnu/store/8k18bghzcijbps8kix3wqp34x4smfc5l-pkgex= -1/share/emacs/site-lisp/pkgex-1
lrwxrwxrwx 1 65534 overflow =C2=A0 90 J= an =C2=A01 =C2=A01970 site-start.el -> /gnu/store/0ibk105zcyg27i9gifbf3l= hgm6n78z66-emacs-28.2/share/emacs/site-lisp/site-start.el
lrwxrwxrwx 1 6= 5534 overflow =C2=A0 91 Jan =C2=A01 =C2=A01970 site-start.elc -> /gnu/st= ore/0ibk105zcyg27i9gifbf3lhgm6n78z66-emacs-28.2/share/emacs/site-lisp/site-= start.elc
lrwxrwxrwx 1 65534 overflow =C2=A0 90 Jan =C2=A01 =C2=A01970 s= ubdirs.el -> /gnu/store/n7yizf59v4gvjlr66swh3q3kkz3v1vag-emacs-subdirs/s= hare/emacs/site-lisp/subdirs.el
#+end_example


--000000000000bf10680601502bbd-- --000000000000bf106b0601502bbf Content-Type: application/gzip; name="1-bug.tar.gz" Content-Disposition: attachment; filename="1-bug.tar.gz" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_lkid7p990 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 aAEA --000000000000bf106b0601502bbf-- From debbugs-submit-bounces@debbugs.gnu.org Thu Oct 12 11:26:29 2023 Received: (at 64858) by debbugs.gnu.org; 12 Oct 2023 15:26:29 +0000 Received: from localhost ([127.0.0.1]:44121 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1qqxa1-0006h7-5p for submit@debbugs.gnu.org; Thu, 12 Oct 2023 11:26:29 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:44782) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1qqxZy-0006gu-3s for 64858@debbugs.gnu.org; Thu, 12 Oct 2023 11:26:27 -0400 Received: from fencepost.gnu.org ([2001:470:142:3::e]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1qqxZW-0006Cd-9Q; Thu, 12 Oct 2023 11:25:58 -0400 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnu.org; s=fencepost-gnu-org; h=MIME-Version:Date:References:In-Reply-To:Subject:To: From; bh=GZI+Q9KxFJWe+5N5SqbPxjfAnIX0M/ELUyLEEy03h2I=; b=ADxXdRWze6rwNUhm3Ung j6+jn62YXme427R7vIvvxva8lD2wYu7YMaMjw8zLxr4Sf7VDfIsa1dUJA6+v7Cb5Lakm4RDqs6NZF k3cw+LQF9dkneUb0IC2WBMbL/Gbd7S6uU66RGOEL/mjFMBOuh53/cyY323DD0P8M2rUbWSCCBYITB DryC5aWH1i97Eo720j3RoMu1kGszJji8Fux14l8S3JIfZ7KS0PujM/6c47EDqKI5lBh14ZwR1dtB+ nKjZqKFWPur05swbmLfPpXiyBiEBvUZVORliNVmSj5XF33KG1jM+0GmyHK9QuMauDXyVYIxbZNYqk WdIUnj72PSmbFA==; From: =?utf-8?Q?Ludovic_Court=C3=A8s?= To: Pierre-Henry =?utf-8?Q?Fr=C3=B6hring?= Subject: Re: bug#64858: ~guix shell -C -f guix.scm =?utf-8?Q?=E2=80=A6~?= should not always need ~--rebuild-cache~ option to build the expected environment. In-Reply-To: ("Pierre-Henry =?utf-8?Q?Fr=C3=B6hring=22's?= message of "Tue, 25 Jul 2023 16:01:32 +0200") References: Date: Thu, 12 Oct 2023 17:25:55 +0200 Message-ID: <8734yflv5o.fsf@gnu.org> User-Agent: Gnus/5.13 (Gnus v5.13) MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-Spam-Score: -2.3 (--) X-Debbugs-Envelope-To: 64858 Cc: 64858@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -3.3 (---) Hi Pierre-Henry, Pierre-Henry Fr=C3=B6hring skribis: > $ guix shell -C -f guix.scm ripgrep fd coreutils emacs [...] > This very file (~pkgex.el.org~) is updated with this content then the > package is > built again. > > #+begin_example > $ make build # equivalent to: guix build -f guix.scm > =E2=80=A6 > /gnu/store/8k18bghzcijbps8kix3wqp34x4smfc5l-pkgex-1 > #+end_example > > > ** pkgex-1 -> /gnu/store/0yk3xz85=E2=80=A6 > > Unexpectedly, the package linked from within the container using the same > command as above is not updated, we observe: I don=E2=80=99t fully understand the setup, but I can at least explain what= you can expect. When using =E2=80=98-f guix.scm=E2=80=99, =E2=80=98guix shell=E2=80=99 cach= es based on the mtime of =E2=80=98guix.scm=E2=80=99: if =E2=80=98guix.scm=E2=80=99 is modified, then= the cache is invalidated, otherwise the cache is considered up-to-date and used. IIUC, you=E2=80=99re modifying a different file, =E2=80=98pkgex.el.org=E2= =80=99. =E2=80=98guix shell=E2=80=99 does not know about it and thus goes ahead and reuses the previous value. I guess the current behavior is good when you=E2=80=99re doing: guix shell -D -f guix.scm which is the primary use case that comes to mind, but it=E2=80=99s inapprop= riate when doing: guix shell -f guix.scm in cases where =E2=80=98guix.scm=E2=80=99 defines a package with $PWD as it= s source. I guess we could maybe try to special-case that in =E2=80=98profile-cached-gc-root=E2=80=99. Ludo=E2=80=99. From debbugs-submit-bounces@debbugs.gnu.org Mon Nov 20 00:14:39 2023 Received: (at 64858) by debbugs.gnu.org; 20 Nov 2023 05:14:39 +0000 Received: from localhost ([127.0.0.1]:52357 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1r4wcJ-0002yy-6U for submit@debbugs.gnu.org; Mon, 20 Nov 2023 00:14:39 -0500 Received: from sail-ipv4.us-core.com ([208.82.101.137]:43956) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1r4wcB-0002yj-Hz for 64858@debbugs.gnu.org; Mon, 20 Nov 2023 00:14:37 -0500 DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; s=2017; bh=7ccNz/0dx7oIO1K 5b2DKx1jQU13pq2hozqY8NmWdii0=; h=date:subject:cc:to:from; d=lease-up.com; b=VfLejiZYLykKye1Pn8SnLxTY7ARBB3ylDUElrqjcoeiQx4yogQ2+ zfgYnSQ2908wIH2tY+J5tYC9JXhFwskUOFMW7xWcQMhkUIDViFZwBchx2ifqCGNLb/ejVt 568JkUz6b/kp3yFKWwSGhk6wKmziPahrHJualdadpz2v5XCb4= Received: by sail-ipv4.us-core.com (OpenSMTPD) with ESMTPSA id a4acb623 (TLSv1.3:TLS_CHACHA20_POLY1305_SHA256:256:NO); Mon, 20 Nov 2023 05:14:28 +0000 (UTC) Received: from localhost (localhost [local]) by localhost (OpenSMTPD) with ESMTPA id be66c0d9; Mon, 20 Nov 2023 05:14:27 +0000 (UTC) From: Felix Lechner To: 64858@debbugs.gnu.org Subject: [PATCH] In 'guix shell', discard ad-hoc profile when 'guix.scm' file is newer. (Closes: #64858) Date: Sun, 19 Nov 2023 21:12:36 -0800 Message-ID: <9b178dff2dec09ca8af96fae54d5519c6d1cf1a4.1700457155.git.felix.lechner@lease-up.com> X-Mailer: git-send-email 2.41.0 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-Spam-Score: 0.2 (/) X-Debbugs-Envelope-To: 64858 Cc: =?UTF-8?q?Ludovic=20Court=C3=A8s?= , Felix Lechner , =?UTF-8?q?Pierre-Henry=20Fr=C3=B6hring?= X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.8 (/) Fixes a bug that prevents rebuilds for folks who use 'guix shell' repeatedly to refine a package declaration located in a 'guix.scm' file. The mtime of 'guix.scm' is never evaluated because 'file' is #f here and the code path taken always returns 0 as the purported mtime. https://github.com/guix-mirror/guix/blob/71b92466430acb8c91841522dc0eb7d766af4388/guix/scripts/shell.scm#L390 In the consuming code, the 'timestamp' is always less than the mtime of the profile in the multi-line AND-ed conditional here: https://github.com/guix-mirror/guix/blob/71b92466430acb8c91841522dc0eb7d766af4388/guix/scripts/shell.scm#L250 As a result, outdated ad-hoc profiles are always reused unless they are expressly deleted via: rm ~/.cache/guix/profiles/* The bug was potentially introduced in commit c42b7baf when 'package was transformed to 'ad-hoc-package without also changing the line in this commit. A minimal reproducer can be found here: https://codeberg.org/lechner/shell-bug --- Hi Ludo' > ‘guix shell’ caches based on the mtime of ‘guix.scm’ That's how is should work, but it doesn't as explained above. Here is a patch. Please adjust the commit message to your liking. Thanks! Kind regards Felix guix/scripts/shell.scm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/guix/scripts/shell.scm b/guix/scripts/shell.scm index 10ea110fee..d29367c8ee 100644 --- a/guix/scripts/shell.scm +++ b/guix/scripts/shell.scm @@ -398,7 +398,7 @@ (define (key->file key) (values #f #f))) ((('nesting? . #t) . rest) (loop rest system file (append specs '("nested guix")))) - ((('load . ('package candidate)) . rest) + ((('load . ('ad-hoc-package candidate)) . rest) (if (and (not file) (null? specs)) (loop rest system candidate specs) (values #f #f))) base-commit: 71b92466430acb8c91841522dc0eb7d766af4388 -- 2.41.0 From debbugs-submit-bounces@debbugs.gnu.org Mon Nov 20 00:41:36 2023 Received: (at control) by debbugs.gnu.org; 20 Nov 2023 05:41:36 +0000 Received: from localhost ([127.0.0.1]:52379 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1r4x2O-0003dw-9x for submit@debbugs.gnu.org; Mon, 20 Nov 2023 00:41:36 -0500 Received: from sail-ipv4.us-core.com ([208.82.101.137]:34260) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1r4x2I-0003dl-Mx for control@debbugs.gnu.org; Mon, 20 Nov 2023 00:41:34 -0500 DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; s=2017; bh=iZFI/V45fJymJLD ArzrOaEKgbAS0EqNIJkKo83WhiIs=; h=date:cc:to:from; d=lease-up.com; b=EN zF234dYTR8uWmh8x32rjffOZy2q+VPI0c94+C1Ye/71sJmEdp5pWd4tjA/j7DA6uBbZW5B 0MnSxMV4c2HSs0rQI7kyRkAFsD42tOPwwLxDCwhoe6x2pcfee+i9HxD1AmrgnGyGIKmPZp rBoyC1Tg/ShwVs+A79NxCGq/8la48= Received: by sail-ipv4.us-core.com (OpenSMTPD) with ESMTPSA id b20af959 (TLSv1.3:TLS_CHACHA20_POLY1305_SHA256:256:NO) for ; Mon, 20 Nov 2023 05:41:27 +0000 (UTC) From: Felix Lechner To: control@debbugs.gnu.org Date: Sun, 19 Nov 2023 21:41:27 -0800 Message-ID: <87edglq8vs.fsf@lease-up.com> MIME-Version: 1.0 Content-Type: text/plain X-Spam-Score: 2.0 (++) X-Spam-Report: Spam detection software, running on the system "debbugs.gnu.org", has NOT identified this incoming email as spam. The original message has been attached to this so you can view it or label similar future email. If you have any questions, see the administrator of that system for details. Content preview: tags 64858 + patch thanks Content analysis details: (2.0 points, 10.0 required) pts rule name description ---- ---------------------- -------------------------------------------------- 0.0 SPF_HELO_NONE SPF: HELO does not publish an SPF Record -0.0 SPF_PASS SPF: sender matches SPF record -0.0 T_SCC_BODY_TEXT_LINE No description available. 1.8 MISSING_SUBJECT Missing Subject: header 0.2 NO_SUBJECT Extra score for no subject X-Debbugs-Envelope-To: control X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: 1.0 (+) tags 64858 + patch thanks From debbugs-submit-bounces@debbugs.gnu.org Wed Nov 22 17:59:24 2023 Received: (at 64858) by debbugs.gnu.org; 22 Nov 2023 22:59:24 +0000 Received: from localhost ([127.0.0.1]:60028 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1r5wBo-0001hf-7X for submit@debbugs.gnu.org; Wed, 22 Nov 2023 17:59:24 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]:48716) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1r5wBl-0001hO-Vc for 64858@debbugs.gnu.org; Wed, 22 Nov 2023 17:59:22 -0500 Received: from fencepost.gnu.org ([2001:470:142:3::e]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1r5wBb-0008UV-Mt; Wed, 22 Nov 2023 17:59:12 -0500 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnu.org; s=fencepost-gnu-org; h=MIME-Version:Date:References:In-Reply-To:Subject:To: From; bh=2tiWbsRA8PVgyJq+IV7kdE3x6X0PFVqf0IANwfAtifM=; b=a39LRwIW/2kM7U6cLYZS 163tvwymlkz7HYYIg3Or6/655M6WbmWe330KJN+u0AGgkYgxR8LyrrRnKtUfbS2OjGq4NTJBPe6E9 tOANckr/FJpld1tuAkDac2jbn372BXZ3h9/o4MAXd7nQjHyoFH1COTxEWwbmt0T1W9Rlv52VIX1hC chbhB441t5hZwREONEI2wM0lrCh+LyQ6lCBX42denDo3Mi6uDcf69ifd+PQyXtNifBRuGGwmaS1u+ oNyV52WREkuh/ZPFYzLdKXhlmCUxnPlJMY0yFSbiFlOcDQV8An09d2V73vZnnLH6VL3Pu3880ED0t wNU/wb+hlO1CRQ==; From: =?utf-8?Q?Ludovic_Court=C3=A8s?= To: Felix Lechner Subject: Re: bug#64858: ~guix shell -C -f guix.scm =?utf-8?Q?=E2=80=A6~?= should not always need ~--rebuild-cache~ option to build the expected environment. In-Reply-To: <9b178dff2dec09ca8af96fae54d5519c6d1cf1a4.1700457155.git.felix.lechner@lease-up.com> (Felix Lechner's message of "Sun, 19 Nov 2023 21:12:36 -0800") References: <9b178dff2dec09ca8af96fae54d5519c6d1cf1a4.1700457155.git.felix.lechner@lease-up.com> Date: Wed, 22 Nov 2023 23:59:08 +0100 Message-ID: <87v89tgzsz.fsf_-_@gnu.org> User-Agent: Gnus/5.13 (Gnus v5.13) MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-Spam-Score: -2.3 (--) X-Debbugs-Envelope-To: 64858 Cc: 64858@debbugs.gnu.org, Pierre-Henry =?utf-8?Q?Fr=C3=B6hring?= X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -3.3 (---) Hi Felix, Felix Lechner skribis: > --- a/guix/scripts/shell.scm > +++ b/guix/scripts/shell.scm > @@ -398,7 +398,7 @@ (define (key->file key) > (values #f #f))) > ((('nesting? . #t) . rest) > (loop rest system file (append specs '("nested guix")))) > - ((('load . ('package candidate)) . rest) > + ((('load . ('ad-hoc-package candidate)) . rest) > (if (and (not file) (null? specs)) > (loop rest system candidate specs) > (values #f #f))) Oooh. So there were really two bugs: 1. The one you describe Felix, where =E2=80=98guix shell -f guix.scm=E2= =80=99 would cache things in a nonsensical way (as if you had just run =E2=80=98guix shell=E2=80=99 with no arguments and no =E2=80=98guix.scm=E2=80=99 or = =E2=80=98manifest.scm=E2=80=99 files in $PWD). 2. The use case issue that I understood from Pierre-Henry=E2=80=99s repor= t, which is that =E2=80=98guix shell -f guix.scm=E2=80=99 shouldn=E2=80= =99t have any caching in the first place. I fixed it with these two commits (the first one is almost what you proposed, Felix): 5283d24062 shell: Disable caching for =E2=80=98guix shell -f guix.scm=E2= =80=99. 762be40098 shell: Correct cache key for =E2=80=98guix shell -f guix.scm= =E2=80=99. It seems to do the right thing now. Let me know what you think! Thanks, Ludo=E2=80=99. From debbugs-submit-bounces@debbugs.gnu.org Wed Nov 22 17:59:30 2023 Received: (at control) by debbugs.gnu.org; 22 Nov 2023 22:59:30 +0000 Received: from localhost ([127.0.0.1]:60032 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1r5wBu-0001hz-J9 for submit@debbugs.gnu.org; Wed, 22 Nov 2023 17:59:30 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]:51180) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1r5wBt-0001he-6d for control@debbugs.gnu.org; Wed, 22 Nov 2023 17:59:29 -0500 Received: from fencepost.gnu.org ([2001:470:142:3::e]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1r5wBj-0008VV-7V for control@debbugs.gnu.org; Wed, 22 Nov 2023 17:59:20 -0500 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnu.org; s=fencepost-gnu-org; h=MIME-version:Subject:From:To:Date:in-reply-to: references; bh=rqf1+O8hpdluKQnVXAObfSKVFqA+QpZ821L+DenSZAY=; b=EumbC/7Mc1Xgds Zy+uY09wUVf3j0iB9XOl9nPaa6phJDUUzC46zq+2xDqMVTxJWkRPTzxCx4tdra/FJUAEluaFJemqe 0gG49SnzyS2QJALkTgcp4T7aZQSMS/fDwjZemqdtItr4YsameIaOwRhuMC/NvdZfHJw3hLzqbVZpg BtefEzi+oclQiQ4QQ8YZ6Tos4uUjxNctrhKVmQIwzMRYtT3O/uhEnAkUX7xXxhfk0NjAOYZJIqzEA yPcob8p/d+YD2Pz+TRwHPANkr6X88Uk2QOUSzCUVVpTHT1EOXnk2Ic+edyyanmkgJOzAaJyUXedde EoaZHEkYzNjyE8EWNKgQ==; Date: Wed, 22 Nov 2023 23:59:17 +0100 Message-Id: <87ttpdgzsq.fsf@gnu.org> To: control@debbugs.gnu.org From: =?utf-8?Q?Ludovic_Court=C3=A8s?= Subject: control message for bug #64858 MIME-version: 1.0 Content-type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Spam-Score: -2.3 (--) X-Debbugs-Envelope-To: control X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -3.3 (---) close 64858 quit From debbugs-submit-bounces@debbugs.gnu.org Wed Nov 22 19:38:53 2023 Received: (at 64858) by debbugs.gnu.org; 23 Nov 2023 00:38:53 +0000 Received: from localhost ([127.0.0.1]:60211 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1r5xk5-0006vX-A6 for submit@debbugs.gnu.org; Wed, 22 Nov 2023 19:38:53 -0500 Received: from sail-ipv4.us-core.com ([208.82.101.137]:53622) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1r5xk2-0006vO-N7 for 64858@debbugs.gnu.org; Wed, 22 Nov 2023 19:38:51 -0500 DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; s=2017; bh=rGiIs+pGYMzfgGc 3qx5TOfqc10R9GG/7cz2Mc3SgK9k=; h=date:references:in-reply-to:subject: cc:to:from; d=lease-up.com; b=Wzj3u6KCLRj5RGBxipS+DZOayfOUcMrHP0LTnsu3 n/Bn9lV3KsJ09njjc8R7UpwklWr/tMmbhPb6OzSyFfvbIeHydfgT6ocZOrelJt84S51dCD +VgzUxRmQ2U6Mltb9cgmuzqV2aCL0/UaRpbarz9R/cJzK0UkmYNnpvEPDTvas= Received: by sail-ipv4.us-core.com (OpenSMTPD) with ESMTPSA id c610a61f (TLSv1.3:TLS_CHACHA20_POLY1305_SHA256:256:NO); Thu, 23 Nov 2023 00:38:45 +0000 (UTC) From: Felix Lechner To: Ludovic =?utf-8?Q?Court=C3=A8s?= Subject: Re: bug#64858: ~guix shell -C -f guix.scm =?utf-8?Q?=E2=80=A6~?= should not always need ~--rebuild-cache~ option to build the expected environment. In-Reply-To: <87v89tgzsz.fsf_-_@gnu.org> References: <9b178dff2dec09ca8af96fae54d5519c6d1cf1a4.1700457155.git.felix.lechner@lease-up.com> <87v89tgzsz.fsf_-_@gnu.org> Date: Wed, 22 Nov 2023 16:38:36 -0800 Message-ID: <87sf4xmhgz.fsf@lease-up.com> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-Spam-Score: -0.0 (/) X-Debbugs-Envelope-To: 64858 Cc: 64858@debbugs.gnu.org, Pierre-Henry =?utf-8?Q?Fr=C3=B6hring?= X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) Hi Ludo' On Wed, Nov 22 2023, Ludovic Court=C3=A8s wrote: > Oooh. So there were really two bugs: Sorry I commingled them! I read through many bug report in hope of being economical. My hijacking worked out fine, I hope, since Pierre-Henry's report was resolved at the same time. I understand Pierre-Henry's use case now. > It seems to do the right thing now. Let me know what you think! Thank you! The fixes look good. I am sure they will help many people. Personally, I won't be able to test for a while. Updating my system takes thirty hours because it needs a fixed eudev. The patch is tiny [1] but not universally accepted as the best solution. Also, the HEAD in Git doesn't always build. I update every two months. Thank you for the quick fix! Kind regards Felix [1] https://issues.guix.gnu.org/63508#24 From debbugs-submit-bounces@debbugs.gnu.org Sat Nov 25 23:17:54 2023 Received: (at 64858) by debbugs.gnu.org; 26 Nov 2023 04:17:54 +0000 Received: from localhost ([127.0.0.1]:40576 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1r76af-0001W6-QK for submit@debbugs.gnu.org; Sat, 25 Nov 2023 23:17:54 -0500 Received: from sail-ipv4.us-core.com ([208.82.101.137]:33876) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1r76ac-0001Vr-OJ for 64858@debbugs.gnu.org; Sat, 25 Nov 2023 23:17:51 -0500 DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; s=2017; bh=oPoOviiPALiH1VR ffUeKASiz8TgOXL3DputtZ/Vnw0s=; h=date:references:in-reply-to:subject: cc:to:from; d=lease-up.com; b=A4ykjObNHnon3irCdV2E6T/s8YThnlcqls86v4pQ U22ZXJtS+rhiLLAxzIdLiTbZGTOjWO9E53GFlpHHArBYZv3vIHug0OMrXp+eZ7BjQXz4jy alEmgzj+AidTIhncaLpDkqKdMPtBBjut6fHwEEd9L+U4YxqoPxWyyqPWcbKe4= Received: by sail-ipv4.us-core.com (OpenSMTPD) with ESMTPSA id 47603a72 (TLSv1.3:TLS_CHACHA20_POLY1305_SHA256:256:NO); Sun, 26 Nov 2023 04:17:44 +0000 (UTC) From: Felix Lechner To: Ludovic =?utf-8?Q?Court=C3=A8s?= Subject: Re: bug#64858: ~guix shell -C -f guix.scm =?utf-8?Q?=E2=80=A6~?= should not always need ~--rebuild-cache~ option to build the expected environment. In-Reply-To: <87sf4xmhgz.fsf@lease-up.com> References: <9b178dff2dec09ca8af96fae54d5519c6d1cf1a4.1700457155.git.felix.lechner@lease-up.com> <87v89tgzsz.fsf_-_@gnu.org> <87sf4xmhgz.fsf@lease-up.com> Date: Sat, 25 Nov 2023 20:17:43 -0800 Message-ID: <878r6lm9lk.fsf@lease-up.com> MIME-Version: 1.0 Content-Type: text/plain X-Spam-Score: -0.0 (/) X-Debbugs-Envelope-To: 64858 Cc: 64858@debbugs.gnu.org, Pierre-Henry =?utf-8?Q?Fr=C3=B6hring?= X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) Hi Ludo' On Wed, Nov 22 2023, Felix Lechner wrote: > Personally, I won't be able to test for a while. I cherry-picked your commits. They work as intended. My part of this bug was solved. Thank you! Kind regards Felix From unknown Sat Jun 21 05:08:15 2025 Received: (at fakecontrol) by fakecontrolmessage; To: internal_control@debbugs.gnu.org From: Debbugs Internal Request Subject: Internal Control Message-Id: bug archived. Date: Sun, 24 Dec 2023 12:24:11 +0000 User-Agent: Fakemail v42.6.9 # This is a fake control message. # # The action: # bug archived. thanks # This fakemail brought to you by your local debbugs # administrator