all messages for Guix-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
From: ludo@gnu.org (Ludovic Courtès)
To: Roel Janssen <roel@gnu.org>
Cc: guix-devel <guix-devel@gnu.org>, Alex Kost <alezost@gmail.com>
Subject: Re: Odd behavior with --dry-run and --upgrade
Date: Tue, 26 Jul 2016 11:50:31 +0200	[thread overview]
Message-ID: <87r3agd8yg.fsf@gnu.org> (raw)
In-Reply-To: <8760rtbc14.fsf@gnu.org> (Roel Janssen's message of "Tue, 26 Jul 2016 00:14:47 +0200")

[-- Attachment #1: Type: text/plain, Size: 1773 bytes --]

Roel Janssen <roel@gnu.org> skribis:

> Ludovic Courtès writes:
>
>> Hi!
>>
>> Alex Kost <alezost@gmail.com> skribis:
>>
>>> Roel Janssen (2016-07-23 18:11 +0300) wrote:
>>>
>>>> Dear Guix,
>>>>
>>>> For some time now, running `guix package --dry-run --upgrade' results in
>>>> build actions involving grafting.  For a dry-run, I find that really
>>>> odd.  I believe the correct behavior should be what can be achieved
>>>> with: `guix package --dry-run --no-grafts --upgrade'.
>>>
>>> I'm totally agree with this; nowadays I always use --dry-run with
>>> --no-grafts option.
>>
>> Same here…
>>
>>> As a user I expect that --dry-run means no building at all.
>>>
>>> BTW it's not just about ‘guix package --dry-run --upgrade’, it relates
>>> to all commands, for example ‘guix build --dry-run foo’, etc.
>>>
>>> OTOH, if a future ‘--dry-run’ would mean what ‘--dry-run --no-grafts’
>>> means now, than how to achieve what ‘--dry-run’ means now?  Or rather:
>>> does anyone use just --dry-run (without --no-grafts)?  Is it really
>>> useful?
>>
>> In theory it could be useful for ‘guix build’, since it’s a “low level”
>> tool and people using it may want to be able to distinguish between
>> grafted and non-grafted results.
>>
>> But honestly, I think changing ‘--dry-run’ to do ‘--dry-run --no-grafts’
>> would be fine, and probably better than the current situation.
>
> Could you provide some insight in where I should be looking to att the
> check to 'graft?'?

Everything that relates to command-line argument processing is in (guix
scripts build), for the common options, and then in each (guix scripts
*) module.

Roughly, the change I suggest would be along these lines:


[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: Type: text/x-patch, Size: 670 bytes --]

diff --git a/guix/scripts/build.scm b/guix/scripts/build.scm
index a02a0d5..daa60b9 100644
--- a/guix/scripts/build.scm
+++ b/guix/scripts/build.scm
@@ -541,7 +541,8 @@ must be one of 'package', 'all', or 'transitive'~%")
                    (alist-cons 'file arg result)))
          (option '(#\n "dry-run") #f #f
                  (lambda (opt name arg result)
-                   (alist-cons 'dry-run? #t result)))
+                   (alist-cons 'dry-run? #t
+                               (alist-cons 'graft? #f result))))
          (option '(#\r "root") #t #f
                  (lambda (opt name arg result)
                    (alist-cons 'gc-root arg result)))

[-- Attachment #3: Type: text/plain, Size: 229 bytes --]


However, since --dry-run is processed separately in each command, this
change should probably be duplicated.

Would you like to look into it?

Something similar should be done in the Emacs interface.

Thanks,
Ludo’.

  reply	other threads:[~2016-07-26  9:50 UTC|newest]

Thread overview: 20+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-07-23 15:11 Odd behavior with --dry-run and --upgrade Roel Janssen
2016-07-23 18:23 ` Leo Famulari
2016-07-24  8:49 ` Alex Kost
2016-07-24 22:18   ` Ludovic Courtès
2016-07-25  7:46     ` Andreas Enge
2016-07-25 22:14     ` Roel Janssen
2016-07-26  9:50       ` Ludovic Courtès [this message]
2016-07-26 10:20         ` Roel Janssen
2016-07-26 12:41           ` Ludovic Courtès
2016-07-27 12:09             ` Alex Kost
2016-07-27 22:19               ` Ludovic Courtès
2016-07-28  7:58                 ` Alex Kost
2016-07-28 13:01                   ` Ludovic Courtès
2016-07-30 15:25                     ` Alex Kost
2016-07-30 22:51                       ` Ludovic Courtès
2016-07-26 13:41         ` Alex Kost
2016-07-26 14:37           ` Ludovic Courtès
2016-08-21  4:54         ` Roel Janssen
2016-08-27 23:23           ` Roel Janssen
2016-08-28 14:08           ` Ludovic Courtès

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=87r3agd8yg.fsf@gnu.org \
    --to=ludo@gnu.org \
    --cc=alezost@gmail.com \
    --cc=guix-devel@gnu.org \
    --cc=roel@gnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this external index

	https://git.savannah.gnu.org/cgit/guix.git

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.