Subject: Re: HTTP and FTP proxies for guix package / guix-daemon

From: Claes Wallin (韋嘉誠)<[email-masked]>
Date: Wed, 1 Jul 2015 15:08:31 +0200

On Wed, Jul 1, 2015 at 10:19 AM, Ludovic Courtès <[email-masked]> wrote:

> To test, I first run the daemon like this:
>
>   sudo sh -c 'export http_proxy=foobar ; ./pre-inst-env guix-daemon --build-users-group=guixbuild'

Could there be a difference because you are testing with the
checked-out, semi-manually built guix and I was checking with a
freshly packaged (pull, package -i guix) guix? Like I said in
http://lists.gnu.org/archive/html/bug-guix/2015-06/msg00036.html ,
guix-daemon as compiled by guix seems to be using guile-2.0.9. Maybe
that only happens due to guix rewriting hashbangs etc, and on a build
outside guix (even when using guix environment) it uses whatever guile
happens to be in the paths?

When I have the time again I will check it exactly the way you are doing it.

> Here the error message comes from the fact that $http_proxy is a
> malformed URL, showing that it *is* honored.  Since the http URL fails,
> the download logic falls back to the next URL, which happens to be an
> ftp URL, which is unaffected by ‘http_proxy’.

Ok, that's maybe a clearer way of testing it.

> Please let me know if you have evidence that something works differently
> for you.

I would say that both of us have evidence that it's working and not
working. The conclusion must be that we are not testing the exact same
program.

>> No. Whenever the daemon is doing the downloading, http_proxy is
>> ignored and I get "Temporary failure in name resolution" because the
>> VM doesn't have an internet DNS.
>
> [...]
>
>> `/gnu/store/2zkyyw4bq0wzsxdysncrf9lmwl44w5wh-binutils-2.25.tar.bz2'
>> from `http://ftpmirror.gnu.org/binutils/binutils-2.25.tar.bz2'...
>> ERROR: In procedure getaddrinfo: Temporary failure in name resolution
>
> That’s another, unrelated issue, probably in your network or on your
> machine.

Yes. This is why the proxy is required. There is no internet DNS for
the VM, because it is on an isolated lab network.

When it does go through the proxy, like when running guix download, no
name lookup is done and everything works.