Ludovic Courtès <ludo@HIDDEN>
to control <at> debbugs.gnu.org
.
Full text available.Received: (at 71928) by debbugs.gnu.org; 30 Sep 2024 21:10:18 +0000 From debbugs-submit-bounces <at> debbugs.gnu.org Mon Sep 30 17:10:17 2024 Received: from localhost ([127.0.0.1]:47169 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1svNer-0006wu-70 for submit <at> debbugs.gnu.org; Mon, 30 Sep 2024 17:10:17 -0400 Received: from eggs.gnu.org ([209.51.188.92]:46366) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <ludo@HIDDEN>) id 1svNFj-0002FQ-DW for 71928 <at> debbugs.gnu.org; Mon, 30 Sep 2024 16:44:58 -0400 Received: from fencepost.gnu.org ([2001:470:142:3::e]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from <ludo@HIDDEN>) id 1svNF5-0001Lw-To; Mon, 30 Sep 2024 16:43:40 -0400 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnu.org; s=fencepost-gnu-org; h=MIME-Version:Date:References:In-Reply-To:Subject:To: From; bh=zj179eTg/79GuZb3zw4jfSMRZPFz0BWcmXYTUVKV5QQ=; b=m/QSOzeBJbiBjIMst4+f XSix5LviubWFOa9r9xcuIUmQdUXhlgIg2grAVf2NjVxnAzp3mn2P2r3so+x+SJHXvWWgd2CPh2l+R 7zW9ZcOzGwDbL+UkpcyUE+JwtC1ox0LfYZeUudbg5q06BTgwlvXX4jajwgmwocyvUJNIBRZgsvICC wSD0WViuHQE/2ob9kAur8vcqocbxvnny2mJCbGb62dBaPyYvfVNZIGHdtVPnMciLTxIRZd6QFiCtt njRYcmul9LC8s9pplx/lqfrPn2O3IGBwEoSQZcIrpYYx3IRaQc/pOcoLCCOnF2PiYlIt/GLCQ1dP9 wez5Xu/vXYI0fw==; From: =?utf-8?Q?Ludovic_Court=C3=A8s?= <ludo@HIDDEN> To: Richard Sent <richard@HIDDEN> Subject: Re: [bug#71928] [PATCH v2] gnu: Throw error when extending services that do not use extensions. In-Reply-To: <6afb44e7f09f2d8fdbbe4cd0bad92ca170aef1b0.1720045261.git.richard@HIDDEN> (Richard Sent's message of "Wed, 3 Jul 2024 18:21:01 -0400") References: <e556c70340d5cda9b87852e137722d082f093c10.1720044768.git.richard@HIDDEN> <6afb44e7f09f2d8fdbbe4cd0bad92ca170aef1b0.1720045261.git.richard@HIDDEN> Date: Mon, 30 Sep 2024 22:43:36 +0200 Message-ID: <87h69w50uf.fsf@HIDDEN> User-Agent: Gnus/5.13 (Gnus v5.13) MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 71928 Cc: 71928 <at> debbugs.gnu.org X-BeenThere: debbugs-submit <at> debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: <debbugs-submit.debbugs.gnu.org> List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe> List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/> List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org> List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help> List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe> Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> X-Spam-Score: -3.3 (---) Hello, Richard Sent <richard@HIDDEN> skribis: > * gnu/services.scm (fold-services): Add error handling when using service > extensions. > > Fixes: https://issues.guix.gnu.org/71887 > Change-Id: Ic8d631674bfddde495c93952d9e6cd5649bb287d [...] > @@ -1223,12 +1224,22 @@ (define* (fold-services services > (params -> (service-value sink)) > (service > -> > - ;; Distinguish COMPOSE and EXTEND because PARAMS t= ypically > - ;; has a different type than the elements of EXTEN= SIONS. > - (if extend > - (service (service-kind sink) > - (extend params (compose extensions))) > - sink))) > + (begin > + (unless (or (null? extensions) > + ;; A value of #t is a convention for= "make > + ;; sure the service is present." > + (every (cut eq? #t <>) extensions) > + (and extend compose)) > + (error (format #f "Extensions are not supporte= d in \ > +~a yet the following service types extend it:~{~% ~a~}" > + (service-kind sink) > + (map service-kind dependents)))) > + ;; Distinguish COMPOSE and EXTEND because PARAMS= typically > + ;; has a different type than the elements of EXT= ENSIONS. > + (if extend > + (service (service-kind sink) > + (extend params (compose extensions)= )) > + sink)))) I understand the current situation where extensions to a non-extensible service are silently swallowed is suboptimal, but I wonder about the implications of the semantic change here. Currently the =E2=80=9C#t means ensure the service is present=E2=80=9D conv= ention is not enforced; is it even widely followed in the Guix repo? But then, what about repos out there that provide services? It would seem to me that this is something that cannot be changed overnight without running the risk to break people=E2=80=99s code. So perh= aps the first step (and maybe last step?) would be to print a warning. WDYT? Thanks, Ludo=E2=80=99.
guix-patches@HIDDEN
:bug#71928
; Package guix-patches
.
Full text available.Received: (at 71928) by debbugs.gnu.org; 3 Jul 2024 22:21:49 +0000 From debbugs-submit-bounces <at> debbugs.gnu.org Wed Jul 03 18:21:49 2024 Received: from localhost ([127.0.0.1]:40945 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1sP8MG-0007Sx-Od for submit <at> debbugs.gnu.org; Wed, 03 Jul 2024 18:21:49 -0400 Received: from mail-108-mta152.mxroute.com ([136.175.108.152]:42657) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <richard@HIDDEN>) id 1sP8ME-0007Sn-2k for 71928 <at> debbugs.gnu.org; Wed, 03 Jul 2024 18:21:47 -0400 Received: from filter006.mxroute.com ([136.175.111.3] filter006.mxroute.com) (Authenticated sender: mN4UYu2MZsgR) by mail-108-mta152.mxroute.com (ZoneMTA) with ESMTPSA id 1907ab05f2b00017a3.001 for <71928 <at> debbugs.gnu.org> (version=TLSv1.3 cipher=TLS_AES_256_GCM_SHA384); Wed, 03 Jul 2024 22:21:37 +0000 X-Zone-Loop: 8ed322636e3f31ca1675d7add40073809ec2609cf187 X-Originating-IP: [136.175.111.3] DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=freakingpenguin.com; s=x; h=Content-Transfer-Encoding:MIME-Version: Message-ID:Date:Subject:Cc:To:From:Sender:Reply-To:Content-Type:Content-ID: Content-Description:Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc :Resent-Message-ID:In-Reply-To:References:List-Id:List-Help:List-Unsubscribe: List-Subscribe:List-Post:List-Owner:List-Archive; bh=IycA4m6sJDJ7HMmKKGo9VPzfREj0CtantMOBzTnPAVo=; b=V0CCjjFhS3sySK98LmudQur583 zfQs75vCTzFSRsTW1Tnp3oDbmPX+/cmlYFCp84GUcyaF4j2ukCR2RC+JHZUdYT4hOWnyiyiq4oW4x YlSYFnsnNOmU2RDg6cdjNhaQt39oNM/0mb+mZDOTTSj9604y21ieS6XeVbZsC/13kWWuStoaYrWje ovDdrajQiq0xAcgijB3yCJa5sPPhzLDM9r0F3GteeXtXfsppBpLNyC3n5GuoAEkW2cpLu9Bexdf+9 JF4qYT8nxbWcBFoCJ/TJMTgsXenchCCuomytcd0Jk/Vx/hqgWjdGCkLbBwgtr86cRlsqMx2e2Cpk9 pXYgTGrA==; From: Richard Sent <richard@HIDDEN> To: 71928 <at> debbugs.gnu.org Subject: [PATCH v2] gnu: Throw error when extending services that do not use extensions. Date: Wed, 3 Jul 2024 18:21:01 -0400 Message-ID: <6afb44e7f09f2d8fdbbe4cd0bad92ca170aef1b0.1720045261.git.richard@HIDDEN> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Authenticated-Id: richard@HIDDEN X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 71928 Cc: Richard Sent <richard@HIDDEN> X-BeenThere: debbugs-submit <at> debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: <debbugs-submit.debbugs.gnu.org> List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe> List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/> List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org> List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help> List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe> Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> X-Spam-Score: -1.0 (-) * gnu/services.scm (fold-services): Add error handling when using service extensions. Fixes: https://issues.guix.gnu.org/71887 Change-Id: Ic8d631674bfddde495c93952d9e6cd5649bb287d --- gnu/services.scm | 23 +++++++++++++++++------ 1 file changed, 17 insertions(+), 6 deletions(-) diff --git a/gnu/services.scm b/gnu/services.scm index 88593e8091..f3a1041f14 100644 --- a/gnu/services.scm +++ b/gnu/services.scm @@ -53,6 +53,7 @@ (define-module (gnu services) #:use-module (srfi srfi-34) #:use-module (srfi srfi-35) #:use-module (srfi srfi-71) + #:use-module (ice-9 format) #:use-module (ice-9 vlist) #:use-module (ice-9 match) #:autoload (ice-9 pretty-print) (pretty-print) @@ -1223,12 +1224,22 @@ (define* (fold-services services (params -> (service-value sink)) (service -> - ;; Distinguish COMPOSE and EXTEND because PARAMS typically - ;; has a different type than the elements of EXTENSIONS. - (if extend - (service (service-kind sink) - (extend params (compose extensions))) - sink))) + (begin + (unless (or (null? extensions) + ;; A value of #t is a convention for "make + ;; sure the service is present." + (every (cut eq? #t <>) extensions) + (and extend compose)) + (error (format #f "Extensions are not supported in \ +~a yet the following service types extend it:~{~% ~a~}" + (service-kind sink) + (map service-kind dependents)))) + ;; Distinguish COMPOSE and EXTEND because PARAMS typically + ;; has a different type than the elements of EXTENSIONS. + (if extend + (service (service-kind sink) + (extend params (compose extensions))) + sink)))) (mbegin %state-monad (set-current-state (vhash-consq sink service visited)) (return service)))) base-commit: 85012e64819b39fd6112038134548b415fd5daff -- 2.45.2
guix-patches@HIDDEN
:bug#71928
; Package guix-patches
.
Full text available.Received: (at submit) by debbugs.gnu.org; 3 Jul 2024 22:13:49 +0000 From debbugs-submit-bounces <at> debbugs.gnu.org Wed Jul 03 18:13:49 2024 Received: from localhost ([127.0.0.1]:40933 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1sP8EW-0007FS-LE for submit <at> debbugs.gnu.org; Wed, 03 Jul 2024 18:13:49 -0400 Received: from lists.gnu.org ([209.51.188.17]:47650) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <richard@HIDDEN>) id 1sP8EV-0007FK-4T for submit <at> debbugs.gnu.org; Wed, 03 Jul 2024 18:13:47 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from <richard@HIDDEN>) id 1sP8ES-0007kd-SG for guix-patches@HIDDEN; Wed, 03 Jul 2024 18:13:44 -0400 Received: from mail-108-mta139.mxroute.com ([136.175.108.139]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from <richard@HIDDEN>) id 1sP8ER-0001S1-5P for guix-patches@HIDDEN; Wed, 03 Jul 2024 18:13:44 -0400 Received: from filter006.mxroute.com ([136.175.111.3] filter006.mxroute.com) (Authenticated sender: mN4UYu2MZsgR) by mail-108-mta139.mxroute.com (ZoneMTA) with ESMTPSA id 1907aa90b5d00017a3.001 for <guix-patches@HIDDEN> (version=TLSv1.3 cipher=TLS_AES_256_GCM_SHA384); Wed, 03 Jul 2024 22:13:37 +0000 X-Zone-Loop: 557bade68aaa11c4221e3a536d21c674027bc9e8c38a X-Originating-IP: [136.175.111.3] DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=freakingpenguin.com; s=x; h=Content-Transfer-Encoding:MIME-Version: Message-ID:Date:Subject:Cc:To:From:Sender:Reply-To:Content-Type:Content-ID: Content-Description:Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc :Resent-Message-ID:In-Reply-To:References:List-Id:List-Help:List-Unsubscribe: List-Subscribe:List-Post:List-Owner:List-Archive; bh=rNBm5jTy66oDdv/NCuz1/DMBQPaQo0xwiy9uyeOQ1aM=; b=GrK2qG8/xu0D2SYVfwF3ihvPbz O6vZKWu038BcB+oODrrDSSkyviYTOxDcP11PjkDpbtBIZRckXrUnxwAyW2XM9tXiMZAhsqLbrpEDh LYInQeq8qzr3VK9Ej/k35VE1D6Lg1FqKHk200JRYoWbl3c+4wS0FSXIGqQ7CQ7PG7v4Asn1PaVSPA QfqGfgljWGpOl5Ru8FxX3QWW4D8C+wF1TiqIGxRg123pVJH7IZYDGk4AkhVs6NGs08IOsJ8HyYB9C a7Lm9T4y6aQpaG7nfw66ZLceXuP2cYFcUtW3+jL8OOink9SYwMo61NoJ/FmghDOksuANyHOh9X2Zi 4WYSyZvg==; From: Richard Sent <richard@HIDDEN> To: guix-patches@HIDDEN Subject: [PATCH] gnu: Throw error when extending services that do not use extensions. Date: Wed, 3 Jul 2024 18:12:48 -0400 Message-ID: <e556c70340d5cda9b87852e137722d082f093c10.1720044768.git.richard@HIDDEN> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Authenticated-Id: richard@HIDDEN Received-SPF: pass client-ip=136.175.108.139; envelope-from=richard@HIDDEN; helo=mail-108-mta139.mxroute.com X-Spam_score_int: -16 X-Spam_score: -1.7 X-Spam_bar: - X-Spam_report: (-1.7 / 5.0 requ) BAYES_00=-1.9, DKIM_INVALID=0.1, DKIM_SIGNED=0.1, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=no autolearn_force=no X-Spam_action: no action X-Spam-Score: -1.4 (-) X-Debbugs-Envelope-To: submit Cc: Richard Sent <richard@HIDDEN> X-BeenThere: debbugs-submit <at> debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: <debbugs-submit.debbugs.gnu.org> List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe> List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/> List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org> List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help> List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe> Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> X-Spam-Score: -2.4 (--) * gnu/services.scm (fold-services): Add error handling when using service extensions. Fixes: https://issues.guix.gnu.org/71887 Change-Id: Ic8d631674bfddde495c93952d9e6cd5649bb287d --- gnu/services.scm | 22 ++++++++++++++++------ 1 file changed, 16 insertions(+), 6 deletions(-) diff --git a/gnu/services.scm b/gnu/services.scm index 88593e8091..a7a9e00478 100644 --- a/gnu/services.scm +++ b/gnu/services.scm @@ -1223,12 +1223,22 @@ (define* (fold-services services (params -> (service-value sink)) (service -> - ;; Distinguish COMPOSE and EXTEND because PARAMS typically - ;; has a different type than the elements of EXTENSIONS. - (if extend - (service (service-kind sink) - (extend params (compose extensions))) - sink))) + (begin + (unless (or (null? extensions) + ;; A value of #t is a convention for "make + ;; sure the service is present." + (every (cut eq? #t <>) extensions) + (and extend compose)) + (error (format #f "Extensions are not supported in \ +~a yet the following service types extend it:~{~% ~a~}" + (service-kind sink) + (map service-kind dependents)))) + ;; Distinguish COMPOSE and EXTEND because PARAMS typically + ;; has a different type than the elements of EXTENSIONS. + (if extend + (service (service-kind sink) + (extend params (compose extensions))) + sink)))) (mbegin %state-monad (set-current-state (vhash-consq sink service visited)) (return service)))) base-commit: 85012e64819b39fd6112038134548b415fd5daff -- 2.45.2
Richard Sent <richard@HIDDEN>
:guix-patches@HIDDEN
.
Full text available.guix-patches@HIDDEN
:bug#71928
; Package guix-patches
.
Full text available.
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997 nCipher Corporation Ltd,
1994-97 Ian Jackson.