help-guix
[Top][All Lists]
Advanced

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

Re: Channel details of profile generation


From: zimoun
Subject: Re: Channel details of profile generation
Date: Mon, 11 Jan 2021 18:34:38 +0100

Hi,

On Sat, 09 Jan 2021 at 13:34, Phil <phil@beadling.co.uk> wrote:

> Given a date/time and a profile, it should be possible not only to tell
> me what generation of that profile was active at that date/time, but
> also the corresponding commit ids on the heads of each channels used to
> source the packages.

Yes.  It is already possible because the information is in the file
’<profile>/manifest’.  However, there is no tooling to do that easily
yet.  Maybe an option ’--export-manifest’ is coming… ;-)

http://logs.guix.gnu.org/guix-hpc/2021-01-11.log


> So my tool works like this - and, I believe, the output is correct and
> methodology sane:
>
> --8<---------------cut here---------------start------------->8---
>
> ubuntu@test-image:~$ guix repl -- profile-generation-on-datetime.scm 
> 2020-12-24T12:00:00 guix-profiles/py-test-pkg-profile
>
> Profile Dir: guix-profiles/py-test-pkg-profile-39-link
>
> \Generation 39  Dec 24 2020 11:24:23\
>
> Package/Channel Details:
>   py-test-pkg 1.53
>      URL: https://git.savannah.gnu.org/git/guix.git
>      Branch: master
>      Commit: 13d532a91178be7b6919b85685b150f941116dfc
>
>      URL: ssh://git@bbserver:7799/ea/guix-packages.git
>      Branch: master
>      Commit: ad21880272356219a9e33888cd0c237c8ece02d3
>
>   python 3.8.2
>      URL: https://git.savannah.gnu.org/git/guix.git
>      Branch: master
>      Commit: 13d532a91178be7b6919b85685b150f941116dfc
>
> --8<---------------cut here---------------end--------------->8---

Cool!

> Now, ignoring the date/time logic, all my tool is doing is returning the
> Package/Channel Details (via the profile manifest) as per above - when
> provided with a profile and a generation number.

Yes.


> ***This is the crux of my original question - can I get the commit id data
> supplied by my script for a given profile/generation, from the command
> line using already available guix tools?***

Not yet.


> (I think the answer to this is - no you cannot do it from the command line)
>
> The follow-up question was - if not, is my script's approach sane?

It seems.  From my understanding after a quick look.


> PART 2:
>
> Separately I, probably incorrectly, thought that I might be able to use some
> incantation of 'guix pull -l' to achieve the same ends as my script,
> given pull's output does seem to include the channel commit ids.

Well, it’s what I have tried to explain. :-)


> I can't argue with this - I need to do some more digging here to see why
> my use of guix pull is barfing, there are some differences between your
> test and mine - for example the use of the ssh protocol in the second
> channel, so the 2 tests are not identical, but as you see below I run
> into issues replicating even with the guix-science channel.

Do you mean issues when replicating my example with only the channels
guix and guix-science?


> --8<---------------cut here---------------start------------->8---
> $ guix package -m my-manifest-2.scm -p /tmp/test-profile
> The following packages will be installed:
>    python              3.8.2
>    python-nose-exclude 0.5.0
>
> $ guix package -p /tmp/test-profile -l                  
> \Generation 1   Jan 09 2021 11:39:07\
>   python        3.8.2   out     
> /gnu/store/9h5pjxj879y9rzy04m1v9835l4fblw95-python-3.8.2
>
> \Generation 2   Jan 09 2021 11:43:58\   (current)
>  + python-nose-exclude  0.5.0   out     
> /gnu/store/k3n4qxakw4rjjg81sfkaxcgln5xhaj3r-python-nose-exclude-0.5.0
>
> $ guix pull -p /tmp/test-profile -l                     
> \Generation 1   Jan 09 2021 11:39:07\
>   python 3.8.2
> \Generation 2   Jan 09 2021 11:43:58\   (current)
>   python-nose-exclude 0.5.0
>   python 3.8.2
> ^C <-- It's hanging here so I exit with ctrl-c
> --8<---------------cut here---------------end--------------->8---

By hanging, do you mean “you were not enough patient“? or “after several
minutes” (10-20min), it was not finished yet?



> Here's the final bit of the strace from the last output to stdout to the
> 'guix pull' hanging:
>
> --8<---------------cut here---------------start------------->8---
> write(1, "  py-test-pkg 1.65-1.e4c466a\n", 30  py-test-pkg 1.65-1.e4c466a

[...]

> read(14, 
> --8<---------------cut here---------------end--------------->8---

Thank for the details.  Well, does it fail or is it slow?


> I'm running out of steam a bit here but both this error in ui.scm@2154
> and the original backtrace I posted ui.scm@2127 come from the
> run-guix-command function on attempting a primitive-load of, I assume,
> the current guix script.

The bracktrace is a fail.  But I am not able to reproduce.
For your experiment, I do not know if it is failure or slowness.


All the best,
simon




reply via email to

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