GNU bug report logs - #50473
'guix package' processes command-line %actions in reverse

Previous Next

Package: guix;

Reported by: zimoun <zimon.toutoune <at> gmail.com>

Date: Wed, 8 Sep 2021 12:44:01 UTC

Severity: normal

To reply to this bug, email your comments to 50473 AT debbugs.gnu.org.

Toggle the display of automated, internal messages from the tracker.

View this report as an mbox folder, status mbox, maintainer mbox


Report forwarded to bug-guix <at> gnu.org:
bug#50473; Package guix. (Wed, 08 Sep 2021 12:44:01 GMT) Full text and rfc822 format available.

Acknowledgement sent to zimoun <zimon.toutoune <at> gmail.com>:
New bug report received and forwarded. Copy sent to bug-guix <at> gnu.org. (Wed, 08 Sep 2021 12:44:01 GMT) Full text and rfc822 format available.

Message #5 received at submit <at> debbugs.gnu.org (full text, mbox):

From: zimoun <zimon.toutoune <at> gmail.com>
To: bug-guix <at> gnu.org 
Subject: Unordered ’%actions’ process from
 ’guix package’
Date: Wed, 08 Sep 2021 14:43:12 +0200
Hi,

Let consider:

    $ guix package -S 17 -d 18

but 

    $ guix package -d 18 -S 17

does not the same thing.  The '%actions' (roll-back, delete-generation,
switch-generation) are processed in reversed order as they appear on the
command-line -- because 'for-each' and 'assoc-ref'.

However, the transaction plan is always the same:

   step0 process %actions
   step1 remove
   step2 install
   step3 manifest

Therefore, I propose to split the 'for-each' on '%actions' (step0) into
fixed steps, such as the transaction always happens using this plan:

 1. roll-back
 2. switch-generation
 3. delete-generation
 4. remove
 5. install
 6. manifest

whatever the order in the command line.

On one hand, it reduces the "power" of combining '-S', '-d' and
'--roll-back'.  On the other hand, it enforces commutativity which is
somehow what we want a transaction to be.

WDYT?  I can come up with a patch.  This initial issue had been reported
by bug#40549 [1].

(Note that an issue about short-name with optional argument can also
happen and tracked by bug#50472 [2].)

All the best,
simon

1: <http://issues.guix.gnu.org/40549>
2: <http://issues.guix.gnu.org/50472>




Changed bug title to ''guix package' processes command-line %actions in reverse' from 'Unordered ’%actions’ process from ’guix package’' Request was from Tobias Geerinckx-Rice <me <at> tobias.gr> to control <at> debbugs.gnu.org. (Wed, 08 Sep 2021 13:27:02 GMT) Full text and rfc822 format available.

This bug report was last modified 3 years and 281 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.