guix-devel
[Top][All Lists]
Advanced

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

Re: guix describe -p and Guix commit?


From: Ludovic Courtès
Subject: Re: guix describe -p and Guix commit?
Date: Sat, 28 Sep 2019 23:08:57 +0200
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/26.3 (gnu/linux)

Hello!

zimoun <address@hidden> skribis:

> On Tue, 24 Sep 2019 at 10:06, Ludovic Courtès <address@hidden> wrote:
>
>> zimoun <address@hidden> skribis:
>>
>> > How to track from which channel and commit the packages in a profile come 
>> > from?
>>
>> Pro tip: open the ‘manifest’ file of the profile, and search for
>> “provenance”.  You’ll see things like:
>
> Oups! I scrolled this file but I missed the feature.
> It is what I have looking for. :-)
>
>
>> It’s an undocumented and unused feature, mostly because I wouldn’t know
>> how to expose it at the CLI level.  Ideas welcome!
>
> The easy CLI modification is "guix package --list-installed" to expose
> the commit and URI (and branch).
> I will give a try.

Though ‘--list-installed’ is really about single lines that can be piped
to ‘cut’.  I’m not sure it’s the right place for what you have in mind.

> One step further: the record <manifest-entry> should be compliant with
> the option file '-f' or manifest '-m' of "guix package" (or "guix
> pack").
> Say, I created a profile, did some pulls, installed and removed
> packaged. Now I would like to easy "reproduce" this messy
> computational environment to another machine. Say I copy
> '<profile>/manifest' to 'my-mess', then if I can run "guix package -p
> my-profile -m my-mess" (or "guix pack"), I would be happy. ;-)
> Or if some compliance of '<profile>/manifest' and the option '-m'  is
> not possible, perhaps a way to convert this <profile>/manifest into a
> '-m' manifest.
> Maybe, is it already possible? Re-instatiate the tools from a profile.
>
> What do you think?
> Does it make sense?

It does!  In theory, for every package that has a ‘provenance’ property,
we could arrange to generate code that refers to an inferior with the
appropriate commit and returns a <manifest>.

I suspect it could easily get messy and impractical: the generated code
could end up instantiating a whole bunch of inferiors for really no good
reason, and instantiating that manifest could be disappointingly slow
because of that.

It might be easier to generate code that approximates what the profile
contains, with a warning when we see that there are several different
‘provenance’ properties.

Ludo’.



reply via email to

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