Hi Ricardo and Mathieu, Ricardo Wurmus <rek...@elephly.net> writes:
> Hi Mathieu, > > thanks for the patch! > >> From bd306a8b20f2033d67755dd332a5d33b2f6b822d Mon Sep 17 00:00:00 2001 >> From: Mathieu Othacehe <othac...@gnu.org> >> Date: Tue, 8 Feb 2022 14:28:56 +0100 >> Subject: [PATCH 1/1] store: Warn about daemon deprecation. >> >> * guix/deprecation.scm (warn-about-old-daemon): New procedure. >> * guix/store.scm (build-things): Use it to warn about old daemons. >> --- >> guix/deprecation.scm | 7 +++++++ >> guix/store.scm | 2 ++ >> 2 files changed, 9 insertions(+) >> >> diff --git a/guix/deprecation.scm b/guix/deprecation.scm >> index c66c9367f6..666e178d75 100644 >> --- a/guix/deprecation.scm >> +++ b/guix/deprecation.scm >> @@ -1,5 +1,6 @@ >> ;;; GNU Guix --- Functional package management for GNU >> ;;; Copyright © 2019, 2020, 2021 Ludovic Courtès <l...@gnu.org> >> +;;; Copyright © 2021 Mathieu Othacehe <othac...@gnu.org> >> ;;; >> ;;; This file is part of GNU Guix. >> ;;; >> @@ -24,6 +25,8 @@ (define-module (guix deprecation) >> >> define-deprecated/public >> define-deprecated/alias >> + >> + warn-about-old-daemon >> warn-about-deprecation)) >> >> ;;; Commentary: >> @@ -32,6 +35,10 @@ (define-module (guix deprecation) >> ;;; >> ;;; Code: >> >> +(define (warn-about-old-daemon) >> + (warning (G_ "Your Guix daemon is seriously outdated, please consider >> + updating it by following the 'Upgrading Guix' documentation section.~%"))) >> + > > s/documention section/section in the manual/ > > Should it also mention that staying with the old daemon means that > binaries will no longer be available? For example: > > Your Guix daemon is no longer supported and will soon no longer be > able to download binary substitutes. > > I realize that what you proposed is a generic warning, but perhaps it’s > better to mention a direct consequence of failing to upgrade. (I know > many people who will not upgrade unless they absolutely have to.) Good idea; I modified it slightly like so: --8<---------------cut here---------------start------------->8--- @@ -36,8 +36,9 @@ (define-module (guix deprecation) ;;; Code: (define (warn-about-old-daemon) - (warning (G_ "Your Guix daemon is seriously outdated, please consider - updating it by following the 'Upgrading Guix' documentation section.~%"))) + (warning (G_ "Your Guix daemon is severely outdated, and will soon cease to +be able to download binary substitutes. To upgrade it, refer to the +'Upgrading Guix' section in the manual.~%"))) (define* (warn-about-deprecation variable properties #:key replacement) --8<---------------cut here---------------end--------------->8--- >> --- a/guix/store.scm >> +++ b/guix/store.scm >> @@ -1442,6 +1442,8 @@ (define build-things >> things))) >> (parameterize ((current-store-protocol-version >> (store-connection-version store))) >> + (when (< (current-store-protocol-version) 355) ;0x163 >> + (warn-about-old-daemon)) >> (if (>= (store-connection-minor-version store) 15) >> (build store things mode) >> (if (= mode (build-mode normal)) > > Maybe add a comment here to explain why this particular protocol version > is considered old. I added the following: --8<---------------cut here---------------start------------->8--- @@ -1442,7 +1442,11 @@ (define build-things things))) (parameterize ((current-store-protocol-version (store-connection-version store))) - (when (< (current-store-protocol-version) 355) ;0x163 + (when (< (current-store-protocol-version) #x163) + ;; This corresponds to the first version bump of the daemon + ;; since the introduction of lzip compression support. The + ;; version change happened with commit 6ef61cc4c30 on the + ;; 2018/10/15). (warn-about-old-daemon)) (if (>= (store-connection-minor-version store) 15) (build store things mode) --8<---------------cut here---------------end--------------->8--- And pushed with commit 96d7535b03. Thanks for the feedback! Maxim