From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mp10.migadu.com ([2001:41d0:2:4a6f::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by ms0.migadu.com with LMTPS id EMtaJKqZ2WFOWQAAgWs5BA (envelope-from ) for ; Sat, 08 Jan 2022 15:03:22 +0100 Received: from aspmx1.migadu.com ([2001:41d0:2:4a6f::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by mp10.migadu.com with LMTPS id qOL4HKqZ2WH1UwAAG6o9tA (envelope-from ) for ; Sat, 08 Jan 2022 15:03:22 +0100 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 D766B92F2 for ; Sat, 8 Jan 2022 15:03:21 +0100 (CET) Received: from localhost ([::1]:60466 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1n6CJU-0007OK-KR for larch@yhetil.org; Sat, 08 Jan 2022 09:03:20 -0500 Received: from eggs.gnu.org ([209.51.188.92]:36312) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1n6CJF-0007OB-4b for help-guix@gnu.org; Sat, 08 Jan 2022 09:03:05 -0500 Received: from mout02.posteo.de ([185.67.36.66]:60547) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1n6CJC-0000lr-Cw for help-guix@gnu.org; Sat, 08 Jan 2022 09:03:04 -0500 Received: from submission (posteo.de [89.146.220.130]) by mout02.posteo.de (Postfix) with ESMTPS id 92733240103 for ; Sat, 8 Jan 2022 15:02:58 +0100 (CET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=posteo.de; s=2017; t=1641650578; bh=oQBRbYTYfGuAHJYh9o8bco9LTyGnmFEYNLp0WJgzg1o=; h=Subject:To:From:Cc:Date:From; b=AUVGRgQx2Wqcbadti1PEVWpcwNyWJ/nu6jAowExFud88s8hRqziE9Mb7Jq7Rxunrz AnP/D9ltRh7vxIkA69AyvKCSTWJ323PcHJhF1UFv5qMlxGmSoK2aMtzJa/661GUHtV EbwHJSGqrH++0hWCOkWdpQNFeo8VAngRuQBHqELC8E9R8IPnnaqLt4Ry3xSf6KoRWx 6sXpfkmBQGvaR8KZI1AcJWwncRffSvNQ+IqZ3Xkyw1uB0e9pGXNccoFwSOAXVbQXw8 mgx2qlp4K5ZfHol7N9wO84HCvnKZ891Lhted67iHrY8JDACIM+gGvF26qRGAe7zqQj SLhKlFfnDh1KQ== Received: from customer (localhost [127.0.0.1]) by submission (posteo.de) with ESMTPSA id 4JWMHN0QJcz6tny; Sat, 8 Jan 2022 15:02:55 +0100 (CET) Subject: Re: How to run a program from an old generation? To: gyps@member.fsf.org References: From: Zelphir Kaltstahl Message-ID: <07cae27e-c1e9-b87e-81a6-502565236965@posteo.de> Date: Sat, 8 Jan 2022 14:02:55 +0000 MIME-Version: 1.0 In-Reply-To: Content-Language: en-US Received-SPF: pass client-ip=185.67.36.66; envelope-from=zelphirkaltstahl@posteo.de; helo=mout02.posteo.de 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, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_MED=-2.3, RCVD_IN_MSPIKE_H3=0.001, RCVD_IN_MSPIKE_WL=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Content-Filtered-By: Mailman/MimeDel 2.1.29 X-BeenThere: help-guix@gnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: help-guix Errors-To: help-guix-bounces+larch=yhetil.org@gnu.org Sender: "Help-Guix" X-Migadu-Flow: FLOW_IN X-Migadu-Country: US ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=yhetil.org; s=key1; t=1641650602; 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=nhw6zpQAH2eXwLcVB6zr0uagYid1a8ZDZUG6ESx7gnY=; b=LpBqBS7STTaGq9CTNzoWNq0g1htqwmDDWyESHNGX80Wu1ds4714kDJ3pzPAIN+G2vsyChS EGM6XyMbnfOdQ+78+nMEx49wEJvcwm2n46zCLB/jzgJNh1V84VFiwrmsM2K2tcYluLDInL TAWBztphnujBiez6p6UI17NXmpxATOU2JJmodc5KRF2UFSaESuesJPHcnN1Gl+Z46RIGnf 6160GWCwNU09r0OY07G9mcQbECWcRwJKB8Ngy7qx6qLlyYtz8tT5ParyZfni0hwluhPwb5 9f4HDH+ePELdCmmD1W1p7Gd7rhoV9NpSyhw0+uOPOYT0PLjP7M6MjPOU5OH02w== ARC-Seal: i=1; s=key1; d=yhetil.org; t=1641650602; a=rsa-sha256; cv=none; b=mwPLGf7MyEoeCy/IchsAM2PwFVZpZA8Pd8OZnsSBNW7VfXhnfObWoHwEAveShUdOE4UYUN 9iy4aJxAl4w2VeSt4TWeO/Dma5wJPEOfGoZ4sfh1BfKhzugtbAR1DPBiDNWBUeKMKm2FGi 41jZlDkTmhp5XOzxW97FrbfyX/R+QXnx9HNtzNxUead1S+8hEuropMv0wZgPa0MNyFTcRF lTDdXJ52RMbTJkFQh4pUG1nr+Mw5c5DyNuJSePGLEUrqd4y4bIrG+PL0KC5L5ULaC9r+A1 WkQ6JxXmHcxHUnr/CijYfsY/T5glwE8SzONNNzEKjJpZR//bBytf5WhPldtmew== ARC-Authentication-Results: i=1; aspmx1.migadu.com; dkim=fail ("body hash did not verify") header.d=posteo.de header.s=2017 header.b=AUVGRgQx; dmarc=fail reason="SPF not aligned (strict)" header.from=posteo.de (policy=none); spf=pass (aspmx1.migadu.com: domain of "help-guix-bounces+larch=yhetil.org@gnu.org" designates 209.51.188.17 as permitted sender) smtp.mailfrom="help-guix-bounces+larch=yhetil.org@gnu.org" X-Migadu-Spam-Score: -1.20 Authentication-Results: aspmx1.migadu.com; dkim=fail ("body hash did not verify") header.d=posteo.de header.s=2017 header.b=AUVGRgQx; dmarc=fail reason="SPF not aligned (strict)" header.from=posteo.de (policy=none); spf=pass (aspmx1.migadu.com: domain of "help-guix-bounces+larch=yhetil.org@gnu.org" designates 209.51.188.17 as permitted sender) smtp.mailfrom="help-guix-bounces+larch=yhetil.org@gnu.org" X-Migadu-Queue-Id: D766B92F2 X-Spam-Score: -1.20 X-Migadu-Scanner: scn1.migadu.com X-TUID: qWfq51QFs2eu Hi Alex! I'll describe a way, how I usually manage this. This might be a bad way. I don't know. If anyone thinks, that I am doing it in an unnecessarily complicated way, please tell me : ) You can use a channels.scm file, to refer to the commit, which your GNU Guix is currently on as follows: ~~~~ guix describe --format=channels > channels.scm ~~~~ which results in something like: ~~~~ (list (channel (name 'guix) (url "https://git.savannah.gnu.org/git/guix.git") (commit "893a31ec20f47b979c1be9fb8b942809228ba4c9") (introduction (make-channel-introduction "9edb3f66fd807b096b48283debdcddccfea34bad" (openpgp-fingerprint "BBB0 2DDF 2CEA F6A8 0D1D E643 A2A0 6DF2 A33A 54FA"))))) ~~~~ Then you can specify the packages you need in some manifest.scm file, for example: ~~~~ (specifications->manifest '("guile" "guile-json")) ~~~~ Note, that you do not need to specify the versions in the manifest file, as the are already clear/specified indirectly from the channel you have defined in channels.scm. Then you can run the following command to get an environment with the packages installed: ~~~~ guix time-machine \ --channels="channels.scm" -- \ environment \ --manifest="manifest.scm" ~~~~ Now the question is, how you find the correct channel specification, for the GNU Guix commit, which has the version of the package you need. There might be a better way to search via command line or so, but I don't know it, or forgot it, or it is still in development. Here is one way I know: (1) Go to https://hpc.guix.info/browse (2) search for the package you need there and (3) click the result which has the name of the package you are looking for. The version should not matter yet. (4) At the page loaded then, at the bottom, there should be a link "View package version history.". Click that link. (5) You should be seeing an overview of which versions were available on which commit ranges. You need to look for the commit, which still has the package in the version you need. (6) Take that commit id. Then you can for example run the following command: ~~~~ guix time-machine \   --commit='7fb7384134d21e2d491e0d92a8d550fe3acaa682' -- \  environment \  --manifest="manifest.scm" ~~~~ If you need packages in versions, which do not have a shared/common commit id, I am not sure how to handle it, but I am guessing, that you could put multiple channels in a channels.scm file and run the time-machine command with that channels.scm file. (Can anyone confirm, that this is how it is done?) I am also not sure, whether that could lead to any kind of conflicts between the dependencies of specified packages. I am not sure how to run guix time-machine with multiple commits. Have not tried to do it yet. After getting an environment with that commit id / revision, I am not sure how to translate that back into a channels.scm file. The channels.scm file contains the commit id, but it also contains another id, in (what follows is an example): ~~~~ (make-channel-introduction "9edb3f66fd807b096b48283debdcddccfea34bad" ...) ~~~~ which I am not sure what it is. Can anyone explain how to get a channels.scm file from an environment or from a commit id / revision? Hope this helps and thanks! Best regards, Zelphir On 1/7/22 6:01 PM, help-guix-request@gnu.org wrote: > Dear all, > > I currently have an issue with nextcloud-client segfaulting in the > current guix environment. Until this is fixed an option were to switch > to the old generation where it still worked, start it and switch back to > the current generation. Is there an option to run a program in a > specific generation without completely switching to it? I didn't found > any so far. I know that's a real hack but at least that way I could > have my files synchronized without too much effort until the bug is > fixed. > > Another question I have is: can I install version 3.1.3 of > nextcloud-client in the current environment (without switching back to > some old commit)? When I try to do so, I get > >> guix install: error: nextcloud-client: package not found for version 3.1.3 > because version 3.1.3 was replaced by 3.2.0. > > Cheers (and a happy new year!) > > Alex -- repositories: https://notabug.org/ZelphirKaltstahl