From debbugs-submit-bounces@debbugs.gnu.org Mon Jan 29 10:01:37 2024 Received: (at submit) by debbugs.gnu.org; 29 Jan 2024 15:01:37 +0000 Received: from localhost ([127.0.0.1]:33216 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1rUT8j-00017o-2k for submit@debbugs.gnu.org; Mon, 29 Jan 2024 10:01:37 -0500 Received: from lists.gnu.org ([2001:470:142::17]:49040) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1rUT8h-00017a-Mu for submit@debbugs.gnu.org; Mon, 29 Jan 2024 10:01:36 -0500 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 1rUT8T-00085O-Ud for bug-guix@gnu.org; Mon, 29 Jan 2024 10:01:21 -0500 Received: from mail2-relais-roc.national.inria.fr ([192.134.164.83]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1rUT8R-0003WE-Oy for bug-guix@gnu.org; Mon, 29 Jan 2024 10:01:21 -0500 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=inria.fr; s=dc; h=from:to:subject:date:message-id:mime-version: content-transfer-encoding; bh=lNRMxvjIKM/nU1IWm029P66xDGHimyX8BOVnA2iippY=; b=GIzTGFDMSviCAj/n22qoFRa7feCwFLnVuQMVCrrmGO+FRY7Ge7goGBsM Sn7QXuppmrh82sw1gj5ZGVGTJx/8AurDEtLtxRQofrySXAC0q3zgjGSyD AtfCynacz5xiU0Y/9wm1SgTiAr4mxGveFdaD90/dvByaRzo/avsMKAHmh o=; Authentication-Results: mail2-relais-roc.national.inria.fr; dkim=none (message not signed) header.i=none; spf=SoftFail smtp.mailfrom=ludovic.courtes@inria.fr; dmarc=fail (p=none dis=none) d=inria.fr X-IronPort-AV: E=Sophos;i="6.05,227,1701126000"; d="scan'208";a="149201578" Received: from unknown (HELO ribbon) ([193.50.110.61]) by mail2-relais-roc.national.inria.fr with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 29 Jan 2024 16:01:14 +0100 From: =?utf-8?Q?Ludovic_Court=C3=A8s?= To: bug-guix@gnu.org Subject: Channel dependencies should be propagated X-URL: http://www.fdn.fr/~lcourtes/ X-Revolutionary-Date: =?utf-8?Q?D=C3=A9cadi?= 10 =?utf-8?Q?Pluvi=C3=B4se?= an 232 de la =?utf-8?Q?R=C3=A9volution=2C?= jour de la =?utf-8?Q?Cogn=C3=A9e?= 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: Mon, 29 Jan 2024 16:01:14 +0100 Message-ID: <878r48p4jp.fsf@inria.fr> User-Agent: Gnus/5.13 (Gnus v5.13) MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Received-SPF: pass client-ip=192.134.164.83; envelope-from=ludovic.courtes@inria.fr; helo=mail2-relais-roc.national.inria.fr X-Spam_score_int: -43 X-Spam_score: -4.4 X-Spam_bar: ---- X-Spam_report: (-4.4 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_MED=-2.3, 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: -0.0 (/) 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: -1.0 (-) Hello! With channels flourishing, we found a bug that=E2=80=99s always been there. When channel C depends on B, which depends on A, in general you need both A and B to be present in the build environment of C (the derivation that compiles C when you run =E2=80=98pull=E2=80=99 or =E2=80=98time-machin= e=E2=80=99) because potentially B is going to load modules from A. However, currently only B is present in C=E2=80=99s environment. To illustrate that, the script below creates three such channels. Right now it fails like this: --8<---------------cut here---------------start------------->8--- building /gnu/store/2pnfkl9l6lsndsgk4qg7rq4wjh2iisj0-my-channel-c.drv... |builder for `/gnu/store/2pnfkl9l6lsndsgk4qg7rq4wjh2iisj0-my-channel-c.drv'= failed to produce output path `/gnu/store/lix9sz9g2x2ixr3dsyrbnxhxfcqn41l7= -my-channel-c' build of /gnu/store/2pnfkl9l6lsndsgk4qg7rq4wjh2iisj0-my-channel-c.drv failed View build log at '/var/log/guix/drvs/2p/nfkl9l6lsndsgk4qg7rq4wjh2iisj0-my-= channel-c.drv.gz'. cannot build derivation `/gnu/store/alh2yy1258206zki24z9nzi1zwrggd4d-profil= e.drv': 1 dependencies couldn't be built guix time-machine: error: build of `/gnu/store/alh2yy1258206zki24z9nzi1zwrg= gd4d-profile.drv' failed $ zcat /var/log/guix/drvs/2p/nfkl9l6lsndsgk4qg7rq4wjh2iisj0-my-channel-c.dr= v.gz (repl-version 0 1 1) (exception misc-error (value #f) (value "no code for module ~S") (value ((m= y-channel-a))) (value #f)) --8<---------------cut here---------------end--------------->8--- Here=E2=80=99s the script: --8<---------------cut here---------------start------------->8--- #!/bin/sh set -ex mkdir a echo '(define-module (my-channel-a))' > a/my-channel-a.scm (cd a; git init; git add .; git commit -m init) mkdir b cat > b/my-channel-b.scm < b/.guix-channel < c/my-channel-c.scm < c/.guix-channel < "channels.scm" <8--- Ludo=E2=80=99. From debbugs-submit-bounces@debbugs.gnu.org Tue Jan 30 12:17:57 2024 Received: (at control) by debbugs.gnu.org; 30 Jan 2024 17:17:57 +0000 Received: from localhost ([127.0.0.1]:36615 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1rUrkD-0005Cn-7W for submit@debbugs.gnu.org; Tue, 30 Jan 2024 12:17:57 -0500 Received: from mail2-relais-roc.national.inria.fr ([192.134.164.83]:16210) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1rUrkA-0005CM-UO for control@debbugs.gnu.org; Tue, 30 Jan 2024 12:17:55 -0500 Authentication-Results: mail2-relais-roc.national.inria.fr; dkim=none (message not signed) header.i=none; spf=SoftFail smtp.mailfrom=ludo@gnu.org; dmarc=fail (p=none dis=none) d=gnu.org X-IronPort-AV: E=Sophos;i="6.05,230,1701126000"; d="scan'208";a="149464879" Received: from unknown (HELO ribbon) ([193.50.110.61]) by mail2-relais-roc.national.inria.fr with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 30 Jan 2024 18:17:39 +0100 Date: Tue, 30 Jan 2024 18:17:38 +0100 Message-Id: <87eddykafh.fsf@gnu.org> To: control@debbugs.gnu.org From: =?utf-8?Q?Ludovic_Court=C3=A8s?= Subject: control message for bug #68797 MIME-version: 1.0 Content-type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Spam-Score: -1.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: -2.3 (--) severity 68797 important quit From debbugs-submit-bounces@debbugs.gnu.org Fri Jun 28 02:37:38 2024 Received: (at 68797) by debbugs.gnu.org; 28 Jun 2024 06:37:38 +0000 Received: from localhost ([127.0.0.1]:51676 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1sN5En-0001mR-S3 for submit@debbugs.gnu.org; Fri, 28 Jun 2024 02:37:38 -0400 Received: from relay0-n.mailbaby.net ([174.138.190.37]:34769) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1sN5Em-0001mE-2i for 68797@debbugs.gnu.org; Fri, 28 Jun 2024 02:37:36 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=mailbaby.net; q=dns/txt; s=bambino; bh=7EABgFY75ClJebEFkvCYd7HBtxiJUzP1Oet+tTdCu7c=; h=from:subject:date:message-id:to:mime-version:content-type; b=J6MK4PN+xDyNFmwpKHo3T/ia+7Ei4tSzUIzUlCRYWOclTgp328+C+kxjm6eFpVLknTBlxZYEA YVAyokgLAKcVTgBS89fMC+LRZwObsgefWQ0kbp7R/5tA5vqlEzi1tsyiBw+BCAg2J08VA9iF/KU zd5wTzAcW9j1Z2ku7qBxh+Q= Received: from zmta1 ([45.76.59.163] 45.76.59.163.vultrusercontent.com) (Authenticated sender: mb25440) by relay0-n.mailbaby.net (MailBabyMTA) with ESMTPSA id 1905d209fb0000d5ed.001 for <68797@debbugs.gnu.org> (version=TLSv1.3 cipher=TLS_AES_256_GCM_SHA384); Fri, 28 Jun 2024 04:35:37 +0000 X-Zone-Loop: 207b17bb89bb2de0ad1656561a2ba867256f55d9c289 Received: from filter006.mxroute.com ([136.175.111.3] filter006.mxroute.com) (Authenticated sender: mN4UYu2MZsgR) by zmta1 (ZoneMTA) with ESMTPSA id 1905d1b8ec000017a3.001 for <68797@debbugs.gnu.org> (version=TLSv1.3 cipher=TLS_AES_256_GCM_SHA384); Fri, 28 Jun 2024 04:30:05 +0000 X-Zone-Loop: 3fcbcda10bedcc6e7606df4c770a2deb65d208a65c16 X-Originating-IP: [136.175.111.3] DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=freakingpenguin.com; s=x; h=Content-Type:MIME-Version:Message-ID:Date: Subject:To:From:Sender:Reply-To:Cc:Content-Transfer-Encoding:Content-ID: Content-Description:Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc :Resent-Message-ID:In-Reply-To:References:List-Id:List-Help:List-Unsubscribe: List-Subscribe:List-Post:List-Owner:List-Archive; bh=7EABgFY75ClJebEFkvCYd7HBtxiJUzP1Oet+tTdCu7c=; b=AkJs4hWY79CtqUl3x83UoJa6RX 1kROTf3UoA7bzAar12kU92Lvq3hc7Q7HBI4w0iRXJWmoyNsZW/JMqiefw7mjRBQhUcuJswoFd6jJu SgjCwZeQF9IO9MUAIqwkqECRPqOaIBjcNnZMHcA5cC0RQw7x2Oc6td7nvGmlunvpGgBdAPJU7VGvs xBMo0nJ4PQ4ywHmABB0otFRyDyslYf7iJlJztLZALyjneTT1z0A956swwd+ccEVVTPWPdhR31D+AY 9wae1gdspuqsDyCbdoYTXlfBwpYy0imBn7K7u9dZ3CrNwH/2Sd4hPAGW5LgKIe/5DsfIuFdMY5L5a HJzukNGg==; From: Richard Sent To: 68797@debbugs.gnu.org Subject: Relevant code Date: Fri, 28 Jun 2024 00:29:53 -0400 Message-ID: <877ce9wuym.fsf@freakingpenguin.com> MIME-Version: 1.0 Content-Type: text/plain X-Authenticated-Id: richard@freakingpenguin.com X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 68797 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.7 (-) For whoever takes this on, I believe the relevant code is resolve-dependencies in (guix channels). Note that resolve-dependencies operates on records, not . I came up with something earlier that handled one level of searching in the dependency graph, but between the awkwardness of converting between to to to and the unfamiliar VHash structure, couldn't quite iron it out to handle arbitrary depths. Unfortunately that code is lost, but I'll give it another try sometime if no one else gets to this first. -- Take it easy, Richard Sent Making my computer weirder one commit at a time.