GNU bug report logs - #70339
Constructing hg-fetch fixed-output derivation requires Mercurial

Please note: This is a static page, with minimal formatting, updated once a day.
Click here to see this page with the latest information and nicer formatting.

Package: guix; Reported by: Simon Tournier <zimon.toutoune@HIDDEN>; dated Thu, 11 Apr 2024 13:17:02 UTC; Maintainer for guix is bug-guix@HIDDEN.

Message received at 70339 <at> debbugs.gnu.org:


Received: (at 70339) by debbugs.gnu.org; 12 Apr 2024 09:30:30 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Fri Apr 12 05:30:30 2024
Received: from localhost ([127.0.0.1]:57885 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1rvDEo-0002DJ-FQ
	for submit <at> debbugs.gnu.org; Fri, 12 Apr 2024 05:30:30 -0400
Received: from mail3-relais-sop.national.inria.fr ([192.134.164.104]:54528)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <ludovic.courtes@HIDDEN>) id 1rvDEf-0002BU-F0
 for 70339 <at> debbugs.gnu.org; Fri, 12 Apr 2024 05:30:25 -0400
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=inria.fr; s=dc;
 h=from:to:cc:subject:in-reply-to:references:date:
 message-id:mime-version:content-transfer-encoding;
 bh=9uhgvJz5PibzQtsgSmqKAetAF02yFnNBZTVWD41VOGI=;
 b=ZckfSQiXufTUie/Sk7/XVOEyot/vszNrHmBrpQwQ404i8QD8r8L76MCh
 E5xiJzOQvejWizs9O9+5YunKjgmugrwYuOPYCNziRnx66qBnKOekGRji/
 Xz1Wciiq55jtz0OKEStwMjWt0LrcyMRTM0a1a4LaiI8O2p8HbdUX5btWW s=;
Authentication-Results: mail3-relais-sop.national.inria.fr;
 dkim=none (message not signed) header.i=none;
 spf=SoftFail smtp.mailfrom=ludovic.courtes@HIDDEN;
 dmarc=fail (p=none dis=none) d=inria.fr
X-IronPort-AV: E=Sophos;i="6.07,195,1708383600"; d="scan'208";a="84584746"
Received: from unknown (HELO ribbon) ([193.50.110.177])
 by mail3-relais-sop.national.inria.fr with
 ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 12 Apr 2024 11:30:02 +0200
From: =?utf-8?Q?Ludovic_Court=C3=A8s?= <ludovic.courtes@HIDDEN>
To: Simon Tournier <zimon.toutoune@HIDDEN>
Subject: Re: bug#70339: Constructing hg-fetch fixed-output derivation
 requires Mercurial
In-Reply-To: <87h6g9w5rt.fsf@HIDDEN> (Simon Tournier's message of "Wed, 10
 Apr 2024 18:18:14 +0200")
References: <87h6g9w5rt.fsf@HIDDEN>
Date: Fri, 12 Apr 2024 11:30:00 +0200
Message-ID: <87r0fbexnr.fsf@HIDDEN>
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: 0.0 (/)
X-Debbugs-Envelope-To: 70339
Cc: 70339 <at> debbugs.gnu.org
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -1.0 (-)

Hello!

Simon Tournier <zimon.toutoune@HIDDEN> skribis:

> $ guix build -S -d hg-commitsigs
> substitute: updating substitutes from 'https://ci.guix.gnu.org'... 100.0%
> 3,7 MB will be downloaded:
>   /gnu/store/6fya762sz5hjdj04vdn5g3v6zii6f11d-mercurial-6.2.2
> substituting /gnu/store/6fya762sz5hjdj04vdn5g3v6zii6f11d-mercurial-6.2.2.=
..
> downloading from https://ci.guix.gnu.org/nar/lzip/6fya762sz5hjdj04vdn5g3v=
6zii6f11d-mercurial-6.2.2 ...
>  mercurial-6.2.2  3.5MiB                                                 =
  529KiB/s 00:07 =E2=96=95=E2=96=88=E2=96=88=E2=96=88=E2=96=88=E2=96=88=E2=
=96=88=E2=96=88=E2=96=88=E2=96=88=E2=96=88=E2=96=88=E2=96=88=E2=96=88=E2=96=
=88=E2=96=88=E2=96=88=E2=96=88=E2=96=88=E2=96=8F 100.0%
>
> /gnu/store/pkb6zd9xfmxx6rsh4p7w3glh7xqg5sqy-hg-commitsigs-0.1.0-0.b53eb68=
-checkout.drv
>
>
> and it is unexpected.

That running =E2=80=98hg clone=E2=80=99 requires Mercurial isn=E2=80=99t to=
tally unexpected to
me.  :-)

