[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Odd behavior with --dry-run and --upgrade
From: |
Alex Kost |
Subject: |
Re: Odd behavior with --dry-run and --upgrade |
Date: |
Tue, 26 Jul 2016 16:41:07 +0300 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/24.5 (gnu/linux) |
Ludovic Courtès (2016-07-26 12:50 +0300) wrote:
> Roel Janssen <address@hidden> skribis:
>
>> Ludovic Courtès writes:
[...]
>>> 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:
>
>
> 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)))
>
> 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.
What would be "something similar" here? For CLI it's easy to set
‘graft?’ option as you suggest, and later 'guix-package', 'guix-system'
and other similar procedures from (guix scripts ...) modules
parameterize ‘%graft?’ according to this option.
The only way I see for the Emacs interface is to modify
"emacs/guix-main.scm" to parameterize ‘%graft?’ as well and to set it
depending on the current value of ‘dry-run’. AFAICT this
parameterization should be added to:
- 'process-package-actions': it is responsible for operations with
profiles (installing/upgrading/removing packages);
- 'package-source-build-derivation': it is responsible for building
package sources.
If my understanding is correct, I can make a patch for this.
I can also add 'grafts' option that will appear in prompts (in the
mode-line along with 'substitutes' and 'dry-run'), but I'm not sure if
it will be useful since dry-run will disable grafts anyway.
--
Alex
- Re: Odd behavior with --dry-run and --upgrade, (continued)
- Re: Odd behavior with --dry-run and --upgrade, Roel Janssen, 2016/07/25
- Re: Odd behavior with --dry-run and --upgrade, Ludovic Courtès, 2016/07/26
- Re: Odd behavior with --dry-run and --upgrade, Roel Janssen, 2016/07/26
- Re: Odd behavior with --dry-run and --upgrade, Ludovic Courtès, 2016/07/26
- Re: Odd behavior with --dry-run and --upgrade, Alex Kost, 2016/07/27
- Re: Odd behavior with --dry-run and --upgrade, Ludovic Courtès, 2016/07/27
- Re: Odd behavior with --dry-run and --upgrade, Alex Kost, 2016/07/28
- Re: Odd behavior with --dry-run and --upgrade, Ludovic Courtès, 2016/07/28
- Re: Odd behavior with --dry-run and --upgrade, Alex Kost, 2016/07/30
- Re: Odd behavior with --dry-run and --upgrade, Ludovic Courtès, 2016/07/30
- Re: Odd behavior with --dry-run and --upgrade,
Alex Kost <=
- Re: Odd behavior with --dry-run and --upgrade, Ludovic Courtès, 2016/07/26