From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mp1 ([2001:41d0:2:bcc0::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by ms0.migadu.com with LMTPS id WKrZBZNqIWEbMwAAgWs5BA (envelope-from ) for ; Sat, 21 Aug 2021 23:05:23 +0200 Received: from aspmx1.migadu.com ([2001:41d0:2:bcc0::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by mp1 with LMTPS id e+E9AZNqIWHhaAAAbx9fmQ (envelope-from ) for ; Sat, 21 Aug 2021 21:05:23 +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 60D1089D7 for ; Sat, 21 Aug 2021 23:05:21 +0200 (CEST) Received: from localhost ([::1]:54780 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1mHYB5-0007di-Lq for larch@yhetil.org; Sat, 21 Aug 2021 17:05:19 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:56684) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1mHYAq-0007dW-KC for help-guix@gnu.org; Sat, 21 Aug 2021 17:05:04 -0400 Received: from wout3-smtp.messagingengine.com ([64.147.123.19]:44355) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1mHYAn-000634-UR for help-guix@gnu.org; Sat, 21 Aug 2021 17:05:04 -0400 Received: from compute2.internal (compute2.nyi.internal [10.202.2.42]) by mailout.west.internal (Postfix) with ESMTP id E5157320079B; Sat, 21 Aug 2021 17:04:57 -0400 (EDT) Received: from mailfrontend2 ([10.202.2.163]) by compute2.internal (MEProxy); Sat, 21 Aug 2021 17:04:58 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=famulari.name; h=date:from:to:subject:message-id:references:mime-version :content-type:content-transfer-encoding:in-reply-to; s=mesmtp; bh=OZy1Mza0awqkKqf8kNloyEdNUDULEykOdpJoDVWxBJo=; b=0RxydqpLUOvY EI3yJI99dcgUS6Ggr0V1GTfSelC6UVJv5iskCfhIkXy+N1PFsqiuBoHn/aG7R+HJ FCB4HsUDvNXXdm9quU0zVkmdZCf1VDXXz5tjrFzRWSG3UHUiu9+IRSTwJNVOUNsr hJ6xQU2PM/wq5Ey4Rzq/ICpq3x1u5lE= DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= messagingengine.com; h=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=fm3; bh=OZy1Mza0awqkKqf8kNloyEdNUDULEykOdpJoDVWxB Jo=; b=odhQUycotERbKebOsTVF+IlU3RgLMNS1uTKPjMz5et6cqoSLF9oTjXQKx rFRrG4lyvmxKu9PHHzIEZ5hQEgxQixAIuVjpa1FyIVfTqgw7wiqrc92G7/wXcsaB YcAg1aBDRPMi8Lt0sRMaCos52ShkOzcTZicdsIY6LKFU5TtTbS6tJJPWGX1rEHID b+49RoTlGdVxdLLzHktYuGp5SfFiBVKs01VxmAFvUNM1ol5LavI/sLClCOlVeHKt yVTF/wGuYJAv+nYQdDFR/VjRQQpuT/6cj9UaaUj1fs059EkGrDiWtfdccY+hz9Hw dHLTbWABToCpeScfp80vMwTDD/3mA== X-ME-Sender: X-ME-Received: X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedvtddruddtuddgudehiecutefuodetggdotefrod ftvfcurfhrohhfihhlvgemucfhrghsthforghilhdpqfgfvfdpuffrtefokffrpgfnqfgh necuuegrihhlohhuthemuceftddtnecunecujfgurhepfffhvffukfhfgggtugfgjgesth ekredttddtudenucfhrhhomhepnfgvohcuhfgrmhhulhgrrhhiuceolhgvohesfhgrmhhu lhgrrhhirdhnrghmvgeqnecuggftrfgrthhtvghrnhepudehueefffdtffejhfehueelke egudfhgeejtdfhvedtheejkefftddvledvuddunecuffhomhgrihhnpehstghmrdhithdp ghhithhlrggsrdgtohhmpdhgnhhurdhorhhgnecuvehluhhsthgvrhfuihiivgeptdenuc frrghrrghmpehmrghilhhfrhhomheplhgvohesfhgrmhhulhgrrhhirdhnrghmvg X-ME-Proxy: Received: by mail.messagingengine.com (Postfix) with ESMTPA for ; Sat, 21 Aug 2021 17:04:57 -0400 (EDT) Date: Sat, 21 Aug 2021 17:04:54 -0400 From: Leo Famulari To: excalamus--- via Subject: Re: Remove build Message-ID: References: MIME-Version: 1.0 Content-Type: text/plain; charset=iso-8859-1 Content-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: Received-SPF: pass client-ip=64.147.123.19; envelope-from=leo@famulari.name; helo=wout3-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: help-guix@gnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: help-guix-bounces+larch=yhetil.org@gnu.org Sender: "Help-Guix" X-Migadu-Flow: FLOW_IN ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=yhetil.org; s=key1; t=1629579922; h=from:from:sender:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to: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=OZy1Mza0awqkKqf8kNloyEdNUDULEykOdpJoDVWxBJo=; b=o2N2H5eFSVzFp8TlWOw21Dy7D64kWS2yv7Hr3woRqyev34AdvFDGWrjuAM2i+q5dYYaVB3 qmugHCcfB0zxKpaBz/yI70bDXFzLNwK6IniSR16WvG6LxCfcjODo85rbMYBHKQc+Z2KpjM 3PZaQaFyrqXh4HuwTAzZwMB9oDleYo7E+fBio3LW/RNR8CAGJJ2TNkoPBoz7pDd74WjwfE Td5lrCydxq+LsJG2pZSAbxI1wuI9LIcswjc9x16wEwi/X+QBxpNoL+6HlQ2/mgMwpp07O5 RBLjQdVvGPwJOFhXAW5FJzPeGnXh0nA+IwY42le58QPB+PIBBz/EdWd/vd9HoQ== ARC-Seal: i=1; s=key1; d=yhetil.org; t=1629579922; a=rsa-sha256; cv=none; b=Mvg/4ERzmKMz6+ZwqhW3eD3z4f1+96czSKhsQeTMEU9tPOpmZRFKEU+TXBPjKV5ysGaete lP+OWwBZ01nQQZXFsa79/wUDLuKMl9D8rqUsIHGDFM/9Ljvw121AkxYvLnjr+++uGbTXXs utXqC7WUhbRxIlaM3ywQBHNPK8z88uom6JwndQbNQ6EKZAPq0zW8GYKuMmhAqXkZDlHizx ncPoruzxlIW3U1hmQbzOM8lk/j/Z5VJ2Kghkfg55mQiWmSUQMYcF5K/pJztEuX1FTDcJ8C 28UrwDuxsIKT1hX5xxiqZAyFPGBkLfZW/dyOfFu8TwvSqrvhtLnDfXvo+m35ag== ARC-Authentication-Results: i=1; aspmx1.migadu.com; dkim=pass header.d=famulari.name header.s=mesmtp header.b=0RxydqpL; dkim=pass header.d=messagingengine.com header.s=fm3 header.b=odhQUyco; dmarc=none; spf=pass (aspmx1.migadu.com: domain of help-guix-bounces@gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=help-guix-bounces@gnu.org X-Migadu-Spam-Score: -2.62 Authentication-Results: aspmx1.migadu.com; dkim=pass header.d=famulari.name header.s=mesmtp header.b=0RxydqpL; dkim=pass header.d=messagingengine.com header.s=fm3 header.b=odhQUyco; dmarc=none; spf=pass (aspmx1.migadu.com: domain of help-guix-bounces@gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=help-guix-bounces@gnu.org X-Migadu-Queue-Id: 60D1089D7 X-Spam-Score: -2.62 X-Migadu-Scanner: scn0.migadu.com X-TUID: LUtGjJxNogDv On Sat, Aug 21, 2021 at 07:41:28PM +0200, excalamus--- via wrote: > I'm trying to update stenography.scm to use a later version of plover.  I made a few changes (given below), some appropriate, others not, and ran guix build -K --file=xc.stenography.scm.  It built and runs directly from the store.  Great.  I want to fix the inappropriate changes and create a proper package.  But, how can I remove the build from the store? In general, you delete things in the store like this: ------ $ guix gc --delete /gnu/store/a462kby1q51ndvxdv3b6p0rsixxrgx1h-hello-2.10 finding garbage collector roots... [0 MiB] deleting '/gnu/store/a462kby1q51ndvxdv3b6p0rsixxrgx1h-hello-2.10' deleting `/gnu/store/trash' deleting unused links... note: currently hard linking saves 5670.77 MiB ------ `guix gc` [0] is the *only* way to remove things from the store that is okay. On certain configurations it may be possible to remove or edit files in the store using other tools, but that's totally unsupported and absolutely not recommended. The Guix model assumes that store items (i.e. directories in /gnu/store) are immutable after building, and that nothing except the guix-daemon can add or delete them. Note that "removing builds" from the store is not necessary or even useful for testing changes to package definitions. Every time a package definition or dependency of a package is changed, building the package will create a new store item. > It looks like guix gc is what I need.  However, it won't delete store items which are "live".  I understand "live" to mean "reachable from a root" where a "root" is a symlink returned by guix gc --list-roots.  Checking the link corresponding to my latest generation, the build isn't anywhere in bin.  I expected this, as it wasn't packaged or added to a profile afaik.  The symlinks in /var/guix/profiles/per-user/ahab/guix-profile-80-link/bin all point toward the old version of plover.  To clarify, are you saying that you tried to remove a store item using `guix gc --delete` and that you could not? Despite not understanding why the store item was alive? For figuring out why something is alive, I would try something like this, to see if any profiles refer to the store item: ------ guix gc --referrers /gnu/store/5l6zdapgxmcrs2sfldcf3m66dc8s0km9-borg-1.1.17 | grep profile /gnu/store/2bcxm82ifky1115ydcrqh6pwqj7c5b6w-profile.drv /gnu/store/7qal71jjrfpav42m6zq8f3rn3wwf5blk-profile /gnu/store/9qyjfvlhs77nrz26102kvz1lg4lncnp8-profile.drv /gnu/store/bskv7y5x249mxh1bzyh8f63rqghsfzlw-profile /gnu/store/j5hfn3f5ds4i3fy06mm5f71ymlprnxcm-profile /gnu/store/n63rjvdy10f96wjxkg0fi528lrlinl0r-profile /gnu/store/qym0jr3pak5svd8rn0n2c7psx3sfdj9p-profile.drv ------ It's not as good as a command that simply answered "why is X alive?" Maybe there is a command line for that that I don't know about... help wanted! There is also `guix gc --list-live` although you'll want to filter or save its output for inspection because it's kinda slow. > Doing info-apropos within Emacs, I found the guix-store-item command.  It had this tempting "delete" button which, as far as I could tell, was not documented.  I pressed it.  To my surprise, it deleted the file.  Great.  But the manual also says, > > "removing files or directories manually may break it beyond repair!" > > Have I borked my /gnu/store?  How can I, or could I have if it's too late, removed the build? I doubt it. It looks like emacs-guix does the right thing: https://gitlab.com/emacs-guix/emacs-guix/-/blob/master/elisp/guix-ui-store-item.el#L146 Besides, on Guix System, the store is mounted read-only, and we try to do the same on other distros if you use the installer script. You could check more carefully by running `guix gc --verify`. As you see, `guix gc` is the tool for interacting with the store. Do these replies help at all? Please don't hesitate to ask follow-up questions. [0] https://guix.gnu.org/manual/en/html_node/Invoking-guix-gc.html