From mboxrd@z Thu Jan 1 00:00:00 1970 From: Pjotr Prins Subject: Struggling with a caching substitute server Date: Mon, 4 Apr 2016 15:56:37 +0200 Message-ID: <20160404135637.GA30755@thebird.nl> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Return-path: Received: from eggs.gnu.org ([2001:4830:134:3::10]:60654) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1an51M-0007pB-2r for guix-devel@gnu.org; Mon, 04 Apr 2016 09:58:25 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1an51I-0003D7-T8 for guix-devel@gnu.org; Mon, 04 Apr 2016 09:58:24 -0400 Received: from mail.thebird.nl ([95.154.246.10]:33697) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1an51I-0003D0-Mp for guix-devel@gnu.org; Mon, 04 Apr 2016 09:58:20 -0400 Content-Disposition: inline List-Id: "Development of GNU Guix and the GNU System distribution." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guix-devel-bounces+gcggd-guix-devel=m.gmane.org@gnu.org Sender: guix-devel-bounces+gcggd-guix-devel=m.gmane.org@gnu.org To: guix-devel@gnu.org I am running client and server in exactly the same checked out guix repository. Server: ./pre-inst-env guix publish -u guix-publisher publishing /gnu/store on 0.0.0.0, port 8080 Client on the same server ./pre-inst-env guix package -i hello --dry-run The following derivations would be built: /gnu/store/ipsmyhrsfnfvyb096fpiscd7rn3d9557-profile.drv /gnu/store/l6z8ln2r4x9g2y6yy62ly3f8jx2k1rxy-ca-certificate-bundle.drv /gnu/store/v79w8yj766ryqnc6i1k8ry6wi8vfhy3f-info-dir.drv The following file would be downloaded: /gnu/store/zby49aqfbd9w9br4l52mvb3y6f9vfv22-hello-2.10 After installing the package it is in /gnu/store/zby49aqfbd9w9br4l52mvb3y6f9vfv22-hello-2.10 Now from a different remote machine using my substitute caching server ./pre-inst-env guix package -i hello --substitute-urls="http://guix.myserver.org" --dry-run keeps on wanting to build the thing from scratch. While from that same machine curl http://guix.myserver.org:8080/nix-cache-info StoreDir: /gnu/store WantMassQuery: 0 appears to work fine. The response for both queries is: Query from main server: GET /nix-cache-info GET /xgm6wxkja6llvkz8jck95i6cmh3c93yh.narinfo GET /w6im8ck36hpjyh9zjmz9mr2vkppfhzid.narinfo GET /9wq9z5jq3g691f836lhi0633g26lfl8n.narinfo Query from remote GET /nix-cache-info GET /x2lhjhbxd5dqmis350gkc352v9z1pr8r.narinfo GET /jkxa2ga4x0gqvx6x790anpwhnm7d278w.narinfo GET /ic8sabq35jisj5wmi860d85i09qghq1x.narinfo which suggests the files it wants to fetch are not the same, though the starting point (the checked out guix dir) should be exactly the same. The last commit is the same. When I use hydra, no packages from source are built and the package installed in exactly the same path /gnu/store/zby49aqfbd9w9br4l52mvb3y6f9vfv22-hello-2.10A This is my reproducible build environment. I would like tho have the caching substitute server do the right thing. What am I missing? Pj.