From unknown Sun Sep 21 07:03:40 2025 Content-Disposition: inline Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 X-Mailer: MIME-tools 5.509 (Entity 5.509) Content-Type: text/plain; charset=utf-8 From: bug#71739 <71739@debbugs.gnu.org> To: bug#71739 <71739@debbugs.gnu.org> Subject: Status: [PATCH] services: shepherd: Support =?UTF-8?Q?=E2=80=9Cfree-form=E2=80=9D?= services. Reply-To: bug#71739 <71739@debbugs.gnu.org> Date: Sun, 21 Sep 2025 14:03:40 +0000 retitle 71739 [PATCH] services: shepherd: Support =E2=80=9Cfree-form=E2=80= =9D services. reassign 71739 guix-patches submitter 71739 Ludovic Court=C3=A8s severity 71739 normal tag 71739 patch thanks From debbugs-submit-bounces@debbugs.gnu.org Sun Jun 23 17:58:41 2024 Received: (at submit) by debbugs.gnu.org; 23 Jun 2024 21:58:41 +0000 Received: from localhost ([127.0.0.1]:53108 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1sLVEP-00034q-3V for submit@debbugs.gnu.org; Sun, 23 Jun 2024 17:58:41 -0400 Received: from lists.gnu.org ([209.51.188.17]:58396) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1sLVEN-00034g-DJ for submit@debbugs.gnu.org; Sun, 23 Jun 2024 17:58:39 -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 ) id 1sLVEM-0005Xo-GW for guix-patches@gnu.org; Sun, 23 Jun 2024 17:58:38 -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 ) id 1sLVEM-0005ff-8a; Sun, 23 Jun 2024 17:58:38 -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:Subject:To:From:in-reply-to: references; bh=nLRi1sleptdKRENL8H/eVhUC8arre3b/oXNR+s4lKFs=; b=eEUIkEGbOSPsNU NBcUgZz5E8GMDqAa7pXh96//hYEd8+FnNMwNRMIK0AgmpKKGv+UNRiwq7n5JMJFhJJx6r8J7F/i1p kshm3Ls3PQTPfumQVX6YBi5dpeekQZHq5j2LhcSl4i2/U/zNMPu4bFGtQUd4AijM5VWRnZ+dy9PLb oeOiSQBt2pS9aCVvboDsB6KXPAaTfc5ig1y4/zWIRNSJU8ANUV/z6GJ5QAxMSa4XQ1cb/Q88znkXy vOus8EyYoI2HkLxiFFps3UF9qNkdMx7IlMnzHZUo5UjyuzFGiXyKQICLbjZOs4g1tXgRF0tsjkK0f 0KrwLuDmli4A09w2AYOg==; From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= To: guix-patches@gnu.org Subject: [PATCH] =?UTF-8?q?services:=20shepherd:=20Support=20=E2=80=9Cfree?= =?UTF-8?q?-form=E2=80=9D=20services.?= Date: Sun, 23 Jun 2024 23:58:30 +0200 Message-ID: <7501182c5831ba86d4e600967fb944e9e1124352.1719066498.git.ludo@gnu.org> X-Mailer: git-send-email 2.45.1 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 X-Debbugs-Cc: Florian Pelz , Ludovic Courtès , Matthew Trzcinski , Maxim Cournoyer Content-Transfer-Encoding: 8bit X-Spam-Score: -2.3 (--) X-Debbugs-Envelope-To: submit Cc: =?UTF-8?q?Ludovic=20Court=C3=A8s?= X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -3.3 (---) * gnu/services/shepherd.scm ()[free-form]: New field. [start]: Add default value. (shepherd-service-file): Rename to… (shepherd-service-file/regular): … this. (shepherd-service-file/free-form): New procedure. (shepherd-service-file): Dispatch to one of the two procedures above. * doc/guix.texi (Shepherd Services): Document the ‘free-form’ field. Change-Id: I206374e950ef6d1e4a996c0f507fb5fcd9cadde3 --- doc/guix.texi | 26 +++++++++++++++++++++++++- gnu/services/shepherd.scm | 25 ++++++++++++++++++++++--- 2 files changed, 47 insertions(+), 4 deletions(-) Hi! This patch fixes a limitation that became apparent with Shepherd 0.10, where users could not instantiate services from the built-in service collection for which they do not explicitly specify the ‘start’ and ‘stop’ methods (see REPL service example below). Thoughts? Ludo’. diff --git a/doc/guix.texi b/doc/guix.texi index 0102fd0fad3..4d9145445cc 100644 --- a/doc/guix.texi +++ b/doc/guix.texi @@ -43909,7 +43909,7 @@ Shepherd Services When true, this is the delay in seconds before restarting a failed service. -@item @code{start} +@item @code{start} (default: @code{#~(const #t)}) @itemx @code{stop} (default: @code{#~(const #f)}) The @code{start} and @code{stop} fields refer to the Shepherd's facilities to start and stop processes (@pxref{Service De- and @@ -43928,6 +43928,30 @@ Shepherd Services herd @var{action} @var{service} [@var{arguments}@dots{}] @end example +@item @code{free-form} (default: @code{#f}) +When set, this field replaces the @code{start}, @code{stop}, and +@code{actions} fields. It is meant to be used when the service +definition comes from some other source, typically the service +collection provided by the Shepherd proper (@pxref{Service Collection,,, +shepherd, The GNU Shepherd Manual}). + +@cindex REPL service, for shepherd +For example, the snippet below defines a service for the Shepherd's +built-in @acronym{REPL, read-eval-print loop} service (@pxref{REPL +Service,,, shepherd, The GNU Shepherd Manual}): + +@lisp +(shepherd-service + (provision '(repl)) + (modules '((shepherd service repl))) + (free-form #~(repl-service))) +@end lisp + +In this case, the service object is returned by the @code{repl-service} +procedure of the Shepherd, so all the @code{free-form} G-expression does +is call that procedure. Note that the @code{provision} field must be +consistent with the actual service provision. + @item @code{auto-start?} (default: @code{#t}) Whether this service should be started automatically by the Shepherd. If it is @code{#f} the service has to be started manually with @code{herd start}. diff --git a/gnu/services/shepherd.scm b/gnu/services/shepherd.scm index ccc8e61a33c..05534ab3173 100644 --- a/gnu/services/shepherd.scm +++ b/gnu/services/shepherd.scm @@ -60,6 +60,7 @@ (define-module (gnu services shepherd) shepherd-service-respawn? shepherd-service-start shepherd-service-stop + shepherd-service-free-form shepherd-service-auto-start? shepherd-service-modules @@ -217,7 +218,10 @@ (define-record-type* (default #f)) (respawn-delay shepherd-service-respawn-delay (default #f)) - (start shepherd-service-start) ;g-expression (procedure) + (free-form shepherd-service-free-form ;#f | g-expression (service) + (default #f)) + (start shepherd-service-start ;g-expression (procedure) + (default #~(const #t))) (stop shepherd-service-stop ;g-expression (procedure) (default #~(const #f))) (actions shepherd-service-actions ;list of @@ -298,8 +302,8 @@ (define (shepherd-service-file-name service) provisions) ".scm"))) -(define (shepherd-service-file service) - "Return a file defining SERVICE." +(define (shepherd-service-file/regular service) + "Return a file defining SERVICE, a service whose 'free-form' field is #f." (scheme-file (shepherd-service-file-name service) (with-imported-modules %default-imported-modules #~(begin @@ -332,6 +336,21 @@ (define (shepherd-service-file service) #~(#$name #$doc #$proc))) (shepherd-service-actions service)))))))) +(define (shepherd-service-file/free-form service) + "Return a file defining SERVICE, a service whose 'free-form' field is set." + (scheme-file (shepherd-service-file-name service) + (with-imported-modules %default-imported-modules + #~(begin + (use-modules #$@(shepherd-service-modules service)) + + #$(shepherd-service-free-form service))))) + +(define (shepherd-service-file service) + "Return a file defining SERVICE." + (if (shepherd-service-free-form service) + (shepherd-service-file/free-form service) + (shepherd-service-file/regular service))) + (define (scm->go file shepherd) "Compile FILE, which contains code to be loaded by shepherd's config file, and return the resulting '.go' file. SHEPHERD is used as shepherd package." base-commit: 2aeb37def258ad4dd23aaf57ed32f0be44d1bea5 -- 2.45.1 From debbugs-submit-bounces@debbugs.gnu.org Mon Jun 24 09:07:43 2024 Received: (at 71739) by debbugs.gnu.org; 24 Jun 2024 13:07:43 +0000 Received: from localhost ([127.0.0.1]:57002 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1sLjQ6-0002lh-Ou for submit@debbugs.gnu.org; Mon, 24 Jun 2024 09:07:43 -0400 Received: from eggs.gnu.org ([209.51.188.92]:52782) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1sLjQ4-0002lH-2N; Mon, 24 Jun 2024 09:07:40 -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 ) id 1sLjPw-0002yD-D7; Mon, 24 Jun 2024 09:07:32 -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=Uj8AAFv/x/7496ZLBdm7bnUk01say4e0Su/mLQOAs/Q=; b=GVvxH2rUUTgDPW4HE52+ llPDqCSb2qpAWKtgy00cfJFMEenrz1VqqRn+jqFbmQYE2n/xKPJknsyEDG4UvuHGdvU7R1Esu7/+t KgR2GqoXY9j3/6ysljWWAtUb05e0pAD2O6J1IuESFfua1GqceBcUXoIgwtQ92GBTzzCL9GcONejUW cyr4GUMPMPRUMkoW2E6BSSobHo8T+T+ljWmmHMM8jc096rMLdBZdZw1QDWnXc0TUzwyLs16NxylCC DlGgO4MBwt62YM9rDv6CFxB2b3YiE8s7Fie0BssL8Yq95ZPl7c03xkinWVldoVrZzQcsJBz79BllP rYtjE/jde9eQzA==; From: =?utf-8?Q?Ludovic_Court=C3=A8s?= To: Maxim Cournoyer Subject: Re: [bug#69591] [PATCH] services: shepherd: Support =?utf-8?B?4oCcZnJlZS1mb3Jt4oCd?= services. In-Reply-To: <8734p3b2c6.fsf@gmail.com> (Maxim Cournoyer's message of "Sun, 23 Jun 2024 20:40:09 -0400") References: <20240306193725.17463-1-david.elsing@posteo.net> <7501182c5831ba86d4e600967fb944e9e1124352.1719066498.git.ludo@gnu.org> <8734p3b2c6.fsf@gmail.com> X-URL: http://www.fdn.fr/~lcourtes/ X-Revolutionary-Date: Septidi 7 Messidor an 232 de la =?utf-8?Q?R=C3=A9vol?= =?utf-8?Q?ution=2C?= jour du Concombre X-PGP-Key-ID: 0x090B11993D9AEBB5 X-PGP-Key: http://www.fdn.fr/~lcourtes/ludovic.asc X-PGP-Fingerprint: 3CE4 6455 8A84 FDC6 9DB4 0CFB 090B 1199 3D9A EBB5 X-OS: x86_64-pc-linux-gnu Date: Mon, 24 Jun 2024 15:07:28 +0200 Message-ID: <87pls6ij5b.fsf@gnu.org> 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: -2.3 (--) X-Debbugs-Envelope-To: 71739 Cc: 71739@debbugs.gnu.org, 69591@debbugs.gnu.org, David Elsing , Matthew Trzcinski , Florian Pelz X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -3.3 (---) Hi Maxim, (Cc=E2=80=99ing 71739, which is actually the right one. :-)) Maxim Cournoyer skribis: > Ludovic Court=C3=A8s writes: [...] >> +@item @code{free-form} (default: @code{#f}) >> +When set, this field replaces the @code{start}, @code{stop}, and >> +@code{actions} fields. It is meant to be used when the service >> +definition comes from some other source, typically the service >> +collection provided by the Shepherd proper (@pxref{Service Collection,,, >> +shepherd, The GNU Shepherd Manual}). >> + >> +@cindex REPL service, for shepherd >> +For example, the snippet below defines a service for the Shepherd's >> +built-in @acronym{REPL, read-eval-print loop} service (@pxref{REPL >> +Service,,, shepherd, The GNU Shepherd Manual}): >> + >> +@lisp >> +(shepherd-service >> + (provision '(repl)) >> + (modules '((shepherd service repl))) >> + (free-form #~(repl-service))) >> +@end lisp [...] > Hm, if free-form is expected to be a built-in procedure provided by > Shepherd, should we call it 'built-in' instead of 'free-form' ? I view it as something more generic: it=E2=80=99s typically, but not just, = for when the service comes from a procedure defined in the Shepherd itself. Other use case is when as a service author you need more freedom that what you get with the =E2=80=98start=E2=80=99 and =E2=80=98stop=E2=80=99 fi= elds, like: (shepherd-service ;; =E2=80=A6 (free-from #~(let ((whatever (spawn-fiber =E2=80=A6))) (service '(foo) #:start =E2=80=A6)))) It=E2=80=99s probably going to be a relatively marginal use case, but it=E2= =80=99s good to have that extra level of flexibility. WDYT? Thanks! Ludo=E2=80=99. From debbugs-submit-bounces@debbugs.gnu.org Mon Jun 24 23:23:49 2024 Received: (at 71739) by debbugs.gnu.org; 25 Jun 2024 03:23:49 +0000 Received: from localhost ([127.0.0.1]:35920 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1sLwmb-0007bN-Ba for submit@debbugs.gnu.org; Mon, 24 Jun 2024 23:23:49 -0400 Received: from mail-qk1-f177.google.com ([209.85.222.177]:46540) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1sLwmU-0007ap-8w; Mon, 24 Jun 2024 23:23:43 -0400 Received: by mail-qk1-f177.google.com with SMTP id af79cd13be357-79767180a15so295732285a.1; Mon, 24 Jun 2024 20:23:40 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1719285755; x=1719890555; darn=debbugs.gnu.org; h=content-transfer-encoding:mime-version:user-agent:message-id:date :references:in-reply-to:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=fMN+M8wdKusV7MxVzy7evaRE6EmtyJryOQiCnnh6v5M=; b=av2MMosKVG1s299+yf3B3J5pY/H/GoaMPAaUGg1TjAP3jGthXzbTHlGw6FKZJ1tukf lzxSFp2ttyARNkTXsB+CON9GdRJ34Ecerd443EQhoiQ+3jOHyr3UfT1RufIy33loESkW tKhGvpS9LChtTTWQFxcJ+YTOWsjkm18AyDUJExPmIgMJz0l1k3O6qlIQ9rYcGQld4Quu E9bUvslrNRkLDcv2UC3NLqxR7LNfXiuMxPwWDIjxfUE+FM4E4usJ1WB6v22sviUVvjYN +sn9FdOK0XBf1z7/MuFXaz4M1tn8tg4zpYg/z1ywTV3paIJfzNVgDAXotS1kmBiKPl1W rz+g== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1719285755; x=1719890555; h=content-transfer-encoding:mime-version:user-agent:message-id:date :references:in-reply-to:subject:cc:to:from:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to; bh=fMN+M8wdKusV7MxVzy7evaRE6EmtyJryOQiCnnh6v5M=; b=j5qhMTbvc4lbFNQtRFnlZ+aontzIjzi/NJw/Cw2EWXCK1sgir5ny5S5cP/lDgxOcGP 0G2Z5TscCNAzMJqAGZ/60/NAMnVpnfJRCiRDD1DXwg+UC20DJN4S5x2EEGC3o/dUgJrA IFY9zl2z7E7LATKZcYn7L+70L1gb4/uk/VBgNis2lRiNNByiDFd8axBHYMxniWhorOWO Wd+x67M142Me2q6lLUK+HHR3Oxe5lBOYhFwvImzbdX5InKMFAfuzKDWxuLAznsO+4vMv IoDJfl/wnyNWmADHCL3+nu3UgDYlM/mrQ559g1RX2o2hdyZJaoikHZr2QCk+veQZbA3c 54Fw== X-Forwarded-Encrypted: i=1; AJvYcCXOSkIrKPs7y7WZfOc16eGKTJGv10S4BdAed3aUd+CSSoFKxuouRrPcrKCt22d8uxvKKiNotFEt5+Hvbd2l7Qq3199uGzw= X-Gm-Message-State: AOJu0Yx1JFTKUIxD490iBVKUxCj+dI0UqZgIa67gPj47RtMGiHKcDz6D EC37qH2roA+50kx52biLmJ5Z13PpjDkf0OmUwLFW1I3wa8mazcis X-Google-Smtp-Source: AGHT+IHiWdHMxdE0JMyvQMgFs+Xi/JUmTJ6wYQhGyhbdaYtmyrrRpgpVGnLqlcvzLRxBirnmUl3aVQ== X-Received: by 2002:a05:6214:17c8:b0:6b5:6a1:f899 with SMTP id 6a1803df08f44-6b53bbbece7mr57814806d6.10.1719285755219; Mon, 24 Jun 2024 20:22:35 -0700 (PDT) Received: from hurd (dsl-141-243.b2b2c.ca. [66.158.141.243]) by smtp.gmail.com with ESMTPSA id 6a1803df08f44-6b51ef30e6fsm40321276d6.84.2024.06.24.20.22.33 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 24 Jun 2024 20:22:34 -0700 (PDT) From: Maxim Cournoyer To: Ludovic =?utf-8?Q?Court=C3=A8s?= Subject: Re: [bug#69591] [PATCH] services: shepherd: Support =?utf-8?B?4oCcZnJlZS1mb3Jt4oCd?= services. In-Reply-To: <87pls6ij5b.fsf@gnu.org> ("Ludovic =?utf-8?Q?Court=C3=A8s=22'?= =?utf-8?Q?s?= message of "Mon, 24 Jun 2024 15:07:28 +0200") References: <20240306193725.17463-1-david.elsing@posteo.net> <7501182c5831ba86d4e600967fb944e9e1124352.1719066498.git.ludo@gnu.org> <8734p3b2c6.fsf@gmail.com> <87pls6ij5b.fsf@gnu.org> Date: Mon, 24 Jun 2024 23:22:33 -0400 Message-ID: <87pls5btae.fsf@gmail.com> 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: 71739 Cc: 71739@debbugs.gnu.org, 69591@debbugs.gnu.org, David Elsing , Matthew Trzcinski , Florian Pelz X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) Hi Ludovic, Ludovic Court=C3=A8s writes: [...] >> Hm, if free-form is expected to be a built-in procedure provided by >> Shepherd, should we call it 'built-in' instead of 'free-form' ? > > I view it as something more generic: it=E2=80=99s typically, but not just= , for > when the service comes from a procedure defined in the Shepherd itself. > > Other use case is when as a service author you need more freedom that > what you get with the =E2=80=98start=E2=80=99 and =E2=80=98stop=E2=80=99 = fields, like: > > (shepherd-service > ;; =E2=80=A6 > (free-from #~(let ((whatever (spawn-fiber =E2=80=A6))) > (service '(foo) #:start =E2=80=A6)))) > > It=E2=80=99s probably going to be a relatively marginal use case, but it= =E2=80=99s good > to have that extra level of flexibility. > > WDYT? Thanks for the extra explanation and example. The extra flexibility sounds good to me! Reviewed-by: Maxim Cournoyer --=20 Thanks, Maxim From debbugs-submit-bounces@debbugs.gnu.org Wed Jun 26 18:21:52 2024 Received: (at 71739-done) by debbugs.gnu.org; 26 Jun 2024 22:21:52 +0000 Received: from localhost ([127.0.0.1]:40543 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1sMb1U-00038T-0c for submit@debbugs.gnu.org; Wed, 26 Jun 2024 18:21:52 -0400 Received: from eggs.gnu.org ([209.51.188.92]:56656) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1sMb1R-000388-K5; Wed, 26 Jun 2024 18:21:50 -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 ) id 1sMb1I-00028e-Rg; Wed, 26 Jun 2024 18:21: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=/ChmS6UqA23kmUZRevTj3GOLd3zM5e/1SixyyZyw2bs=; b=i4kPTYH/eVxoTmW80UKj GOxG97PtPDs+/NEro9NvFKli9YjbYsFfxzY7pJ0BovhWGa9FvsbHaeeVGRfBzF2Jer4gyyY8h3ObN wINXtGZGtHs+J3xC+rrHCoNCzKG9ElU5jn4yovf0A2yW6za89GBN7lAOemQSqHrzF+kRiTAmBYmco 885WqeYJ7lQ7kETund/8KoIASUjWTXx6Ajl6Huy7VyhvjRlwHN9DoV+x0YelAGC1pUREVVsqODzJx 9TdDxbgD9bo56eJ1HiEZtRRxzhJLeuQoTNCGHixUYEIjvX0mmmQLkCKaVDN4+AQII9fqcAmg6/bcj D1J00YPCS6J7bQ==; From: =?utf-8?Q?Ludovic_Court=C3=A8s?= To: Maxim Cournoyer Subject: Re: [bug#71739] [bug#69591] [PATCH] services: shepherd: Support =?utf-8?B?4oCcZnJlZS1mb3Jt4oCd?= services. In-Reply-To: <87pls5btae.fsf@gmail.com> (Maxim Cournoyer's message of "Mon, 24 Jun 2024 23:22:33 -0400") References: <20240306193725.17463-1-david.elsing@posteo.net> <7501182c5831ba86d4e600967fb944e9e1124352.1719066498.git.ludo@gnu.org> <8734p3b2c6.fsf@gmail.com> <87pls6ij5b.fsf@gnu.org> <87pls5btae.fsf@gmail.com> Date: Thu, 27 Jun 2024 00:21:37 +0200 Message-ID: <87jzib9wge.fsf@gnu.org> 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: -2.3 (--) X-Debbugs-Envelope-To: 71739-done Cc: 71739-done@debbugs.gnu.org, 69591@debbugs.gnu.org, David Elsing , Matthew Trzcinski , Florian Pelz X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -3.3 (---) Maxim Cournoyer skribis: > Thanks for the extra explanation and example. The extra flexibility > sounds good to me! > > Reviewed-by: Maxim Cournoyer Pushed as 0a220c1599613b7bee38c0bf8bc1bb3e9cbcaeb8, thanks! Ludo=E2=80=99. From unknown Sun Sep 21 07:03:40 2025 Received: (at fakecontrol) by fakecontrolmessage; To: internal_control@debbugs.gnu.org From: Debbugs Internal Request Subject: Internal Control Message-Id: bug archived. Date: Thu, 25 Jul 2024 11:24:08 +0000 User-Agent: Fakemail v42.6.9 # This is a fake control message. # # The action: # bug archived. thanks # This fakemail brought to you by your local debbugs # administrator