[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