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 EIRLJX6si2K7iAAAbAwnHQ (envelope-from ) for ; Mon, 23 May 2022 17:47:10 +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 6BYEJX6si2L5QQEAauVa8A (envelope-from ) for ; Mon, 23 May 2022 17:47:10 +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 4BAA136B63 for ; Mon, 23 May 2022 17:47:10 +0200 (CEST) Received: from localhost ([::1]:51890 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1ntAGz-0008QY-DZ for larch@yhetil.org; Mon, 23 May 2022 11:47:09 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:36484) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1ntACG-0002MH-8T for guix-devel@gnu.org; Mon, 23 May 2022 11:42:19 -0400 Received: from fencepost.gnu.org ([2001:470:142:3::e]:36414) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1ntACA-0006fb-0p; Mon, 23 May 2022 11:42:11 -0400 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnu.org; s=fencepost-gnu-org; h=MIME-Version:In-Reply-To:Date:References:Subject:To: From; bh=+AzNgvedaq0u3ivXqTS+/gNC+hI3Y74HdxTjSIbnS1I=; b=SXCfiW71jbs2DVwFZE/P NvzXOb8QuLgBeG1wcShtDKHdBa8JRWhSjVZOrINP/3V/oCQiRR9u2SteO4zEvvAYLTkbWy8Yi+bDO vAu9Whjn68aDs15ytfzUDgrXvUXo62JTurd+pjvoZlDhF4KVfDGqN748a4jjTO5v2q6WFJuHW3MCu AY9cAMCUO0W/uSa+khjwnTcbnBzWluFdwvcUxVpSIHheREJ1a+UZNV2tjhPc8ljamuoQeEKqXn9zs YiUUnDJWG+T7NpPnJoCEZ9snqb/YV4ozspOJ+BvScVZL0EnvD4AhgUiapozcBdQcbv/jkWDZ+VXRW ou10WWMgivdeWw==; Received: from [193.50.110.143] (port=45694 helo=ribbon) by fencepost.gnu.org with esmtpsa (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1ntAC9-0002G7-Fu; Mon, 23 May 2022 11:42:09 -0400 From: =?utf-8?Q?Ludovic_Court=C3=A8s?= To: zimoun Cc: Guix Devel Subject: Re: wishlist: =?utf-8?B?4oCccmVwYWNr4oCd?= generations history of profile References: <86wnegb9it.fsf@gmail.com> X-URL: http://www.fdn.fr/~lcourtes/ X-Revolutionary-Date: 4 Prairial an 230 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: Mon, 23 May 2022 17:42:07 +0200 In-Reply-To: <86wnegb9it.fsf@gmail.com> (zimoun's message of "Fri, 20 May 2022 15:47:54 +0200") Message-ID: <87tu9g2r3k.fsf@gnu.org> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/27.2 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable 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=1653320830; 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: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references:list-id:list-help: list-unsubscribe:list-subscribe:list-post:dkim-signature; bh=+AzNgvedaq0u3ivXqTS+/gNC+hI3Y74HdxTjSIbnS1I=; b=INTy8MtjdIgUxzCJce6hFaqBe5zw9ySz1GKT0EFYphjMCVsW+1nlujlMiW5dC+9IKbmHYi eAZxenLBRXXiSnUsLiynRsLGE/L53PYlhW+Z5NltliPLK9us+HjsaofPisU7eFmkGFwzsc q5HCNRfze8NcE2kaBLBJvt0j8J+6qsB7J655Zy5tDg7BsfG5re1Ch+i45KHwMgkHnIatDS Yy9xxzvwADHfj4qU3lunhtTmEHWegEecC0TCQlX7efNDRS6D/qCibqdFImBad7FywkW++h zEYIh33AIL+DNFTDgC1A2OuDXxGCCL14Odc/pkF/OjkNU58BGjYhKWJWi6XXxA== ARC-Seal: i=1; s=key1; d=yhetil.org; t=1653320830; a=rsa-sha256; cv=none; b=kF5WyV/XCqbKTHVskbplDD3/X03eNPDYBe9S0LuORhaq/vT/A1RDR9RBy1/7n8R6fqxYrA U/Jf8aVPLqWejhUBooZdl1qxZQSBakDGwx+ttQvRuoPjsYJBEVf478HWnMxlHl5HNqaAGO 1xBk+zoaqqn+X2PZucoUkB2A5VnAJStBu0miMlbpOjzipVY4gvxBFQjKTOuhLass7ID5Qt /e8ogNNvlUVHJE7RQzoGzjbaZlal4P7EHe9o9RVuphWRg8sXJbyJbKwpPdt8ryE7MUl9NF I0TMUKfhalnl3kKPmcfcnmgIhBDYPL8SNeB1h0Ifv0YQkJRLLr6pgZwbVWjocw== ARC-Authentication-Results: i=1; aspmx1.migadu.com; dkim=pass header.d=gnu.org header.s=fencepost-gnu-org header.b=SXCfiW71; dmarc=pass (policy=none) header.from=gnu.org; 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: -9.05 Authentication-Results: aspmx1.migadu.com; dkim=pass header.d=gnu.org header.s=fencepost-gnu-org header.b=SXCfiW71; dmarc=pass (policy=none) header.from=gnu.org; 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: 4BAA136B63 X-Spam-Score: -9.05 X-Migadu-Scanner: scn0.migadu.com X-TUID: 4tv2c2FqZnGD Hello! zimoun skribis: > The question is what to do when we delete? > > I am proposing to delete the content, i.e., all but keep the meta, i.e., > the file manifest. We could have an option soft (keep meta) and hard > (remove all, meta included, as today) for guix gc. Exactly! =E2=80=98guix pull=E2=80=99 profiles are entirely reproducible: w= e can rebuild them from the output of =E2=80=98guix describe=E2=80=99. So =E2=80=98guix gc=E2=80=99 (or something) could automatically remove old = generation symlinks and instead store the output of =E2=80=98guix describe=E2=80=99. = That way, =E2=80=98--list-generations=E2=80=99 or =E2=80=98--switch-generations=E2=80= =99 could transparently display the info or rebuild the generation. System and Home generations are usually, but not necessarily, reproducible: usually the channel info + config file are enough to rebuild them, but in theory the config file might refer to resources not known to Guix (e.g., SSH key files, modules, whatever). That said, we could arrange so that =E2=80=98guix gc -d=E2=80=99 keeps the metadata aroun= d. For regular profiles, we might do the same, but no guarantee we can rebuild them, unless all the packages come from the same channels (which is the case if the profile was built with =E2=80=98guix package -m=E2=80=99= ). Ludo=E2=80=99.