Hi, On Sat, 09 Jan 2021 at 13:34, Phil <[email protected]> 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
