From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mp0 ([2001:41d0:2:4a6f::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by ms11 with LMTPS id aPTbHKKi01+gbgAA0tVLHw (envelope-from ) for ; Fri, 11 Dec 2020 16:47:30 +0000 Received: from aspmx1.migadu.com ([2001:41d0:2:4a6f::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by mp0 with LMTPS id MJrMGKKi018MMAAA1q6Kng (envelope-from ) for ; Fri, 11 Dec 2020 16:47:30 +0000 Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by aspmx1.migadu.com (Postfix) with ESMTPS id 35161940367 for ; Fri, 11 Dec 2020 16:47:30 +0000 (UTC) Received: from localhost ([::1]:50686 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1knlZp-0004eO-4g for larch@yhetil.org; Fri, 11 Dec 2020 11:47:29 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]:44264) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1knlYS-0003aA-12 for guix-patches@gnu.org; Fri, 11 Dec 2020 11:46:04 -0500 Received: from debbugs.gnu.org ([209.51.188.43]:59470) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1knlYR-0001fE-9f for guix-patches@gnu.org; Fri, 11 Dec 2020 11:46:03 -0500 Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1knlYR-0003xg-8D for guix-patches@gnu.org; Fri, 11 Dec 2020 11:46:03 -0500 X-Loop: help-debbugs@gnu.org Subject: [bug#45023] [PATCH] install: Discover local substitute servers. Resent-From: Ludovic =?UTF-8?Q?Court=C3=A8s?= Original-Sender: "Debbugs-submit" Resent-CC: guix-patches@gnu.org Resent-Date: Fri, 11 Dec 2020 16:46:03 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 45023 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: Mathieu Othacehe Received: via spool by 45023-submit@debbugs.gnu.org id=B45023.160770514915177 (code B ref 45023); Fri, 11 Dec 2020 16:46:03 +0000 Received: (at 45023) by debbugs.gnu.org; 11 Dec 2020 16:45:49 +0000 Received: from localhost ([127.0.0.1]:42779 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1knlYC-0003wj-Nl for submit@debbugs.gnu.org; Fri, 11 Dec 2020 11:45:49 -0500 Received: from eggs.gnu.org ([209.51.188.92]:51052) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1knlY7-0003wS-Vd for 45023@debbugs.gnu.org; Fri, 11 Dec 2020 11:45:47 -0500 Received: from fencepost.gnu.org ([2001:470:142:3::e]:49259) by eggs.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1knlY2-0001St-Ob for 45023@debbugs.gnu.org; Fri, 11 Dec 2020 11:45:38 -0500 Received: from [2a01:e0a:1d:7270:af76:b9b:ca24:c465] (port=60158 helo=ribbon) by fencepost.gnu.org with esmtpsa (TLS1.2:RSA_AES_256_CBC_SHA1:256) (Exim 4.82) (envelope-from ) id 1knlXz-0003pR-8Z; Fri, 11 Dec 2020 11:45:36 -0500 From: Ludovic =?UTF-8?Q?Court=C3=A8s?= References: <20201203140155.166988-1-othacehe@gnu.org> <87mtyt2021.fsf@gnu.org> Date: Fri, 11 Dec 2020 17:45:33 +0100 In-Reply-To: <87mtyt2021.fsf@gnu.org> (Mathieu Othacehe's message of "Fri, 04 Dec 2020 14:05:58 +0100") Message-ID: <87o8j05m1e.fsf@gnu.org> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/27.1 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list X-BeenThere: guix-patches@gnu.org List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: 45023@debbugs.gnu.org Errors-To: guix-patches-bounces+larch=yhetil.org@gnu.org Sender: "Guix-patches" X-Migadu-Flow: FLOW_IN X-Migadu-Spam-Score: -2.80 Authentication-Results: aspmx1.migadu.com; dkim=none; dmarc=pass (policy=none) header.from=gnu.org; spf=pass (aspmx1.migadu.com: domain of guix-patches-bounces@gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=guix-patches-bounces@gnu.org X-Migadu-Queue-Id: 35161940367 X-Spam-Score: -2.80 X-Migadu-Scanner: scn1.migadu.com X-TUID: P9NxFJ7Gtgpl Hi! Mathieu Othacehe skribis: >>>From 3e29ee9755ef0bb9917fc482528fdbdc864ae72e Mon Sep 17 00:00:00 2001 > From: Mathieu Othacehe > Date: Fri, 4 Dec 2020 11:33:16 +0100 > Subject: [PATCH v2] install: Discover local substitute servers. > > * gnu/installer/substitutes.scm: New file. > * gnu/installer/newt/substitutes.scm: New file. > * gnu/local.mk (INSTALLER_MODULES): Add them. > * po/guix/POTFILES.in: Add gnu/installer/newt/substitutes.scm. > * gnu/installer/proxy.scm (with-silent-shepherd): Move to ... > * gnu/installer/utils.scm: ... here. > * gnu/installer/record.scm ()[substitutes-page]: New field. > * gnu/installer/newt.scm (substitutes-page): New procedure, > (newt-installer): register it. > * gnu/installer.scm (installer-steps): Add "substitutes-page" step. > * gnu/system/install.scm (%installation-services): Add avahi-service-type= and > enable substitute server discover in guix-service-type. > []: Set it to %mdns-host-lookup-nss. Neat! Overall LGTM; some suggestions below. > + ;; Ask whether to enable substitute servers discovery. > + (installer-step > + (id 'substitutes) > + (description (G_ "Substitutes server discovery")) Maybe =E2=80=9CSubstitute=E2=80=9D (singular) > + (case (choice-window > + (G_ "Substitute servers discovery.") =E2=80=9Cserver=E2=80=9D (singular) > + (G_ "If you have substitute servers on your local network, y= ou can \ > +enable the following option. It might be faster than fetching from remot= e \ > +servers. There are no security risks, only genuine substitutes will be u= sed \ > +but as servers may serve substitute over HTTP, unencrypted, anyone on th= e LAN \ > +can see what software you=E2=80=99re installing.")) Slightly reworked: By turning this option on, you allow Guix to fetch ``substitutes'' (pre-built binaries) during installation from servers discovered on your local area network (LAN) in addition to the official server. This can increase download throughput. There are no security risks: only genuine substitutes may be retrieved from those servers. However, eavesdroppers on your LAN may be able to see what software you are installing. > +(define (enable-discover) > + (with-silent-shepherd > + (with-shepherd-action 'guix-daemon > + ('discover "on") > + result > + result))) > + > +(define (disable-discover) =E2=80=98{enable,disable}-discovery=E2=80=99 would seem more natural to me. > + ;; Use the Avahi daemon to discover substitute servers on the = local > + ;; network. It can be faster than fetching from remote server= s. > + (service avahi-service-type > + (avahi-configuration (debug? #t))) Maybe we can remove the =E2=80=98debug?=E2=80=99 flag? How bigger is the resulting ISO? > ;; The build daemon. Register the default substitute server k= ey(s) > - ;; as trusted to allow the installation process to use substit= utes by > - ;; default. > + ;; as trusted to allow the installation process to use substit= utes > + ;; by default. > (service guix-service-type > - (guix-configuration (authorize-key? #t))) > + (guix-configuration > + (authorize-key? #t))) Unneeded. :-) Thanks! Ludo=E2=80=99.