unofficial mirror of guix-devel@gnu.org 
 help / color / mirror / code / Atom feed
From: "Ludovic Courtès" <ludo@gnu.org>
To: zimoun <zimon.toutoune@gmail.com>
Cc: Guix Devel <guix-devel@gnu.org>
Subject: Re: guix describe -p and Guix commit?
Date: Sat, 28 Sep 2019 23:08:57 +0200	[thread overview]
Message-ID: <87o8z4m8ly.fsf@gnu.org> (raw)
In-Reply-To: <CAJ3okZ2qy=4sgSYAGO+xNmFWNp0czuKEnB_TgcZ9+Amu3HsNDg@mail.gmail.com> (zimoun's message of "Tue, 24 Sep 2019 18:00:24 +0200")

Hello!

zimoun <zimon.toutoune@gmail.com> skribis:

> On Tue, 24 Sep 2019 at 10:06, Ludovic Courtès <ludo@gnu.org> wrote:
>
>> zimoun <zimon.toutoune@gmail.com> 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	other threads:[~2019-09-28 21:09 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-09-20 17:08 guix describe -p and Guix commit? zimoun
2019-09-24  8:05 ` Ludovic Courtès
2019-09-24 16:00   ` zimoun
2019-09-28 21:08     ` Ludovic Courtès [this message]

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

  List information: https://guix.gnu.org/

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

  git send-email \
    --in-reply-to=87o8z4m8ly.fsf@gnu.org \
    --to=ludo@gnu.org \
    --cc=guix-devel@gnu.org \
    --cc=zimon.toutoune@gmail.com \
    /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 public inbox

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

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).