> I think it comes from this part:
>
>                      (hg-fetch '#$(hg-reference-url ref)
>                                '#$(hg-reference-changeset ref)
>                                #$output
>                                #:hg-command (string-append #+hg "/bin/hg"=
)))
>
> from =E2=80=99hg-fetch=E2=80=99 in (guix hg-download).  Here the #+hg is =
not required
> because just before there is:
>
>             (set-path-environment-variable "PATH" '("bin")
>                                            (match '#+inputs
>                                              (((names dirs outputs ...) .=
..)
>                                               dirs)))

Maybe, but one way or another, Mercurial is necessary.

Now, the =E2=80=98guix recover=E2=80=99 tool (or whatever you call it) you=
=E2=80=99re working on
could create a different fixed-output derivation producing the same
result but without using Mercurial; typically, the builder of that
derivation would download from SWH.

Does that make sense?

HTH,
Ludo=E2=80=99.




Information forwarded to bug-guix@HIDDEN:
bug#70339; Package guix. Full text available.

Message received at submit <at> debbugs.gnu.org:


Received: (at submit) by debbugs.gnu.org; 11 Apr 2024 13:16:58 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Thu Apr 11 09:16:58 2024
Received: from localhost ([127.0.0.1]:55279 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1ruuIT-0000jm-Jp
	for submit <at> debbugs.gnu.org; Thu, 11 Apr 2024 09:16:57 -0400
Received: from lists.gnu.org ([2001:470:142::17]:59032)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <zimon.toutoune@HIDDEN>) id 1ruuIS-0000jL-Dj
 for submit <at> debbugs.gnu.org; Thu, 11 Apr 2024 09:16:56 -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 <zimon.toutoune@HIDDEN>)
 id 1ruuID-000875-LT
 for bug-guix@HIDDEN; Thu, 11 Apr 2024 09:16:41 -0400
Received: from mail-wr1-x435.google.com ([2a00:1450:4864:20::435])
 by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128)
 (Exim 4.90_1) (envelope-from <zimon.toutoune@HIDDEN>)
 id 1ruuIA-0004IM-Uy
 for bug-guix@HIDDEN; Thu, 11 Apr 2024 09:16:40 -0400
