From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mp0 ([2001:41d0:2:4a6f::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by ms11 with LMTPS id iPnkIMOeul72IwAA0tVLHw (envelope-from ) for ; Tue, 12 May 2020 13:04:03 +0000 Received: from aspmx1.migadu.com ([2001:41d0:2:4a6f::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by mp0 with LMTPS id uKXMNNGeul63YgAA1q6Kng (envelope-from ) for ; Tue, 12 May 2020 13:04:17 +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 7F276940CFB for ; Tue, 12 May 2020 13:04:15 +0000 (UTC) Received: from localhost ([::1]:35916 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1jYUa0-0000DS-2Z for larch@yhetil.org; Tue, 12 May 2020 09:04:16 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:44706) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1jYUZm-0000DI-G9 for bug-guix@gnu.org; Tue, 12 May 2020 09:04:02 -0400 Received: from debbugs.gnu.org ([209.51.188.43]:42995) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1jYUZm-0007EA-6d for bug-guix@gnu.org; Tue, 12 May 2020 09:04:02 -0400 Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1jYUZm-0007NO-2I for bug-guix@gnu.org; Tue, 12 May 2020 09:04:02 -0400 X-Loop: help-debbugs@gnu.org Subject: bug#40549: proposal for 'process-actions' References: <6171889.DvuYhMxLoT@cherry> In-Reply-To: <6171889.DvuYhMxLoT@cherry> Resent-From: zimoun Original-Sender: "Debbugs-submit" Resent-CC: bug-guix@gnu.org Resent-Date: Tue, 12 May 2020 13:04:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 40549 X-GNU-PR-Package: guix X-GNU-PR-Keywords: To: 40549@debbugs.gnu.org Received: via spool by 40549-submit@debbugs.gnu.org id=B40549.158928861628320 (code B ref 40549); Tue, 12 May 2020 13:04:02 +0000 Received: (at 40549) by debbugs.gnu.org; 12 May 2020 13:03:36 +0000 Received: from localhost ([127.0.0.1]:54541 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1jYUZJ-0007Mf-17 for submit@debbugs.gnu.org; Tue, 12 May 2020 09:03:36 -0400 Received: from mail-qt1-f175.google.com ([209.85.160.175]:35401) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1jYUZH-0007MR-2X for 40549@debbugs.gnu.org; Tue, 12 May 2020 09:03:31 -0400 Received: by mail-qt1-f175.google.com with SMTP id x8so10801521qtr.2 for <40549@debbugs.gnu.org>; Tue, 12 May 2020 06:03:31 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:from:date:message-id:subject:to:cc :content-transfer-encoding; bh=JHDIHVTlqc4ijzORcdVJZSXIK0VSQL2BVm5GyRQUD6M=; b=NEiXKKMt7Ng4tsv58XTxumJo/2LJXHWJlnmfJwSsVKCQn8lK4iDSAZ/76RYOrI1Oe9 Zjqk+5fbu+UhwkKDhhMp2bn3QKld3pSbOO1P6G3kuSObuLo2dpUx1RxkZps4n11K9GrM e+XAIHzFHFvT+1Ih8Ej5p3Rnig1D3qIoXJba/zwWvztsnlE8mQ/Kzv+ZiGdKlmg8YZmd e9f8uf8SLA9ibqtsAWC15lUU20m/b+HEOMiXuUP+p1ViCRRtU0YNytyu+NdzFOKy40o5 fldjN59Fz8D0RKdYQVHnxcGcm8WJBuA2vbLPCnsmOHwRAz2sneCZxzvJBISELLeTp2ow 3dxw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:from:date:message-id:subject:to:cc :content-transfer-encoding; bh=JHDIHVTlqc4ijzORcdVJZSXIK0VSQL2BVm5GyRQUD6M=; b=Jyi/D+XhTyzuaPARMme0q4wvZwtPCfv/VGOoy9ipTs3aOPasAESvCYMpkT6jaFT8eS MNNZzvoEIwHu+7CtcuKWrpFBGbZ7Aj2kpmC1V3dWuy3Z5e94zrBS0wRAlffQySu6fGEC 6Gd7vaKkZvJEMiXtlhGTnqU8npNaPQO5mv/ZNis8P6jWGR8YEdDHltvYH3JlHbzUlOyJ ZLk+tgLFwYIM1MZfzTuPmyHxbS2NTI4A69xmwWncQRtXhDeNLxlf85sXIYgAcmkLXRcc 2v2yL0sWRMz9QupFSKbIQfa0g1B/MBrZ9m5BxeZisJMYq0sT2I0zmxBlJmd2T4yId2EA 1oeQ== X-Gm-Message-State: AGi0PuaXZ0YhZLHghe921J0kSvrw5WfaYZ1lp2eCuSPowjAwpb8tZGrB fP0ztZVP0iV6P750ka30QPge5Oz0XaaBvs5x+oujHY2I X-Google-Smtp-Source: APiQypI2ilctpUh3XYQmEfwurmNkv5XAZ2TL00oYSo1vHLxNVvYE6eJNrSfJM8GOCijds5M3cp2XPgRtFD1GJPxJYos= X-Received: by 2002:ac8:5047:: with SMTP id h7mr16915721qtm.186.1589288605292; Tue, 12 May 2020 06:03:25 -0700 (PDT) MIME-Version: 1.0 From: zimoun Date: Tue, 12 May 2020 15:03:14 +0200 Message-ID: Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Spam-Score: 0.0 (/) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list X-Spam-Score: -1.0 (-) X-BeenThere: bug-guix@gnu.org List-Id: Bug reports for GNU Guix List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Tom Errors-To: bug-guix-bounces+larch=yhetil.org@gnu.org Sender: "bug-Guix" X-Scanner: scn0 X-Spam-Score: 0.09 Authentication-Results: aspmx1.migadu.com; dkim=fail (rsa verify failed) header.d=gmail.com header.s=20161025 header.b=NEiXKKMt; dmarc=fail reason="SPF not aligned (relaxed)" header.from=gmail.com (policy=none); spf=pass (aspmx1.migadu.com: domain of bug-guix-bounces@gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=bug-guix-bounces@gnu.org X-Scan-Result: default: False [0.09 / 13.00]; GENERIC_REPUTATION(0.00)[-0.54000641836079]; TO_DN_SOME(0.00)[]; R_SPF_ALLOW(-0.20)[+ip4:209.51.188.0/24:c]; R_DKIM_REJECT(1.00)[gmail.com:s=20161025]; DWL_DNSWL_FAIL(0.00)[209.51.188.17:server fail]; FREEMAIL_FROM(0.00)[gmail.com]; IP_REPUTATION_HAM(0.00)[asn: 22989(0.06), country: US(-0.00), ip: 209.51.188.17(-0.54)]; DKIM_TRACE(0.00)[gmail.com:-]; RCPT_COUNT_TWO(0.00)[2]; MX_GOOD(-0.50)[cached: eggs.gnu.org]; MAILLIST(-0.20)[mailman]; FORGED_RECIPIENTS_MAILLIST(0.00)[]; RCVD_IN_DNSWL_FAIL(0.00)[209.51.188.17:server fail]; MIME_TRACE(0.00)[0:+]; RCVD_TLS_LAST(0.00)[]; ASN(0.00)[asn:22989, ipnet:209.51.188.0/24, country:US]; TAGGED_FROM(0.00)[larch=yhetil.org]; FROM_NEQ_ENVFROM(0.00)[zimontoutoune@gmail.com,bug-guix-bounces@gnu.org]; ARC_NA(0.00)[]; FROM_HAS_DN(0.00)[]; MIME_GOOD(-0.10)[text/plain]; PREVIOUSLY_DELIVERED(0.00)[40549@debbugs.gnu.org]; HAS_LIST_UNSUB(-0.01)[]; RWL_MAILSPIKE_POSSIBLE(0.00)[209.51.188.17:from]; RCVD_COUNT_SEVEN(0.00)[8]; FORGED_SENDER_MAILLIST(0.00)[]; DMARC_POLICY_SOFTFAIL(0.10)[gmail.com : SPF not aligned (relaxed),none] X-TUID: +F79437SA/77 Hi again, :-) On Tue, 12 May 2020 at 12:38, zimoun wrote: > > We=E2=80=99ll need to check exactly what will behave differently. If t= he tests > > don=E2=80=99t catch anything, I think we=E2=80=99re fine. Most likely,= we=E2=80=99re talking > > about corner cases like =E2=80=98-S x -d y=E2=80=99, which probably ver= y few people > > tried. > > Ok, on this light, let first point the corner cases. The only corner cases are the '%actions' (roll-back, delete-generation, switch-generation). There 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' 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 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. If yes, I can come up with a patch. All the best, simon