[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
bug#47949: Failed to produce output path for guix-package-cache
From: |
zimoun |
Subject: |
bug#47949: Failed to produce output path for guix-package-cache |
Date: |
Wed, 02 Nov 2022 12:02:41 +0100 |
Hi Vagrant,
On ven., 28 oct. 2022 at 13:23, Vagrant Cascadian <vagrant@debian.org> wrote:
>> Oh yeah, that reminds me to add to the confusion, "guix time-machine
>> --commit=SOMECOMMIT" worked fine, even where "SOMECOMMIT" didn't
>> successfully work with guix pull.
>>
>> Maybe that's a clue pointing to the crufty .cache directories?
>
> Well, after removing ~/.cache/guix/checkouts/ I haven't had the problem
> again, with several successful pulls.
Well, “guix time-machine --commit=<some-commit>” uses,
--8<---------------cut here---------------start------------->8---
(define %default-channel-url
;; URL of the default 'guix' channel.
"https://git.savannah.gnu.org/git/guix.git")
(define %default-guix-channel
(channel
(name 'guix)
(branch "master")
(url %default-channel-url)
(introduction %guix-channel-introduction)))
(define %default-channels
;; Default list of channels.
(list %default-guix-channel))
--8<---------------cut here---------------end--------------->8---
which is another directory checkout under ~/.cache/guix/checkouts. :-)
> This suggests to me that guix should make sure to not use a dirty
> checkout to prevent this in the future ... either exporting the guix
> tree it's working with to a temporary location, or something like
> running "git clean -dfx" before using the checkout...
>From my understanding, you have 3 similar checkouts of Guix; the default one:
--8<---------------cut here---------------start------------->8---
$ cat
~/.cache/guix/checkouts/pjmkglp4t7znuugeurpurzikxq3tnlaywmisyr27shj7apsnalwq/.git/config
[core]
bare = false
repositoryformatversion = 0
filemode = true
logallrefupdates = true
[remote "origin"]
url = https://git.savannah.gnu.org/git/guix.git
fetch = +refs/heads/*:refs/remotes/origin/*
[branch "master"]
remote = origin
merge = refs/heads/master
--8<---------------cut here---------------end--------------->8---
and then 2 others, probably located at these hash names:
--8<---------------cut here---------------start------------->8---
$ guix repl
GNU Guile 3.0.8
Copyright (C) 1995-2021 Free Software Foundation, Inc.
Guile comes with ABSOLUTELY NO WARRANTY; for details type `,show w'.
This program is free software, and you are welcome to redistribute it
under certain conditions; type `,show c' for details.
Enter `,help' for help.
scheme@(guix-user)> ,use(guix git)
scheme@(guix-user)> ,pp (map url-cache-directory (list
"https://git.savannah.gnu.org/git/guix.git"
"file:///home/vagrant/src/guix"
"file:///home/vagrant/src/guix-master"))
$1 = (
"/home/simon/.cache/guix/checkouts/pjmkglp4t7znuugeurpurzikxq3tnlaywmisyr27shj7apsnalwq"
"/home/simon/.cache/guix/checkouts/cbek2jy4zeoea2wj4xppwabceeayfzzuap6iw6uk7kylh4hdolfa"
"/home/simon/.cache/guix/checkouts/duxgcjge5pc2tzexf4qwjra3uzu3t4htsxojtxralegek3bqkisa"
)
--8<---------------cut here---------------end--------------->8---
then you pulled,
guix pull --url=/home/vagrant/src/guix --branch=master
and sometimes:
guix pull --url=/home/vagrant/src/guix-master --branch=master
How clean are these 2 local repositories?
I do not know if “git clean -dfx” would help because here the error is
probably between the repositories src/guix and src/guix-master and Guix
manages them under 2 unrelated directory checkouts.
When you cleaned ~/.cache/guix/checkouts and pulled again, you created a
new directory checkout. Based on which origin? Default? Or src/guix?
Or src/guix-master?
Cheers,
simon
- bug#47949: Failed to produce output path for guix-package-cache,
zimoun <=