guix-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Store channel specification in profile


From: Ludovic Courtès
Subject: Re: Store channel specification in profile
Date: Sun, 12 Jan 2020 00:48:18 +0100
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/26.3 (gnu/linux)

Hi,

Pierre Neidhardt <address@hidden> skribis:

>> Basically an entry looks like:
>>
>> --8<---------------cut here---------------start------------->8---
>>      ("diffoscope"
>>       "131"
>>       "out"
>>       "/gnu/store/h8zr4rxhvpikv9p07kdjkf2dsrja35wm-diffoscope-131"
>>       (propagated-inputs ())
>>       (search-paths ())
>>       (properties
>>         (provenance
>>           (repository
>>             (version 0)
>>             (url "https://git.savannah.gnu.org/git/guix.git";)
>>             (branch "master")
>>             (commit
>>               "b5d4d5b9bcf267fddd02fcc14b88eac0bebf979f")))))
>> --8<---------------cut here---------------end--------------->8---
>
> The above is not very human friendly.  Each entry should be something
> like plist with default values, so that the user does not have to write
> "out" every time.

Note that it was never designed to be human-friendly.  :-)  The Scheme
code passed to ‘--manifest’ is friendlier.

> Questions:
>
> - Do manifests really need the store path?  
> - Same question about propagated-inputs.  Aren't they already encoded in
>   the package definition?  Why repeating them here?

This ‘manifest’ file exists mostly for one purpose: to allow incremental
operations on a profile with ‘guix upgrade’, ‘guix install’, and so on.
If ‘--manifest’ were the only way to build a profile, this ‘manifest’
file would (almost) not be needed.  (Actually it’s also needed for
‘--list-installed’.)

Incremental operations need all this info so they can pull in the right
store items, set the right search paths, etc.  IOW, they need to work
around the fact that some of the <package> objects for their profile are
not available.

HTH!

Ludo’.



reply via email to

[Prev in Thread] Current Thread [Next in Thread]