guix import (really: SSL) broken in different ways

  • Done
  • quality assurance status badge
Details
3 participants
  • Danny Milosavljevic
  • Leo Famulari
  • Ludovic Courtès
Owner
unassigned
Submitted by
Danny Milosavljevic
Severity
normal

Debbugs page

Danny Milosavljevic wrote 8 years ago
(address . bug-guix@gnu.org)
20170513120125.6bc1b03f@scratchpost.org
So after I installed the huge update from master, it seems that guix import doesn't work anymore (the cwd is a guix master checkout):

(1) Normal:

$ ./pre-inst-env guix import pypi flask-migrate
...
In guix/import/pypi.scm:
278:17 5 (pypi->guix-package _)
In ice-9/boot-9.scm:
837:9 4 (catch srfi-34 #<procedure 2b12300 at guix/import/json?> ?)
In guix/import/json.scm:
32:17 3 (_)
In guix/http-client.scm:
239:25 2 (http-fetch _ #:port _ #:text? _ #:buffered? _ # _ # _ # ?)
In guix/build/download.scm:
520:4 1 (open-connection-for-uri _ #:timeout _ # _)
360:0 0 (tls-wrap #<input-output: socket 14> "pypi.python.org" # ?)

guix/build/download.scm:360:0: In procedure tls-wrap:
guix/build/download.scm:360:0: In procedure module-lookup: Unbound variable: make-session

(2) In an environment:

$ guix environment guix --fallback --pure
$ ./pre-inst-env guix import pypi flask-migrate
...
In guix/import/pypi.scm:
278:17 5 (pypi->guix-package _)
In ice-9/boot-9.scm:
837:9 4 (catch srfi-34 #<procedure 1e971a0 at guix/import/json?> ?)
In guix/import/json.scm:
32:17 3 (_)
In guix/http-client.scm:
239:25 2 (http-fetch _ #:port _ #:text? _ #:buffered? _ # _ # _ # ?)
In guix/build/download.scm:
520:4 1 (open-connection-for-uri _ #:timeout _ # _)
417:6 0 (tls-wrap #<closed: file 1069af0> _ # _)

guix/build/download.scm:417:6: In procedure tls-wrap:
guix/build/download.scm:417:6: X.509 certificate of 'pypi.python.org' could not be verified:
signer-not-found
invalid

(2b) In an environment with guile-json:

$ guix environment guix --fallback --pure --ad-hoc guile-json
$ ./pre-inst-env guix import pypi flask-migrate
...

ERROR: In procedure scm-error:
ERROR: no code for module (json)

(3) In a container:

$ guix environment -C guix --fallback --pure --ad-hoc guile-json
$ ./pre-inst-env guix import pypi flask-migrate
...
In guix/import/pypi.scm:
278:17 7 (pypi->guix-package _)
In ice-9/boot-9.scm:
837:9 6 (catch srfi-34 #<procedure 4dac340 at guix/import/json?> ?)
In guix/import/json.scm:
32:17 5 (_)
In guix/http-client.scm:
239:25 4 (http-fetch _ #:port _ #:text? _ #:buffered? _ # _ # _ # ?)
In guix/build/download.scm:
520:4 3 (open-connection-for-uri _ #:timeout _ # _)
521:14 2 (thunk)
460:7 1 (open-socket-for-uri _ #:timeout _)
In unknown file:
0 (getaddrinfo "pypi.python.org" "https" 32 #<undefined> # ?)

ERROR: In procedure getaddrinfo:
ERROR: In procedure getaddrinfo: Servname not supported for ai_socktype

(4) For reference, the guix-pulled version works:

$ cd /
$ guix import pypi flask-migrate

Starting download of /tmp/guix-file.lHkpNj
...-2.0.3.tar.gz 15KiB 170KiB/s 00:00 [####################] 100.0%
(package
...

Maybe I need to logout and login again? Will test that later - but right now I just wanted to log the errors.
Ludovic Courtès wrote 8 years ago
(name . Danny Milosavljevic)(address . dannym@scratchpost.org)(address . 26907@debbugs.gnu.org)
87ziegzutr.fsf@gnu.org
Hi Danny,

Danny Milosavljevic <dannym@scratchpost.org> skribis:

Toggle quote (21 lines)
> So after I installed the huge update from master, it seems that guix import doesn't work anymore (the cwd is a guix master checkout):
>
> (1) Normal:
>
> $ ./pre-inst-env guix import pypi flask-migrate
> ...
> In guix/import/pypi.scm:
> 278:17 5 (pypi->guix-package _)
> In ice-9/boot-9.scm:
> 837:9 4 (catch srfi-34 #<procedure 2b12300 at guix/import/json?> ?)
> In guix/import/json.scm:
> 32:17 3 (_)
> In guix/http-client.scm:
> 239:25 2 (http-fetch _ #:port _ #:text? _ #:buffered? _ # _ # _ # ?)
> In guix/build/download.scm:
> 520:4 1 (open-connection-for-uri _ #:timeout _ # _)
> 360:0 0 (tls-wrap #<input-output: socket 14> "pypi.python.org" # ?)
>
> guix/build/download.scm:360:0: In procedure tls-wrap:
> guix/build/download.scm:360:0: In procedure module-lookup: Unbound variable: make-session

GnuTLS is not installed. It’s now a mandatory dependency and
./configure checks for it.

Note that if you use Guile 2.2, you need to install “guile2.2-gnutls”
rather than just “gnutls”.

Toggle quote (22 lines)
> (2) In an environment:
>
> $ guix environment guix --fallback --pure
> $ ./pre-inst-env guix import pypi flask-migrate
> ...
> In guix/import/pypi.scm:
> 278:17 5 (pypi->guix-package _)
> In ice-9/boot-9.scm:
> 837:9 4 (catch srfi-34 #<procedure 1e971a0 at guix/import/json?> ?)
> In guix/import/json.scm:
> 32:17 3 (_)
> In guix/http-client.scm:
> 239:25 2 (http-fetch _ #:port _ #:text? _ #:buffered? _ # _ # _ # ?)
> In guix/build/download.scm:
> 520:4 1 (open-connection-for-uri _ #:timeout _ # _)
> 417:6 0 (tls-wrap #<closed: file 1069af0> _ # _)
>
> guix/build/download.scm:417:6: In procedure tls-wrap:
> guix/build/download.scm:417:6: X.509 certificate of 'pypi.python.org' could not be verified:
> signer-not-found
> invalid

See “X.509 Certificates” in the manual. :-)

Toggle quote (9 lines)
> (2b) In an environment with guile-json:
>
> $ guix environment guix --fallback --pure --ad-hoc guile-json
> $ ./pre-inst-env guix import pypi flask-migrate
> ...
>
> ERROR: In procedure scm-error:
> ERROR: no code for module (json)

If you use Guile 2.2, you need “guile2.2-json”, not “guile-json”.

Toggle quote (23 lines)
> (3) In a container:
>
> $ guix environment -C guix --fallback --pure --ad-hoc guile-json
> $ ./pre-inst-env guix import pypi flask-migrate
> ...
> In guix/import/pypi.scm:
> 278:17 7 (pypi->guix-package _)
> In ice-9/boot-9.scm:
> 837:9 6 (catch srfi-34 #<procedure 4dac340 at guix/import/json?> ?)
> In guix/import/json.scm:
> 32:17 5 (_)
> In guix/http-client.scm:
> 239:25 4 (http-fetch _ #:port _ #:text? _ #:buffered? _ # _ # _ # ?)
> In guix/build/download.scm:
> 520:4 3 (open-connection-for-uri _ #:timeout _ # _)
> 521:14 2 (thunk)
> 460:7 1 (open-socket-for-uri _ #:timeout _)
> In unknown file:
> 0 (getaddrinfo "pypi.python.org" "https" 32 #<undefined> # ?)
>
> ERROR: In procedure getaddrinfo:
> ERROR: In procedure getaddrinfo: Servname not supported for ai_socktype

In addition to -C, you need -N for network access.

Toggle quote (14 lines)
> (4) For reference, the guix-pulled version works:
>
> $ cd /
> $ guix import pypi flask-migrate
> following redirection to `https://pypi.python.org/pypi/Flask-Migrate/json'...
>
> Starting download of /tmp/guix-file.lHkpNj
> From https://pypi.python.org/packages/a9/fe/559c313679b08f67efb9fba6f01debbc9ea3a488539d03a5a38371351456/Flask-Migrate-2.0.3.tar.gz...
> ...-2.0.3.tar.gz 15KiB 170KiB/s 00:00 [####################] 100.0%
> (package
> ...
>
> Maybe I need to logout and login again? Will test that later - but right now I just wanted to log the errors.

I think you stumbled upon a mixture of poor error reporting,
misconfiguration, and overall a situation where there are many ways to
shoot oneself in the foot.

HTH!

Ludo’.
Leo Famulari wrote 3 years ago
(name . Ludovic Courtès)(address . ludo@gnu.org)
Yd0Smzg7JdMqqpga@jasmine.lan
The pypi importer does currently work so I'm closing this old bug.
Closed
?
Your comment

This issue is archived.

To comment on this conversation send an email to 26907@debbugs.gnu.org

To respond to this issue using the mumi CLI, first switch to it
mumi current 26907
Then, you may apply the latest patchset in this issue (with sign off)
mumi am -- -s
Or, compose a reply to this issue
mumi compose
Or, send patches to this issue
mumi send-email *.patch
You may also tag this issue. See list of standard tags. For example, to set the confirmed and easy tags
mumi command -t +confirmed -t +easy
Or, remove the moreinfo tag and set the help tag
mumi command -t -moreinfo -t +help