From mboxrd@z Thu Jan 1 00:00:00 1970 From: Mark H Weaver Subject: Re: updating list of substitutes Date: Wed, 22 Apr 2015 15:01:37 -0400 Message-ID: <87618o6l7y.fsf@netris.org> References: <20150421064525.GA15795@thebird.nl> <87a8y1q49z.fsf@gnu.org> <20150421084028.GB16564@thebird.nl> <20150421091958.GA3636@debian.math.u-bordeaux1.fr> <20150421100216.GA16981@thebird.nl> <20150421120237.GB4431@debian.math.u-bordeaux1.fr> <20150421163852.GA20008@thebird.nl> Mime-Version: 1.0 Content-Type: text/plain Return-path: Received: from eggs.gnu.org ([2001:4830:134:3::10]:41609) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Ykzu7-0007GW-A9 for guix-devel@gnu.org; Wed, 22 Apr 2015 15:01:48 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1Ykzu3-0004Jc-9t for guix-devel@gnu.org; Wed, 22 Apr 2015 15:01:47 -0400 Received: from world.peace.net ([50.252.239.5]:42235) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Ykzu3-0004JW-6b for guix-devel@gnu.org; Wed, 22 Apr 2015 15:01:43 -0400 In-Reply-To: <20150421163852.GA20008@thebird.nl> (Pjotr Prins's message of "Tue, 21 Apr 2015 18:38:52 +0200") 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+gcggd-guix-devel=m.gmane.org@gnu.org Sender: guix-devel-bounces+gcggd-guix-devel=m.gmane.org@gnu.org To: Pjotr Prins Cc: guix-devel@gnu.org Pjotr Prins writes: > On Tue, Apr 21, 2015 at 02:02:37PM +0200, Andreas Enge wrote: >> On Tue, Apr 21, 2015 at 12:02:16PM +0200, Pjotr Prins wrote: >> > ls /var/guix/profiles/per-user/wrk/guix-profile-2-link/bin/ruby >> > /var/guix/profiles/per-user/wrk/guix-profile-2-link/bin/ruby -> /gnu/store/gy1dnlh6qhwd40admi3b1mr4r9cn8bww-ruby-2.2.1/bin/ruby >> > >> > A few days later I install ruby-1.8.7 followed by >> > guix package -i ruby-2.2.1 >> > The following package will be upgraded: >> > ruby 1.8.7-p374 -> 2.2.1 /gnu/store/z8kf6hgln4a7xf68pdnlibl3vcg5rl15-ruby-2.2.1 >> >> But I suppose that in between, you also did a "git pull; make install" or >> "guix pull"? Then it is clear that if you have a different version of guix >> installed, it references different packages. > > I don't think so, but I am not 100% sure I did not do a guix pull in > between. I'll show it if it happens again. The different hash indicates that you had done a "guix pull" in between, or else changed some package that 'ruby' depends on. To reproduce the exact versions of packages that you had before, then you need to be using the same version of 'guix' that you used before. "guix pull" supports only one mode of operation: get the latest version from the git repo and build it. It puts that latest version into $HOME/.config/guix/latest. You may backup and restore that directory if you wish. If you want more flexibility (as I do), you will avoid "guix pull" entirely and instead build and use guix from a git checkout using 'pre-inst-env'. Then you can add your own tags, or simply record the git commit hashes, and then reproduce them at any time by checking out the desired version of guix and using that one. Using 'git' also allows you to keep a private branch with your own arbitrary modifications, and to periodically either merge from our upstream, cherry-pick from us, or rebase your branch onto our upstream, whatever you prefer. Mark