Subject: bug#42286: closed (Re: bug#42286: SWH fallback fails (git-fetch))

From: [email-masked] (GNU bug Tracking System)
Date: Thu, 09 Jul 2020 22:25:02 +0000

Your bug report

#42286: SWH fallback fails (git-fetch)

which was filed against the guix package, has been closed.

The explanation is attached below, along with your original report.
If you require more details, please reply to [email-masked].

-- 
42286: http://debbugs.gnu.org/cgi/bugreport.cgi?bug=42286
GNU Bug Tracking System
Contact [email-masked] with problems

Subject: Re: bug#42286: SWH fallback fails (git-fetch)
From: Ludovic Courtès <[email-masked]>
To: zimoun <[email-masked]>
Cc: [email-masked]
Date: Fri, 10 Jul 2020 00:24:10 +0200
List-Id: <debbugs-submit.debbugs.gnu.org>

Hi!

zimoun <[email-masked]> skribis:

> Trying to download from Software Heritage...
> Backtrace:
>            4 (primitive-load "/gnu/store/s56y8npabah6jc1bqrhsac6wqb1?")
> In ./guix/swh.scm:
>    573:13  3 (swh-download "https://github.com/zimoun/hello-example?" ?)
>    224:22  2 (call "https://archive.softwareheritage.org/api/1/revi?" ?)
> In web/client.scm:
>     563:0  1 (http-get "https://archive.softwareheritage.org/api/1/?" ?)
>     231:6  0 (tls-wrap #<closed: file 7ffff5f1b690> _ # _)
>
> web/client.scm:231:6: In procedure tls-wrap:
> Error while printing exception.
> builder for `/gnu/store/jn6f86hg9zyyhms1vn56hviv4m9yjm8j-git-checkout.drv' failed with exit code 1

Should be fixed with commit a7696b9733d4ede9817a0a0accb5ce5b85d9a2d3.
Let me know if anything’s amiss.

Thanks!

Ludo’.

Subject: SWH fallback fails (git-fetch)
From: zimoun <[email-masked]>
To: [email-masked]
Date: Thu, 09 Jul 2020 02:36:55 +0200
List-Id: <debbugs-submit.debbugs.gnu.org>

Dear,

I think the fallback with SWH is broken.  Here an example to reproduce.

--8<---------------cut here---------------start------------->8---
cd /tmp/
tar -xvf $(guix build -S hello)
cd hello-2.10
git init
git add *
git commit -m 'init'
--8<---------------cut here---------------end--------------->8---

Then I push this fresh repo to my own GitHub account.  Because it is
easy to switch between public and private state option, which mimics
upstream loss.

Let create the well-known "hello" recipe, which is simply a copy/paste
of (gnu packages base).

--8<---------------cut here---------------start------------->8---
(define-module (hello)
  #:use-module (guix packages)
  #:use-module (guix build-system gnu)
  #:use-module (guix git-download)
  #:use-module (guix licenses))

(define-public hi
  (package
    (name "hi")
    (version "2.10")
    (source (origin
              (method git-fetch)
              (uri (git-reference
                    (url "https://github.com/zimoun/hello-example.git")
                    (commit "e1eefd033b8a2c4c81babc6fde08ebb116c6abb8")))
              (sha256
               (base32
                "1im1gglfm4k10bh4mdaqzmx3lm3kivnsmxrvl6vyvmfqqzljq75l"))))
    (build-system gnu-build-system)
    (synopsis "Hello, GNU world: An example GNU package")
    (description
     "GNU Hello prints the message \"Hello, world!\" and then exits.  It
serves as an example of standard GNU coding practices.  As such, it supports
command-line arguments, multiple languages, and so on.")
    (home-page "https://www.gnu.org/software/hello/")
    (license gpl3+)))
--8<---------------cut here---------------end--------------->8---

For the sanity of the test, "guix build -L . hi" builds correctly and
returns the item: /gnu/store/jn8d031zx4znxy7s5zhj4dbr6xjsfq9v-hi-2.10
with Guix b7249aa.

The upstream source is archived on SWH with:

   guix lint -L . hi -c archival

see
https://archive.softwareheritage.org/browse/origin/directory/?origin_url=https://github.com/zimoun/hello-example.git
and the logs in https://archive.softwareheritage.org/save/#requests

Note that running again "lint -c archival" returns nothing, which means
that the linter finds it on SWH, I guess.  Well, I have not checked what
'lookup-content' returns yet.  However, I filtered the first ~2000+
'packages-with-sources' with 'lookup-content' and all the 'git-fetch'
sources are returned #f, and some 'url-fetch' not.  Another story,
another thread. :-)

Let clean the previous builds and downloads:

    guix gc -D $(guix gc --list-dead | grep -E '(hi-2|git-checkout)')

And now let turn off upstream and so the maybe bug:

--8<---------------cut here---------------start------------->8---
guix build -L . hi
The following derivations will be built:
   /gnu/store/x5vwhv8sn3l49vysq98j7h2rqqlff5zp-hi-2.10.drv
   /gnu/store/jn6f86hg9zyyhms1vn56hviv4m9yjm8j-git-checkout.drv
building /gnu/store/jn6f86hg9zyyhms1vn56hviv4m9yjm8j-git-checkout.drv...
guile: warning: failed to install locale
environment variable `PATH' set to `/gnu/store/378zjf2kgajcfd7mfr98jn5xyc5wa3qv-gzip-1.10/bin:/gnu/store/sf3rbvb6iqcphgm1afbplcs72hsywg25-tar-1.32/bin'
Initialized empty Git repository in /gnu/store/884nsva9r8wkp40kbqyvpj1ad57jc5dd-git-checkout/.git/
fatal: could not read Username for 'https://github.com': No such device or address
Failed to do a shallow fetch; retrying a full fetch...
fatal: could not read Username for 'https://github.com': No such device or address
git-fetch: '/gnu/store/i2pkspl2vjvas0q85hw46y2li06rcmcg-git-minimal-2.26.2/bin/git fetch origin' failed with exit code 128
Trying content-addressed mirror at berlin.guixsd.org...
Trying content-addressed mirror at berlin.guixsd.org...
Trying to download from Software Heritage...
Backtrace:
           4 (primitive-load "/gnu/store/s56y8npabah6jc1bqrhsac6wqb1?")
In ./guix/swh.scm:
   573:13  3 (swh-download "https://github.com/zimoun/hello-example?" ?)
   224:22  2 (call "https://archive.softwareheritage.org/api/1/revi?" ?)
In web/client.scm:
    563:0  1 (http-get "https://archive.softwareheritage.org/api/1/?" ?)
    231:6  0 (tls-wrap #<closed: file 7ffff5f1b690> _ # _)

web/client.scm:231:6: In procedure tls-wrap:
Error while printing exception.
builder for `/gnu/store/jn6f86hg9zyyhms1vn56hviv4m9yjm8j-git-checkout.drv' failed with exit code 1
build of /gnu/store/jn6f86hg9zyyhms1vn56hviv4m9yjm8j-git-checkout.drv failed
View build log at '/var/log/guix/drvs/jn/6f86hg9zyyhms1vn56hviv4m9yjm8j-git-checkout.drv.bz2'.
cannot build derivation `/gnu/store/x5vwhv8sn3l49vysq98j7h2rqqlff5zp-hi-2.10.drv': 1 dependencies couldn't be built
guix build: error: build of `/gnu/store/x5vwhv8sn3l49vysq98j7h2rqqlff5zp-hi-2.10.drv' failed
--8<---------------cut here---------------end--------------->8---

Let me know if moreinfo are required.

All the best,
simon