From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mp12.migadu.com ([2001:41d0:2:bcc0::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by ms5.migadu.com with LMTPS id ENmIFWOYKGNlrgAAbAwnHQ (envelope-from ) for ; Mon, 19 Sep 2022 18:27:15 +0200 Received: from aspmx1.migadu.com ([2001:41d0:2:bcc0::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by mp12.migadu.com with LMTPS id GM1uFWOYKGOKYwAAauVa8A (envelope-from ) for ; Mon, 19 Sep 2022 18:27:15 +0200 Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by aspmx1.migadu.com (Postfix) with ESMTPS id 2A8E61609C for ; Mon, 19 Sep 2022 18:27:15 +0200 (CEST) Received: from localhost ([::1]:51348 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1oaJc2-000797-9u for larch@yhetil.org; Mon, 19 Sep 2022 12:27:14 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:57876) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1oaJbi-00078j-6X for guix-devel@gnu.org; Mon, 19 Sep 2022 12:26:54 -0400 Received: from jpoiret.xyz ([206.189.101.64]:49074) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1oaJbg-0007OM-JK for guix-devel@gnu.org; Mon, 19 Sep 2022 12:26:53 -0400 Received: from authenticated-user (jpoiret.xyz [206.189.101.64]) by jpoiret.xyz (Postfix) with ESMTPA id 2191D184C99; Mon, 19 Sep 2022 16:26:49 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=jpoiret.xyz; s=dkim; t=1663604809; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: in-reply-to:in-reply-to:references:references; bh=CFln9JuyjwcZD7Q4r8MiTAIGWCYeu9n01SzkRD1xPnk=; b=ZgAKjE1iDtoOI5fr5DiBgjdivBQHB/xT2dKbmvE/sxPBI64q+V+WCoaA3getEz3Zzry/lS jeqsp2pq6wIBAhOr35Fi90Ma+2zFDER2ntBxwCrX4mtLPzufredS4OsKYxi7DYnuNXbK7t 68PESnviLvTR9ChZzLJqMZgaFNSKgcDSQAal0PcdBT+MXhB44ZDAXWI+dX36UH1WRUXMLt fivqiWmqg7BGfuJrFLlWTeVS9h9gGW+diyvIfkChFWMav1lwnihRpmwI2+ovqR6iCW5q17 QS6gDHqeL2tSvW2eNFgyAG7hJsD+Kkl/gWPvozA/v9Ab54WIP7RapGoVJNGGhg== From: Josselin Poiret To: Maxime Devos , Csepp Cc: Ricardo Wurmus , guix-devel@gnu.org Subject: Re: substitute derivation: also substitute grafts? In-Reply-To: References: <87r10ckcwp.fsf@elephly.net> <87o7vgg0e3.fsf@riseup.net> <50888e79-4d5e-8c66-b318-975e0d170aca@telenet.be> <877d24fs8i.fsf@riseup.net> Date: Mon, 19 Sep 2022 18:26:48 +0200 Message-ID: <87bkrb8h4n.fsf@jpoiret.xyz> MIME-Version: 1.0 Content-Type: text/plain X-Spamd-Bar: / Received-SPF: pass client-ip=206.189.101.64; envelope-from=dev@jpoiret.xyz; helo=jpoiret.xyz X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 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, FROM_SUSPICIOUS_NTLD=0.001, SPF_HELO_PASS=-0.001, SPF_PASS=-0.001, T_PDS_OTHER_BAD_TLD=0.01 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: guix-devel@gnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: "Development of GNU Guix and the GNU System distribution." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guix-devel-bounces+larch=yhetil.org@gnu.org Sender: "Guix-devel" X-Migadu-Flow: FLOW_IN X-Migadu-To: larch@yhetil.org X-Migadu-Country: US ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=yhetil.org; s=key1; t=1663604835; h=from:from:sender:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:cc:mime-version:mime-version: content-type:content-type:in-reply-to:in-reply-to: references:references:list-id:list-help:list-unsubscribe: list-subscribe:list-post:dkim-signature; bh=CFln9JuyjwcZD7Q4r8MiTAIGWCYeu9n01SzkRD1xPnk=; b=Cz68KO/nAFQiTn3wJwOdk03YcnCjgjeZg7PaxAecwK1YRVyBZ3wKv1rrwj2uOr8Of/9fCU 7HDi6+MYWGzNwxYWC/3ou7rTk/LhrqFWNwnXWOwp4YftqkPHMTq7gRGTBoR1fkGRMlT3kT lmi4UqwsDIzrlMh6ROsClOtpPTI1RYzEz2CRbZl/Vjbr/8G9lCu6Jf9WF71XiflE1ZW5ih s4Usr9KDnseHPgjKFd7UBj1QY9iGeE+TH3LN8y/vybBgc7zI8sko79idgHUhGwUXlYpkRY p0SgrMgp0P77Hnj/dJ/LMsaB1LOiyNh8kotU77bm7eH1URwtThtb9ezoSDYDOQ== ARC-Seal: i=1; s=key1; d=yhetil.org; t=1663604835; a=rsa-sha256; cv=none; b=o/EGmspSk9q1zEOrzfV+S6NLAuY13evtOnCqRWo+7IHDHTYgjpkZBxPSd3PPq8Dk1tPAll GX4s7hjCVk4AHImPXTxr2eewLPREJiWZnK+1FNf5ljKn4+ThefcvEmy4RPE0SgDOeNmJkt hbOv1iwPv6EqWwkpxe5WK53DguIOtRHax+2KXqfT2m3N8JOSf7s9eDmpb+sigDU6eK10Oq Uh1hJYchlHKOKZGykS9HUAIpu2n/kmTJa2BNCFW//zKtD062qdL8dH974MjlaNSilWjA9/ vkyAtLnRTqgO4oyRCCQZyu6RnvPYAwVZ2THYpE0NvDfojI2Sw/leuSTTVLCosA== ARC-Authentication-Results: i=1; aspmx1.migadu.com; dkim=pass header.d=jpoiret.xyz header.s=dkim header.b=ZgAKjE1i; dmarc=pass (policy=reject) header.from=jpoiret.xyz; spf=pass (aspmx1.migadu.com: domain of "guix-devel-bounces+larch=yhetil.org@gnu.org" designates 209.51.188.17 as permitted sender) smtp.mailfrom="guix-devel-bounces+larch=yhetil.org@gnu.org" X-Migadu-Spam-Score: -1.34 Authentication-Results: aspmx1.migadu.com; dkim=pass header.d=jpoiret.xyz header.s=dkim header.b=ZgAKjE1i; dmarc=pass (policy=reject) header.from=jpoiret.xyz; spf=pass (aspmx1.migadu.com: domain of "guix-devel-bounces+larch=yhetil.org@gnu.org" designates 209.51.188.17 as permitted sender) smtp.mailfrom="guix-devel-bounces+larch=yhetil.org@gnu.org" X-Migadu-Queue-Id: 2A8E61609C X-Spam-Score: -1.34 X-Migadu-Scanner: scn1.migadu.com X-TUID: SxHhbPsTPxEI Hi everyone, Maxime Devos writes: > Fallbacks might be necessary (not every store item is constructed from a > package), but it all sounds doable and efficient. Also the union could > needs to be modified to ignore the .graft-offsets of the union'ed things. If I understand the whole thing properly, the daemon already scans for references and could register their location in the database, avoiding the need for a potentially brittle in-store format as you highlighted, although that would require a non-trivial change to both the daemon and the database format. In any case, I don't think it's necessary to treat packages in a special way: any derivation can hold derivations and thus be grafted. Best, -- Josselin Poiret