From debbugs-submit-bounces@debbugs.gnu.org Wed Nov 02 14:40:32 2022 Received: (at 47949) by debbugs.gnu.org; 2 Nov 2022 18:40:33 +0000 Received: from localhost ([127.0.0.1]:47187 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1oqIfA-0000EW-A5 for submit@debbugs.gnu.org; Wed, 02 Nov 2022 14:40:32 -0400 Received: from cascadia.aikidev.net ([173.255.214.101]:59328) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1oqIf8-0000EI-DQ for 47949@debbugs.gnu.org; Wed, 02 Nov 2022 14:40:30 -0400 Received: from localhost (unknown [IPv6:2600:3c01:e000:21:7:77:0:20]) (Authenticated sender: vagrant@cascadia.debian.net) by cascadia.aikidev.net (Postfix) with ESMTPSA id 6DD101AA58; Wed, 2 Nov 2022 11:40:24 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=debian.org; s=1.vagrant.user; t=1667414424; bh=UGRWok/Iy5zrjmwaLKKvfwcjCkL9/+InnDie9mFKl8s=; h=From:To:Cc:Subject:In-Reply-To:References:Date:From; b=iKvyChJA5UZTTRCSD5p353h7gNWH6vtlcjSM7Te3npEM0XdGijJjaj9Ha+qFuJDsR VFm5sJzjpq/VUN2xyHAzln6nEKlGtTk6KPr0BWoQmKUhLWsgT+e/pChfzN9/3LY1U9 25hm3yTNOx6NxaUXx7m7/iKZuGGpvH6/RrvfC0whIvusW1WkggvJqIVCP2e1pt/d2/ PHqM7nPPpznCSoqMxkSLUAjwIqk+lEt8r80vczhrTOI0bzMDrYo2/NwH1MTVscc2M3 Ao/to0VA1l8z6IwlxnatuPkxFV9CaZA4SaPxDAMZDhJ2W+V3pkBwnjTvKDFjvlnTGZ ozGUF/nFT9nmw== From: Vagrant Cascadian To: zimoun , Ludovic =?utf-8?Q?Court=C3=A8s?= , Roel Janssen Subject: Re: bug#47949: Failed to produce output path for guix-package-cache In-Reply-To: <87iljxhb5a.fsf@gmail.com> References: <86b58d34-b9ae-b4bb-f64c-9250e2c109cd@gnu.org> <87h7jqozsv.fsf@gnu.org> <26aef3de604e17d9199edff5f4b6eff170df8a1c.camel@gnu.org> <87zgxhmslv.fsf@gnu.org> <87fsfbznrk.fsf@contorta> <86fsfb0zvj.fsf@gmail.com> <87eduule00.fsf@contorta> <86o7tybbmq.fsf@gmail.com> <878rl2kw0l.fsf@contorta> <87zgdfd7ee.fsf@contorta> <87iljxhb5a.fsf@gmail.com> Date: Wed, 02 Nov 2022 11:40:20 -0700 Message-ID: <87sfj1ci97.fsf@contorta> MIME-Version: 1.0 Content-Type: multipart/signed; boundary="=-=-="; micalg=pgp-sha512; protocol="application/pgp-signature" X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 47949 Cc: 47949@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) --=-=-= Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable On 2022-11-02, zimoun wrote: > On ven., 28 oct. 2022 at 13:23, Vagrant Cascadian wr= ote: > >>> Oh yeah, that reminds me to add to the confusion, "guix time-machine >>> --commit=3DSOMECOMMIT" 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, =E2=80=9Cguix time-machine --commit=3D=E2=80=9D 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. :-) Ok, that's promising. :) >> 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/pjmkglp4t7znuugeurpurzikxq3tnlaywmisyr27sh= j7apsnalwq/.git/config > [core] > bare =3D false > repositoryformatversion =3D 0 > filemode =3D true > logallrefupdates =3D true > [remote "origin"] > url =3D https://git.savannah.gnu.org/git/guix.git > fetch =3D +refs/heads/*:refs/remotes/origin/* > [branch "master"] > remote =3D origin > merge =3D 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 =3D ( > "/home/simon/.cache/guix/checkouts/pjmkglp4t7znuugeurpurzikxq3tnlaywmisy= r27shj7apsnalwq" > "/home/simon/.cache/guix/checkouts/cbek2jy4zeoea2wj4xppwabceeayfzzuap6iw= 6uk7kylh4hdolfa" > "/home/simon/.cache/guix/checkouts/duxgcjge5pc2tzexf4qwjra3uzu3t4htsxojt= xralegek3bqkisa" > ) > --8<---------------cut here---------------end--------------->8--- Hashes are coming out different, maybe without the file:// prefix? > then you pulled, > > guix pull --url=3D/home/vagrant/src/guix --branch=3Dmaster > > and sometimes: > > guix pull --url=3D/home/vagrant/src/guix-master --branch=3Dmaster > > How clean are these 2 local repositories? src/guix tends to have cruft laying around, but src/guix-master I tend to keep clean, barring accidents. I *usually* just pull from src/guix-master, which is essentially a local mirror of upstream guix.git. Though I suspect the state of the local branch does not or at least should not matter, since it's pulling from --branch=3Dmaster. > I do not know if =E2=80=9Cgit clean -dfx=E2=80=9D 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. I had the impression that it uses git to copy the branches (rather than cp -r or something), otherwise the --branch=3Dmaster argument would be meaningless (e.g. --branch=3Dmaster does not mean whatever happens to be in the working directory), so I would assume the state of the local working directory wouldn't matter, only what's in the specified branch as git sees it. So My suspicion here is somehow guix is working off of dirty checkouts in ~/.cache/guix/checkouts ... which, maybe would not be so hard to reproduce ... just drop some files from an ancient checkout or something. Not sure what the conditions are necessary to make it actually leave behind cruft in a way that triggers the issue. It definitely seemed related to an old copy of wicd.scm that has since been removed. FWIW, I use my git checkout to avoid re-downloading the git history multiple times... since I already typically have a full copy of the git history. > 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? I think so far only src/guix-master. live well, vagrant --=-=-= Content-Type: application/pgp-signature; name="signature.asc" -----BEGIN PGP SIGNATURE----- iHUEARYKAB0WIQRlgHNhO/zFx+LkXUXcUY/If5cWqgUCY2K5lAAKCRDcUY/If5cW qnV2AQDt0Ddrh0L28GF+hOfu18Hw5P77/JQPgjDPXDnvK+HyrwEAyw/UvUAehi6m EcEbqTfgXxGydphWviZLZqXJKVH5TgU= =YSyP -----END PGP SIGNATURE----- --=-=-=--