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: Tue, 5 Jan 2021 18:01:36 +0100

Hi,

On Mon, 4 Jan 2021 at 18:29, Phil <phil@beadling.co.uk> wrote:

> > Could you share how you generated the profile ’my-profile’?
>
> Yes - the issue here appears to be the inclusion of a package from a
> private channel in the manifest.
>
> If I create a manifest only using Guix packages - everything looks OK - eg:
>
> ubuntu@test-image:~/guix-manifests$ cat test-manifest.scm
> (packages->manifest
>  (list (specification->package "python@3.8.2")))

[...]

> ubuntu@test-image:~/guix-manifests$ guix package -m test-manifest.scm -p 
> ~/guix-profiles/test-profile

[...]

> ubuntu@test-image:~/guix-manifests$ guix pull -p ~/guix-profiles/test-profile 
> -l
> \Generation 1   Jan 04 2021 17:00:58\   (current)
>   python 3.8.2

As I explained in the previous email, even if both are profiles, they
are not the same.  Basically, "guix pull" is for
"~/.config/guix/current" which is somehow special.  Therefore, I do
not know what you want to achieve with "guix pull -p
~/guix-profiles/test-profile -l".  Maybe, what you want is instead:
""guix package -p ~/guix-profiles/test-profile -l".  Otherwise, could
you explain which result you are expecting whatever the command to
use?


> But if I now also add a package from my private channel to the manifest:
>
> ubuntu@test-image:~/guix-manifests$ cat test-manifest-2.scm
> (packages->manifest
>  (list (specification->package "python@3.8.2")
>        (@ (py-test-pkg) py-test-pkg-develop)))

This looks weird to me.  For example, I have 2 channels:

--8<---------------cut here---------------start------------->8---
$ guix describe
Generation 99   Jan 05 2021 16:56:39    (current)
  guix-science cf87b05
    repository URL: https://github.com/guix-science/guix-science.git
    branch: master
    commit: cf87b0501c4a38b96edf41025a27bf1cb91f521a
  guix 957f0c4
    repository URL: https://git.savannah.gnu.org/git/guix.git
    branch: master
    commit: 957f0c40327ce00f53db22737e3775ce616ac258
--8<---------------cut here---------------end--------------->8---

and let consider this package from the extra channel:

--8<---------------cut here---------------start------------->8---
$ guix show python-nose-exclude | recsel -p location
location: guix-science/packages/jupyter.scm:71:2
--8<---------------cut here---------------end--------------->8---

then my manifest.scm file contains:

--8<---------------cut here---------------start------------->8---
$ cat /tmp/my-manifest.scm
(specifications->manifest
 (list
  "python"
  "python-nose-exclude"))
--8<---------------cut here---------------end--------------->8---

and "guix package -m /tmp/my-manifest.scm -p /tmp/test-profile" does the job

--8<---------------cut here---------------start------------->8---
$ guix package -p /tmp/test-profile -l
Generation 1    Jan 05 2021 16:58:40    (current)
  python-nose-exclude   0.5.0   out     /gnu/store/...-python-nose-exclude-0.5.0
  python        3.8.2   out     /gnu/store/...-python-3.8.2
--8<---------------cut here---------------end--------------->8---

And even "guix pull -p /tmp/test-profile -l" works.  Now, I replace
the manifest to only contain the package hello.

--8<---------------cut here---------------start------------->8---
$ guix package -p /tmp/test-profile -l
Generation 1    Jan 05 2021 16:58:40
  python-nose-exclude   0.5.0   out
/gnu/store/k3n4qxakw4rjjg81sfkaxcgln5xhaj3r-python-nose-exclude-0.5.0
  python        3.8.2   out
/gnu/store/9h5pjxj879y9rzy04m1v9835l4fblw95-python-3.8.2

Generation 2    Jan 05 2021 17:05:29    (current)
 + hello        2.10    out
/gnu/store/a462kby1q51ndvxdv3b6p0rsixxrgx1h-hello-2.10
 - python       3.8.2   out
/gnu/store/9h5pjxj879y9rzy04m1v9835l4fblw95-python-3.8.2
 - python-nose-exclude  0.5.0   out
/gnu/store/k3n4qxakw4rjjg81sfkaxcgln5xhaj3r-python-nose-exclude-0.5.0
--8<---------------cut here---------------end--------------->8---

Then, I re-use the 2 pythons packages, re-upgrade the profile and then:

--8<---------------cut here---------------start------------->8---
$ guix pull -p /tmp/test-profile -l
Generation 1    Jan 05 2021 16:58:40
  python-nose-exclude 0.5.0
  python 3.8.2
Generation 2    Jan 05 2021 17:05:29
  hello 2.10
Generation 3    Jan 05 2021 16:58:40    (current)
  python-nose-exclude 0.5.0
  python 3.8.2
--8<---------------cut here---------------end--------------->8---



> ubuntu@test-image:~/guix-manifests$ guix pull -p ~/guix-profiles/test-profile 
> -l

Even if I am not sure to understand what you want to do, I am not able
to reproduce.  With /tmp/my-manifest-{1,2}.scm containing:

--8<---------------cut here---------------start------------->8---
(specifications->manifest (list "python"))
--8<---------------cut here---------------end--------------->8---

--8<---------------cut here---------------start------------->8---
(specifications->manifest (list "python" "python-nose-exclude"))
--8<---------------cut here---------------end--------------->8---

I get:

--8<---------------cut here---------------start------------->8---
$ guix package -p /tmp/foo -m /tmp/my-manifest-1.scm
The following package will be installed:
   python 3.8.2

$ guix package -p /tmp/foo -m /tmp/my-manifest-2.scm
The following packages will be installed:
   python              3.8.2
   python-nose-exclude 0.5.0

$ guix pull -p /tmp/foo -l
Generation 1    Jan 05 2021 17:47:34
  python 3.8.2
Generation 2    Jan 05 2021 17:58:22    (current)
  python-nose-exclude 0.5.0
  python 3.8.2
--8<---------------cut here---------------end--------------->8---


All the best,
simon



reply via email to

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