Received: by mail-wr1-x435.google.com with SMTP id
 ffacd0b85a97d-346407b8c9aso1110945f8f.0
 for <bug-guix@HIDDEN>; Thu, 11 Apr 2024 06:16:37 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=gmail.com; s=20230601; t=1712841396; x=1713446196; darn=gnu.org;
 h=content-transfer-encoding:mime-version:message-id:date:subject:to
 :from:from:to:cc:subject:date:message-id:reply-to;
 bh=Pg+K4W8Pv9e73ru5/P3OYTQW59GzJO7Pz03l2DC+pfk=;
 b=Fq8CfAWLhr/flPEdLU64eG/fNICnJOtgkI+wbql+BD4ZucV/IIc8E5k3Q85x8P3TjV
 NT6wyJKH6gs0GSB0t8zM8H2XDIfmpEpL/u7yzEMg8XbtDFCifDAoX+LHe8gAWmnka9c1
 2mDu7EJuxIuSvtBhZR5AJkOODfR16ATK+yAOfJ6PsFS6NIdFb5+8wd/9pp4hnbn18sQE
 9R+YyPjH+fnZ1vnaThXSgmCZP8T7YsedA9X/q1AYGXUgC88AuxoPGHpkGL8lzoyYsmSu
 wsrxXnJ3kjDhQDbR/K7lRPQ/5qejvXVeV2dJ6zSLTONhVIpRXj2erSqPOYB0xg8VvTjJ
 ojNQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=1e100.net; s=20230601; t=1712841396; x=1713446196;
 h=content-transfer-encoding:mime-version:message-id:date:subject:to
 :from:x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
 bh=Pg+K4W8Pv9e73ru5/P3OYTQW59GzJO7Pz03l2DC+pfk=;
 b=NtXUS4B3BCkdwM2nNydpV3BJHr6Xj9cFXTYRW6l2dKzgq6LLGQmgPycpaGz2zM9WvE
 7NANNLLiF+17K0fP77DkPv+dqeEJOhHPIRL2oFQZWo+lZnKE3L9S1R35sD+B20P5Zlp6
 lCDi0gzJ4GEJWwVbs480Knx16wjaB9oDVczSb33uphr6OedbgxKXssXD1p+ZMpnHegxO
 TPWDLZiefNkfskU8AA6mMVB2wEukoFLGFTqOcSxuMN2CUYzc9NvsijaCBlgM8ukRnnBB
 LSABg+hmXUWCAuGO+BpDRTSe9E4SE2Kbn3oVY8EiVJdDBrY/kGvOr9Ef0SOMFrz+KnGo
 6d2A==
X-Gm-Message-State: AOJu0YzVmfXISvRImu0iEFzRocAK0oEVAYFOnpvz+SuJMakDatHQqrya
 BYAZU/Aai2W1rdiDd6ezcaWolGEwxFWXtEulb7FPImNDzApJETGllnFNWw==
X-Google-Smtp-Source: AGHT+IEt7s9Wj+ZLCmJsLROefw8Kq/y8yvrSCSpArvBSe2CMO9qvm/DuHzvUrocPfn8m7LBd6N+TXg==
X-Received: by 2002:a05:600c:510d:b0:417:29a3:3f4f with SMTP id
 o13-20020a05600c510d00b0041729a33f4fmr3237079wms.2.1712841396470; 
 Thu, 11 Apr 2024 06:16:36 -0700 (PDT)
Received: from lili ([2a01:e0a:59b:9120:9204:3045:1131:5cf7])
 by smtp.gmail.com with ESMTPSA id
 u14-20020a05600c19ce00b0041772ec5d18sm4777113wmq.0.2024.04.11.06.16.35
 for <bug-guix@HIDDEN>
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Thu, 11 Apr 2024 06:16:36 -0700 (PDT)
From: Simon Tournier <zimon.toutoune@HIDDEN>
To: bug-guix@HIDDEN
Subject: Constructing hg-fetch fixed-output derivation requires Mercurial
Date: Wed, 10 Apr 2024 18:18:14 +0200
Message-ID: <87h6g9w5rt.fsf@HIDDEN>
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: quoted-printable
Received-SPF: pass client-ip=2a00:1450:4864:20::435;
 envelope-from=zimon.toutoune@HIDDEN; helo=mail-wr1-x435.google.com
X-Spam_score_int: -10
X-Spam_score: -1.1
X-Spam_bar: -
X-Spam_report: (-1.1 / 5.0 requ) BAYES_00=-1.9, DATE_IN_PAST_12_24=1.049,
 DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1,
 FREEMAIL_FROM=0.001, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001,
 SPF_PASS=-0.001 autolearn=no autolearn_force=no
