From debbugs-submit-bounces@debbugs.gnu.org Thu Nov 07 07:35:24 2019 Received: (at submit) by debbugs.gnu.org; 7 Nov 2019 12:35:24 +0000 Received: from localhost ([127.0.0.1]:41755 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1iSh0V-0008DH-PA for submit@debbugs.gnu.org; Thu, 07 Nov 2019 07:35:24 -0500 Received: from lists.gnu.org ([209.51.188.17]:37352) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1iSh0U-0008DA-2A for submit@debbugs.gnu.org; Thu, 07 Nov 2019 07:35:22 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]:58439) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1iSh0S-0002de-Mn for bug-Guix@gnu.org; Thu, 07 Nov 2019 07:35:21 -0500 X-Spam-Checker-Version: SpamAssassin 3.3.2 (2011-06-06) on eggs.gnu.org X-Spam-Level: X-Spam-Status: No, score=-4.2 required=5.0 tests=BAYES_50,RCVD_IN_DNSWL_HI, URIBL_BLOCKED autolearn=disabled version=3.3.2 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1iSh0R-0007cO-65 for bug-Guix@gnu.org; Thu, 07 Nov 2019 07:35:20 -0500 Received: from mail2-relais-roc.national.inria.fr ([192.134.164.83]:40976) by eggs.gnu.org with esmtps (TLS1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1iSh0Q-0007aR-Ti for bug-Guix@gnu.org; Thu, 07 Nov 2019 07:35:19 -0500 X-IronPort-AV: E=Sophos;i="5.68,278,1569276000"; d="scan'208";a="410796699" Received: from unknown (HELO ribbon) ([193.50.110.140]) by mail2-relais-roc.national.inria.fr with ESMTP/TLS/AES256-GCM-SHA384; 07 Nov 2019 13:35:15 +0100 From: =?utf-8?Q?Ludovic_Court=C3=A8s?= To: bug-Guix@gnu.org Subject: =?utf-8?Q?=E2=80=98--with-input=E2=80=99?= causes unintended rebuilds X-URL: http://www.fdn.fr/~lcourtes/ X-Revolutionary-Date: 17 Brumaire an 228 de la =?utf-8?Q?R=C3=A9volution?= X-PGP-Key-ID: 0x090B11993D9AEBB5 X-PGP-Key: http://www.fdn.fr/~lcourtes/ludovic.asc X-PGP-Fingerprint: 3CE4 6455 8A84 FDC6 9DB4 0CFB 090B 1199 3D9A EBB5 X-OS: x86_64-pc-linux-gnu Date: Thu, 07 Nov 2019 13:35:15 +0100 Message-ID: <87eeyjsw3g.fsf@inria.fr> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/26.3 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-Received-From: 192.134.164.83 X-Spam-Score: -1.3 (-) X-Debbugs-Envelope-To: submit 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: -2.3 (--) Hello, Consider this example: --8<---------------cut here---------------start------------->8--- $ guix build glib -nd /gnu/store/9zz9hvzaz06f40a4cbvhskb183x676w4-glib-2.60.6.drv $ guix build glib --with-input=3Dinkscape=3Dlibreoffice -nd /gnu/store/15f9jkpakmsaz8i2a0gy4kir1zyk29vi-glib-2.60.6.drv $ guix describe Generacio 114 Nov 02 2019 11:32:51 (nuna) guix ab1c063 repository URL: https://git.savannah.gnu.org/git/guix.git branch: master commit: ab1c063ab08e069fbe62919828fa634a2e222bbf --8<---------------cut here---------------end--------------->8--- Since GLib does not depend on Inkscape, the =E2=80=98--with-input=E2=80=99 = flag should have no effect: we should get the same glib derivation. However, we=E2=80= =99re not. If we diff the =E2=80=98glibc-2.60.6-guile-builder=E2=80=99 files of each d= erivation, we see that the second one has a duplicate entry: (define %build-inputs `(=E2=80=A6 ("python" . "/gnu/store/78w7y0lxar70j512iqw8x3nimzj10yga-python-3.7.4= ") ("python" . "/gnu/store/78w7y0lxar70j512iqw8x3nimzj10yga-python-3.7.4= ") =E2=80=A6)) whereas the first one doesn=E2=80=99t have this duplicate entry. IOW, the = two derivations are functionally equivalent but are not bit-identical. Indeed, evaluating: (bag-transitive-inputs (package->bag ((package-input-rewriting '()) glib))) shows that we have two =E2=80=9Cpython=E2=80=9D packages there that are not= =E2=80=98eq?=E2=80=99. To be continued=E2=80=A6 Ludo=E2=80=99. From debbugs-submit-bounces@debbugs.gnu.org Fri Nov 08 16:06:42 2019 Received: (at 38100) by debbugs.gnu.org; 8 Nov 2019 21:06:42 +0000 Received: from localhost ([127.0.0.1]:47782 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1iTBSs-0002sP-4V for submit@debbugs.gnu.org; Fri, 08 Nov 2019 16:06:42 -0500 Received: from eggs.gnu.org ([209.51.188.92]:46007) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1iTBSp-0002sB-UB for 38100@debbugs.gnu.org; Fri, 08 Nov 2019 16:06:40 -0500 Received: from fencepost.gnu.org ([2001:470:142:3::e]:55842) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1iTBSk-0000NP-Sn for 38100@debbugs.gnu.org; Fri, 08 Nov 2019 16:06:34 -0500 Received: from [2a01:e0a:1d:7270:af76:b9b:ca24:c465] (port=42390 helo=ribbon) by fencepost.gnu.org with esmtpsa (TLS1.2:RSA_AES_256_CBC_SHA1:256) (Exim 4.82) (envelope-from ) id 1iTBSk-0004Di-73 for 38100@debbugs.gnu.org; Fri, 08 Nov 2019 16:06:34 -0500 From: =?utf-8?Q?Ludovic_Court=C3=A8s?= To: 38100@debbugs.gnu.org Subject: Re: bug#38100: =?utf-8?Q?=E2=80=98--with-input=E2=80=99?= causes unintended rebuilds References: <87eeyjsw3g.fsf@inria.fr> Date: Fri, 08 Nov 2019 22:06:32 +0100 In-Reply-To: <87eeyjsw3g.fsf@inria.fr> ("Ludovic \=\?utf-8\?Q\?Court\=C3\=A8s\=22\?\= \=\?utf-8\?Q\?'s\?\= message of "Thu, 07 Nov 2019 13:35:15 +0100") Message-ID: <87ftiydqnb.fsf@gnu.org> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/26.3 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-Spam-Score: -2.3 (--) X-Debbugs-Envelope-To: 38100 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, Ludovic Court=C3=A8s skribis: > Indeed, evaluating: > > (bag-transitive-inputs > (package->bag ((package-input-rewriting '()) glib))) > > shows that we have two =E2=80=9Cpython=E2=80=9D packages there that are n= ot =E2=80=98eq?=E2=80=99. The problem is that =E2=80=98glib=E2=80=99 depends on =E2=80=98python-libxm= l2=E2=80=99, which uses =E2=80=98python-build-system=E2=80=99 and thus has =E2=80=98python=E2=80=99= as an implicit input. =E2=80=98package-input-rewriting=E2=80=99 doesn=E2=80=99t touch implicit in= puts so it leaves that implicit =E2=80=98python=E2=80=99 untouched. Since =E2=80=98transitive-inputs=E2=80=99 (used by =E2=80=98bag-transitive-= inputs=E2=80=99) uses pointer equality, we end up with two =E2=80=9Cpython=E2=80=9D packages that are not= =E2=80=98eq?=E2=80=99 but are functionally equivalent: the one produced by =E2=80=98package-input-rewriting=E2=80=99, and the implicit dependency of =E2=80=98python-libxml2=E2=80=99. QED. (This is essentially the same as .) I=E2=80=99m not sure how to address it. Ludo=E2=80=99. From debbugs-submit-bounces@debbugs.gnu.org Wed Jul 01 18:14:16 2020 Received: (at control) by debbugs.gnu.org; 1 Jul 2020 22:14:16 +0000 Received: from localhost ([127.0.0.1]:53877 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1jqkzg-0005rC-BJ for submit@debbugs.gnu.org; Wed, 01 Jul 2020 18:14:16 -0400 Received: from eggs.gnu.org ([209.51.188.92]:55352) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1jqkze-0005qz-Vi for control@debbugs.gnu.org; Wed, 01 Jul 2020 18:14:15 -0400 Received: from fencepost.gnu.org ([2001:470:142:3::e]:47628) by eggs.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1jqkzZ-0005ds-Nv for control@debbugs.gnu.org; Wed, 01 Jul 2020 18:14:09 -0400 Received: from [2a01:e0a:1d:7270:af76:b9b:ca24:c465] (port=51472 helo=ribbon) by fencepost.gnu.org with esmtpsa (TLS1.2:RSA_AES_256_CBC_SHA1:256) (Exim 4.82) (envelope-from ) id 1jqkzZ-0006fB-7J for control@debbugs.gnu.org; Wed, 01 Jul 2020 18:14:09 -0400 Date: Thu, 02 Jul 2020 00:14:08 +0200 Message-Id: <878sg2yjbj.fsf@gnu.org> To: control@debbugs.gnu.org From: =?utf-8?Q?Ludovic_Court=C3=A8s?= Subject: control message for bug #38100 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 (---) merge 38100 42156 quit From debbugs-submit-bounces@debbugs.gnu.org Wed Jul 01 18:16:01 2020 Received: (at control) by debbugs.gnu.org; 1 Jul 2020 22:16:01 +0000 Received: from localhost ([127.0.0.1]:53890 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1jql1N-0005uv-Fe for submit@debbugs.gnu.org; Wed, 01 Jul 2020 18:16:01 -0400 Received: from eggs.gnu.org ([209.51.188.92]:57100) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1jql1M-0005ua-9p for control@debbugs.gnu.org; Wed, 01 Jul 2020 18:16:00 -0400 Received: from fencepost.gnu.org ([2001:470:142:3::e]:47646) by eggs.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1jql1H-0006qD-3w for control@debbugs.gnu.org; Wed, 01 Jul 2020 18:15:55 -0400 Received: from [2a01:e0a:1d:7270:af76:b9b:ca24:c465] (port=51486 helo=ribbon) by fencepost.gnu.org with esmtpsa (TLS1.2:RSA_AES_256_CBC_SHA1:256) (Exim 4.82) (envelope-from ) id 1jql1G-0006sV-Eo for control@debbugs.gnu.org; Wed, 01 Jul 2020 18:15:54 -0400 Date: Thu, 02 Jul 2020 00:15:51 +0200 Message-Id: <87zh8ix4o8.fsf@gnu.org> To: control@debbugs.gnu.org From: =?utf-8?Q?Ludovic_Court=C3=A8s?= Subject: control message for bug #38100 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 (---) severity 38100 important quit From debbugs-submit-bounces@debbugs.gnu.org Mon Aug 03 10:30:45 2020 Received: (at control) by debbugs.gnu.org; 3 Aug 2020 14:30:45 +0000 Received: from localhost ([127.0.0.1]:45782 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1k2bUD-0007GQ-GZ for submit@debbugs.gnu.org; Mon, 03 Aug 2020 10:30:45 -0400 Received: from eggs.gnu.org ([209.51.188.92]:56476) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1k2bUB-0007GC-Kj for control@debbugs.gnu.org; Mon, 03 Aug 2020 10:30:43 -0400 Received: from fencepost.gnu.org ([2001:470:142:3::e]:42393) by eggs.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1k2bU6-0004gs-D6 for control@debbugs.gnu.org; Mon, 03 Aug 2020 10:30:38 -0400 Received: from [2a01:e35:2ffd:930:68c2:32f7:f96f:b343] (port=50642 helo=ribbon) by fencepost.gnu.org with esmtpsa (TLS1.2:RSA_AES_256_CBC_SHA1:256) (Exim 4.82) (envelope-from ) id 1k2bU0-0002gg-Bp for control@debbugs.gnu.org; Mon, 03 Aug 2020 10:30:37 -0400 Date: Mon, 03 Aug 2020 16:30:04 +0200 Message-Id: <87tuxjssyb.fsf@gnu.org> To: control@debbugs.gnu.org From: =?utf-8?Q?Ludovic_Court=C3=A8s?= Subject: control message for bug #42156 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 (---) retitle 42156 '--with-input', '--with-git-url' etc. cause unnecessary rebuilds quit From debbugs-submit-bounces@debbugs.gnu.org Sun Sep 27 17:46:31 2020 Received: (at 38100-done) by debbugs.gnu.org; 27 Sep 2020 21:46:31 +0000 Received: from localhost ([127.0.0.1]:50607 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1kMeV4-0000K0-VU for submit@debbugs.gnu.org; Sun, 27 Sep 2020 17:46:31 -0400 Received: from eggs.gnu.org ([209.51.188.92]:51698) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1kMeV3-0000EV-JO for 38100-done@debbugs.gnu.org; Sun, 27 Sep 2020 17:46:30 -0400 Received: from fencepost.gnu.org ([2001:470:142:3::e]:57749) by eggs.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1kMeUy-0005wN-9p for 38100-done@debbugs.gnu.org; Sun, 27 Sep 2020 17:46:24 -0400 Received: from [2a01:e0a:1d:7270:af76:b9b:ca24:c465] (port=43914 helo=ribbon) by fencepost.gnu.org with esmtpsa (TLS1.2:RSA_AES_256_CBC_SHA1:256) (Exim 4.82) (envelope-from ) id 1kMeUx-00062c-Tk for 38100-done@debbugs.gnu.org; Sun, 27 Sep 2020 17:46:24 -0400 From: =?utf-8?Q?Ludovic_Court=C3=A8s?= To: 38100-done@debbugs.gnu.org Subject: Re: bug#38100: =?utf-8?Q?=E2=80=98--with-input=E2=80=99?= causes unintended rebuilds References: <87eeyjsw3g.fsf@inria.fr> <87ftiydqnb.fsf@gnu.org> Date: Sun, 27 Sep 2020 23:46:22 +0200 Message-ID: <87sgb2dhap.fsf@inria.fr> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/27.1 (gnu/linux) 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: 38100-done 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 (---) Hey there! Ludovic Court=C3=A8s skribis: > Ludovic Court=C3=A8s skribis: > >> Indeed, evaluating: >> >> (bag-transitive-inputs >> (package->bag ((package-input-rewriting '()) glib))) >> >> shows that we have two =E2=80=9Cpython=E2=80=9D packages there that are = not =E2=80=98eq?=E2=80=99. > > The problem is that =E2=80=98glib=E2=80=99 depends on =E2=80=98python-lib= xml2=E2=80=99, which uses > =E2=80=98python-build-system=E2=80=99 and thus has =E2=80=98python=E2=80= =99 as an implicit input. > > =E2=80=98package-input-rewriting=E2=80=99 doesn=E2=80=99t touch implicit = inputs so it leaves > that implicit =E2=80=98python=E2=80=99 untouched. > > Since =E2=80=98transitive-inputs=E2=80=99 (used by =E2=80=98bag-transitiv= e-inputs=E2=80=99) uses pointer > equality, we end up with two =E2=80=9Cpython=E2=80=9D packages that are n= ot =E2=80=98eq?=E2=80=99 but > are functionally equivalent: the one produced by > =E2=80=98package-input-rewriting=E2=80=99, and the implicit dependency of > =E2=80=98python-libxml2=E2=80=99. QED. > > (This is essentially the same as .) Good news, this is fixed by 2bf6f962b91123b0474c0f7123cd17efe7f09a66, which introduces package rewriting including implicit inputs! Before getting there, this issue did get on my nerves for a while. Here are several ways to address this issue that I thought of: 1. Have =E2=80=98package-input-rewriting/spec=E2=80=99 traverse implicit = inputs, at least optionally. We wouldn=E2=80=99t end up with an equivalent-but-not-eq? =E2=80=98python=E2=80=99 in the example above. = It does change the semantics though, and it may be nice to keep a =E2=80=9Csha= llow=E2=80=9D replacement option. That=E2=80=99s what 2bf6f962b91123b0474c0f7123cd17efe7f09a66 does. 2. Do (delete-duplicates input-drvs) in =E2=80=98bag->derivation=E2=80=99= . That seems wise, but it=E2=80=99s unfortunately impossible on =E2=80=98master=E2= =80=99 because of . 3. =E2=80=98package-input-rewriting/spec=E2=80=99 preserves eq?-ness for = packages not transformed; in the example above, the transformation result would be eq? to =E2=80=98glib=E2=80=99 because =E2=80=98--with-input=3Dlibre= office=3Dinkscape=E2=80=99 had no effect. Tricky to implement efficiently, perhaps not worth it. I think #2 might still be worth investigating, but it may have undesirable implications too. #3 is hardly doable. All in all, I=E2=80=99m glad that #1 addresses the issue, because it=E2=80= =99s also something we wanted anyway. Ludo=E2=80=99. From unknown Thu Jun 19 14:20:16 2025 Received: (at fakecontrol) by fakecontrolmessage; To: internal_control@debbugs.gnu.org From: Debbugs Internal Request Subject: Internal Control Message-Id: bug archived. Date: Mon, 26 Oct 2020 11:24:04 +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