From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mp1 ([2001:41d0:2:4a6f::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by ms11 with LMTPS id GCxvAT+Q118kWwAA0tVLHw (envelope-from ) for ; Mon, 14 Dec 2020 16:18:07 +0000 Received: from aspmx1.migadu.com ([2001:41d0:2:4a6f::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by mp1 with LMTPS id IFLNOD6Q11/jGAAAbx9fmQ (envelope-from ) for ; Mon, 14 Dec 2020 16:18:06 +0000 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 BBC279404D7 for ; Mon, 14 Dec 2020 16:18:06 +0000 (UTC) Received: from localhost ([::1]:38932 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1koqY1-0008A6-IH for larch@yhetil.org; Mon, 14 Dec 2020 11:18:05 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]:38462) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1koqWP-0006NT-Ao for guix-devel@gnu.org; Mon, 14 Dec 2020 11:16:25 -0500 Received: from wout5-smtp.messagingengine.com ([64.147.123.21]:42363) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1koqWM-0004z5-Qp; Mon, 14 Dec 2020 11:16:25 -0500 Received: from compute4.internal (compute4.nyi.internal [10.202.2.44]) by mailout.west.internal (Postfix) with ESMTP id B78E796B; Mon, 14 Dec 2020 11:16:20 -0500 (EST) Received: from mailfrontend1 ([10.202.2.162]) by compute4.internal (MEProxy); Mon, 14 Dec 2020 11:16:21 -0500 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=famulari.name; h=date:from:to:cc:subject:message-id:references:mime-version :content-type:content-transfer-encoding:in-reply-to; s=mesmtp; bh=W+rN/X099Se98Z89oa4sN359lpsUY2eGCT8Muh7TRvc=; b=n3GJO8n0E5xP 7VSZqzESgtrVRpCpMXuixpIq6cGn5YYyZdHwTKLmgRyM327J8MdNDGqB46J2Xc7K +aRInG93LF2ebIKUUEI8DDVCrmfRsUlWrDFYyCX/ddxt7vF/mkuTlXO2YC9cHcqY UzZCwx9uBvfOZDK6p9C7pVsWIZcAciY= DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= messagingengine.com; h=cc:content-transfer-encoding:content-type :date:from:in-reply-to:message-id:mime-version:references :subject:to:x-me-proxy:x-me-proxy:x-me-sender:x-me-sender :x-sasl-enc; s=fm1; bh=W+rN/X099Se98Z89oa4sN359lpsUY2eGCT8Muh7TR vc=; b=jz0GtIYJ+79+KrJ21ATBjnutCnU1jiafXTzn8Wc/zH97ct/gv10jaTYDP 8JTHE4HWvdqS4ymB4mZgGobUc8/cj9Fn8vxTsXD7cP1LV4mxWAc1CcH59maHdt7w iIXnh/D7+qKLa26jXEkdHKpsK8qxK1HpoCaY5z/8ZmhxKabydphPndSiqriqBCpu CC8SML6fU9Up2Gg9X2itqmZa2zDxNsU7oXzpf9aF9+77mdWcBhz0PWk/R/S5oW3T r7IdTHJT+OmEjSCLRmRw4eaR2+iZgxZkYa2vbtuadMD72nzbmnDgBP8FcXFXuS6v +MjkJDpcq8Ye9v9Qvsd6UOWiIHbZA== X-ME-Sender: X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedujedrudekkedgkeeiucetufdoteggodetrfdotf fvucfrrhhofhhilhgvmecuhfgrshhtofgrihhlpdfqfgfvpdfurfetoffkrfgpnffqhgen uceurghilhhouhhtmecufedttdenucesvcftvggtihhpihgvnhhtshculddquddttddmne cujfgurhepfffhvffukfhfgggtugfgjgesthekredttddtjeenucfhrhhomhepnfgvohcu hfgrmhhulhgrrhhiuceolhgvohesfhgrmhhulhgrrhhirdhnrghmvgeqnecuggftrfgrth htvghrnhepgeejgeeghedtudfgffdutddvffefffejkeffffevffehgedvvdeutdffkeej jeejnecukfhppeejfedrudeguddruddvjedrudegieenucevlhhushhtvghrufhiiigvpe dtnecurfgrrhgrmhepmhgrihhlfhhrohhmpehlvghosehfrghmuhhlrghrihdrnhgrmhgv X-ME-Proxy: Received: from localhost (c-73-141-127-146.hsd1.pa.comcast.net [73.141.127.146]) by mail.messagingengine.com (Postfix) with ESMTPA id 4547624005B; Mon, 14 Dec 2020 11:16:20 -0500 (EST) Date: Mon, 14 Dec 2020 11:16:18 -0500 From: Leo Famulari To: zimoun Subject: Re: New =?utf-8?Q?=E2=80=9Cungrafting?= =?utf-8?B?4oCd?= branch Message-ID: References: <87v9dcv8mt.fsf@gnu.org> <86sg88oeze.fsf@gmail.com> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: <86sg88oeze.fsf@gmail.com> Received-SPF: pass client-ip=64.147.123.21; envelope-from=leo@famulari.name; helo=wout5-smtp.messagingengine.com X-Spam_score_int: -27 X-Spam_score: -2.8 X-Spam_bar: -- X-Spam_report: (-2.8 / 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_LOW=-0.7, RCVD_IN_MSPIKE_H2=-0.001, SPF_HELO_PASS=-0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: guix-devel@gnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "Development of GNU Guix and the GNU System distribution." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Guix-devel Errors-To: guix-devel-bounces+larch=yhetil.org@gnu.org Sender: "Guix-devel" X-Migadu-Flow: FLOW_IN X-Migadu-Spam-Score: -1.31 Authentication-Results: aspmx1.migadu.com; dkim=fail (headers rsa verify failed) header.d=famulari.name header.s=mesmtp header.b=n3GJO8n0; dkim=fail (headers rsa verify failed) header.d=messagingengine.com header.s=fm1 header.b=jz0GtIYJ; dmarc=none; spf=pass (aspmx1.migadu.com: domain of guix-devel-bounces@gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=guix-devel-bounces@gnu.org X-Migadu-Queue-Id: BBC279404D7 X-Spam-Score: -1.31 X-Migadu-Scanner: scn0.migadu.com X-TUID: y97fFs/1foK2 On Mon, Dec 14, 2020 at 11:32:05AM +0100, zimoun wrote: > But if grafts is here, it is because of something. Therefore, I do not > understand what it does mean “ungraft”. Avoid the grafting mechanism > when it is possible? Grafts are used to "hack" the package dependency graph. We try to make some change in the dependency graph without having to recompile everything as normal. When we say "ungraft", we mean that we want to effect the same change in the dependency graph, but without using a graft. For example, if there was an urgent security update of OpenSSL to version 42, we would create a new package 'openssl-42' and add (replacement openssl-42) to the primary 'openssl' package. To ungraft, we'd remove the (replacement openssl-42) field from the 'openssl' package, and simply update the 'openssl' package to version 42. Does that make sense? Before Guix had a recursive grafting mechanism, we had to deploy urgent security updates by rebuilding everything. We either had to wait for everything to be rebuilt, which might take too long, or make users rebuild everything themselves, which could also take too long, and might not work at all on some computers. When we added the recursive grafting feature, we intended to use it to deploy urgent security updates quickly, but we also intended to "ungraft" quickly, maybe in a week or two. We never planned to keep packages grafted for several months as we do now — grafts were considered a necessary but unfortunate violation of the functional packaging model.