X-Spam_action: no action
X-Spam-Score: 1.8 (+)
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:  Hi, For instance, --8<cut herestart>8--- $ guix build -S -d
 hg-commitsigs substitute: updating substitutes from
 'https://ci.guix.gnu.org'...
 100.0% 3,7 MB will be downloaded: [...] 
 Content analysis details:   (1.8 points, 10.0 required)
 pts rule name              description
 ---- ---------------------- --------------------------------------------------
 0.0 FREEMAIL_FROM          Sender email is commonly abused enduser mail
 provider (zimon.toutoune[at]gmail.com)
 0.8 DATE_IN_PAST_12_24     Date: is 12 to 24 hours before Received: date
 1.0 SPF_SOFTFAIL           SPF: sender does not match SPF record (softfail)
 -0.0 SPF_HELO_PASS          SPF: HELO matches SPF record
X-Debbugs-Envelope-To: submit
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: 0.8 (/)

Hi,

For instance,

--8<---------------cut here---------------start------------->8---
$ guix build -S -d hg-commitsigs
substitute: updating substitutes from 'https://ci.guix.gnu.org'... 100.0%
3,7 MB will be downloaded:
  /gnu/store/6fya762sz5hjdj04vdn5g3v6zii6f11d-mercurial-6.2.2
substituting /gnu/store/6fya762sz5hjdj04vdn5g3v6zii6f11d-mercurial-6.2.2...
downloading from https://ci.guix.gnu.org/nar/lzip/6fya762sz5hjdj04vdn5g3v6z=
ii6f11d-mercurial-6.2.2 ...
 mercurial-6.2.2  3.5MiB                                                   =
529KiB/s 00:07 =E2=96=95=E2=96=88=E2=96=88=E2=96=88=E2=96=88=E2=96=88=E2=96=
=88=E2=96=88=E2=96=88=E2=96=88=E2=96=88=E2=96=88=E2=96=88=E2=96=88=E2=96=88=
=E2=96=88=E2=96=88=E2=96=88=E2=96=88=E2=96=8F 100.0%

/gnu/store/pkb6zd9xfmxx6rsh4p7w3glh7xqg5sqy-hg-commitsigs-0.1.0-0.b53eb68-c=
heckout.drv
--8<---------------cut here---------------end--------------->8---

and it is unexpected.  The construction of the fixed-output derivation
does not need to download stuff; it only needs to compose stuff
detailing how to do.  Any download (or build) must happen when running
the derivation itself.

The issue: later =E2=80=93 say 1 or 2 years from now =E2=80=93 the command:

   guix time-machone --commit=3D929ddec -- build -S -d hg-commitsigs

will start to build all what Mercurial needs (python etc.).  If for some
reasons*, only one of Mercurial dependencies fails then we are doomed.

    ( Context: I am working on a fixed-output translator; rely on
      current strategies for downloading and do not require all the past
      stack just for downloading source code. )

I think it comes from this part:

--8<---------------cut here---------------start------------->8---
                     (hg-fetch '#$(hg-reference-url ref)
                               '#$(hg-reference-changeset ref)
                               #$output
                               #:hg-command (string-append #+hg "/bin/hg")))
--8<---------------cut here---------------end--------------->8---

from =E2=80=99hg-fetch=E2=80=99 in (guix hg-download).  Here the #+hg is no=
t required
because just before there is:

            (set-path-environment-variable "PATH" '("bin")
                                           (match '#+inputs
                                             (((names dirs outputs ...) ...)
                                              dirs)))

So relying on string "hg" should be enough; as it is done in
=E2=80=99git-fetch/in-band*=E2=80=99 for one example.

Do I miss something?


Cheers,
simon

*reasons of failures: See
 https://guix.gnu.org/en/blog/2024/adventures-on-the-quest-for-long-term-re=
producible-deployment




Acknowledgement sent to Simon Tournier <zimon.toutoune@HIDDEN>:
New bug report received and forwarded. Copy sent to bug-guix@HIDDEN. Full text available.
Report forwarded to bug-guix@HIDDEN:
bug#70339; Package guix. Full text available.
Please note: This is a static page, with minimal formatting, updated once a day.
Click here to see this page with the latest information and nicer formatting.
Last modified: Fri, 12 Apr 2024 09:45:01 UTC

GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997 nCipher Corporation Ltd, 1994-97 Ian Jackson.