From mboxrd@z Thu Jan 1 00:00:00 1970 From: Alex Kost Subject: bug#28727: Profiles with intentionally out of date packages are upgraded to the newest version Date: Sat, 07 Oct 2017 22:32:29 +0300 Message-ID: <87o9pivjn6.fsf@gmail.com> References: <96695834-ef08-db88-32b8-3b61066bb6f1@uq.edu.au> Mime-Version: 1.0 Content-Type: text/plain Return-path: Received: from eggs.gnu.org ([2001:4830:134:3::10]:42402) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1e0uqR-0008Mi-Fh for bug-guix@gnu.org; Sat, 07 Oct 2017 15:33:08 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1e0uqM-0007qg-Ij for bug-guix@gnu.org; Sat, 07 Oct 2017 15:33:07 -0400 Received: from debbugs.gnu.org ([208.118.235.43]:46343) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1e0uqM-0007qW-E5 for bug-guix@gnu.org; Sat, 07 Oct 2017 15:33:02 -0400 Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1e0uqM-00018l-7d for bug-guix@gnu.org; Sat, 07 Oct 2017 15:33:02 -0400 Sender: "Debbugs-submit" Resent-Message-ID: In-Reply-To: <96695834-ef08-db88-32b8-3b61066bb6f1@uq.edu.au> (Ben Woodcroft's message of "Sat, 7 Oct 2017 16:14:38 +1000") List-Id: Bug reports for GNU Guix List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: bug-guix-bounces+gcggb-bug-guix=m.gmane.org@gnu.org Sender: "bug-Guix" To: Ben Woodcroft Cc: 28727@debbugs.gnu.org Ben Woodcroft (2017-10-07 16:14 +1000) wrote: > Hi, Hello, > I have a profile with python@2 in it, and running 'guix package -u' > updates it to python@3, which isn't what I want. I cannot run 'guix > package -i python@2 -u' because then it tries to install both python@2 > and python@3, which conflicts. > > I can workaround this using 'guix package -u; guix package -i > python@2'. That isn't ideal (wasteful downloading of substitute, extra > entries in the generations list, etc), but is workable for me, making > this a low priority bug for me. > > Ideally, I would expect that because I specified python@2 first, guix > should not try to install python@3. However, this difficult because IIUC > the packages which were specified to be included are not stored > anywhere, and I suppose it would entail changes to the manifest format > also. So, how to handle this? Not sure if you find the following workaround useful, but you may just make your own python package and install it instead: (define-public my-python-2 (package (inherit python-2) (name "python2"))) Since this "python2" has only version 2, it will never be upgraded to version 3. I mean there will be "python2@2" but not "python2@3", so if you install it ("guix package -i python2"), "guix package -u" will update it to the current version of the python-2 series. -- Alex