X-Loop: help-debbugs@HIDDEN Subject: [bug#67842] [PATCH 0/4] Refactor mympd service. Resent-From: Bruno Victal <mirai@HIDDEN> Original-Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> Resent-CC: guix-patches@HIDDEN Resent-Date: Fri, 15 Dec 2023 21:02:02 +0000 Resent-Message-ID: <handler.67842.B.170267409713190 <at> debbugs.gnu.org> Resent-Sender: help-debbugs@HIDDEN X-GNU-PR-Message: report 67842 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: 67842 <at> debbugs.gnu.org Cc: Bruno Victal <mirai@HIDDEN> X-Debbugs-Original-To: guix-patches@HIDDEN Received: via spool by submit <at> debbugs.gnu.org id=B.170267409713190 (code B ref -1); Fri, 15 Dec 2023 21:02:02 +0000 Received: (at submit) by debbugs.gnu.org; 15 Dec 2023 21:01:37 +0000 Received: from localhost ([127.0.0.1]:53632 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1rEFJQ-0003Qg-Ks for submit <at> debbugs.gnu.org; Fri, 15 Dec 2023 16:01:36 -0500 Received: from lists.gnu.org ([2001:470:142::17]:35470) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <mirai@HIDDEN>) id 1rEFJO-0003QR-EP for submit <at> debbugs.gnu.org; Fri, 15 Dec 2023 16:01:34 -0500 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 <mirai@HIDDEN>) id 1rEFJI-0000XE-Os for guix-patches@HIDDEN; Fri, 15 Dec 2023 16:01:28 -0500 Received: from smtpmciv4.myservices.hosting ([185.26.107.240]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from <mirai@HIDDEN>) id 1rEFJH-0002D7-8u for guix-patches@HIDDEN; Fri, 15 Dec 2023 16:01:28 -0500 Received: from mail1.netim.hosting (unknown [185.26.106.173]) by smtpmciv4.myservices.hosting (Postfix) with ESMTP id 0259F2077F for <guix-patches@HIDDEN>; Fri, 15 Dec 2023 22:01:16 +0100 (CET) Received: from localhost (localhost [127.0.0.1]) by mail1.netim.hosting (Postfix) with ESMTP id 65E4380095; Fri, 15 Dec 2023 22:01:16 +0100 (CET) X-Virus-Scanned: Debian amavisd-new at mail1.netim.hosting Received: from mail1.netim.hosting ([127.0.0.1]) by localhost (mail1-2.netim.hosting [127.0.0.1]) (amavisd-new, port 10026) with ESMTP id XMFLprqmqAUg; Fri, 15 Dec 2023 22:01:16 +0100 (CET) Received: from guix-nuc.home.arpa (unknown [10.192.1.83]) (Authenticated sender: lumen@HIDDEN) by mail1.netim.hosting (Postfix) with ESMTPSA id D921380067; Fri, 15 Dec 2023 22:01:15 +0100 (CET) From: Bruno Victal <mirai@HIDDEN> Date: Fri, 15 Dec 2023 20:59:56 +0000 Message-ID: <cover.1702663151.git.mirai@HIDDEN> X-Mailer: git-send-email 2.41.0 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Received-SPF: pass client-ip=185.26.107.240; envelope-from=mirai@HIDDEN; helo=smtpmciv4.myservices.hosting X-Spam_score_int: -18 X-Spam_score: -1.9 X-Spam_bar: - X-Spam_report: (-1.9 / 5.0 requ) BAYES_00=-1.9, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01 autolearn=ham autolearn_force=no X-Spam_action: no action X-Spam-Score: 1.0 (+) 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: -0.0 (/) Cleanups to mympd-service-type. Notable changes: * Removed revert leftover in the manual. * Simplified mympd system test. * Fixed mympd syslog logging and missing service destructor. * Refactored mympd serialization process. Bruno Victal (4): doc: Remove missed hunk of revert commit for MPD service. tests: mympd: Simplify test. services: mympd: Fix syslog logging and missing service destructor. services: mympd: Refactor serialization process. doc/guix.texi | 15 +--- gnu/services/audio.scm | 166 ++++++++++++++++++++--------------------- gnu/tests/audio.scm | 35 +++++---- 3 files changed, 102 insertions(+), 114 deletions(-) base-commit: 93597fc39cbe2d24b41f4054c9656c2dedeabacf -- 2.41.0
Content-Disposition: inline Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 X-Mailer: MIME-tools 5.505 (Entity 5.505) Content-Type: text/plain; charset=utf-8 X-Loop: help-debbugs@HIDDEN From: help-debbugs@HIDDEN (GNU bug Tracking System) To: Bruno Victal <mirai@HIDDEN> Subject: bug#67842: Acknowledgement ([PATCH 0/4] Refactor mympd service.) Message-ID: <handler.67842.B.170267409713190.ack <at> debbugs.gnu.org> References: <cover.1702663151.git.mirai@HIDDEN> X-Gnu-PR-Message: ack 67842 X-Gnu-PR-Package: guix-patches X-Gnu-PR-Keywords: patch Reply-To: 67842 <at> debbugs.gnu.org Date: Fri, 15 Dec 2023 21:02:02 +0000 Thank you for filing a new bug report with debbugs.gnu.org. This is an automatically generated reply to let you know your message has been received. Your message is being forwarded to the package maintainers and other interested parties for their attention; they will reply in due course. Your message has been sent to the package maintainer(s): guix-patches@HIDDEN If you wish to submit further information on this problem, please send it to 67842 <at> debbugs.gnu.org. Please do not send mail to help-debbugs@HIDDEN unless you wish to report a problem with the Bug-tracking system. --=20 67842: https://debbugs.gnu.org/cgi/bugreport.cgi?bug=3D67842 GNU Bug Tracking System Contact help-debbugs@HIDDEN with problems
X-Loop: help-debbugs@HIDDEN Subject: [bug#67842] [PATCH 1/4] doc: Remove missed hunk of revert commit for MPD service. Resent-From: Bruno Victal <mirai@HIDDEN> Original-Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> Resent-CC: guix-patches@HIDDEN Resent-Date: Fri, 15 Dec 2023 21:03:01 +0000 Resent-Message-ID: <handler.67842.B67842.170267416813338 <at> debbugs.gnu.org> Resent-Sender: help-debbugs@HIDDEN X-GNU-PR-Message: followup 67842 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: 67842 <at> debbugs.gnu.org Cc: Bruno Victal <mirai@HIDDEN> Received: via spool by 67842-submit <at> debbugs.gnu.org id=B67842.170267416813338 (code B ref 67842); Fri, 15 Dec 2023 21:03:01 +0000 Received: (at 67842) by debbugs.gnu.org; 15 Dec 2023 21:02:48 +0000 Received: from localhost ([127.0.0.1]:53637 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1rEFKa-0003T4-1p for submit <at> debbugs.gnu.org; Fri, 15 Dec 2023 16:02:48 -0500 Received: from smtpmciv4.myservices.hosting ([185.26.107.240]:48556) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <mirai@HIDDEN>) id 1rEFKZ-0003Sv-0E for 67842 <at> debbugs.gnu.org; Fri, 15 Dec 2023 16:02:47 -0500 Received: from mail1.netim.hosting (unknown [185.26.106.173]) by smtpmciv4.myservices.hosting (Postfix) with ESMTP id 3F57A2077F for <67842 <at> debbugs.gnu.org>; Fri, 15 Dec 2023 22:02:45 +0100 (CET) Received: from localhost (localhost [127.0.0.1]) by mail1.netim.hosting (Postfix) with ESMTP id 9C1CE80095; Fri, 15 Dec 2023 22:02:45 +0100 (CET) X-Virus-Scanned: Debian amavisd-new at mail1.netim.hosting Received: from mail1.netim.hosting ([127.0.0.1]) by localhost (mail1-2.netim.hosting [127.0.0.1]) (amavisd-new, port 10026) with ESMTP id 42vnNqQYYG2q; Fri, 15 Dec 2023 22:02:45 +0100 (CET) Received: from guix-nuc.home.arpa (unknown [10.192.1.83]) (Authenticated sender: lumen@HIDDEN) by mail1.netim.hosting (Postfix) with ESMTPSA id 303DC80067; Fri, 15 Dec 2023 22:02:45 +0100 (CET) From: Bruno Victal <mirai@HIDDEN> Date: Fri, 15 Dec 2023 21:02:36 +0000 Message-ID: <00b00466d2660fec8a141724285c3d0339df7ad0.1702663151.git.mirai@HIDDEN> X-Mailer: git-send-email 2.41.0 In-Reply-To: <cover.1702663151.git.mirai@HIDDEN> References: <cover.1702663151.git.mirai@HIDDEN> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Spam-Score: -0.0 (/) 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 (-) Introduced with e1070ee16036f6dfb84c44aea4119e4db770356b and missed in the c7e45139faa27b60f2c7d0a4bc140f9793d97d47 revert. * doc/guix.texi (Audio Services): Remove missed hunk of revert commit c7e45139faa27b60f2c7d0a4bc140f9793d97d47. Change-Id: Ibbf0fa4e6a3a378d2981f03ffa5d1ca9c0e3f797 --- doc/guix.texi | 7 ------- 1 file changed, 7 deletions(-) diff --git a/doc/guix.texi b/doc/guix.texi index e61a893af9..3659d57361 100644 --- a/doc/guix.texi +++ b/doc/guix.texi @@ -34718,13 +34718,6 @@ Audio Services by default. @end quotation -Most MPD clients will trigger a database update upon connecting, but you -can also use the @code{update} action do to so: - -@example -herd update mpd -@end example - All the MPD configuration fields are documented below, and a more complex example follows. -- 2.41.0
X-Loop: help-debbugs@HIDDEN Subject: [bug#67842] [PATCH 2/4] tests: mympd: Simplify test. Resent-From: Bruno Victal <mirai@HIDDEN> Original-Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> Resent-CC: guix-patches@HIDDEN Resent-Date: Fri, 15 Dec 2023 21:03:02 +0000 Resent-Message-ID: <handler.67842.B67842.170267417213356 <at> debbugs.gnu.org> Resent-Sender: help-debbugs@HIDDEN X-GNU-PR-Message: followup 67842 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: 67842 <at> debbugs.gnu.org Cc: Bruno Victal <mirai@HIDDEN> Received: via spool by 67842-submit <at> debbugs.gnu.org id=B67842.170267417213356 (code B ref 67842); Fri, 15 Dec 2023 21:03:02 +0000 Received: (at 67842) by debbugs.gnu.org; 15 Dec 2023 21:02:52 +0000 Received: from localhost ([127.0.0.1]:53640 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1rEFKe-0003TM-AB for submit <at> debbugs.gnu.org; Fri, 15 Dec 2023 16:02:52 -0500 Received: from smtpmciv5.myservices.hosting ([185.26.107.241]:55370) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <mirai@HIDDEN>) id 1rEFKc-0003TD-Ha for 67842 <at> debbugs.gnu.org; Fri, 15 Dec 2023 16:02:51 -0500 Received: from mail1.netim.hosting (unknown [185.26.106.173]) by smtpmciv5.myservices.hosting (Postfix) with ESMTP id 65B4720D7F for <67842 <at> debbugs.gnu.org>; Fri, 15 Dec 2023 22:02:49 +0100 (CET) Received: from localhost (localhost [127.0.0.1]) by mail1.netim.hosting (Postfix) with ESMTP id CCEA880098; Fri, 15 Dec 2023 22:02:48 +0100 (CET) X-Virus-Scanned: Debian amavisd-new at mail1.netim.hosting Received: from mail1.netim.hosting ([127.0.0.1]) by localhost (mail1-2.netim.hosting [127.0.0.1]) (amavisd-new, port 10026) with ESMTP id MyBZJJT7QwtP; Fri, 15 Dec 2023 22:02:48 +0100 (CET) Received: from guix-nuc.home.arpa (unknown [10.192.1.83]) (Authenticated sender: lumen@HIDDEN) by mail1.netim.hosting (Postfix) with ESMTPSA id 29FF280067; Fri, 15 Dec 2023 22:02:48 +0100 (CET) From: Bruno Victal <mirai@HIDDEN> Date: Fri, 15 Dec 2023 21:02:37 +0000 Message-ID: <f3bc7f8d4223186255f2e874b9939fe2edbc963a.1702663151.git.mirai@HIDDEN> X-Mailer: git-send-email 2.41.0 In-Reply-To: <cover.1702663151.git.mirai@HIDDEN> References: <cover.1702663151.git.mirai@HIDDEN> MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-Spam-Score: -0.0 (/) 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/tests/audio.scm: (run-mympd-test): Restyle. Remove dhcp-client-service-type. Remove port-forwards and refactor http-head test to happen within the VM instead of the host. --- gnu/tests/audio.scm | 35 +++++++++++++++++------------------ 1 file changed, 17 insertions(+), 18 deletions(-) diff --git a/gnu/tests/audio.scm b/gnu/tests/audio.scm index acb91293e8..a0ab54da2a 100644 --- a/gnu/tests/audio.scm +++ b/gnu/tests/audio.scm @@ -1,6 +1,6 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2017 Peter Mikkelsen <petermikkelsen10@HIDDEN> -;;; Copyright © 2022 Bruno Victal <mirai@HIDDEN> +;;; Copyright © 2022–2023 Bruno Victal <mirai@HIDDEN> ;;; ;;; This file is part of GNU Guix. ;;; @@ -81,23 +81,17 @@ (define %test-mpd (value (run-mpd-test)))) (define (run-mympd-test) - (define os (marionette-operating-system - (simple-operating-system (service dhcp-client-service-type) - (service mympd-service-type)) - #:imported-modules '((gnu services herd)))) + (define os + (marionette-operating-system + (simple-operating-system (service mympd-service-type)) + #:imported-modules '((gnu services herd)))) - (define vm - (virtual-machine - (operating-system os) - (port-forwardings '((8080 . 80))))) + (define vm (virtual-machine os)) (define test (with-imported-modules '((gnu build marionette)) #~(begin (use-modules (srfi srfi-64) - (srfi srfi-8) - (web client) - (web response) (gnu build marionette)) (define marionette @@ -106,18 +100,23 @@ (define (run-mympd-test) (test-runner-current (system-test-runner #$output)) (test-begin "mympd") (test-assert "service is running" - (marionette-eval '(begin - (use-modules (gnu services herd)) - - (start-service 'mympd)) - marionette)) + (marionette-eval + '(begin + (use-modules (gnu services herd)) + (start-service 'mympd)) + marionette)) (test-assert "HTTP port ready" (wait-for-tcp-port 80 marionette)) (test-equal "http-head" 200 - (receive (x _) (http-head "http://localhost:8080") (response-code x))) + (marionette-eval + '(begin + (use-modules (web client) + (web response)) + (response-code (http-head "http://localhost"))) + marionette)) (test-end)))) (gexp->derivation "mympd-test" test)) -- 2.41.0
X-Loop: help-debbugs@HIDDEN Subject: [bug#67842] [PATCH 3/4] services: mympd: Fix syslog logging and missing service destructor. Resent-From: Bruno Victal <mirai@HIDDEN> Original-Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> Resent-CC: guix-patches@HIDDEN Resent-Date: Fri, 15 Dec 2023 21:03:03 +0000 Resent-Message-ID: <handler.67842.B67842.170267417813383 <at> debbugs.gnu.org> Resent-Sender: help-debbugs@HIDDEN X-GNU-PR-Message: followup 67842 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: 67842 <at> debbugs.gnu.org Cc: Bruno Victal <mirai@HIDDEN> Received: via spool by 67842-submit <at> debbugs.gnu.org id=B67842.170267417813383 (code B ref 67842); Fri, 15 Dec 2023 21:03:03 +0000 Received: (at 67842) by debbugs.gnu.org; 15 Dec 2023 21:02:58 +0000 Received: from localhost ([127.0.0.1]:53644 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1rEFKj-0003Ti-O6 for submit <at> debbugs.gnu.org; Fri, 15 Dec 2023 16:02:58 -0500 Received: from smtpm2.myservices.hosting ([185.26.105.233]:44112) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <mirai@HIDDEN>) id 1rEFKh-0003TX-UZ for 67842 <at> debbugs.gnu.org; Fri, 15 Dec 2023 16:02:56 -0500 Received: from mail1.netim.hosting (unknown [185.26.106.173]) by smtpm2.myservices.hosting (Postfix) with ESMTP id 9410620E87 for <67842 <at> debbugs.gnu.org>; Fri, 15 Dec 2023 22:02:54 +0100 (CET) Received: from localhost (localhost [127.0.0.1]) by mail1.netim.hosting (Postfix) with ESMTP id CCD7F80098; Fri, 15 Dec 2023 22:02:50 +0100 (CET) X-Virus-Scanned: Debian amavisd-new at mail1.netim.hosting Received: from mail1.netim.hosting ([127.0.0.1]) by localhost (mail1-2.netim.hosting [127.0.0.1]) (amavisd-new, port 10026) with ESMTP id 1Yf0Wc3-Lfp5; Fri, 15 Dec 2023 22:02:50 +0100 (CET) Received: from guix-nuc.home.arpa (unknown [10.192.1.83]) (Authenticated sender: lumen@HIDDEN) by mail1.netim.hosting (Postfix) with ESMTPSA id 63B3D80067; Fri, 15 Dec 2023 22:02:50 +0100 (CET) From: Bruno Victal <mirai@HIDDEN> Date: Fri, 15 Dec 2023 21:02:38 +0000 Message-ID: <fe43af9dc3db1eedaab859558bf20bda21162eb9.1702663151.git.mirai@HIDDEN> X-Mailer: git-send-email 2.41.0 In-Reply-To: <cover.1702663151.git.mirai@HIDDEN> References: <cover.1702663151.git.mirai@HIDDEN> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Spam-Score: -0.0 (/) 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/audio.scm: (mympd-shepherd-service): Fix syslog logging and missing service destructor. Prefer list over quasiquote. --- gnu/services/audio.scm | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/gnu/services/audio.scm b/gnu/services/audio.scm index ae991ced4d..4fcfcc13ea 100644 --- a/gnu/services/audio.scm +++ b/gnu/services/audio.scm @@ -938,14 +938,15 @@ (define (mympd-shepherd-service config) cache-directory))))) (make-forkexec-constructor - `(#$(file-append package "/bin/mympd") - "--user" #$username - #$@(if (eq? log-to 'syslog) '("--syslog") '()) - "--workdir" #$work-directory - "--cachedir" #$cache-directory) + (list #$(file-append package "/bin/mympd") + "--user" #$username + #$@(if (maybe-value-set? log-to) '() '("--syslog")) + "--workdir" #$work-directory + "--cachedir" #$cache-directory) #:environment-variables (list #$(format #f "MYMPD_LOGLEVEL=~a" log-level)) - #:log-file #$(maybe-value log-to))))))))) + #:log-file #$(maybe-value log-to)))))) + (stop #~(make-kill-destructor))))) (define (mympd-accounts config) (match-record config <mympd-configuration> (user group) -- 2.41.0
X-Loop: help-debbugs@HIDDEN Subject: [bug#67842] [PATCH 4/4] services: mympd: Refactor serialization process. Resent-From: Bruno Victal <mirai@HIDDEN> Original-Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> Resent-CC: guix-patches@HIDDEN Resent-Date: Fri, 15 Dec 2023 21:03:03 +0000 Resent-Message-ID: <handler.67842.B67842.170267418213408 <at> debbugs.gnu.org> Resent-Sender: help-debbugs@HIDDEN X-GNU-PR-Message: followup 67842 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: 67842 <at> debbugs.gnu.org Cc: Bruno Victal <mirai@HIDDEN> Received: via spool by 67842-submit <at> debbugs.gnu.org id=B67842.170267418213408 (code B ref 67842); Fri, 15 Dec 2023 21:03:03 +0000 Received: (at 67842) by debbugs.gnu.org; 15 Dec 2023 21:03:02 +0000 Received: from localhost ([127.0.0.1]:53646 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1rEFKn-0003Ty-2w for submit <at> debbugs.gnu.org; Fri, 15 Dec 2023 16:03:02 -0500 Received: from smtpmciv4.myservices.hosting ([185.26.107.240]:48588) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <mirai@HIDDEN>) id 1rEFKi-0003Ta-Tp for 67842 <at> debbugs.gnu.org; Fri, 15 Dec 2023 16:02:57 -0500 Received: from mail1.netim.hosting (unknown [185.26.106.173]) by smtpmciv4.myservices.hosting (Postfix) with ESMTP id 2B91E2077F for <67842 <at> debbugs.gnu.org>; Fri, 15 Dec 2023 22:02:55 +0100 (CET) Received: from localhost (localhost [127.0.0.1]) by mail1.netim.hosting (Postfix) with ESMTP id 64DD480095; Fri, 15 Dec 2023 22:02:52 +0100 (CET) X-Virus-Scanned: Debian amavisd-new at mail1.netim.hosting Received: from mail1.netim.hosting ([127.0.0.1]) by localhost (mail1-2.netim.hosting [127.0.0.1]) (amavisd-new, port 10026) with ESMTP id cFhOTOqV3X48; Fri, 15 Dec 2023 22:02:51 +0100 (CET) Received: from guix-nuc.home.arpa (unknown [10.192.1.83]) (Authenticated sender: lumen@HIDDEN) by mail1.netim.hosting (Postfix) with ESMTPSA id A7C6A80067; Fri, 15 Dec 2023 22:02:51 +0100 (CET) From: Bruno Victal <mirai@HIDDEN> Date: Fri, 15 Dec 2023 21:02:39 +0000 Message-ID: <eb6d6e5a6da0165bc4da411335b327fcac9350b6.1702663151.git.mirai@HIDDEN> X-Mailer: git-send-email 2.41.0 In-Reply-To: <cover.1702663151.git.mirai@HIDDEN> References: <cover.1702663151.git.mirai@HIDDEN> MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-Spam-Score: -0.0 (/) 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/audio.scm: (string-or-symbol?): Remove unused predicate. <mympd-configuration>[acl, covercache-ttl, http?, host, log-to, uri, script-acl, ssl?, ssl-port, ssl-cert, ssl-key, pin-hash, save-caches?]: Pass file-names via custom serializer procedure. [port, log-level, ssl-port]: Use exact-integer (resp. maybe-exact-integer). (mympd-field-serializer): New procedure, extracted from … (mympd-serialize-configuration): … this. Refactor and rename it to (mympd-configuration->files): … this. (mympd-log-rotation): Restyle. (mympd-service-type): Adjust service-extension to renamed procedure. Use @acronym for description. * doc/guix.texi: Update it. --- doc/guix.texi | 8 +-- gnu/services/audio.scm | 153 ++++++++++++++++++++--------------------- 2 files changed, 78 insertions(+), 83 deletions(-) diff --git a/doc/guix.texi b/doc/guix.texi index 3659d57361..b02a2ad498 100644 --- a/doc/guix.texi +++ b/doc/guix.texi @@ -35013,7 +35013,7 @@ Audio Services @item @code{acl} (type: maybe-mympd-ip-acl) ACL to access the myMPD webserver. -@item @code{covercache-ttl} (default: @code{31}) (type: maybe-integer) +@item @code{covercache-ttl} (default: @code{31}) (type: maybe-exact-integer) How long to keep cached covers, @code{0} disables cover caching. @item @code{http?} (default: @code{#t}) (type: boolean) @@ -35022,10 +35022,10 @@ Audio Services @item @code{host} (default: @code{"[::]"}) (type: string) Host name to listen on. -@item @code{port} (default: @code{80}) (type: maybe-port) +@item @code{port} (default: @code{80}) (type: maybe-exact-integer) HTTP port to listen on. -@item @code{log-level} (default: @code{5}) (type: integer) +@item @code{log-level} (default: @code{5}) (type: exact-integer) How much detail to include in logs, possible values: @code{0} to @code{7}. @@ -35048,7 +35048,7 @@ Audio Services @item @code{ssl?} (default: @code{#f}) (type: boolean) SSL/TLS support. -@item @code{ssl-port} (default: @code{443}) (type: maybe-port) +@item @code{ssl-port} (default: @code{443}) (type: maybe-exact-integer) Port to listen for HTTPS. @item @code{ssl-cert} (type: maybe-string) diff --git a/gnu/services/audio.scm b/gnu/services/audio.scm index 4fcfcc13ea..2a6e1b90df 100644 --- a/gnu/services/audio.scm +++ b/gnu/services/audio.scm @@ -39,6 +39,7 @@ (define-module (gnu services audio) #:use-module (srfi srfi-1) #:use-module (srfi srfi-26) #:use-module (srfi srfi-71) + #:use-module (srfi srfi-171) #:export (mpd-output mpd-output? mpd-output-name @@ -686,9 +687,6 @@ (define mpd-service-type ;;; myMPD ;;; -(define (string-or-symbol? x) - (or (symbol? x) (string? x))) - (define-configuration/no-serialization mympd-ip-acl (allow (list-of-strings '()) @@ -698,7 +696,7 @@ (define-configuration/no-serialization mympd-ip-acl (list-of-strings '()) "Disallowed IP addresses.")) -(define-maybe/no-serialization integer) +(define-maybe/no-serialization exact-integer) (define-maybe/no-serialization mympd-ip-acl) (define %mympd-user @@ -749,11 +747,28 @@ (define (mympd-log-to-sanitizer value) value) (_ (configuration-field-error #f 'log-to value)))) -;; XXX: The serialization procedures are insufficient since we require -;; access to multiple fields at once. -;; Fields marked with empty-serializer are never serialized and are -;; used for command-line arguments or by the service definition. -(define-configuration/no-serialization mympd-configuration +(define (mympd-field-serializer file-name) + "Return a procedure that partially serializes the fields of +mympd-configuration as pairs of file-names and file-like objects whose +contents are the serialized values of the fields." + (define serialize-value + (match-lambda + ((? boolean? val) (if val "true" "false")) + ((? integer? val) (number->string val)) + ((? mympd-ip-acl? val) (ip-acl-serialize-configuration val)) + ((? string? val) val))) + + (define (ip-acl-serialize-configuration config) + (string-join + (append + (map (cut string-append "+" <>) (mympd-ip-acl-allow config)) + (map (cut string-append "-" <>) (mympd-ip-acl-deny config))) ",")) + + (lambda (_ field-value) + (cons file-name + (plain-file file-name (serialize-value field-value))))) + +(define-configuration mympd-configuration (package (file-like mympd) "The package object of the myMPD server." @@ -789,27 +804,33 @@ (define-configuration/no-serialization mympd-configuration (acl maybe-mympd-ip-acl - "ACL to access the myMPD webserver.") + "ACL to access the myMPD webserver." + (serializer (mympd-field-serializer "acl"))) (covercache-ttl - (maybe-integer 31) - "How long to keep cached covers, @code{0} disables cover caching.") + (maybe-exact-integer 31) + "How long to keep cached covers, @code{0} disables cover caching." + (serializer (mympd-field-serializer "covercache_keep_days"))) (http? (boolean #t) - "HTTP support.") + "HTTP support." + (serializer (mympd-field-serializer "http"))) (host (string "[::]") - "Host name to listen on.") + "Host name to listen on." + (serializer (mympd-field-serializer "http_host"))) (port - (maybe-port 80) - "HTTP port to listen on.") + (maybe-exact-integer 80) + "HTTP port to listen on." + (serializer (mympd-field-serializer "http_port"))) (log-level - (integer 5) - "How much detail to include in logs, possible values: @code{0} to @code{7}.") + (exact-integer 5) + "How much detail to include in logs, possible values: @code{0} to @code{7}." + (serializer (mympd-field-serializer "loglevel"))) (log-to maybe-string @@ -822,89 +843,64 @@ (define-configuration/no-serialization mympd-configuration (lualibs (maybe-string "all") "See -@url{https://jcorporation.github.io/myMPD/scripting/#lua-standard-libraries}.") +@url{https://jcorporation.github.io/myMPD/scripting/#lua-standard-libraries}." + (serializer (mympd-field-serializer "lualibs"))) (uri maybe-string "Override URI to myMPD. -See @url{https://github.com/jcorporation/myMPD/issues/950}.") +See @url{https://github.com/jcorporation/myMPD/issues/950}." + (serializer (mympd-field-serializer "mympd_uri"))) (script-acl (maybe-mympd-ip-acl (mympd-ip-acl (allow '("127.0.0.1")))) - "ACL to access the myMPD script backend.") + "ACL to access the myMPD script backend." + (serializer (mympd-field-serializer "scriptacl"))) (ssl? (boolean #f) - "SSL/TLS support.") + "SSL/TLS support." + (serializer (mympd-field-serializer "ssl"))) (ssl-port - (maybe-port 443) - "Port to listen for HTTPS.") + (maybe-exact-integer 443) + "Port to listen for HTTPS." + (serializer (mympd-field-serializer "ssl_port"))) (ssl-cert maybe-string - "Path to PEM encoded X.509 SSL/TLS certificate (public key).") + "Path to PEM encoded X.509 SSL/TLS certificate (public key)." + (serializer (mympd-field-serializer "ssl_cert"))) (ssl-key maybe-string - "Path to PEM encoded SSL/TLS private key.") + "Path to PEM encoded SSL/TLS private key." + (serializer (mympd-field-serializer "ssl_key"))) (pin-hash maybe-string "SHA-256 hashed pin used by myMPD to control settings access by -prompting a pin from the user.") +prompting a pin from the user." + (serializer (mympd-field-serializer "pin_hash"))) (save-caches? maybe-boolean - "Whether to preserve caches between service restarts.")) - -(define (mympd-serialize-configuration config) - (define serialize-value - (match-lambda - ((? boolean? val) (if val "true" "false")) - ((? integer? val) (number->string val)) - ((? mympd-ip-acl? val) (ip-acl-serialize-configuration val)) - ((? string? val) val))) - - (define (ip-acl-serialize-configuration config) - (define (serialize-list-of-strings prefix lst) - (map (cut format #f "~a~a" prefix <>) lst)) - (string-join - (append - (serialize-list-of-strings "+" (mympd-ip-acl-allow config)) - (serialize-list-of-strings "-" (mympd-ip-acl-deny config))) ",")) - - ;; myMPD configuration fields are serialized as individual files under - ;; <work-directory>/config/. - (match-record config <mympd-configuration> (work-directory acl - covercache-ttl http? host port - log-level lualibs uri script-acl - ssl? ssl-port ssl-cert ssl-key - pin-hash save-caches?) - (define (serialize-field filename value) - (when (maybe-value-set? value) - (list (format #f "~a/config/~a" work-directory filename) - (mixed-text-file filename (serialize-value value))))) - - (let ((filename-to-field `(("acl" . ,acl) - ("covercache_keep_days" . ,covercache-ttl) - ("http" . ,http?) - ("http_host" . ,host) - ("http_port" . ,port) - ("loglevel" . ,log-level) - ("lualibs" . ,lualibs) - ("mympd_uri" . ,uri) - ("scriptacl" . ,script-acl) - ("ssl" . ,ssl?) - ("ssl_port" . ,ssl-port) - ("ssl_cert" . ,ssl-cert) - ("ssl_key" . ,ssl-key) - ("pin_hash" . ,pin-hash) - ("save_caches" . ,save-caches?)))) - (filter list? - (generic-serialize-alist list serialize-field - filename-to-field))))) + "Whether to preserve caches between service restarts." + (serializer (mympd-field-serializer "save_caches")))) + +(define (mympd-configuration->files config) + (match-record config <mympd-configuration> (work-directory) + (list-transduce + (compose (base-transducer config) + (tmap (match-lambda + ((file-name . file) + ;; myMPD configuration fields are serialized as + ;; individual files under <work-directory>/config/…. + (list (string-append work-directory "/config/" + file-name) + file))))) + rcons mympd-configuration-fields))) (define (mympd-shepherd-service config) (match-record config <mympd-configuration> @@ -957,8 +953,7 @@ (define (mympd-accounts config) (list user group)))) (define (mympd-log-rotation config) - (match-record config <mympd-configuration> - (log-to) + (match-record config <mympd-configuration> (log-to) (if (maybe-value-set? log-to) (list (log-rotation (files (list log-to)))) @@ -973,8 +968,8 @@ (define mympd-service-type (service-extension account-service-type mympd-accounts) (service-extension special-files-service-type - mympd-serialize-configuration) + mympd-configuration->files) (service-extension rottlog-service-type mympd-log-rotation))) - (description "Run myMPD, a frontend for MPD. (Music Player Daemon)") + (description "Run myMPD, a frontend for @acronym{MPD, Music Player Daemon}.") (default-value (mympd-configuration)))) -- 2.41.0
X-Loop: help-debbugs@HIDDEN Subject: [bug#67842] [PATCH 4/4] services: mympd: Refactor serialization process. Resent-From: Liliana Marie Prikler <liliana.prikler@HIDDEN> Original-Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> Resent-CC: guix-patches@HIDDEN Resent-Date: Sat, 16 Dec 2023 01:45:02 +0000 Resent-Message-ID: <handler.67842.B67842.170269105224879 <at> debbugs.gnu.org> Resent-Sender: help-debbugs@HIDDEN X-GNU-PR-Message: followup 67842 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: Bruno Victal <mirai@HIDDEN>, 67842 <at> debbugs.gnu.org Received: via spool by 67842-submit <at> debbugs.gnu.org id=B67842.170269105224879 (code B ref 67842); Sat, 16 Dec 2023 01:45:02 +0000 Received: (at 67842) by debbugs.gnu.org; 16 Dec 2023 01:44:12 +0000 Received: from localhost ([127.0.0.1]:53825 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1rEJit-0006TD-Tq for submit <at> debbugs.gnu.org; Fri, 15 Dec 2023 20:44:12 -0500 Received: from mail-ej1-x641.google.com ([2a00:1450:4864:20::641]:48618) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <liliana.prikler@HIDDEN>) id 1rEJiq-0006Sx-Ge for 67842 <at> debbugs.gnu.org; Fri, 15 Dec 2023 20:44:09 -0500 Received: by mail-ej1-x641.google.com with SMTP id a640c23a62f3a-9fa2714e828so150424466b.1 for <67842 <at> debbugs.gnu.org>; Fri, 15 Dec 2023 17:44:08 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1702691042; x=1703295842; darn=debbugs.gnu.org; h=mime-version:user-agent:content-transfer-encoding:references :in-reply-to:date:to:from:subject:message-id:from:to:cc:subject:date :message-id:reply-to; bh=98r3oajJPHOsp9mPu+A+R2To8nhru7AfOZCniPGH70o=; b=PukDpcTiFynAZVk8Lepr4BhGEeUSQW5k0Jx5GBw1phzsrlOX+R+M1HJXM1x/C69p4D bypHChOL8Vd8x8It7hgwa/wRQ6GMY8fWrgJpgqn+zeiNpiUr3mz1Eo0b67Hw4jcs0Asc zDaqPmZpVpAwKNaOoiBQXKYDECP+Mv2PfBNQSqK00e1jthIezK6M2VfAgnmWU/rlnzmQ QXOMOxixIZ++wKa3TA5baEwbtjdDX7YB95VUCYwNaSPytNcNz5JI5CnLFgOvwXRvZBJb iqErTnl3/f0uqL1FI4BXJIcHMn/Wczx8wn/tHyfd6p+CeUdfyRIMjnTUIlNFVXrw+Mu4 QZrg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1702691042; x=1703295842; h=mime-version:user-agent:content-transfer-encoding:references :in-reply-to:date:to:from:subject:message-id:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to; bh=98r3oajJPHOsp9mPu+A+R2To8nhru7AfOZCniPGH70o=; b=pAlr5Un4EUoEIj8D2WZUFcLP/r8HG80p9TuXr9XAqxSWzaw+ILwkZHrqEEhNg2u+JT ZdI0Txs/ATPqTGm3j377YAnoOaiIEwWXhmligVwd3hfYR6U8G9hLKzSS+/nWxxSWWJ9N y/vwZzDZeyU3qz0nt6VFgblyJ0kCyeb3lX/fjGZkMCBt2VvWChup4U+xaYsqaFprlO3z /atm4IMcDkak8wow7EosnXNDLkTyvqlM7o6j6t7eePefIfIvCvQJsIAUObZu8cEB3giJ p9nm9EoNfMU4kR3EF6gQs2blZfz3FvA+Ge4PFJsN/GcSW6dqCRz7iXwft0/r0YR/VsM7 Uq1w== X-Gm-Message-State: AOJu0Yxu0xlHkZS4tSqXMF5eLasVQx8ELMjc1Uak6+Q3bKeAggt4by3d pgobq9O2qJOcyKIWHgvrkho= X-Google-Smtp-Source: AGHT+IFCU0NGPpFcA7hfda9PozpQLdA4XElNAdu+sUxKOdI97cDGUMCWFHDFiSZQXh2pBXQYNGVsHQ== X-Received: by 2002:a17:906:217:b0:a19:a19b:5604 with SMTP id 23-20020a170906021700b00a19a19b5604mr6347146ejd.148.1702691042074; Fri, 15 Dec 2023 17:44:02 -0800 (PST) Received: from lumine.fritz.box (85-127-52-93.dsl.dynamic.surfer.at. [85.127.52.93]) by smtp.gmail.com with ESMTPSA id rm6-20020a1709076b0600b00a1bec12448csm11331520ejc.150.2023.12.15.17.44.01 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 15 Dec 2023 17:44:01 -0800 (PST) Message-ID: <ccbd11dc1758a8a699362ccd017ef3cb3539c97d.camel@HIDDEN> From: Liliana Marie Prikler <liliana.prikler@HIDDEN> Date: Sat, 16 Dec 2023 02:44:00 +0100 In-Reply-To: <eb6d6e5a6da0165bc4da411335b327fcac9350b6.1702663151.git.mirai@HIDDEN> References: <cover.1702663151.git.mirai@HIDDEN> <eb6d6e5a6da0165bc4da411335b327fcac9350b6.1702663151.git.mirai@HIDDEN> Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: base64 User-Agent: Evolution 3.46.4 MIME-Version: 1.0 X-Spam-Score: -0.0 (/) 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 (-) QW0gRnJlaXRhZywgZGVtIDE1LjEyLjIwMjMgdW0gMjE6MDIgKzAwMDAgc2NocmllYiBCcnVubyBW aWN0YWw6Cj4gLShkZWZpbmUtbWF5YmUvbm8tc2VyaWFsaXphdGlvbiBpbnRlZ2VyKQo+ICsoZGVm aW5lLW1heWJlL25vLXNlcmlhbGl6YXRpb24gZXhhY3QtaW50ZWdlcikKQXQgdGhlIHJpc2sgb2Yg YXNraW5nIGEgc2lsbHkgcXVlc3Rpb24sIHdoYXQncyB0aGUgZGlmZmVyZW5jZSBiZXR3ZWVuCmFu IGludGVnZXIgYW5kIGFuIGV4YWN0IGludGVnZXI/Cgo+IMKgKGRlZmluZS1tYXliZS9uby1zZXJp YWxpemF0aW9uIG15bXBkLWlwLWFjbCkKPiDCoAo+IMKgKGRlZmluZSAlbXltcGQtdXNlcgo+IEBA IC03NDksMTEgKzc0NywyOCBAQCAoZGVmaW5lIChteW1wZC1sb2ctdG8tc2FuaXRpemVyIHZhbHVl KQo+IMKgwqDCoMKgwqAgdmFsdWUpCj4gwqDCoMKgwqAgKF8gKGNvbmZpZ3VyYXRpb24tZmllbGQt ZXJyb3IgI2YgJ2xvZy10byB2YWx1ZSkpKSkKPiDCoAo+IC07OyBYWFg6IFRoZSBzZXJpYWxpemF0 aW9uIHByb2NlZHVyZXMgYXJlIGluc3VmZmljaWVudCBzaW5jZSB3ZQo+IHJlcXVpcmUKPiAtOzsg YWNjZXNzIHRvIG11bHRpcGxlIGZpZWxkcyBhdCBvbmNlLgo+IC07OyBGaWVsZHMgbWFya2VkIHdp dGggZW1wdHktc2VyaWFsaXplciBhcmUgbmV2ZXIgc2VyaWFsaXplZCBhbmQgYXJlCj4gLTs7IHVz ZWQgZm9yIGNvbW1hbmQtbGluZSBhcmd1bWVudHMgb3IgYnkgdGhlIHNlcnZpY2UgZGVmaW5pdGlv bi4KPiAtKGRlZmluZS1jb25maWd1cmF0aW9uL25vLXNlcmlhbGl6YXRpb24gbXltcGQtY29uZmln dXJhdGlvbgo+ICsoZGVmaW5lIChteW1wZC1maWVsZC1zZXJpYWxpemVyIGZpbGUtbmFtZSkKPiAr wqAgIlJldHVybiBhIHByb2NlZHVyZSB0aGF0IHBhcnRpYWxseSBzZXJpYWxpemVzIHRoZSBmaWVs ZHMgb2YKPiArbXltcGQtY29uZmlndXJhdGlvbiBhcyBwYWlycyBvZiBmaWxlLW5hbWVzIGFuZCBm aWxlLWxpa2Ugb2JqZWN0cwo+IHdob3NlCj4gK2NvbnRlbnRzIGFyZSB0aGUgc2VyaWFsaXplZCB2 YWx1ZXMgb2YgdGhlIGZpZWxkcy4iCj4gK8KgIChkZWZpbmUgc2VyaWFsaXplLXZhbHVlCj4gK8Kg wqDCoCAobWF0Y2gtbGFtYmRhCj4gK8KgwqDCoMKgwqAgKCg/IGJvb2xlYW4/IHZhbCkgKGlmIHZh bCAidHJ1ZSIgImZhbHNlIikpCj4gK8KgwqDCoMKgwqAgKCg/IGludGVnZXI/IHZhbCkgKG51bWJl ci0+c3RyaW5nIHZhbCkpCj4gK8KgwqDCoMKgwqAgKCg/IG15bXBkLWlwLWFjbD8gdmFsKSAoaXAt YWNsLXNlcmlhbGl6ZS1jb25maWd1cmF0aW9uIHZhbCkpCj4gK8KgwqDCoMKgwqAgKCg/IHN0cmlu Zz8gdmFsKSB2YWwpKSkKPiArCj4gK8KgIChkZWZpbmUgKGlwLWFjbC1zZXJpYWxpemUtY29uZmln dXJhdGlvbiBjb25maWcpCj4gK8KgwqDCoCAoc3RyaW5nLWpvaW4KPiArwqDCoMKgwqAgKGFwcGVu ZAo+ICvCoMKgwqDCoMKgIChtYXAgKGN1dCBzdHJpbmctYXBwZW5kICIrIiA8PikgKG15bXBkLWlw LWFjbC1hbGxvdyBjb25maWcpKQo+ICvCoMKgwqDCoMKgIChtYXAgKGN1dCBzdHJpbmctYXBwZW5k ICItIiA8PikgKG15bXBkLWlwLWFjbC1kZW55IGNvbmZpZykpKQo+ICIsIikpCj4gKwo+ICvCoCAo bGFtYmRhIChfIGZpZWxkLXZhbHVlKQo+ICvCoMKgwqAgKGNvbnMgZmlsZS1uYW1lCj4gK8KgwqDC oMKgwqDCoMKgwqDCoCAocGxhaW4tZmlsZSBmaWxlLW5hbWUgKHNlcmlhbGl6ZS12YWx1ZSBmaWVs ZC12YWx1ZSkpKSkpCj4gKwo+ICsoZGVmaW5lLWNvbmZpZ3VyYXRpb24gbXltcGQtY29uZmlndXJh dGlvbgo+IMKgwqAgKHBhY2thZ2UKPiDCoMKgwqDCoCAoZmlsZS1saWtlIG15bXBkKQo+IMKgwqDC oMKgICJUaGUgcGFja2FnZSBvYmplY3Qgb2YgdGhlIG15TVBEIHNlcnZlci4iCj4gQEAgLTc4OSwy NyArODA0LDMzIEBAIChkZWZpbmUtY29uZmlndXJhdGlvbi9uby1zZXJpYWxpemF0aW9uIG15bXBk LQo+IGNvbmZpZ3VyYXRpb24KPiDCoAo+IMKgwqAgKGFjbAo+IMKgwqDCoCBtYXliZS1teW1wZC1p cC1hY2wKPiAtwqDCoCAiQUNMIHRvIGFjY2VzcyB0aGUgbXlNUEQgd2Vic2VydmVyLiIpCj4gK8Kg wqAgIkFDTCB0byBhY2Nlc3MgdGhlIG15TVBEIHdlYnNlcnZlci4iCj4gK8KgwqAgKHNlcmlhbGl6 ZXIgKG15bXBkLWZpZWxkLXNlcmlhbGl6ZXIgImFjbCIpKSkKPiDCoAo+IMKgwqAgKGNvdmVyY2Fj aGUtdHRsCj4gLcKgwqAgKG1heWJlLWludGVnZXIgMzEpCj4gLcKgwqAgIkhvdyBsb25nIHRvIGtl ZXAgY2FjaGVkIGNvdmVycywgQGNvZGV7MH0gZGlzYWJsZXMgY292ZXIKPiBjYWNoaW5nLiIpCj4g K8KgwqAgKG1heWJlLWV4YWN0LWludGVnZXIgMzEpCj4gK8KgwqAgIkhvdyBsb25nIHRvIGtlZXAg Y2FjaGVkIGNvdmVycywgQGNvZGV7MH0gZGlzYWJsZXMgY292ZXIKPiBjYWNoaW5nLiIKPiArwqDC oCAoc2VyaWFsaXplciAobXltcGQtZmllbGQtc2VyaWFsaXplciAiY292ZXJjYWNoZV9rZWVwX2Rh eXMiKSkpCj4gwqAKPiDCoMKgIChodHRwPwo+IMKgwqDCoCAoYm9vbGVhbiAjdCkKPiAtwqDCoCAi SFRUUCBzdXBwb3J0LiIpCj4gK8KgwqAgIkhUVFAgc3VwcG9ydC4iCj4gK8KgwqAgKHNlcmlhbGl6 ZXIgKG15bXBkLWZpZWxkLXNlcmlhbGl6ZXIgImh0dHAiKSkpCj4gwqAKPiDCoMKgIChob3N0Cj4g wqDCoMKgIChzdHJpbmcgIls6Ol0iKQo+IC3CoMKgICJIb3N0IG5hbWUgdG8gbGlzdGVuIG9uLiIp Cj4gK8KgwqAgIkhvc3QgbmFtZSB0byBsaXN0ZW4gb24uIgo+ICvCoMKgIChzZXJpYWxpemVyICht eW1wZC1maWVsZC1zZXJpYWxpemVyICJodHRwX2hvc3QiKSkpCj4gwqAKPiDCoMKgIChwb3J0Cj4g LcKgwqAgKG1heWJlLXBvcnQgODApCj4gLcKgwqAgIkhUVFAgcG9ydCB0byBsaXN0ZW4gb24uIikK PiArwqDCoCAobWF5YmUtZXhhY3QtaW50ZWdlciA4MCkKTG9zaW5nIHRoZSBpbmZvcm1hdGlvbiB0 aGF0IHRoaXMgaXMgYSBwb3J0IChpLmUuIG9ubHkgaW50ZWdlcnMgdGhhdCBmaXQKaW50byBhIHVp bnQxNiBhcmUgdmFsaWQpIGlzIGltaG8gbm90IGdyZWF0Lgo+ICvCoMKgICJIVFRQIHBvcnQgdG8g bGlzdGVuIG9uLiIKPiArwqDCoCAoc2VyaWFsaXplciAobXltcGQtZmllbGQtc2VyaWFsaXplciAi aHR0cF9wb3J0IikpKQo+IMKgCj4gwqDCoCAobG9nLWxldmVsCj4gLcKgwqAgKGludGVnZXIgNSkK PiAtwqDCoCAiSG93IG11Y2ggZGV0YWlsIHRvIGluY2x1ZGUgaW4gbG9ncywgcG9zc2libGUgdmFs dWVzOiBAY29kZXswfSB0bwo+IEBjb2Rlezd9LiIpCj4gK8KgwqAgKGV4YWN0LWludGVnZXIgNSkK PiArwqDCoCAiSG93IG11Y2ggZGV0YWlsIHRvIGluY2x1ZGUgaW4gbG9ncywgcG9zc2libGUgdmFs dWVzOiBAY29kZXswfSB0bwo+IEBjb2Rlezd9LiIKPiArwqDCoCAoc2VyaWFsaXplciAobXltcGQt ZmllbGQtc2VyaWFsaXplciAibG9nbGV2ZWwiKSkpCj4gwqAKPiDCoMKgIChsb2ctdG8KPiDCoMKg wqAgbWF5YmUtc3RyaW5nCj4gQEAgLTgyMiw4OSArODQzLDY0IEBAIChkZWZpbmUtY29uZmlndXJh dGlvbi9uby1zZXJpYWxpemF0aW9uIG15bXBkLQo+IGNvbmZpZ3VyYXRpb24KPiDCoMKgIChsdWFs aWJzCj4gwqDCoMKgIChtYXliZS1zdHJpbmcgImFsbCIpCj4gwqDCoMKgICJTZWUKPiAtCj4gQHVy bHtodHRwczovL2pjb3Jwb3JhdGlvbi5naXRodWIuaW8vbXlNUEQvc2NyaXB0aW5nLyNsdWEtc3Rh bmRhcmQtbGlicgo+IGFyaWVzfS4iKQo+ICtAdXJsewo+IGh0dHBzOi8vamNvcnBvcmF0aW9uLmdp dGh1Yi5pby9teU1QRC9zY3JpcHRpbmcvI2x1YS1zdGFuZGFyZC1saWJyYXJpZQo+IHN9LiIKPiAr wqDCoCAoc2VyaWFsaXplciAobXltcGQtZmllbGQtc2VyaWFsaXplciAibHVhbGlicyIpKSkKPiDC oAo+IMKgwqAgKHVyaQo+IMKgwqDCoCBtYXliZS1zdHJpbmcKPiDCoMKgwqAgIk92ZXJyaWRlIFVS SSB0byBteU1QRC4KPiAtU2VlIEB1cmx7aHR0cHM6Ly9naXRodWIuY29tL2pjb3Jwb3JhdGlvbi9t eU1QRC9pc3N1ZXMvOTUwfS4iKQo+ICtTZWUgQHVybHtodHRwczovL2dpdGh1Yi5jb20vamNvcnBv cmF0aW9uL215TVBEL2lzc3Vlcy85NTB9LiIKPiArwqDCoCAoc2VyaWFsaXplciAobXltcGQtZmll bGQtc2VyaWFsaXplciAibXltcGRfdXJpIikpKQo+IMKgCj4gwqDCoCAoc2NyaXB0LWFjbAo+IMKg wqDCoCAobWF5YmUtbXltcGQtaXAtYWNsIChteW1wZC1pcC1hY2wKPiDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgKGFsbG93ICcoIjEyNy4wLjAuMSIpKSkp Cj4gLcKgwqAgIkFDTCB0byBhY2Nlc3MgdGhlIG15TVBEIHNjcmlwdCBiYWNrZW5kLiIpCj4gK8Kg wqAgIkFDTCB0byBhY2Nlc3MgdGhlIG15TVBEIHNjcmlwdCBiYWNrZW5kLiIKPiArwqDCoCAoc2Vy aWFsaXplciAobXltcGQtZmllbGQtc2VyaWFsaXplciAic2NyaXB0YWNsIikpKQo+IMKgCj4gwqDC oCAoc3NsPwo+IMKgwqDCoCAoYm9vbGVhbiAjZikKPiAtwqDCoCAiU1NML1RMUyBzdXBwb3J0LiIp Cj4gK8KgwqAgIlNTTC9UTFMgc3VwcG9ydC4iCj4gK8KgwqAgKHNlcmlhbGl6ZXIgKG15bXBkLWZp ZWxkLXNlcmlhbGl6ZXIgInNzbCIpKSkKPiDCoAo+IMKgwqAgKHNzbC1wb3J0Cj4gLcKgwqAgKG1h eWJlLXBvcnQgNDQzKQo+IC3CoMKgICJQb3J0IHRvIGxpc3RlbiBmb3IgSFRUUFMuIikKPiArwqDC oCAobWF5YmUtZXhhY3QtaW50ZWdlciA0NDMpCj4gK8KgwqAgIlBvcnQgdG8gbGlzdGVuIGZvciBI VFRQUy4iCj4gK8KgwqAgKHNlcmlhbGl6ZXIgKG15bXBkLWZpZWxkLXNlcmlhbGl6ZXIgInNzbF9w b3J0IikpKQo+IMKgCj4gwqDCoCAoc3NsLWNlcnQKPiDCoMKgwqAgbWF5YmUtc3RyaW5nCj4gLcKg wqAgIlBhdGggdG8gUEVNIGVuY29kZWQgWC41MDkgU1NML1RMUyBjZXJ0aWZpY2F0ZSAocHVibGlj IGtleSkuIikKPiArwqDCoCAiUGF0aCB0byBQRU0gZW5jb2RlZCBYLjUwOSBTU0wvVExTIGNlcnRp ZmljYXRlIChwdWJsaWMga2V5KS4iCj4gK8KgwqAgKHNlcmlhbGl6ZXIgKG15bXBkLWZpZWxkLXNl cmlhbGl6ZXIgInNzbF9jZXJ0IikpKQo+IMKgCj4gwqDCoCAoc3NsLWtleQo+IMKgwqDCoCBtYXli ZS1zdHJpbmcKPiAtwqDCoCAiUGF0aCB0byBQRU0gZW5jb2RlZCBTU0wvVExTIHByaXZhdGUga2V5 LiIpCj4gK8KgwqAgIlBhdGggdG8gUEVNIGVuY29kZWQgU1NML1RMUyBwcml2YXRlIGtleS4iCj4g K8KgwqAgKHNlcmlhbGl6ZXIgKG15bXBkLWZpZWxkLXNlcmlhbGl6ZXIgInNzbF9rZXkiKSkpCj4g wqAKPiDCoMKgIChwaW4taGFzaAo+IMKgwqDCoCBtYXliZS1zdHJpbmcKPiDCoMKgwqAgIlNIQS0y NTYgaGFzaGVkIHBpbiB1c2VkIGJ5IG15TVBEIHRvIGNvbnRyb2wgc2V0dGluZ3MgYWNjZXNzIGJ5 Cj4gLXByb21wdGluZyBhIHBpbiBmcm9tIHRoZSB1c2VyLiIpCj4gK3Byb21wdGluZyBhIHBpbiBm cm9tIHRoZSB1c2VyLiIKPiArwqDCoCAoc2VyaWFsaXplciAobXltcGQtZmllbGQtc2VyaWFsaXpl ciAicGluX2hhc2giKSkpCj4gwqAKPiDCoMKgIChzYXZlLWNhY2hlcz8KPiDCoMKgwqAgbWF5YmUt Ym9vbGVhbgo+IC3CoMKgICJXaGV0aGVyIHRvIHByZXNlcnZlIGNhY2hlcyBiZXR3ZWVuIHNlcnZp Y2UgcmVzdGFydHMuIikpCj4gLQo+IC0oZGVmaW5lIChteW1wZC1zZXJpYWxpemUtY29uZmlndXJh dGlvbiBjb25maWcpCj4gLcKgIChkZWZpbmUgc2VyaWFsaXplLXZhbHVlCj4gLcKgwqDCoCAobWF0 Y2gtbGFtYmRhCj4gLcKgwqDCoMKgwqAgKCg/IGJvb2xlYW4/IHZhbCkgKGlmIHZhbCAidHJ1ZSIg ImZhbHNlIikpCj4gLcKgwqDCoMKgwqAgKCg/IGludGVnZXI/IHZhbCkgKG51bWJlci0+c3RyaW5n IHZhbCkpCj4gLcKgwqDCoMKgwqAgKCg/IG15bXBkLWlwLWFjbD8gdmFsKSAoaXAtYWNsLXNlcmlh bGl6ZS1jb25maWd1cmF0aW9uIHZhbCkpCj4gLcKgwqDCoMKgwqAgKCg/IHN0cmluZz8gdmFsKSB2 YWwpKSkKPiAtCj4gLcKgIChkZWZpbmUgKGlwLWFjbC1zZXJpYWxpemUtY29uZmlndXJhdGlvbiBj b25maWcpCj4gLcKgwqDCoCAoZGVmaW5lIChzZXJpYWxpemUtbGlzdC1vZi1zdHJpbmdzIHByZWZp eCBsc3QpCj4gLcKgwqDCoMKgwqAgKG1hcCAoY3V0IGZvcm1hdCAjZiAifmF+YSIgcHJlZml4IDw+ KSBsc3QpKQo+IC3CoMKgwqAgKHN0cmluZy1qb2luCj4gLcKgwqDCoMKgIChhcHBlbmQKPiAtwqDC oMKgwqDCoCAoc2VyaWFsaXplLWxpc3Qtb2Ytc3RyaW5ncyAiKyIgKG15bXBkLWlwLWFjbC1hbGxv dyBjb25maWcpKQo+IC3CoMKgwqDCoMKgIChzZXJpYWxpemUtbGlzdC1vZi1zdHJpbmdzICItIiAo bXltcGQtaXAtYWNsLWRlbnkgY29uZmlnKSkpCj4gIiwiKSkKPiAtCj4gLcKgIDs7IG15TVBEIGNv bmZpZ3VyYXRpb24gZmllbGRzIGFyZSBzZXJpYWxpemVkIGFzIGluZGl2aWR1YWwgZmlsZXMKPiB1 bmRlcgo+IC3CoCA7OyA8d29yay1kaXJlY3Rvcnk+L2NvbmZpZy8uCj4gLcKgIChtYXRjaC1yZWNv cmQgY29uZmlnIDxteW1wZC1jb25maWd1cmF0aW9uPiAod29yay1kaXJlY3RvcnkgYWNsCj4gLcKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBjb3ZlcmNhY2hlLXR0bCBodHRwPwo+IGhv c3QgcG9ydAo+IC3CoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgbG9nLWxldmVsIGx1 YWxpYnMgdXJpCj4gc2NyaXB0LWFjbAo+IC3CoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqAgc3NsPyBzc2wtcG9ydCBzc2wtY2VydAo+IHNzbC1rZXkKPiAtwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgIHBpbi1oYXNoIHNhdmUtY2FjaGVzPykKPiAtwqDCoMKgIChkZWZpbmUg KHNlcmlhbGl6ZS1maWVsZCBmaWxlbmFtZSB2YWx1ZSkKPiAtwqDCoMKgwqDCoCAod2hlbiAobWF5 YmUtdmFsdWUtc2V0PyB2YWx1ZSkKPiAtwqDCoMKgwqDCoMKgwqAgKGxpc3QgKGZvcm1hdCAjZiAi fmEvY29uZmlnL35hIiB3b3JrLWRpcmVjdG9yeSBmaWxlbmFtZSkKPiAtwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqAgKG1peGVkLXRleHQtZmlsZSBmaWxlbmFtZSAoc2VyaWFsaXplLXZhbHVlIHZh bHVlKSkpKSkKPiAtCj4gLcKgwqDCoCAobGV0ICgoZmlsZW5hbWUtdG8tZmllbGQgYCgoImFjbCIg LiAsYWNsKQo+IC3CoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqAgKCJjb3ZlcmNhY2hlX2tlZXBfZGF5cyIgLgo+ICxjb3ZlcmNhY2hlLXR0 bCkKPiAtwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgICgiaHR0cCLCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCAuICxodHRw PykKPiAtwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgICgiaHR0cF9ob3N0IsKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgLiAsaG9zdCkKPiAt wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgICgiaHR0cF9wb3J0IsKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgLiAscG9ydCkKPiAtwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgICgi bG9nbGV2ZWwiwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIC4gLGxvZy1sZXZlbCkKPiAtwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgICgi bHVhbGlicyLCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCAuICxsdWFsaWJzKQo+IC3CoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgKCJt eW1wZF91cmkiwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCAuICx1cmkpCj4gLcKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCAoInNjcmlwdGFj bCLCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIC4gLHNjcmlwdC0KPiBhY2wpCj4gLcKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCAoInNzbCLC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIC4gLHNzbD8pCj4gLcKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCAoInNzbF9w b3J0IsKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCAuICxzc2wtcG9ydCkKPiAtwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgICgic3NsX2Nl cnQiwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIC4gLHNzbC1jZXJ0KQo+IC3CoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgKCJzc2xfa2V5 IsKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIC4gLHNzbC1rZXkpCj4gLcKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCAoInBpbl9oYXNo IsKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCAuICxwaW4taGFzaCkKPiAtwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgICgic2F2ZV9jYWNo ZXMiwqDCoMKgwqDCoMKgwqDCoMKgIC4gLHNhdmUtCj4gY2FjaGVzPykpKSkKPiAtwqDCoMKgwqDC oCAoZmlsdGVyIGxpc3Q/Cj4gLcKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIChnZW5lcmljLXNl cmlhbGl6ZS1hbGlzdCBsaXN0IHNlcmlhbGl6ZS1maWVsZAo+IC3CoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg IGZpbGVuYW1lLXRvLWZpZWxkKSkpKSkKPiArwqDCoCAiV2hldGhlciB0byBwcmVzZXJ2ZSBjYWNo ZXMgYmV0d2VlbiBzZXJ2aWNlIHJlc3RhcnRzLiIKPiArwqDCoCAoc2VyaWFsaXplciAobXltcGQt ZmllbGQtc2VyaWFsaXplciAic2F2ZV9jYWNoZXMiKSkpKQo+ICsKPiArKGRlZmluZSAobXltcGQt Y29uZmlndXJhdGlvbi0+ZmlsZXMgY29uZmlnKQo+ICvCoCAobWF0Y2gtcmVjb3JkIGNvbmZpZyA8 bXltcGQtY29uZmlndXJhdGlvbj4gKHdvcmstZGlyZWN0b3J5KQo+ICvCoMKgwqAgKGxpc3QtdHJh bnNkdWNlCj4gK8KgwqDCoMKgIChjb21wb3NlIChiYXNlLXRyYW5zZHVjZXIgY29uZmlnKQo+ICvC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCAodG1hcCAobWF0Y2gtbGFtYmRhCj4gK8KgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCAoKGZpbGUtbmFtZSAuIGZpbGUpCj4g K8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIDs7IG15TVBEIGNv bmZpZ3VyYXRpb24gZmllbGRzIGFyZSBzZXJpYWxpemVkCj4gYXMKPiArwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgOzsgaW5kaXZpZHVhbCBmaWxlcyB1bmRlciA8 d29yay0KPiBkaXJlY3Rvcnk+L2NvbmZpZy/igKYuCj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgIChsaXN0IChzdHJpbmctYXBwZW5kIHdvcmstZGlyZWN0b3J5 Cj4gIi9jb25maWcvIgo+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBmaWxlLW5hbWUp Cj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgIGZpbGUpKSkpKQo+ICvCoMKgwqDCoCByY29ucyBteW1wZC1jb25maWd1cmF0aW9uLWZpZWxk cykpKQo+IMKgCj4gwqAoZGVmaW5lIChteW1wZC1zaGVwaGVyZC1zZXJ2aWNlIGNvbmZpZykKPiDC oMKgIChtYXRjaC1yZWNvcmQgY29uZmlnIDxteW1wZC1jb25maWd1cmF0aW9uPgo+IEBAIC05NTcs OCArOTUzLDcgQEAgKGRlZmluZSAobXltcGQtYWNjb3VudHMgY29uZmlnKQo+IMKgwqDCoMKgwqDC oCAobGlzdCB1c2VyIGdyb3VwKSkpKQo+IMKgCj4gwqAoZGVmaW5lIChteW1wZC1sb2ctcm90YXRp b24gY29uZmlnKQo+IC3CoCAobWF0Y2gtcmVjb3JkIGNvbmZpZyA8bXltcGQtY29uZmlndXJhdGlv bj4KPiAtwqDCoMKgIChsb2ctdG8pCj4gK8KgIChtYXRjaC1yZWNvcmQgY29uZmlnIDxteW1wZC1j b25maWd1cmF0aW9uPiAobG9nLXRvKQo+IMKgwqDCoMKgIChpZiAobWF5YmUtdmFsdWUtc2V0PyBs b2ctdG8pCj4gwqDCoMKgwqDCoMKgwqDCoCAobGlzdCAobG9nLXJvdGF0aW9uCj4gwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgIChmaWxlcyAobGlzdCBsb2ctdG8pKSkpCj4gQEAgLTk3Myw4 ICs5NjgsOCBAQCAoZGVmaW5lIG15bXBkLXNlcnZpY2UtdHlwZQo+IMKgwqDCoMKgwqDCoMKgwqDC oMKgwqAgKHNlcnZpY2UtZXh0ZW5zaW9uIGFjY291bnQtc2VydmljZS10eXBlCj4gwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIG15bXBk LWFjY291bnRzKQo+IMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgKHNlcnZpY2UtZXh0ZW5zaW9uIHNw ZWNpYWwtZmlsZXMtc2VydmljZS10eXBlCj4gLcKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgbXltcGQtc2VyaWFsaXplLWNvbmZpZ3VyYXRp b24pCj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqAgbXltcGQtY29uZmlndXJhdGlvbi0+ZmlsZXMpCj4gwqDCoMKgwqDCoMKgwqDCoMKg wqDCoCAoc2VydmljZS1leHRlbnNpb24gcm90dGxvZy1zZXJ2aWNlLXR5cGUKPiDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgbXltcGQt bG9nLXJvdGF0aW9uKSkpCj4gLcKgwqAgKGRlc2NyaXB0aW9uICJSdW4gbXlNUEQsIGEgZnJvbnRl bmQgZm9yIE1QRC4gKE11c2ljIFBsYXllcgo+IERhZW1vbikiKQo+ICvCoMKgIChkZXNjcmlwdGlv biAiUnVuIG15TVBELCBhIGZyb250ZW5kIGZvciBAYWNyb255bXtNUEQsIE11c2ljCj4gUGxheWVy IERhZW1vbn0uIikKPiDCoMKgwqAgKGRlZmF1bHQtdmFsdWUgKG15bXBkLWNvbmZpZ3VyYXRpb24p KSkpCkNoZWVycwo=
X-Loop: help-debbugs@HIDDEN Subject: [bug#67842] [PATCH 4/4] services: mympd: Refactor serialization process. Resent-From: Bruno Victal <mirai@HIDDEN> Original-Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> Resent-CC: guix-patches@HIDDEN Resent-Date: Sat, 16 Dec 2023 19:37:01 +0000 Resent-Message-ID: <handler.67842.B67842.170275539418775 <at> debbugs.gnu.org> Resent-Sender: help-debbugs@HIDDEN X-GNU-PR-Message: followup 67842 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: Liliana Marie Prikler <liliana.prikler@HIDDEN> Cc: 67842 <at> debbugs.gnu.org Received: via spool by 67842-submit <at> debbugs.gnu.org id=B67842.170275539418775 (code B ref 67842); Sat, 16 Dec 2023 19:37:01 +0000 Received: (at 67842) by debbugs.gnu.org; 16 Dec 2023 19:36:34 +0000 Received: from localhost ([127.0.0.1]:56082 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1rEaSg-0004sl-5s for submit <at> debbugs.gnu.org; Sat, 16 Dec 2023 14:36:34 -0500 Received: from smtpm4.myservices.hosting ([185.26.105.235]:43112) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <mirai@HIDDEN>) id 1rEaSb-0004sY-1z for 67842 <at> debbugs.gnu.org; Sat, 16 Dec 2023 14:36:33 -0500 Received: from mail1.netim.hosting (unknown [185.26.106.173]) by smtpm4.myservices.hosting (Postfix) with ESMTP id 8E66720D4D; Sat, 16 Dec 2023 20:36:26 +0100 (CET) Received: from localhost (localhost [127.0.0.1]) by mail1.netim.hosting (Postfix) with ESMTP id E2FE280095; Sat, 16 Dec 2023 20:36:22 +0100 (CET) X-Virus-Scanned: Debian amavisd-new at mail1.netim.hosting Received: from mail1.netim.hosting ([127.0.0.1]) by localhost (mail1-2.netim.hosting [127.0.0.1]) (amavisd-new, port 10026) with ESMTP id WzubLmKNraEM; Sat, 16 Dec 2023 20:36:22 +0100 (CET) Received: from [192.168.1.116] (unknown [10.192.1.83]) (Authenticated sender: lumen@HIDDEN) by mail1.netim.hosting (Postfix) with ESMTPSA id 617B780067; Sat, 16 Dec 2023 20:36:22 +0100 (CET) Message-ID: <9283714a-991e-436a-bb83-fb9254cba5a2@HIDDEN> Date: Sat, 16 Dec 2023 19:36:21 +0000 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird From: Bruno Victal <mirai@HIDDEN> References: <cover.1702663151.git.mirai@HIDDEN> <eb6d6e5a6da0165bc4da411335b327fcac9350b6.1702663151.git.mirai@HIDDEN> <ccbd11dc1758a8a699362ccd017ef3cb3539c97d.camel@HIDDEN> Content-Language: en-US In-Reply-To: <ccbd11dc1758a8a699362ccd017ef3cb3539c97d.camel@HIDDEN> Content-Type: multipart/signed; micalg=pgp-sha256; protocol="application/pgp-signature"; boundary="------------6hmf46mnFICIU3mKO49ImdCY" X-Spam-Score: -0.0 (/) 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 (-) This is an OpenPGP/MIME signed message (RFC 4880 and 3156) --------------6hmf46mnFICIU3mKO49ImdCY Content-Type: multipart/mixed; boundary="------------4iWkm2R0tJ8CHJjGp1zFV0Vw"; protected-headers="v1" From: Bruno Victal <mirai@HIDDEN> To: Liliana Marie Prikler <liliana.prikler@HIDDEN> Cc: 67842 <at> debbugs.gnu.org Message-ID: <9283714a-991e-436a-bb83-fb9254cba5a2@HIDDEN> Subject: Re: [PATCH 4/4] services: mympd: Refactor serialization process. References: <cover.1702663151.git.mirai@HIDDEN> <eb6d6e5a6da0165bc4da411335b327fcac9350b6.1702663151.git.mirai@HIDDEN> <ccbd11dc1758a8a699362ccd017ef3cb3539c97d.camel@HIDDEN> In-Reply-To: <ccbd11dc1758a8a699362ccd017ef3cb3539c97d.camel@HIDDEN> --------------4iWkm2R0tJ8CHJjGp1zFV0Vw Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable Hi Liliana, On 2023-12-16 01:44, Liliana Marie Prikler wrote: > Am Freitag, dem 15.12.2023 um 21:02 +0000 schrieb Bruno Victal: >> -(define-maybe/no-serialization integer) >> +(define-maybe/no-serialization exact-integer) > At the risk of asking a silly question, what's the difference between > an integer and an exact integer? IIUC it has to do with whether a decimal point is present or not, which influences the serialization process. (e.g. having port set to 8080.0 doesn't make much sense even though it is an integer) --8<---------------cut here---------------start------------->8--- $ cat integer-dem.scm #!/usr/bin/env -S guile --no-auto-compile !# (for-each (lambda (s) (format #t "Formatted output: ~a~%" s) (format #t "number->string: ~a~%" (number->string s)) (format #t "Integer? ~a~%" (integer? s)) (format #t "Exact-integer? ~a~%" (exact-integer? s)) (newline)) (list 64 128.0)) $ ./integer-dem.scm Formatted output: 64 number->string: 64 Integer? #t Exact-integer? #t Formatted output: 128.0 number->string: 128.0 Integer? #t Exact-integer? #f --8<---------------cut here---------------end--------------->8--- >> =C2=A0=C2=A0 (port >> -=C2=A0=C2=A0 (maybe-port 80) >> -=C2=A0=C2=A0 "HTTP port to listen on.") >> +=C2=A0=C2=A0 (maybe-exact-integer 80) > Losing the information that this is a port (i.e. only integers that fit= > into a uint16 are valid) is imho not great. I'm not too happy with this either, though in hindsight I think redefining 'port?' (from Guile Ports) was a bad idea. At the moment the (re)defined port? predicate only checks whether the value is an integer, so switching it to exact-integer doesn't seem to change things much. (other than being stricter in criteria) Alternatively we could have a proper predicate, perhaps named ip-port? that would not only perform the exact-integer? check, but also test whether it fits within a uint16. I'm more inclined to introduce this kind of change in a separate series that would define it in a reusable manner and perform a cleanup run across the existing services though. --=20 Furthermore, I consider that nonfree software must be eradicated. Cheers, Bruno. --------------4iWkm2R0tJ8CHJjGp1zFV0Vw-- --------------6hmf46mnFICIU3mKO49ImdCY Content-Type: application/pgp-signature; name="OpenPGP_signature.asc" Content-Description: OpenPGP digital signature Content-Disposition: attachment; filename="OpenPGP_signature.asc" -----BEGIN PGP SIGNATURE----- iHUEARYKAB0WIQTAPCseV0HOaN0YFheobOGDL+spVQUCZX38NQAKCRCobOGDL+sp VUeTAQCrLzecVGwLFMnN8CIYLY/1Ys+e22oX/RimRfLsal/fbgD+OieStPQ7RMsz zI7Bu11jBQ3PBq7xZsT87dFgMU0j5Aw= =Ri+Y -----END PGP SIGNATURE----- --------------6hmf46mnFICIU3mKO49ImdCY--
X-Loop: help-debbugs@HIDDEN Subject: [bug#67842] [PATCH 4/4] services: mympd: Refactor serialization process. Resent-From: Liliana Marie Prikler <liliana.prikler@HIDDEN> Original-Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> Resent-CC: guix-patches@HIDDEN Resent-Date: Sat, 16 Dec 2023 22:13:02 +0000 Resent-Message-ID: <handler.67842.B67842.17027647816735 <at> debbugs.gnu.org> Resent-Sender: help-debbugs@HIDDEN X-GNU-PR-Message: followup 67842 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: Bruno Victal <mirai@HIDDEN> Cc: 67842 <at> debbugs.gnu.org Received: via spool by 67842-submit <at> debbugs.gnu.org id=B67842.17027647816735 (code B ref 67842); Sat, 16 Dec 2023 22:13:02 +0000 Received: (at 67842) by debbugs.gnu.org; 16 Dec 2023 22:13:01 +0000 Received: from localhost ([127.0.0.1]:56239 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1rEcu4-0001kZ-JF for submit <at> debbugs.gnu.org; Sat, 16 Dec 2023 17:13:00 -0500 Received: from mail-ej1-x641.google.com ([2a00:1450:4864:20::641]:58423) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <liliana.prikler@HIDDEN>) id 1rEcu2-0001kL-8E for 67842 <at> debbugs.gnu.org; Sat, 16 Dec 2023 17:12:59 -0500 Received: by mail-ej1-x641.google.com with SMTP id a640c23a62f3a-a234205785dso13564166b.0 for <67842 <at> debbugs.gnu.org>; Sat, 16 Dec 2023 14:12:57 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1702764771; x=1703369571; darn=debbugs.gnu.org; h=mime-version:user-agent:content-transfer-encoding:references :in-reply-to:date:cc:to:from:subject:message-id:from:to:cc:subject :date:message-id:reply-to; bh=kpu/zCl3zA2yD2mFDY2rhIMz08zxjTxLO/EP6ueXmfQ=; b=PjbdXYc2ckaRirTTyLF9etgiO+8VlqNPgIEh5HBiL7FA2dYKsyVM8ZKp7pW889vQoB C1aILVeU2bKqSV7lyddrayP77yvsBUBKJrygy+EgjWtnnhUw49AcMct6raRhT5e7/ZW+ N8OKIIrzPcnG9qNKk15giEPKk2r2A1ly0ltiQ3b8ZB3wkjuS+EpeXf5aANBDUD24v1I/ xkqsSr/Xdl+MdBRTxKExojNkUqFGOti71nZHetgUcJ4Qnjad84Obu7X73m9XQg/L4UNg K3TNQcbd/jmOu21aR2NWh5vipw84sUq1RwcZfQZACZ3FKnVPifmmMZAHpO2aqJHHWn9O i6ug== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1702764771; x=1703369571; h=mime-version:user-agent:content-transfer-encoding:references :in-reply-to:date:cc:to:from:subject:message-id:x-gm-message-state :from:to:cc:subject:date:message-id:reply-to; bh=kpu/zCl3zA2yD2mFDY2rhIMz08zxjTxLO/EP6ueXmfQ=; b=a1e4gOUF8T6EQu1A9uF5v8nFsFkZsOAwZS/RGO0a2W+Nd56qRlW7C9o/5O+HcCJDfO WizOlbd6Xuxro/5zV8s9pkp3MPj+S5Z0r3terbr1XLjhEB9XewYxUNR/d4xqEyNXU1xp W2NmD/AtoV0nVD7HUp+FzyWKLUkGxu0FZ0t1Er/U0DTNmCwPOq4zJIPkRHbPKf+Qyn5u nWXmjJ7d8rA3sUROqPE2JODxJHVp75NXKTDY12HmQpjPKlsehryrfSSeG+0dWSaA771C yFb6T8rgwi8B+/gGREEnYxbH8TbqmwuJk2LyOp48lAhA2md3Dr8HO4cxDZhwMS4Cb+AU /nFg== X-Gm-Message-State: AOJu0Yxf6zKsY8DJGcRbcf6UzWQt7hZfXs8/M89Ft3F7wrUMxuUG7dVq nT6IuMpWKeDhVRavZ0QuVPU= X-Google-Smtp-Source: AGHT+IEhDSqptuev1J1naXxm3a/UxQ0sbZwl/F7QJsWMTFagFfpV0hRL5gThky6ZRvpCEQ3UCi8Y9g== X-Received: by 2002:a17:906:c116:b0:a04:a111:4901 with SMTP id do22-20020a170906c11600b00a04a1114901mr4929890ejc.18.1702764771290; Sat, 16 Dec 2023 14:12:51 -0800 (PST) Received: from lumine.fritz.box (85-127-52-93.dsl.dynamic.surfer.at. [85.127.52.93]) by smtp.gmail.com with ESMTPSA id un7-20020a170907cb8700b00a1b65249053sm12195023ejc.128.2023.12.16.14.12.50 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 16 Dec 2023 14:12:50 -0800 (PST) Message-ID: <c6c6755bb0b9f5f863b9f9ab1905c960c5c53644.camel@HIDDEN> From: Liliana Marie Prikler <liliana.prikler@HIDDEN> Date: Sat, 16 Dec 2023 23:12:49 +0100 In-Reply-To: <9283714a-991e-436a-bb83-fb9254cba5a2@HIDDEN> References: <cover.1702663151.git.mirai@HIDDEN> <eb6d6e5a6da0165bc4da411335b327fcac9350b6.1702663151.git.mirai@HIDDEN> <ccbd11dc1758a8a699362ccd017ef3cb3539c97d.camel@HIDDEN> <9283714a-991e-436a-bb83-fb9254cba5a2@HIDDEN> Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable User-Agent: Evolution 3.46.4 MIME-Version: 1.0 X-Spam-Score: -0.0 (/) 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 (-) Am Samstag, dem 16.12.2023 um 19:36 +0000 schrieb Bruno Victal: > Hi Liliana, >=20 > On 2023-12-16 01:44, Liliana Marie Prikler wrote: > > Am Freitag, dem 15.12.2023 um 21:02 +0000 schrieb Bruno Victal: > > > -(define-maybe/no-serialization integer) > > > +(define-maybe/no-serialization exact-integer) > > At the risk of asking a silly question, what's the difference > > between an integer and an exact integer? >=20 > IIUC it has to do with whether a decimal point is present or not, > which influences the serialization process. (e.g. having port set > to 8080.0 doesn't make much sense even though it is an integer) I don't think we have to make this distinction that often, though; and if we do, there are more fitting descriptions like signed-integer and unsigned-integer. Even if it's to guard against silly inputs, most folks wouldn't write 8080.0 there. > --8<---------------cut here---------------start------------->8--- > $ cat integer-dem.scm > #!/usr/bin/env -S guile --no-auto-compile > !# >=20 > (for-each > =C2=A0(lambda (s) > =C2=A0=C2=A0 (format #t "Formatted output: ~a~%" s) > =C2=A0=C2=A0 (format #t "number->string: ~a~%" (number->string s)) > =C2=A0=C2=A0 (format #t "Integer? ~a~%" (integer? s)) > =C2=A0=C2=A0 (format #t "Exact-integer? ~a~%" (exact-integer? s)) > =C2=A0=C2=A0 (newline)) > =C2=A0(list 64 128.0)) >=20 > $ ./integer-dem.scm > Formatted output: 64 > number->string: 64 > Integer? #t > Exact-integer? #t >=20 > Formatted output: 128.0 > number->string: 128.0 > Integer? #t > Exact-integer? #f > --8<---------------cut here---------------end--------------->8--- >=20 > > > =C2=A0=C2=A0 (port > > > -=C2=A0=C2=A0 (maybe-port 80) > > > -=C2=A0=C2=A0 "HTTP port to listen on.") > > > +=C2=A0=C2=A0 (maybe-exact-integer 80) > > Losing the information that this is a port (i.e. only integers that > > fit > > into a uint16 are valid) is imho not great. >=20 > I'm not too happy with this either, though in hindsight I think > redefining 'port?' (from Guile Ports) was a bad idea. At the moment > the (re)defined port? predicate only checks whether the value is an > integer, so switching it to exact-integer doesn't seem to change > things much. (other than being stricter in criteria) Maybe port-number? is clearer? > Alternatively we could have a proper predicate, perhaps named ip- > port? that would not only perform the exact-integer? check, but also > test whether it fits within a uint16. I'm more inclined to introduce > this kind of change in a separate series that would define it in a > reusable manner and perform a cleanup run across the existing > services though. From my point of view you are already introducing "this kind of change" as not a separate series :) Cheers
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997 nCipher Corporation Ltd,
1994-97 Ian Jackson.