[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