From mboxrd@z Thu Jan 1 00:00:00 1970 From: Chris Marusich Subject: bug#22937: guix package fails when --substitute-urls specifies an HTTPS endpoint Date: Mon, 07 Mar 2016 22:16:30 -0800 Message-ID: <87k2ldjxz5.fsf@gmail.com> Mime-Version: 1.0 Content-Type: text/plain Return-path: Received: from eggs.gnu.org ([2001:4830:134:3::10]:45658) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1adAx5-0003x7-BY for bug-guix@gnu.org; Tue, 08 Mar 2016 01:17:04 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1adAx4-0005I2-1b for bug-guix@gnu.org; Tue, 08 Mar 2016 01:17:03 -0500 Received: from debbugs.gnu.org ([208.118.235.43]:41429) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1adAx3-0005Hy-Ts for bug-guix@gnu.org; Tue, 08 Mar 2016 01:17:01 -0500 Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84) (envelope-from ) id 1adAx3-0008Mq-Qf for bug-guix@gnu.org; Tue, 08 Mar 2016 01:17:01 -0500 Sender: "Debbugs-submit" Resent-Message-ID: Received: from eggs.gnu.org ([2001:4830:134:3::10]:45493) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1adAwe-0003n3-AV for bug-guix@gnu.org; Tue, 08 Mar 2016 01:16:37 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1adAwd-0005B2-3J for bug-guix@gnu.org; Tue, 08 Mar 2016 01:16:36 -0500 Received: from mail-pa0-x229.google.com ([2607:f8b0:400e:c03::229]:34728) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1adAwc-0005Av-SO for bug-guix@gnu.org; Tue, 08 Mar 2016 01:16:35 -0500 Received: by mail-pa0-x229.google.com with SMTP id fy10so5528873pac.1 for ; Mon, 07 Mar 2016 22:16:34 -0800 (PST) Received: from carbuncle ([2601:602:8100:9ee4:4e0f:6eff:fef6:70b9]) by smtp.gmail.com with ESMTPSA id i11sm1792446pfi.55.2016.03.07.22.16.33 for (version=TLSv1/SSLv3 cipher=OTHER); Mon, 07 Mar 2016 22:16:33 -0800 (PST) List-Id: Bug reports for GNU Guix List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: bug-guix-bounces+gcggb-bug-guix=m.gmane.org@gnu.org Sender: bug-guix-bounces+gcggb-bug-guix=m.gmane.org@gnu.org To: 22937@debbugs.gnu.org Hi, I've noticed that "guix package" fails when I specify an HTTPS endpoint for --substitute-urls. Is that expected behavior? I recently set up a caching proxy for hydra.gnu.org. The endpoint's DNS name is hydra-mirror.marusich.info. It's configured to accept both HTTP and HTTPS requests. When it receives an HTTPS request, it proxies the request (assuming it's a cache miss) to hydra.gnu.org over HTTP. I've configured it this way because my understanding is that hydra.gnu.org is currently only available via HTTP. Commands like wget, curl, and even "guix download" work fine with the mirror, even over HTTPS. For example, the following command succeeds: guix download https://hydra-mirror.marusich.info/nar/8kvb2k0n1jqjd5sa7g6qj5qllq0ckcya-linux-libre-4.4 However, when I try to install a package with "guix package" using the endpoint, it fails with a backtrace like the following (this command was invoked using the "guix package" from commit 7b3f2682de38a8e39f052705795ec85fcdfc8a96): --8<---------------cut here---------------start------------->8--- $ ./pre-inst-env guix package --substitute-urls="https://hydra-mirror.marusich.info" -i graphviz substitute: Backtrace: substitute: In ice-9/boot-9.scm: substitute: 63: 19 [call-with-prompt prompt0 ...] substitute: In ice-9/eval.scm: substitute: 432: 18 [eval # #] substitute: In ice-9/boot-9.scm: substitute: 2401: 17 [save-module-excursion #] substitute: 4050: 16 [#] substitute: 1724: 15 [%start-stack load-stack ...] substitute: 1729: 14 [#] substitute: In unknown file: substitute: ?: 13 [primitive-load "/gnu/store/3lg5c1nidbj0kjdz5b63hn3vp29kzf0s-guix-0.9.0.c3f29bc/bin/.guix-real"] substitute: In guix/ui.scm: substitute: 1175: 12 [run-guix-command substitute "--query"] substitute: In ice-9/boot-9.scm: substitute: 157: 11 [catch getaddrinfo-error ...] substitute: 157: 10 [catch srfi-34 # ...] substitute: 157: 9 [catch system-error ...] substitute: In guix/scripts/substitute.scm: substitute: 946: 8 [#] substitute: 804: 7 [process-query "info /gnu/store/x29dbk9inqjym79q0907sx4arp1bfp28-graphviz-2.38.0-doc " ...] substitute: 633: 6 [lookup-narinfos/diverse # #] substitute: 617: 5 [lookup-narinfos "https://hydra-mirror.marusich.info" #] substitute: 589: 4 [fetch-narinfos "https://hydra-mirror.marusich.info" #] substitute: 222: 3 [download-cache-info "https://hydra-mirror.marusich.info"] substitute: In guix/records.scm: substitute: 331: 2 [recutils->alist #] substitute: In ice-9/rdelim.scm: substitute: 184: 1 [read-line # trim] substitute: In unknown file: substitute: ?: 0 [%read-line #] substitute: substitute: ERROR: In procedure %read-line: substitute: ERROR: In procedure %read-line: Wrong type argument in position 1 (expecting open input port): # guix package: error: build failed: substituter `substitute' died unexpectedly --8<---------------cut here---------------end--------------->8--- When I replaced --substitute-urls="https://hydra-mirror.marusich.info" with --substitute-urls="http://hydra-mirror.marusich.info", the same command worked fine. Chris