GNU logs - #59318, boring messages


Message sent to guix-patches@HIDDEN:


X-Loop: help-debbugs@HIDDEN
Subject: [bug#59318] [PATCH] etc: committer: Add --package-directory flag.
Resent-From: Antero Mejr <antero@HIDDEN>
Original-Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
Resent-CC: guix-patches@HIDDEN
Resent-Date: Wed, 16 Nov 2022 19:00:02 +0000
Resent-Message-ID: <handler.59318.B.166862515518814 <at> debbugs.gnu.org>
Resent-Sender: help-debbugs@HIDDEN
X-GNU-PR-Message: report 59318
X-GNU-PR-Package: guix-patches
X-GNU-PR-Keywords: patch
To: 59318 <at> debbugs.gnu.org
Cc: Antero Mejr <antero@HIDDEN>
X-Debbugs-Original-To: guix-patches@HIDDEN
Received: via spool by submit <at> debbugs.gnu.org id=B.166862515518814
          (code B ref -1); Wed, 16 Nov 2022 19:00:02 +0000
Received: (at submit) by debbugs.gnu.org; 16 Nov 2022 18:59:15 +0000
Received: from localhost ([127.0.0.1]:58136 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1ovNcx-0004tN-3u
	for submit <at> debbugs.gnu.org; Wed, 16 Nov 2022 13:59:15 -0500
Received: from lists.gnu.org ([209.51.188.17]:56092)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <antero@HIDDEN>) id 1ovNct-0004tD-Up
 for submit <at> debbugs.gnu.org; Wed, 16 Nov 2022 13:59:13 -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 <antero@HIDDEN>)
 id 1ovNct-000572-PO
 for guix-patches@HIDDEN; Wed, 16 Nov 2022 13:59:11 -0500
Received: from mout-p-202.mailbox.org ([80.241.56.172])
 by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_CHACHA20_POLY1305:256)
 (Exim 4.90_1) (envelope-from <antero@HIDDEN>)
 id 1ovNcr-0003G5-AD
 for guix-patches@HIDDEN; Wed, 16 Nov 2022 13:59:11 -0500
Received: from smtp202.mailbox.org (smtp202.mailbox.org
 [IPv6:2001:67c:2050:b231:465::202])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange ECDHE (P-384) server-signature RSA-PSS (4096 bits) server-digest
 SHA256) (No client certificate requested)
 by mout-p-202.mailbox.org (Postfix) with ESMTPS id 4NCC552Gktz9ssc
 for <guix-patches@HIDDEN>; Wed, 16 Nov 2022 19:59:05 +0100 (CET)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=mailbox.org;
 s=mail20150812; t=1668625145;
 h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
 to:to:cc:cc:mime-version:mime-version:
 content-transfer-encoding:content-transfer-encoding;
 bh=DA5sL3o0TOZB3Uc8deMH+PPd7V8+OrVNYJyaRUddelo=;
 b=IlnC1Bu7MNvB7AcN0lFQpbaMkZ1zx0MAomiP6O3YzoYL+04gEjr9EradC7ViRfd94wLqnz
 0yJ7SKXesLbWY6mN6h12UV+iBIy4hBXcRNzuVe3Td7wLaM6sGh5/mGZzObT2xAJFD6CtvU
 DSYrxnJ9NVclF4SUIpcC361pvztChsSMd5BuDczwdaJuE2G/wNHN3sjUl1pxMjfxjeE4di
 jib2Vux2+Pk2L7y7pvoqAFphAqSQmWeC79IAlFb/ZdT89VqrMqzMrayMpDeJwpgf5Hnt79
 9bK6eBh946gsYSu1d/mN2Irykh9WeThUgitG4qq7RtC2fm6HjzdZCNTHYWeQfQ==
From: Antero Mejr <antero@HIDDEN>
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=mailbox.org;
 s=mail20150812; t=1668625143;
 h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
 to:to:cc:cc:mime-version:mime-version:
 content-transfer-encoding:content-transfer-encoding;
 bh=DA5sL3o0TOZB3Uc8deMH+PPd7V8+OrVNYJyaRUddelo=;
 b=r6DzgnbojGSARElJZF1Y3qi6j0lmTPTywBT0Rxm9ZLXO8TAayGkebsa+Ug+fxLNtwu5ngK
 mSHlFwNyP0EXRqvppOkpZyquEwAaoWiWu2YGbToIEFTfsxqNkefCaExF8HUIQW2kdJVj9K
 Ahccnykw2EicTfp9n0cJbUyFJyIRySSqVcHf1GWbXK2+BjSQMaCh+nTPEpX7EnHvFtjUwV
 5WyZeJ3dmlIYjtVKfbLpvlmXvkswIrrMqvi6rhRrSIuRNrxuGqnR2CJez6dvdBcHlarqcq
 zOlOhYpGdhTZ4vZyAwf973BHjA3UOR7ICix21dMt3OC+f9vWiytAwbWw0MCSXg==
Date: Wed, 16 Nov 2022 18:58:53 +0000
Message-Id: <20221116185853.13957-1-antero@HIDDEN>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
X-MBO-RS-META: wwuqkb14gjz4d94nqq17irw1gfw41m6n
X-MBO-RS-ID: b03df971bd49a09dc18
X-Rspamd-Queue-Id: 4NCC552Gktz9ssc
Received-SPF: pass client-ip=80.241.56.172; envelope-from=antero@HIDDEN;
 helo=mout-p-202.mailbox.org
X-Spam_score_int: -27
X-Spam_score: -2.8
X-Spam_bar: --
X-Spam_report: (-2.8 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1,
 DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1,
 RCVD_IN_DNSWL_LOW=-0.7, SPF_HELO_NONE=0.001,
 SPF_PASS=-0.001 autolearn=ham autolearn_force=no
X-Spam_action: no action
X-Spam-Score: -1.3 (-)
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.3 (--)

* etc/committer.scm.in (main)[pkg-dir]: New variable.
(main): Use it.
(diff-info)[package-dir]: New argument.
(change-commit-message)[package-dir]: New argument.
(add-commit-message)[package-dir]: New argument.
(remove-commit-message)[package-dir]: New argument.
(custom-commit-message)[package-dir]: New argument.
---
Make the hard-coded "gnu" part of the package directory path into a flag.
This allows committer.scm to be used for channels where the package directory
is not "gnu".

 etc/committer.scm.in | 46 +++++++++++++++++++++++++++-----------------
 1 file changed, 28 insertions(+), 18 deletions(-)

diff --git a/etc/committer.scm.in b/etc/committer.scm.in
index e7f1ca8c45..13021891aa 100755
--- a/etc/committer.scm.in
+++ b/etc/committer.scm.in
@@ -129,7 +129,7 @@ (define* (hunk->patch hunk #:optional (port (current-output-port)))
             file-name file-name file-name file-name
             (string-join (hunk-diff-lines hunk) ""))))
 
-(define (diff-info)
+(define (diff-info package-dir)
   "Read the diff and return a list of <hunk> values."
   (let ((port (open-pipe* OPEN_READ
                           "git" "diff-files"
@@ -138,7 +138,7 @@ (define (diff-info)
                           ;; new definitions with changes to existing
                           ;; definitions.
                           "--unified=1"
-                          "--" "gnu")))
+                          "--" package-dir)))
     (define (extract-line-number line-tag)
       (abs (string->number
             (car (string-split line-tag #\,)))))
@@ -221,7 +221,8 @@ (define (new-sexp hunk)
                         (+ (lines-to-first-change hunk)
                            (hunk-new-line-number hunk))))))
 
-(define* (change-commit-message file-name old new #:optional (port (current-output-port)))
+(define* (change-commit-message file-name old new package-dir
+                                #:optional (port (current-output-port)))
   "Print ChangeLog commit message for changes between OLD and NEW."
   (define (get-values expr field)
     (match ((xpath:sxpath `(// ,field quasiquote *)) expr)
@@ -247,8 +248,8 @@ (define version
     (and=> ((xpath:sxpath '(// version *any*)) new)
            first))
   (format port
-          "gnu: ~a: Update to ~a.~%~%* ~a (~a): Update to ~a.~%"
-          variable-name version file-name variable-name version)
+          "~a: ~a: Update to ~a.~%~%* ~a (~a): Update to ~a.~%"
+          package-dir variable-name version file-name variable-name version)
   (for-each (lambda (field)
               (let ((old-values (get-values old field))
                     (new-values (get-values new field)))
@@ -272,21 +273,22 @@ (define version
                                           (listify added))))))))))
             '(inputs propagated-inputs native-inputs)))
 
-(define* (add-commit-message file-name variable-name
+(define* (add-commit-message file-name variable-name package-dir
                              #:optional (port (current-output-port)))
   "Print ChangeLog commit message for a change to FILE-NAME adding a
 definition."
-  (format port "gnu: Add ~a.~%~%* ~a (~a): New variable.~%"
-          variable-name file-name variable-name))
+  (format port "~a: Add ~a.~%~%* ~a (~a): New variable.~%"
+          package-dir variable-name file-name variable-name))
 
-(define* (remove-commit-message file-name variable-name
+(define* (remove-commit-message file-name variable-name package-dir
                                 #:optional (port (current-output-port)))
   "Print ChangeLog commit message for a change to FILE-NAME removing a
 definition."
-  (format port "gnu: Remove ~a.~%~%* ~a (~a): Delete variable.~%"
-          variable-name file-name variable-name))
+  (format port "~a: Remove ~a.~%~%* ~a (~a): Delete variable.~%"
+          package-dir variable-name file-name variable-name))
 
 (define* (custom-commit-message file-name variable-name message changelog
+                                package-dir
                                 #:optional (port (current-output-port)))
   "Print custom commit message for a change to VARIABLE-NAME in FILE-NAME, using
 MESSAGE as the commit message and CHANGELOG as the body of the ChangeLog
@@ -301,7 +303,7 @@ (define (changelog-has-location? changelog)
 
   (let* ((message (trim message))
          (changelog (if changelog (trim changelog) message))
-         (message/f (format #f "gnu: ~a: ~a." variable-name message))
+         (message/f (format #f "~a: ~a: ~a." package-dir variable-name message))
          (changelog/f (if (changelog-has-location? changelog)
                           (format #f "* ~a (~a)~a."
                                   file-name variable-name changelog)
@@ -349,16 +351,23 @@ (define (new+old+hunks hunks)
 (define %delay 1000)
 
 (define (main . args)
+  (define pkg-dir
+    (match args
+      (("--package-directory" pkg-dir ...)
+       (begin (set! args (cddr args))
+              (car pkg-dir)))
+      (_ "gnu")))
+
   (define* (change-commit-message* file-name old new #:rest rest)
     (let ((changelog #f))
       (match args
         ((or (message changelog) (message))
          (apply custom-commit-message
-                file-name (second old) message changelog rest))
+                file-name (second old) message changelog pkg-dir rest))
         (_
-         (apply change-commit-message file-name old new rest)))))
+         (apply change-commit-message file-name old new pkg-dir rest)))))
 
-  (match (diff-info)
+  (match (diff-info pkg-dir)
     (()
      (display "Nothing to be done.\n" (current-error-port)))
     (hunks
@@ -373,7 +382,7 @@ (define* (change-commit-message* file-name old new #:rest rest)
                      (commit-message-proc (match (hunk-type hunk)
                                             ('addition add-commit-message)
                                             ('removal remove-commit-message))))
-            (commit-message-proc (hunk-file-name hunk) variable-name)
+            (commit-message-proc (hunk-file-name hunk) variable-name pkg-dir)
             (let ((port (open-pipe* OPEN_WRITE
                                     "git" "apply"
                                     "--cached"
@@ -383,7 +392,8 @@ (define* (change-commit-message* file-name old new #:rest rest)
                 (error "Cannot apply")))
 
             (let ((port (open-pipe* OPEN_WRITE "git" "commit" "-F" "-")))
-              (commit-message-proc (hunk-file-name hunk) variable-name port)
+              (commit-message-proc (hunk-file-name hunk) variable-name pkg-dir
+                                   port)
               (usleep %delay)
               (unless (eqv? 0 (status:exit-val (close-pipe port)))
                 (error "Cannot commit"))))
@@ -423,6 +433,6 @@ (define copyright-line
                (error "Cannot commit")))))))
       ;; XXX: we recompute the hunks here because previous
       ;; insertions lead to offsets.
-      (new+old+hunks (diff-info))))))
+      (new+old+hunks (diff-info pkg-dir))))))
 
 (apply main (cdr (command-line)))
-- 
2.38.1





Message sent:


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: Antero Mejr <antero@HIDDEN>
Subject: bug#59318: Acknowledgement ([PATCH] etc: committer: Add
 --package-directory flag.)
Message-ID: <handler.59318.B.166862515518814.ack <at> debbugs.gnu.org>
References: <20221116185853.13957-1-antero@HIDDEN>
X-Gnu-PR-Message: ack 59318
X-Gnu-PR-Package: guix-patches
X-Gnu-PR-Keywords: patch
Reply-To: 59318 <at> debbugs.gnu.org
Date: Wed, 16 Nov 2022 19:00: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 59318 <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
59318: https://debbugs.gnu.org/cgi/bugreport.cgi?bug=3D59318
GNU Bug Tracking System
Contact help-debbugs@HIDDEN with problems


Message sent to guix-patches@HIDDEN:


X-Loop: help-debbugs@HIDDEN
Subject: [bug#59318] [PATCH] etc: committer: Add --package-directory flag.
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: Thu, 17 Nov 2022 12:28:02 +0000
Resent-Message-ID: <handler.59318.B59318.166868807212154 <at> debbugs.gnu.org>
Resent-Sender: help-debbugs@HIDDEN
X-GNU-PR-Message: followup 59318
X-GNU-PR-Package: guix-patches
X-GNU-PR-Keywords: patch
To: Antero Mejr <antero@HIDDEN>, 59318 <at> debbugs.gnu.org
Received: via spool by 59318-submit <at> debbugs.gnu.org id=B59318.166868807212154
          (code B ref 59318); Thu, 17 Nov 2022 12:28:02 +0000
Received: (at 59318) by debbugs.gnu.org; 17 Nov 2022 12:27:52 +0000
Received: from localhost ([127.0.0.1]:59498 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1ovdzj-00039v-3Z
	for submit <at> debbugs.gnu.org; Thu, 17 Nov 2022 07:27:51 -0500
Received: from mailrelay.tugraz.at ([129.27.2.202]:13407)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <liliana.prikler@HIDDEN>) id 1ovdzd-00039g-RN
 for 59318 <at> debbugs.gnu.org; Thu, 17 Nov 2022 07:27:50 -0500
Received: from lprikler-laptop.ist.intra (gw.ist.tugraz.at [129.27.202.101])
 by mailrelay.tugraz.at (Postfix) with ESMTPSA id 4NCfM11mL2z1LLF5;
 Thu, 17 Nov 2022 13:27:41 +0100 (CET)
DKIM-Filter: OpenDKIM Filter v2.11.0 mailrelay.tugraz.at 4NCfM11mL2z1LLF5
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=tugraz.at;
 s=mailrelay; t=1668688061;
 bh=xG9qvJykxkzHmdOm8zfE+RREZS1Ouxfv14gwqEX0Big=;
 h=Subject:From:To:Date:In-Reply-To:References:From;
 b=u++W9ob1SLslz2TCwO4Qw0nLO6KylcRFIP8v3sxql1hvIi6+pLQLzT4g3xo3dGL0X
 j3K3TZ05Kgay7+MmBQ9gg4Z9p+133XkiSDGWlQARbiJiHFDeND786GQ0iCte5dy1rz
 uXk1kuMGfnorgtMCndl3sggOhEsNjqOGrjkVqGa4=
Message-ID: <5fea7098e0e3a0452d6f99a62a2ece83e93c640e.camel@HIDDEN>
From: Liliana Marie Prikler <liliana.prikler@HIDDEN>
Date: Thu, 17 Nov 2022 13:27:39 +0100
In-Reply-To: <20221116185853.13957-1-antero@HIDDEN>
References: <20221116185853.13957-1-antero@HIDDEN>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: base64
User-Agent: Evolution 3.46.0 
MIME-Version: 1.0
X-TUG-Backscatter-control: waObeELIUl4ypBWmcn/8wQ
X-Spam-Scanner: SpamAssassin 3.003001 
X-Spam-Score-relay: -0.4
X-Scanned-By: MIMEDefang 2.74 on 129.27.10.116
X-Spam-Score: -2.3 (--)
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 (---)

QW0gTWl0dHdvY2gsIGRlbSAxNi4xMS4yMDIyIHVtIDE4OjU4ICswMDAwIHNjaHJpZWIgQW50ZXJv
IE1lanI6Cj4gKiBldGMvY29tbWl0dGVyLnNjbS5pbiAobWFpbilbcGtnLWRpcl06IE5ldyB2YXJp
YWJsZS4KPiAobWFpbik6IFVzZSBpdC4KPiAoZGlmZi1pbmZvKVtwYWNrYWdlLWRpcl06IE5ldyBh
cmd1bWVudC4KPiAoY2hhbmdlLWNvbW1pdC1tZXNzYWdlKVtwYWNrYWdlLWRpcl06IE5ldyBhcmd1
bWVudC4KPiAoYWRkLWNvbW1pdC1tZXNzYWdlKVtwYWNrYWdlLWRpcl06IE5ldyBhcmd1bWVudC4K
PiAocmVtb3ZlLWNvbW1pdC1tZXNzYWdlKVtwYWNrYWdlLWRpcl06IE5ldyBhcmd1bWVudC4KPiAo
Y3VzdG9tLWNvbW1pdC1tZXNzYWdlKVtwYWNrYWdlLWRpcl06IE5ldyBhcmd1bWVudC4KVGhpcyBj
b3VsZCBiZSBzaW1wbGlmaWVkIHRvIChkaWZmLWluZm8sIGNoYW5nZS1jb21taXQtbWVzc2FnZSwg
Li4uKToKSG9ub3VyIHBhY2thZ2UtZGlyLgo+IC0tLQo+IE1ha2UgdGhlIGhhcmQtY29kZWQgImdu
dSIgcGFydCBvZiB0aGUgcGFja2FnZSBkaXJlY3RvcnkgcGF0aCBpbnRvIGEKPiBmbGFnLgo+IFRo
aXMgYWxsb3dzIGNvbW1pdHRlci5zY20gdG8gYmUgdXNlZCBmb3IgY2hhbm5lbHMgd2hlcmUgdGhl
IHBhY2thZ2UKPiBkaXJlY3RvcnkgaXMgbm90ICJnbnUiLgpOb3RlIHRoYXQgaW5zdGVhZCBvZiBm
b3J3YXJkaW5nIGFzIHlvdSBkaWQsIHlvdSBjb3VsZCBhbHNvIG1ha2UKcGFja2FnZS1kaXIgYSBw
YXJhbWV0ZXIgYW5kIChwYXJhbWV0ZXJpemUgKSBpdC4gIFRoaXMgaGFzIHRoZSBhZHZhbnRhZ2UK
dGhhdCB5b3UgZG9uJ3QgbmVlZCB0byBmb3J3YXJkIGl0IGluIHBsYWNlcyB3aGVyZSBpdCdzIG5v
dCBpbW1lZGlhdGVseQpjbGVhciB0byBiZSByZWxldmFudC4KPiAKPiDCoGV0Yy9jb21taXR0ZXIu
c2NtLmluIHwgNDYgKysrKysrKysrKysrKysrKysrKysrKysrKysrLS0tLS0tLS0tLS0tLS0tCj4g
LS0KPiDCoDEgZmlsZSBjaGFuZ2VkLCAyOCBpbnNlcnRpb25zKCspLCAxOCBkZWxldGlvbnMoLSkK
PiAKPiBkaWZmIC0tZ2l0IGEvZXRjL2NvbW1pdHRlci5zY20uaW4gYi9ldGMvY29tbWl0dGVyLnNj
bS5pbgo+IGluZGV4IGU3ZjFjYThjNDUuLjEzMDIxODkxYWEgMTAwNzU1Cj4gLS0tIGEvZXRjL2Nv
bW1pdHRlci5zY20uaW4KPiArKysgYi9ldGMvY29tbWl0dGVyLnNjbS5pbgo+IEBAIC0xMjksNyAr
MTI5LDcgQEAgKGRlZmluZSogKGh1bmstPnBhdGNoIGh1bmsgIzpvcHRpb25hbCAocG9ydAo+IChj
dXJyZW50LW91dHB1dC1wb3J0KSkpCj4gwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIGZpbGUtbmFt
ZSBmaWxlLW5hbWUgZmlsZS1uYW1lIGZpbGUtbmFtZQo+IMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC
oCAoc3RyaW5nLWpvaW4gKGh1bmstZGlmZi1saW5lcyBodW5rKSAiIikpKSkKPiDCoAo+IC0oZGVm
aW5lIChkaWZmLWluZm8pCj4gKyhkZWZpbmUgKGRpZmYtaW5mbyBwYWNrYWdlLWRpcikKPiDCoMKg
ICJSZWFkIHRoZSBkaWZmIGFuZCByZXR1cm4gYSBsaXN0IG9mIDxodW5rPiB2YWx1ZXMuIgo+IMKg
wqAgKGxldCAoKHBvcnQgKG9wZW4tcGlwZSogT1BFTl9SRUFECj4gwqDCoMKgwqDCoMKgwqDCoMKg
wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCAiZ2l0IiAiZGlmZi1maWxlcyIKPiBA
QCAtMTM4LDcgKzEzOCw3IEBAIChkZWZpbmUgKGRpZmYtaW5mbykKPiDCoMKgwqDCoMKgwqDCoMKg
wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIDs7IG5ldyBkZWZpbml0aW9ucyB3
aXRoIGNoYW5nZXMgdG8KPiBleGlzdGluZwo+IMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC
oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgOzsgZGVmaW5pdGlvbnMuCj4gwqDCoMKgwqDCoMKgwqDC
oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCAiLS11bmlmaWVkPTEiCj4gLcKg
wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgICItLSIgImdu
dSIpKSkKPiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg
wqAgIi0tIiBwYWNrYWdlLWRpcikpKQo+IMKgwqDCoMKgIChkZWZpbmUgKGV4dHJhY3QtbGluZS1u
dW1iZXIgbGluZS10YWcpCj4gwqDCoMKgwqDCoMKgIChhYnMgKHN0cmluZy0+bnVtYmVyCj4gwqDC
oMKgwqDCoMKgwqDCoMKgwqDCoMKgIChjYXIgKHN0cmluZy1zcGxpdCBsaW5lLXRhZyAjXCwpKSkp
KQo+IEBAIC0yMjEsNyArMjIxLDggQEAgKGRlZmluZSAobmV3LXNleHAgaHVuaykKPiDCoMKgwqDC
oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgKCsgKGxpbmVzLXRvLWZp
cnN0LWNoYW5nZSBodW5rKQo+IMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg
wqDCoMKgwqDCoMKgwqDCoCAoaHVuay1uZXctbGluZS1udW1iZXIgaHVuaykpKSkpKQo+IMKgCj4g
LShkZWZpbmUqIChjaGFuZ2UtY29tbWl0LW1lc3NhZ2UgZmlsZS1uYW1lIG9sZCBuZXcgIzpvcHRp
b25hbCAocG9ydAo+IChjdXJyZW50LW91dHB1dC1wb3J0KSkpCj4gKyhkZWZpbmUqIChjaGFuZ2Ut
Y29tbWl0LW1lc3NhZ2UgZmlsZS1uYW1lIG9sZCBuZXcgcGFja2FnZS1kaXIKPiArwqDCoMKgwqDC
oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgIzpv
cHRpb25hbCAocG9ydCAoY3VycmVudC1vdXRwdXQtCj4gcG9ydCkpKQo+IMKgwqAgIlByaW50IENo
YW5nZUxvZyBjb21taXQgbWVzc2FnZSBmb3IgY2hhbmdlcyBiZXR3ZWVuIE9MRCBhbmQgTkVXLiIK
PiDCoMKgIChkZWZpbmUgKGdldC12YWx1ZXMgZXhwciBmaWVsZCkKPiDCoMKgwqDCoCAobWF0Y2gg
KCh4cGF0aDpzeHBhdGggYCgvLyAsZmllbGQgcXVhc2lxdW90ZSAqKSkgZXhwcikKPiBAQCAtMjQ3
LDggKzI0OCw4IEBAIChkZWZpbmUgdmVyc2lvbgo+IMKgwqDCoMKgIChhbmQ9PiAoKHhwYXRoOnN4
cGF0aCAnKC8vIHZlcnNpb24gKmFueSopKSBuZXcpCj4gwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBm
aXJzdCkpCj4gwqDCoCAoZm9ybWF0IHBvcnQKPiAtwqDCoMKgwqDCoMKgwqDCoMKgICJnbnU6IH5h
OiBVcGRhdGUgdG8gfmEufiV+JSogfmEgKH5hKTogVXBkYXRlIHRvIH5hLn4lIgo+IC3CoMKgwqDC
oMKgwqDCoMKgwqAgdmFyaWFibGUtbmFtZSB2ZXJzaW9uIGZpbGUtbmFtZSB2YXJpYWJsZS1uYW1l
IHZlcnNpb24pCj4gK8KgwqDCoMKgwqDCoMKgwqDCoCAifmE6IH5hOiBVcGRhdGUgdG8gfmEufiV+
JSogfmEgKH5hKTogVXBkYXRlIHRvIH5hLn4lIgo+ICvCoMKgwqDCoMKgwqDCoMKgwqAgcGFja2Fn
ZS1kaXIgdmFyaWFibGUtbmFtZSB2ZXJzaW9uIGZpbGUtbmFtZSB2YXJpYWJsZS1uYW1lCj4gdmVy
c2lvbikKPiDCoMKgIChmb3ItZWFjaCAobGFtYmRhIChmaWVsZCkKPiDCoMKgwqDCoMKgwqDCoMKg
wqDCoMKgwqDCoMKgIChsZXQgKChvbGQtdmFsdWVzIChnZXQtdmFsdWVzIG9sZCBmaWVsZCkpCj4g
wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCAobmV3LXZhbHVlcyAoZ2V0
LXZhbHVlcyBuZXcgZmllbGQpKSkKPiBAQCAtMjcyLDIxICsyNzMsMjIgQEAgKGRlZmluZSB2ZXJz
aW9uCj4gwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC
oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIChsaXN0aWZ5IGFkZGVkKSkpKSkpKSkp
KQo+IMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCAnKGlucHV0cyBwcm9wYWdhdGVkLWlucHV0cyBu
YXRpdmUtaW5wdXRzKSkpCj4gwqAKPiAtKGRlZmluZSogKGFkZC1jb21taXQtbWVzc2FnZSBmaWxl
LW5hbWUgdmFyaWFibGUtbmFtZQo+ICsoZGVmaW5lKiAoYWRkLWNvbW1pdC1tZXNzYWdlIGZpbGUt
bmFtZSB2YXJpYWJsZS1uYW1lIHBhY2thZ2UtZGlyCj4gwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg
wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCAjOm9wdGlvbmFsIChwb3J0IChjdXJy
ZW50LW91dHB1dC0KPiBwb3J0KSkpCj4gwqDCoCAiUHJpbnQgQ2hhbmdlTG9nIGNvbW1pdCBtZXNz
YWdlIGZvciBhIGNoYW5nZSB0byBGSUxFLU5BTUUgYWRkaW5nIGEKPiDCoGRlZmluaXRpb24uIgo+
IC3CoCAoZm9ybWF0IHBvcnQgImdudTogQWRkIH5hLn4lfiUqIH5hICh+YSk6IE5ldyB2YXJpYWJs
ZS5+JSIKPiAtwqDCoMKgwqDCoMKgwqDCoMKgIHZhcmlhYmxlLW5hbWUgZmlsZS1uYW1lIHZhcmlh
YmxlLW5hbWUpKQo+ICvCoCAoZm9ybWF0IHBvcnQgIn5hOiBBZGQgfmEufiV+JSogfmEgKH5hKTog
TmV3IHZhcmlhYmxlLn4lIgo+ICvCoMKgwqDCoMKgwqDCoMKgwqAgcGFja2FnZS1kaXIgdmFyaWFi
bGUtbmFtZSBmaWxlLW5hbWUgdmFyaWFibGUtbmFtZSkpCj4gwqAKPiAtKGRlZmluZSogKHJlbW92
ZS1jb21taXQtbWVzc2FnZSBmaWxlLW5hbWUgdmFyaWFibGUtbmFtZQo+ICsoZGVmaW5lKiAocmVt
b3ZlLWNvbW1pdC1tZXNzYWdlIGZpbGUtbmFtZSB2YXJpYWJsZS1uYW1lIHBhY2thZ2UtZGlyCj4g
wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC
oMKgwqDCoCAjOm9wdGlvbmFsIChwb3J0IChjdXJyZW50LW91dHB1dC0KPiBwb3J0KSkpCj4gwqDC
oCAiUHJpbnQgQ2hhbmdlTG9nIGNvbW1pdCBtZXNzYWdlIGZvciBhIGNoYW5nZSB0byBGSUxFLU5B
TUUgcmVtb3ZpbmcKPiBhCj4gwqBkZWZpbml0aW9uLiIKPiAtwqAgKGZvcm1hdCBwb3J0ICJnbnU6
IFJlbW92ZSB+YS5+JX4lKiB+YSAofmEpOiBEZWxldGUgdmFyaWFibGUufiUiCj4gLcKgwqDCoMKg
wqDCoMKgwqDCoCB2YXJpYWJsZS1uYW1lIGZpbGUtbmFtZSB2YXJpYWJsZS1uYW1lKSkKPiArwqAg
KGZvcm1hdCBwb3J0ICJ+YTogUmVtb3ZlIH5hLn4lfiUqIH5hICh+YSk6IERlbGV0ZSB2YXJpYWJs
ZS5+JSIKPiArwqDCoMKgwqDCoMKgwqDCoMKgIHBhY2thZ2UtZGlyIHZhcmlhYmxlLW5hbWUgZmls
ZS1uYW1lIHZhcmlhYmxlLW5hbWUpKQo+IMKgCj4gwqAoZGVmaW5lKiAoY3VzdG9tLWNvbW1pdC1t
ZXNzYWdlIGZpbGUtbmFtZSB2YXJpYWJsZS1uYW1lIG1lc3NhZ2UKPiBjaGFuZ2Vsb2cKPiArwqDC
oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg
wqAgcGFja2FnZS1kaXIKPiDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg
wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgICM6b3B0aW9uYWwgKHBvcnQgKGN1cnJlbnQtb3V0cHV0
LQo+IHBvcnQpKSkKPiDCoMKgICJQcmludCBjdXN0b20gY29tbWl0IG1lc3NhZ2UgZm9yIGEgY2hh
bmdlIHRvIFZBUklBQkxFLU5BTUUgaW4KPiBGSUxFLU5BTUUsIHVzaW5nCj4gwqBNRVNTQUdFIGFz
IHRoZSBjb21taXQgbWVzc2FnZSBhbmQgQ0hBTkdFTE9HIGFzIHRoZSBib2R5IG9mIHRoZQo+IENo
YW5nZUxvZwo+IEBAIC0zMDEsNyArMzAzLDcgQEAgKGRlZmluZSAoY2hhbmdlbG9nLWhhcy1sb2Nh
dGlvbj8gY2hhbmdlbG9nKQo+IMKgCj4gwqDCoCAobGV0KiAoKG1lc3NhZ2UgKHRyaW0gbWVzc2Fn
ZSkpCj4gwqDCoMKgwqDCoMKgwqDCoMKgIChjaGFuZ2Vsb2cgKGlmIGNoYW5nZWxvZyAodHJpbSBj
aGFuZ2Vsb2cpIG1lc3NhZ2UpKQo+IC3CoMKgwqDCoMKgwqDCoMKgIChtZXNzYWdlL2YgKGZvcm1h
dCAjZiAiZ251OiB+YTogfmEuIiB2YXJpYWJsZS1uYW1lCj4gbWVzc2FnZSkpCj4gK8KgwqDCoMKg
wqDCoMKgwqAgKG1lc3NhZ2UvZiAoZm9ybWF0ICNmICJ+YTogfmE6IH5hLiIgcGFja2FnZS1kaXIg
dmFyaWFibGUtCj4gbmFtZSBtZXNzYWdlKSkKPiDCoMKgwqDCoMKgwqDCoMKgwqAgKGNoYW5nZWxv
Zy9mIChpZiAoY2hhbmdlbG9nLWhhcy1sb2NhdGlvbj8gY2hhbmdlbG9nKQo+IMKgwqDCoMKgwqDC
oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgKGZvcm1hdCAjZiAiKiB+
YSAofmEpfmEuIgo+IMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg
wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIGZpbGUtbmFtZSB2YXJpYWJsZS1uYW1lIGNoYW5nZWxv
ZykKWW91J3JlIHJlcGVhdGluZyB0aGUgc2FtZSB3b3JrIHdpdGggZWFjaCBtZXNzYWdlIHN0eWxl
LiAgSU1ITyBpdCB3b3VsZAptYWtlIG1vcmUgc2Vuc2UgdG8gaGF2ZSBhIHByb2NlZHVyZSBvciBz
eW50YXggdGhhdCBwcmVwZW5kcyBpdCBpbnN0ZWFkLgo+IEBAIC0zNDksMTYgKzM1MSwyMyBAQCAo
ZGVmaW5lIChuZXcrb2xkK2h1bmtzIGh1bmtzKQo+IMKgKGRlZmluZSAlZGVsYXkgMTAwMCkKPiDC
oAo+IMKgKGRlZmluZSAobWFpbiAuIGFyZ3MpCj4gK8KgIChkZWZpbmUgcGtnLWRpcgo+ICvCoMKg
wqAgKG1hdGNoIGFyZ3MKPiArwqDCoMKgwqDCoCAoKCItLXBhY2thZ2UtZGlyZWN0b3J5IiBwa2ct
ZGlyIC4uLikKPiArwqDCoMKgwqDCoMKgIChiZWdpbiAoc2V0ISBhcmdzIChjZGRyIGFyZ3MpKQo+
ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCAoY2FyIHBrZy1kaXIpKSkKPiArwqDCoMKgwqDC
oCAoXyAiZ251IikpKQo+ICsKVXNpbmcgYSBwcm9wZXIgb3B0aW9uIGdyYW1tYXIgaW4gY29tYmlu
YXRpb24gd2l0aCBnZXRvcHQtbG9uZyBpcwpwcm9iYWJseSBhIGJldHRlciBpZGVhIDspCj4gwqDC
oCAoZGVmaW5lKiAoY2hhbmdlLWNvbW1pdC1tZXNzYWdlKiBmaWxlLW5hbWUgb2xkIG5ldyAjOnJl
c3QgcmVzdCkKPiDCoMKgwqDCoCAobGV0ICgoY2hhbmdlbG9nICNmKSkKPiDCoMKgwqDCoMKgwqAg
KG1hdGNoIGFyZ3MKPiDCoMKgwqDCoMKgwqDCoMKgICgob3IgKG1lc3NhZ2UgY2hhbmdlbG9nKSAo
bWVzc2FnZSkpCj4gwqDCoMKgwqDCoMKgwqDCoMKgIChhcHBseSBjdXN0b20tY29tbWl0LW1lc3Nh
Z2UKPiAtwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIGZpbGUtbmFtZSAoc2Vjb25kIG9s
ZCkgbWVzc2FnZSBjaGFuZ2Vsb2cgcmVzdCkpCj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg
wqDCoCBmaWxlLW5hbWUgKHNlY29uZCBvbGQpIG1lc3NhZ2UgY2hhbmdlbG9nIHBrZy1kaXIKPiBy
ZXN0KSkKPiDCoMKgwqDCoMKgwqDCoMKgIChfCj4gLcKgwqDCoMKgwqDCoMKgwqAgKGFwcGx5IGNo
YW5nZS1jb21taXQtbWVzc2FnZSBmaWxlLW5hbWUgb2xkIG5ldyByZXN0KSkpKSkKPiArwqDCoMKg
wqDCoMKgwqDCoCAoYXBwbHkgY2hhbmdlLWNvbW1pdC1tZXNzYWdlIGZpbGUtbmFtZSBvbGQgbmV3
IHBrZy1kaXIKPiByZXN0KSkpKSkKPiDCoAo+IC3CoCAobWF0Y2ggKGRpZmYtaW5mbykKPiArwqAg
KG1hdGNoIChkaWZmLWluZm8gcGtnLWRpcikKPiDCoMKgwqDCoCAoKCkKPiDCoMKgwqDCoMKgIChk
aXNwbGF5ICJOb3RoaW5nIHRvIGJlIGRvbmUuXG4iIChjdXJyZW50LWVycm9yLXBvcnQpKSkKPiDC
oMKgwqDCoCAoaHVua3MKPiBAQCAtMzczLDcgKzM4Miw3IEBAIChkZWZpbmUqIChjaGFuZ2UtY29t
bWl0LW1lc3NhZ2UqIGZpbGUtbmFtZSBvbGQKPiBuZXcgIzpyZXN0IHJlc3QpCj4gwqDCoMKgwqDC
oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIChjb21taXQtbWVzc2FnZS1wcm9jICht
YXRjaCAoaHVuay10eXBlIGh1bmspCj4gwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC
oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCAo
J2FkZGl0aW9uIGFkZC1jb21taXQtCj4gbWVzc2FnZSkKPiDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg
wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC
oMKgwqDCoMKgICgncmVtb3ZhbCByZW1vdmUtY29tbWl0LQo+IG1lc3NhZ2UpKSkpCj4gLcKgwqDC
oMKgwqDCoMKgwqDCoMKgwqAgKGNvbW1pdC1tZXNzYWdlLXByb2MgKGh1bmstZmlsZS1uYW1lIGh1
bmspIHZhcmlhYmxlLQo+IG5hbWUpCj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqAgKGNvbW1pdC1t
ZXNzYWdlLXByb2MgKGh1bmstZmlsZS1uYW1lIGh1bmspIHZhcmlhYmxlLW5hbWUKPiBwa2ctZGly
KQo+IMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCAobGV0ICgocG9ydCAob3Blbi1waXBlKiBPUEVO
X1dSSVRFCj4gwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg
wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgICJnaXQiICJhcHBseSIKPiDCoMKgwqDCoMKgwqDCoMKg
wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAg
Ii0tY2FjaGVkIgo+IEBAIC0zODMsNyArMzkyLDggQEAgKGRlZmluZSogKGNoYW5nZS1jb21taXQt
bWVzc2FnZSogZmlsZS1uYW1lIG9sZAo+IG5ldyAjOnJlc3QgcmVzdCkKPiDCoMKgwqDCoMKgwqDC
oMKgwqDCoMKgwqDCoMKgwqDCoCAoZXJyb3IgIkNhbm5vdCBhcHBseSIpKSkKPiDCoAo+IMKgwqDC
oMKgwqDCoMKgwqDCoMKgwqDCoCAobGV0ICgocG9ydCAob3Blbi1waXBlKiBPUEVOX1dSSVRFICJn
aXQiICJjb21taXQiICItRiIKPiAiLSIpKSkKPiAtwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAg
KGNvbW1pdC1tZXNzYWdlLXByb2MgKGh1bmstZmlsZS1uYW1lIGh1bmspIHZhcmlhYmxlLQo+IG5h
bWUgcG9ydCkKPiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgKGNvbW1pdC1tZXNzYWdlLXBy
b2MgKGh1bmstZmlsZS1uYW1lIGh1bmspIHZhcmlhYmxlLQo+IG5hbWUgcGtnLWRpcgo+ICvCoMKg
wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC
oMKgwqDCoCBwb3J0KQo+IMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgKHVzbGVlcCAlZGVs
YXkpCj4gwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCAodW5sZXNzIChlcXY/IDAgKHN0YXR1
czpleGl0LXZhbCAoY2xvc2UtcGlwZSBwb3J0KSkpCj4gwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg
wqDCoMKgwqAgKGVycm9yICJDYW5ub3QgY29tbWl0IikpKSkKPiBAQCAtNDIzLDYgKzQzMyw2IEBA
IChkZWZpbmUgY29weXJpZ2h0LWxpbmUKPiDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAg
KGVycm9yICJDYW5ub3QgY29tbWl0IikpKSkpKSkKPiDCoMKgwqDCoMKgwqAgOzsgWFhYOiB3ZSBy
ZWNvbXB1dGUgdGhlIGh1bmtzIGhlcmUgYmVjYXVzZSBwcmV2aW91cwo+IMKgwqDCoMKgwqDCoCA7
OyBpbnNlcnRpb25zIGxlYWQgdG8gb2Zmc2V0cy4KPiAtwqDCoMKgwqDCoCAobmV3K29sZCtodW5r
cyAoZGlmZi1pbmZvKSkpKSkpCj4gK8KgwqDCoMKgwqAgKG5ldytvbGQraHVua3MgKGRpZmYtaW5m
byBwa2ctZGlyKSkpKSkpCj4gwqAKPiDCoChhcHBseSBtYWluIChjZHIgKGNvbW1hbmQtbGluZSkp
KQpDaGVlcnMKCg==





Message sent to guix-patches@HIDDEN:


X-Loop: help-debbugs@HIDDEN
Subject: [bug#59318] [PATCH] etc: committer: Add --package-directory flag.
Resent-From: Maxim Cournoyer <maxim.cournoyer@HIDDEN>
Original-Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
Resent-CC: guix-patches@HIDDEN
Resent-Date: Tue, 21 Mar 2023 13:09:02 +0000
Resent-Message-ID: <handler.59318.B59318.167940410824429 <at> debbugs.gnu.org>
Resent-Sender: help-debbugs@HIDDEN
X-GNU-PR-Message: followup 59318
X-GNU-PR-Package: guix-patches
X-GNU-PR-Keywords: patch
To: Liliana Marie Prikler <liliana.prikler@HIDDEN>
Cc: 59318 <at> debbugs.gnu.org, Antero Mejr <antero@HIDDEN>
Received: via spool by 59318-submit <at> debbugs.gnu.org id=B59318.167940410824429
          (code B ref 59318); Tue, 21 Mar 2023 13:09:02 +0000
Received: (at 59318) by debbugs.gnu.org; 21 Mar 2023 13:08:28 +0000
Received: from localhost ([127.0.0.1]:57888 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1pebj1-0006Lw-6o
	for submit <at> debbugs.gnu.org; Tue, 21 Mar 2023 09:08:27 -0400
Received: from mail-qv1-f45.google.com ([209.85.219.45]:33446)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <maxim.cournoyer@HIDDEN>) id 1pebiz-0006Lg-4k
 for 59318 <at> debbugs.gnu.org; Tue, 21 Mar 2023 09:08:26 -0400
Received: by mail-qv1-f45.google.com with SMTP id m6so9837548qvq.0
 for <59318 <at> debbugs.gnu.org>; Tue, 21 Mar 2023 06:08:25 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=gmail.com; s=20210112; t=1679404099;
 h=content-transfer-encoding:mime-version:user-agent:message-id
 :in-reply-to:date:references:subject:cc:to:from:from:to:cc:subject
 :date:message-id:reply-to;
 bh=2K7wBn55qDy2k3cxshcNU62B4Ik9XzVwFf9HX79WUIQ=;
 b=jF0tfEVfaKdX1CJMLBPmdZa7MCCks6ZnWOPRk3Nih3lQkUSPrfXWET9rrIfjaLFmCd
 D0dxwkGivzwTlmnHlHCFfc+45dMXomhjk1YzzZfgfc8xTdoIYayR2tLV5LL6lP0rJOil
 +V4kWC4GCxGzIJFDuse9LvPWqh4hQ6oxRGkvdXbmMKDQc1IUHNgwvj4bmGD50uQCxf+1
 aW/BRHBJ7lWOlP24LflZC7BYSpkJzpNUvO08oJfEKJPRPc67Qd43EDL1p5nDJAMhXT5c
 ncb1/KdrzoJnMxpz4QFREhYl78JnSo3stSp3ZAdQIjrvhVfYzC1VXRWm41Ifln4eAl29
 GWfQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=1e100.net; s=20210112; t=1679404099;
 h=content-transfer-encoding:mime-version:user-agent:message-id
 :in-reply-to:date:references:subject:cc:to:from:x-gm-message-state
 :from:to:cc:subject:date:message-id:reply-to;
 bh=2K7wBn55qDy2k3cxshcNU62B4Ik9XzVwFf9HX79WUIQ=;
 b=aLgdpIhawWtI+XB4U8y7QucSFzrZg5LLk7iII/2GnHgmwf0bALMzgB3rQttUGYmRF1
 F+z8+MxAV4QTz0gDkrX4PN6+t4AavT4CeiLyYX+y+WtcKupszRC/x0LRKV5F29otBGTW
 8AvR6MaVQJOVq4Zbheqlrb6azi+rivngr1Hy8zpu6BPI8ShIFV0ttozohawYJNQeAtPQ
 zyBXpZ32A1GNK9V1jNnrLiIgnDrJYcnRB4xhmGmDzIE9GGJBYqZYqCjPDrbKRSHHyiwt
 FRiOeKVV2fVj90ikFIUDlGT+64OrKKK55yqfkL/ccIAfp0LK8W+xconMk9QGF1tq5apk
 ewlA==
X-Gm-Message-State: AO0yUKUcj7RtJz2vyFHksvGjQg39LdobuP6WZ0p567EYCME5jpX7uvGR
 gFKGydRNrz3ffTyn8xXk/MCkbhA/Xq9TUA==
X-Google-Smtp-Source: AK7set9L/6n82Jsh1H2V+2bSUvwWkP9zudxmpzMsEcEFINSNCdGp4e+9Gv501BLEWiZZQ3hytSWQpA==
X-Received: by 2002:a05:6214:d64:b0:5ac:b644:b4c5 with SMTP id
 4-20020a0562140d6400b005acb644b4c5mr4273489qvs.47.1679404099284; 
 Tue, 21 Mar 2023 06:08:19 -0700 (PDT)
Received: from hurd (dsl-10-130-195.b2b2c.ca. [72.10.130.195])
 by smtp.gmail.com with ESMTPSA id
 v20-20020ac873d4000000b003b86b088755sm8364855qtp.15.2023.03.21.06.08.18
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Tue, 21 Mar 2023 06:08:19 -0700 (PDT)
From: Maxim Cournoyer <maxim.cournoyer@HIDDEN>
References: <20221116185853.13957-1-antero@HIDDEN>
 <5fea7098e0e3a0452d6f99a62a2ece83e93c640e.camel@HIDDEN>
Date: Tue, 21 Mar 2023 09:08:17 -0400
In-Reply-To: <5fea7098e0e3a0452d6f99a62a2ece83e93c640e.camel@HIDDEN>
 (Liliana Marie Prikler's message of "Thu, 17 Nov 2022 13:27:39 +0100")
Message-ID: <87a606s14u.fsf_-_@HIDDEN>
User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/28.2 (gnu/linux)
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: quoted-printable
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 (-)

Hello Antero,

Liliana Marie Prikler <liliana.prikler@HIDDEN> writes:

> Am Mittwoch, dem 16.11.2022 um 18:58 +0000 schrieb Antero Mejr:
>> * etc/committer.scm.in (main)[pkg-dir]: New variable.
>> (main): Use it.
>> (diff-info)[package-dir]: New argument.
>> (change-commit-message)[package-dir]: New argument.
>> (add-commit-message)[package-dir]: New argument.
>> (remove-commit-message)[package-dir]: New argument.
>> (custom-commit-message)[package-dir]: New argument.
> This could be simplified to (diff-info, change-commit-message, ...):
> Honour package-dir.
>> ---
>> Make the hard-coded "gnu" part of the package directory path into a
>> flag.
>> This allows committer.scm to be used for channels where the package
>> directory is not "gnu".
> Note that instead of forwarding as you did, you could also make
> package-dir a parameter and (parameterize ) it.  This has the advantage
> that you don't need to forward it in places where it's not immediately
> clear to be relevant.
>>=20
>> =C2=A0etc/committer.scm.in | 46 +++++++++++++++++++++++++++-------------=
--
>> --
>> =C2=A01 file changed, 28 insertions(+), 18 deletions(-)
>>=20
>> diff --git a/etc/committer.scm.in b/etc/committer.scm.in
>> index e7f1ca8c45..13021891aa 100755
>> --- a/etc/committer.scm.in
>> +++ b/etc/committer.scm.in
>> @@ -129,7 +129,7 @@ (define* (hunk->patch hunk #:optional (port
>> (current-output-port)))
>> =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=
 file-name file-name file-name file-name
>> =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=
 (string-join (hunk-diff-lines hunk) ""))))
>> =C2=A0
>> -(define (diff-info)
>> +(define (diff-info package-dir)
>> =C2=A0=C2=A0 "Read the diff and return a list of <hunk> values."
>> =C2=A0=C2=A0 (let ((port (open-pipe* OPEN_READ
>> =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=
=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0 "git" "diff-files"
>> @@ -138,7 +138,7 @@ (define (diff-info)
>> =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=
=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0 ;; new definitions with changes to
>> existing
>> =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=
=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0 ;; definitions.
>> =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=
=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0 "--unified=3D1"
>> -=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=
=C2=A0 "--" "gnu")))
>> +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=
=C2=A0 "--" package-dir)))
>> =C2=A0=C2=A0=C2=A0=C2=A0 (define (extract-line-number line-tag)
>> =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 (abs (string->number
>> =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=
 (car (string-split line-tag #\,)))))
>> @@ -221,7 +221,8 @@ (define (new-sexp hunk)
>> =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=
=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 (+=
 (lines-to-first-change hunk)
>> =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=
=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0=C2=A0 (hunk-new-line-number hunk))))))
>> =C2=A0
>> -(define* (change-commit-message file-name old new #:optional (port
>> (current-output-port)))
>> +(define* (change-commit-message file-name old new package-dir
>> +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=
=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 #:optional (port (current-output-
>> port)))
>> =C2=A0=C2=A0 "Print ChangeLog commit message for changes between OLD and=
 NEW."
>> =C2=A0=C2=A0 (define (get-values expr field)
>> =C2=A0=C2=A0=C2=A0=C2=A0 (match ((xpath:sxpath `(// ,field quasiquote *)=
) expr)
>> @@ -247,8 +248,8 @@ (define version
>> =C2=A0=C2=A0=C2=A0=C2=A0 (and=3D> ((xpath:sxpath '(// version *any*)) ne=
w)
>> =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 first=
))
>> =C2=A0=C2=A0 (format port
>> -=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 "gnu: ~a: Update=
 to ~a.~%~%* ~a (~a): Update to ~a.~%"
>> -=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 variable-name ve=
rsion file-name variable-name version)
>> +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 "~a: ~a: Update =
to ~a.~%~%* ~a (~a): Update to ~a.~%"
>> +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 package-dir vari=
able-name version file-name variable-name
>> version)
>> =C2=A0=C2=A0 (for-each (lambda (field)
>> =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=
=C2=A0=C2=A0 (let ((old-values (get-values old field))
>> =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=
=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 (new-values (get-values ne=
w field)))
>> @@ -272,21 +273,22 @@ (define version
>> =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=
=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=
=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 (listify added))))))))))
>> =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=
 '(inputs propagated-inputs native-inputs)))
>> =C2=A0
>> -(define* (add-commit-message file-name variable-name
>> +(define* (add-commit-message file-name variable-name package-dir
>> =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=
=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0=C2=A0=C2=A0=C2=A0 #:optional (port (current-output-
>> port)))
>> =C2=A0=C2=A0 "Print ChangeLog commit message for a change to FILE-NAME a=
dding a
>> =C2=A0definition."
>> -=C2=A0 (format port "gnu: Add ~a.~%~%* ~a (~a): New variable.~%"
>> -=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 variable-name fi=
le-name variable-name))
>> +=C2=A0 (format port "~a: Add ~a.~%~%* ~a (~a): New variable.~%"
>> +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 package-dir vari=
able-name file-name variable-name))
>> =C2=A0
>> -(define* (remove-commit-message file-name variable-name
>> +(define* (remove-commit-message file-name variable-name package-dir
>> =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=
=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 #:optional (port (current-out=
put-
>> port)))
>> =C2=A0=C2=A0 "Print ChangeLog commit message for a change to FILE-NAME r=
emoving
>> a
>> =C2=A0definition."
>> -=C2=A0 (format port "gnu: Remove ~a.~%~%* ~a (~a): Delete variable.~%"
>> -=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 variable-name fi=
le-name variable-name))
>> +=C2=A0 (format port "~a: Remove ~a.~%~%* ~a (~a): Delete variable.~%"
>> +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 package-dir vari=
able-name file-name variable-name))
>> =C2=A0
>> =C2=A0(define* (custom-commit-message file-name variable-name message
>> changelog
>> +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=
=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 package-dir
>> =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=
=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 #:optional (port (current-out=
put-
>> port)))
>> =C2=A0=C2=A0 "Print custom commit message for a change to VARIABLE-NAME =
in
>> FILE-NAME, using
>> =C2=A0MESSAGE as the commit message and CHANGELOG as the body of the
>> ChangeLog
>> @@ -301,7 +303,7 @@ (define (changelog-has-location? changelog)
>> =C2=A0
>> =C2=A0=C2=A0 (let* ((message (trim message))
>> =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 (changelog (if ch=
angelog (trim changelog) message))
>> -=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 (message/f (format #f =
"gnu: ~a: ~a." variable-name
>> message))
>> +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 (message/f (format #f =
"~a: ~a: ~a." package-dir variable-
>> name message))
>> =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 (changelog/f (if =
(changelog-has-location? changelog)
>> =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=
=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0 (format #f "* ~a (~a)~a."
>> =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=
=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 file-name variabl=
e-name changelog)
> You're repeating the same work with each message style.  IMHO it would
> make more sense to have a procedure or syntax that prepends it instead.
>> @@ -349,16 +351,23 @@ (define (new+old+hunks hunks)
>> =C2=A0(define %delay 1000)
>> =C2=A0
>> =C2=A0(define (main . args)
>> +=C2=A0 (define pkg-dir
>> +=C2=A0=C2=A0=C2=A0 (match args
>> +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 (("--package-directory" pkg-dir ...)
>> +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 (begin (set! args (cddr args))
>> +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0 (car pkg-dir)))
>> +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 (_ "gnu")))
>> +
> Using a proper option grammar in combination with getopt-long is
> probably a better idea ;)
>> =C2=A0=C2=A0 (define* (change-commit-message* file-name old new #:rest r=
est)
>> =C2=A0=C2=A0=C2=A0=C2=A0 (let ((changelog #f))
>> =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 (match args
>> =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 ((or (message changelog=
) (message))
>> =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 (apply custom-com=
mit-message
>> -=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0=C2=A0=C2=A0 file-name (second old) message changelog rest))
>> +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0=C2=A0=C2=A0 file-name (second old) message changelog pkg-dir
>> rest))
>> =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 (_
>> -=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 (apply change-commit-m=
essage file-name old new rest)))))
>> +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 (apply change-commit-m=
essage file-name old new pkg-dir
>> rest)))))
>> =C2=A0
>> -=C2=A0 (match (diff-info)
>> +=C2=A0 (match (diff-info pkg-dir)
>> =C2=A0=C2=A0=C2=A0=C2=A0 (()
>> =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 (display "Nothing to be done.\n" (current=
-error-port)))
>> =C2=A0=C2=A0=C2=A0=C2=A0 (hunks
>> @@ -373,7 +382,7 @@ (define* (change-commit-message* file-name old
>> new #:rest rest)
>> =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=
=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 (commit-message-proc=
 (match (hunk-type hunk)
>> =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=
=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=
=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 ('addition add-commit-
>> message)
>> =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=
=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=
=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 ('removal remove-commit-
>> message))))
>> -=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 (com=
mit-message-proc (hunk-file-name hunk) variable-
>> name)
>> +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 (com=
mit-message-proc (hunk-file-name hunk) variable-name
>> pkg-dir)
>> =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=
 (let ((port (open-pipe* OPEN_WRITE
>> =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=
=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 "git"=
 "apply"
>> =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=
=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 "--ca=
ched"
>> @@ -383,7 +392,8 @@ (define* (change-commit-message* file-name old
>> new #:rest rest)
>> =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=
=C2=A0=C2=A0=C2=A0=C2=A0 (error "Cannot apply")))
>> =C2=A0
>> =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=
 (let ((port (open-pipe* OPEN_WRITE "git" "commit" "-F"
>> "-")))
>> -=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0 (commit-message-proc (hunk-file-name hunk) variable-
>> name port)
>> +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0 (commit-message-proc (hunk-file-name hunk) variable-
>> name pkg-dir
>> +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=
=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 port)
>> =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=
=C2=A0=C2=A0 (usleep %delay)
>> =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=
=C2=A0=C2=A0 (unless (eqv? 0 (status:exit-val (close-pipe port)))
>> =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=
=C2=A0=C2=A0=C2=A0=C2=A0 (error "Cannot commit"))))
>> @@ -423,6 +433,6 @@ (define copyright-line
>> =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=
=C2=A0=C2=A0=C2=A0 (error "Cannot commit")))))))
>> =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 ;; XXX: we recompute the hunks here=
 because previous
>> =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 ;; insertions lead to offsets.
>> -=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 (new+old+hunks (diff-info))))))
>> +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 (new+old+hunks (diff-info pkg-dir))))))
>> =C2=A0
>> =C2=A0(apply main (cdr (command-line)))
> Cheers

Gentle ping :-).  Could you please address the above review comments and
send a v2?

--=20
Thanks,
Maxim




Message received at control <at> debbugs.gnu.org:


Received: (at control) by debbugs.gnu.org; 21 Mar 2023 13:08:31 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Tue Mar 21 09:08:31 2023
Received: from localhost ([127.0.0.1]:57891 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1pebj5-0006MB-2E
	for submit <at> debbugs.gnu.org; Tue, 21 Mar 2023 09:08:31 -0400
Received: from mail-qt1-f181.google.com ([209.85.160.181]:43615)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <maxim.cournoyer@HIDDEN>) id 1pebj4-0006Lo-4M
 for control <at> debbugs.gnu.org; Tue, 21 Mar 2023 09:08:30 -0400
Received: by mail-qt1-f181.google.com with SMTP id c10so6471219qtj.10
 for <control <at> debbugs.gnu.org>; Tue, 21 Mar 2023 06:08:30 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=gmail.com; s=20210112; t=1679404104;
 h=subject:from:to:message-id:date:from:to:cc:subject:date:message-id
 :reply-to; bh=VGIIMMM+WNOHP9PB7p2m2sAQPvypOs+bnsW7EE5pS/I=;
 b=plFMlyljs8chIUHXBQCwq3Cm4pxdA2c0hsG1MpdPMlN4/nKrmu0QCU3JJRWDFHRCJE
 lUDXLFlqL6K/61ZdqPmTX5JBWbak9W7a0jNaXEB0JD7Pgr0IF7EYE/W91uXl++QxoXOA
 MtNEKmvlldSsXgvHzlwwv+2UvclcCXgTOz0rOE6R3S4+MuqxRGpufWEtptFtng7CZl2S
 st3GZO18rUd5VuF4w82IQwRuipdLCD22/8uEAFb8viMOYjDLJam1gP+3GXygsJANAHUy
 dcDk6MzOSoSaErGF5mJfa83ncD4bEmVu957/XAeD+KV/Sanq8l1bqGhiLRExsgybZXpp
 KEwQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=1e100.net; s=20210112; t=1679404104;
 h=subject:from:to:message-id:date:x-gm-message-state:from:to:cc
 :subject:date:message-id:reply-to;
 bh=VGIIMMM+WNOHP9PB7p2m2sAQPvypOs+bnsW7EE5pS/I=;
 b=2QrZKGSwyhHT6j0Hv7AfNBFuZ66YSBmqgHscweSGSt7XADZl17mua24B6w89wSdG8r
 8WpnlV0Cn+pLotKkIDvRf1AhOhX1/hT48772zKXQq01nDyxsjplPw/HxdUxttfdXMINV
 gQQqnw+QaGC15mowAiJgZEQQg4sUWRs+axlITy2KdYZ2tA6fIypkNUbeXuEFNlTP140X
 JKay0De470575Ho6yebXcZDTt5YYKxsIho72Vuele81tYo3aQ22CYQQ6FKSM/MIZu3Yp
 gQKYNuXCq2yhgX3cZUwY6arM5BdDQu4uef5/+iE1NE9vZckZLR4p+97pR8cDOPPnqIVr
 bP8A==
X-Gm-Message-State: AO0yUKUQva6Tqw1910lMRuNcIj5XDhrW5QSXjpNpKFYfb7upKBVKVuWW
 Hi0aN3qnQPb2zPnhYdS5iuV0jW+mxBYRow==
X-Google-Smtp-Source: AK7set9H8gBoxuOH6lz2GQaO0XBzEh8uP39d0dMrWjKwWFHVTphNllJt5oFmgqah9c8dkBm8ZU+Bsw==
X-Received: by 2002:a05:622a:1a25:b0:3e3:7d85:1520 with SMTP id
 f37-20020a05622a1a2500b003e37d851520mr3949468qtb.49.1679404104581; 
 Tue, 21 Mar 2023 06:08:24 -0700 (PDT)
Received: from hurd (dsl-10-130-195.b2b2c.ca. [72.10.130.195])
 by smtp.gmail.com with ESMTPSA id
 v26-20020ac8729a000000b003e2e919bcf7sm2651273qto.78.2023.03.21.06.08.23
 for <control <at> debbugs.gnu.org>
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Tue, 21 Mar 2023 06:08:24 -0700 (PDT)
Date: Tue, 21 Mar 2023 09:08:23 -0400
Message-Id: <878rfqs14o.fsf@HIDDEN>
To: control <at> debbugs.gnu.org
From: Maxim Cournoyer <maxim.cournoyer@HIDDEN>
Subject: control message for bug #59318
X-Spam-Score: 0.0 (/)
X-Debbugs-Envelope-To: control
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 (-)

tags 59318 + moreinfo
quit





Message sent to guix-patches@HIDDEN:


X-Loop: help-debbugs@HIDDEN
Subject: [bug#59318] [PATCH v2] etc: committer: Add --package-directory and --help flags.
References: <20221116185853.13957-1-antero@HIDDEN>
In-Reply-To: <20221116185853.13957-1-antero@HIDDEN>
Resent-From: Antero Mejr <antero@HIDDEN>
Original-Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
Resent-CC: guix-patches@HIDDEN
Resent-Date: Thu, 30 Mar 2023 04:56:01 +0000
Resent-Message-ID: <handler.59318.B59318.16801521498983 <at> debbugs.gnu.org>
Resent-Sender: help-debbugs@HIDDEN
X-GNU-PR-Message: followup 59318
X-GNU-PR-Package: guix-patches
X-GNU-PR-Keywords: patch moreinfo
To: 59318 <at> debbugs.gnu.org
Cc: liliana.prikler@HIDDEN, maxim.cournoyer@HIDDEN
Received: via spool by 59318-submit <at> debbugs.gnu.org id=B59318.16801521498983
          (code B ref 59318); Thu, 30 Mar 2023 04:56:01 +0000
Received: (at 59318) by debbugs.gnu.org; 30 Mar 2023 04:55:49 +0000
Received: from localhost ([127.0.0.1]:55400 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1phkKC-0002Ko-Uy
	for submit <at> debbugs.gnu.org; Thu, 30 Mar 2023 00:55:49 -0400
Received: from mout-p-102.mailbox.org ([80.241.56.152]:37698)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <antero@HIDDEN>) id 1phkK8-0002KW-Uk
 for 59318 <at> debbugs.gnu.org; Thu, 30 Mar 2023 00:55:46 -0400
Received: from smtp2.mailbox.org (smtp2.mailbox.org [10.196.197.2])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange ECDHE (P-384) server-signature RSA-PSS (4096 bits) server-digest
 SHA256) (No client certificate requested)
 by mout-p-102.mailbox.org (Postfix) with ESMTPS id 4PnB203GTxz9sk8;
 Thu, 30 Mar 2023 06:55:36 +0200 (CEST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=mailbox.org;
 s=mail20150812; t=1680152136;
 h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
 to:to:cc:cc:mime-version:mime-version:content-type:content-type:
 content-transfer-encoding:content-transfer-encoding;
 bh=ezdilwMHhniJZjTguooID4P8QcxwOV1W1qDSn2nBqRI=;
 b=dKhWAvDBbmb4TY+VpjFhM4kaaRODeiRLQMqjBgH62YyB/LPp4Kia9L2Ck3IOWGJ6H++zwU
 z+ENsrNnwlMUVozMBMiSnXoEmNyfi1aFD26TJVijKpG3df+AMzsRttYT4tsgnbekMAdXXK
 6Bp7hbY1qCHZgnGt2PmrnkRa1Aqo7g6l+Pl+yUFu93iq0Uu2edbC9ftiEeEAMNHjtYIlTl
 /4nP0YWq1PTPo6VYmW8gXtIFResjCbvcdwB6bW0apBlcZoTb2zQPBnfH7E56tQLvn5RTN4
 cfBM4JhzQMTJ3zFKoPiZUJ4YHP2nNhAbD8nuP0wbXBRo1DHGqL1EEWkAURkxwQ==
From: Antero Mejr <antero@HIDDEN>
Date: Thu, 30 Mar 2023 04:55:12 +0000
Message-Id: <20230330045512.18858-1-antero@HIDDEN>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-MBO-RS-META: gcosbj73z4ngtedbucyuxrikmowpkhex
X-MBO-RS-ID: 2ca341c89dde32dd89e
X-Spam-Score: -0.7 (/)
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.7 (-)

* etc/committer.scm.in (prepend-package-dir, show-help): New procedures.
(change-commit-message, add-commit-message, remove-commit-message,
custom-commit-message): Use prepend-package-dir.
(diff-info): Use the %package-dir parameter.
(main): Use SRFI-37 argument parser.
---
 etc/committer.scm.in | 54 +++++++++++++++++++++++++++++++++++++++-----
 1 file changed, 48 insertions(+), 6 deletions(-)

diff --git a/etc/committer.scm.in b/etc/committer.scm.in
index e7f1ca8c45..44e9e3cef9 100755
--- a/etc/committer.scm.in
+++ b/etc/committer.scm.in
@@ -7,6 +7,7 @@
 ;;; Copyright © 2021 Sarah Morgensen <iskarian@HIDDEN>
 ;;; Copyright © 2021 Xinglu Chen <public@HIDDEN>
 ;;; Copyright © 2022 Maxim Cournoyer <maxim.cournoyer@HIDDEN>
+;;; Copyright © 2023 Antero Mejr <antero@HIDDEN>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -35,13 +36,15 @@
              (srfi srfi-9)
              (srfi srfi-11)
              (srfi srfi-26)
+             (srfi srfi-37)
              (ice-9 format)
              (ice-9 popen)
              (ice-9 match)
              (ice-9 rdelim)
              (ice-9 regex)
              (ice-9 textual-ports)
-             (guix gexp))
+             (guix gexp)
+             (guix scripts))
 
 (define* (break-string str #:optional (max-line-length 70))
   "Break the string STR into lines that are no longer than MAX-LINE-LENGTH.
@@ -138,7 +141,7 @@ (define (diff-info)
                           ;; new definitions with changes to existing
                           ;; definitions.
                           "--unified=1"
-                          "--" "gnu")))
+                          "--" (%package-dir))))
     (define (extract-line-number line-tag)
       (abs (string->number
             (car (string-split line-tag #\,)))))
@@ -221,6 +224,9 @@ (define (new-sexp hunk)
                         (+ (lines-to-first-change hunk)
                            (hunk-new-line-number hunk))))))
 
+(define (prepend-package-dir msg)
+  (format #f "~a: ~a" (%package-dir) msg))
+
 (define* (change-commit-message file-name old new #:optional (port (current-output-port)))
   "Print ChangeLog commit message for changes between OLD and NEW."
   (define (get-values expr field)
@@ -247,7 +253,8 @@ (define version
     (and=> ((xpath:sxpath '(// version *any*)) new)
            first))
   (format port
-          "gnu: ~a: Update to ~a.~%~%* ~a (~a): Update to ~a.~%"
+          (prepend-package-dir
+           "~a: Update to ~a.~%~%* ~a (~a): Update to ~a.~%")
           variable-name version file-name variable-name version)
   (for-each (lambda (field)
               (let ((old-values (get-values old field))
@@ -276,14 +283,15 @@ (define* (add-commit-message file-name variable-name
                              #:optional (port (current-output-port)))
   "Print ChangeLog commit message for a change to FILE-NAME adding a
 definition."
-  (format port "gnu: Add ~a.~%~%* ~a (~a): New variable.~%"
+  (format port (prepend-package-dir "Add ~a.~%~%* ~a (~a): New variable.~%")
           variable-name file-name variable-name))
 
 (define* (remove-commit-message file-name variable-name
                                 #:optional (port (current-output-port)))
   "Print ChangeLog commit message for a change to FILE-NAME removing a
 definition."
-  (format port "gnu: Remove ~a.~%~%* ~a (~a): Delete variable.~%"
+  (format port (prepend-package-dir
+                "Remove ~a.~%~%* ~a (~a): Delete variable.~%")
           variable-name file-name variable-name))
 
 (define* (custom-commit-message file-name variable-name message changelog
@@ -301,7 +309,8 @@ (define (changelog-has-location? changelog)
 
   (let* ((message (trim message))
          (changelog (if changelog (trim changelog) message))
-         (message/f (format #f "gnu: ~a: ~a." variable-name message))
+         (message/f (format #f (prepend-package-dir "~a: ~a.")
+                            variable-name message))
          (changelog/f (if (changelog-has-location? changelog)
                           (format #f "* ~a (~a)~a."
                                   file-name variable-name changelog)
@@ -348,7 +357,40 @@ (define (new+old+hunks hunks)
 
 (define %delay 1000)
 
+;;;
+;;; Command line options.
+;;;
+
+(define (show-help)
+  (display "Usage: committer.scm
+Git commit unstaged package definition changes.\n")
+  (display "
+-p, --package-dir=DIR  specify the name of the package directory,
+                       which is \"gnu\" by default.")
+  (newline)
+  (display "-h, --help             display this help and exit")
+  (newline))
+
+(define %options
+  ;; Specification of the command-line options.
+  (list (option '(#\p "package-dir") #t #f
+                (lambda (opt name arg result)
+                  (alist-cons 'package-dir arg result)))
+        (option '(#\h "help") #f #f
+                (lambda args
+                  (show-help)
+                  (exit 0)))))
+
+(define %default-options
+  ;; Alist of default option values.
+  '((package-dir . "gnu")))
+
+(define %package-dir (make-parameter #f))
+
 (define (main . args)
+  (define opts (parse-command-line args %options (list %default-options)))
+  (%package-dir (assoc-ref opts 'package-dir))
+
   (define* (change-commit-message* file-name old new #:rest rest)
     (let ((changelog #f))
       (match args
-- 
2.38.1





Message sent to guix-patches@HIDDEN:


X-Loop: help-debbugs@HIDDEN
Subject: [bug#59318] [PATCH v2] etc: committer: Add --package-directory and --help flags.
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: Thu, 30 Mar 2023 16:54:02 +0000
Resent-Message-ID: <handler.59318.B59318.168019524019118 <at> debbugs.gnu.org>
Resent-Sender: help-debbugs@HIDDEN
X-GNU-PR-Message: followup 59318
X-GNU-PR-Package: guix-patches
X-GNU-PR-Keywords: patch moreinfo
To: Antero Mejr <antero@HIDDEN>, 59318 <at> debbugs.gnu.org
Cc: maxim.cournoyer@HIDDEN
Received: via spool by 59318-submit <at> debbugs.gnu.org id=B59318.168019524019118
          (code B ref 59318); Thu, 30 Mar 2023 16:54:02 +0000
Received: (at 59318) by debbugs.gnu.org; 30 Mar 2023 16:54:00 +0000
Received: from localhost ([127.0.0.1]:59348 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1phvXD-0004yH-EQ
	for submit <at> debbugs.gnu.org; Thu, 30 Mar 2023 12:54:00 -0400
Received: from mail-ed1-f68.google.com ([209.85.208.68]:38715)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <liliana.prikler@HIDDEN>) id 1phvXA-0004y2-WC
 for 59318 <at> debbugs.gnu.org; Thu, 30 Mar 2023 12:53:57 -0400
Received: by mail-ed1-f68.google.com with SMTP id r11so79050006edd.5
 for <59318 <at> debbugs.gnu.org>; Thu, 30 Mar 2023 09:53:56 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=gmail.com; s=20210112; t=1680195231;
 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=bnTi/f/Mwzk+OdEBEeF+70QktZRbISmzxZko2qpjoxY=;
 b=BQTi6et9IxlIGKsTpTfrXmTSXG34Kx5P/SZoQfp6kNzTs7LQeEc7Wgmpm6vElZN3/K
 5VjIgU0y1SedFyoQNKaFzw0DsmrfIFH038TpYP4ZuhbG9MWinYn3qm5gLRENhGsFoPDW
 6Y+fcbzR6wnsi3SP6H1d0hQ2atOjPzsqAGKvvncCV5TfgyhGQqxj59xzK1Q3PkSEpksY
 xlUQnylmj3AGf30Tmbybl6ebVvNPGTy8LtDSeTthI7EOTdvj4c0GFyLPeNuqGnHNkkhO
 JVJ+DIIS/JNhm1o8kEVuKnwCTIhEPWkqH/ScDaMkMrl2lQD32vF0cq5Aw4XckqeGZltl
 Wi5w==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=1e100.net; s=20210112; t=1680195231;
 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=bnTi/f/Mwzk+OdEBEeF+70QktZRbISmzxZko2qpjoxY=;
 b=UySOWeAgZ8omonQ5BcS8IjvodlyOB71S41+zQqiMAGITbaGA7eNMN5iQz+fCnVHBPf
 1tBgfxDoKI8Ywb3R0IwL/SAEXmOSEWOumkXtBc2p0m7r/xiLaXqeGMR9qGs0wWZlnc3e
 Veedpgej29X4gvThK58Nyxa0j3yd53Ogie55rqqRmAVDxvU1DFtFb4aQYehedWLyGG4i
 +MUtf6qqXI3DVWDlzNSH3SMONsNkFRLqKBd+oNdXI5DCCMTIsVdvphkj7OnORC4a4BE8
 monkJjcd84p0MX7733+wFHOYzDLkumsJM9Wqm6ELROYhL37BmSkUL2jR319hqvExbIXY
 kd8w==
X-Gm-Message-State: AAQBX9dNRJe1cf1oR7sf1Zs4gf7Dl1ZvF3x/NdD0/uVR16vt4nJd02lX
 xEIFk5bDUHfzeZG6WOXAk3g=
X-Google-Smtp-Source: AKy350ZqQjlqcyRrBTTGyJHr/AV9X5TNb1P9tfzYfHz63UoE9HK3CxTGv7mHTCgbfzRXKCBPf4SH7g==
X-Received: by 2002:a05:6402:1002:b0:501:c547:2135 with SMTP id
 c2-20020a056402100200b00501c5472135mr21550328edu.36.1680195230788; 
 Thu, 30 Mar 2023 09:53:50 -0700 (PDT)
Received: from lumine.fritz.box (85-127-52-93.dsl.dynamic.surfer.at.
 [85.127.52.93]) by smtp.gmail.com with ESMTPSA id
 dm4-20020a05640222c400b004c09f0ba24dsm129486edb.48.2023.03.30.09.53.49
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Thu, 30 Mar 2023 09:53:50 -0700 (PDT)
Message-ID: <d08037ca57a5326cd2c4a86d20a80d1824834dc3.camel@HIDDEN>
From: Liliana Marie Prikler <liliana.prikler@HIDDEN>
Date: Thu, 30 Mar 2023 18:53:48 +0200
In-Reply-To: <20230330045512.18858-1-antero@HIDDEN>
References: <20230330045512.18858-1-antero@HIDDEN>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: base64
User-Agent: Evolution 3.46.0 
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 (-)

QW0gRG9ubmVyc3RhZywgZGVtIDMwLjAzLjIwMjMgdW0gMDQ6NTUgKzAwMDAgc2NocmllYiBBbnRl
cm8gTWVqcjoKPiAqIGV0Yy9jb21taXR0ZXIuc2NtLmluIChwcmVwZW5kLXBhY2thZ2UtZGlyLCBz
aG93LWhlbHApOiBOZXcKPiBwcm9jZWR1cmVzLgo+IChjaGFuZ2UtY29tbWl0LW1lc3NhZ2UsIGFk
ZC1jb21taXQtbWVzc2FnZSwgcmVtb3ZlLWNvbW1pdC1tZXNzYWdlLAo+IGN1c3RvbS1jb21taXQt
bWVzc2FnZSk6IFVzZSBwcmVwZW5kLXBhY2thZ2UtZGlyLgo+IChkaWZmLWluZm8pOiBVc2UgdGhl
ICVwYWNrYWdlLWRpciBwYXJhbWV0ZXIuCj4gKG1haW4pOiBVc2UgU1JGSS0zNyBhcmd1bWVudCBw
YXJzZXIuCj4gLS0tCj4gwqBldGMvY29tbWl0dGVyLnNjbS5pbiB8IDU0ICsrKysrKysrKysrKysr
KysrKysrKysrKysrKysrKysrKysrKysrKy0tLQo+IC0tCj4gwqAxIGZpbGUgY2hhbmdlZCwgNDgg
aW5zZXJ0aW9ucygrKSwgNiBkZWxldGlvbnMoLSkKPiAKPiBkaWZmIC0tZ2l0IGEvZXRjL2NvbW1p
dHRlci5zY20uaW4gYi9ldGMvY29tbWl0dGVyLnNjbS5pbgo+IGluZGV4IGU3ZjFjYThjNDUuLjQ0
ZTllM2NlZjkgMTAwNzU1Cj4gLS0tIGEvZXRjL2NvbW1pdHRlci5zY20uaW4KPiArKysgYi9ldGMv
Y29tbWl0dGVyLnNjbS5pbgo+IEBAIC03LDYgKzcsNyBAQAo+IMKgOzs7IENvcHlyaWdodCDCqSAy
MDIxIFNhcmFoIE1vcmdlbnNlbiA8aXNrYXJpYW5AbWdzbi5kZXY+Cj4gwqA7OzsgQ29weXJpZ2h0
IMKpIDIwMjEgWGluZ2x1IENoZW4gPHB1YmxpY0B5b2N0b2NlbGwueHl6Pgo+IMKgOzs7IENvcHly
aWdodCDCqSAyMDIyIE1heGltIENvdXJub3llciA8bWF4aW0uY291cm5veWVyQGdtYWlsLmNvbT4K
PiArOzs7IENvcHlyaWdodCDCqSAyMDIzIEFudGVybyBNZWpyIDxhbnRlcm9AbWFpbGJveC5vcmc+
Cj4gwqA7OzsKPiDCoDs7OyBUaGlzIGZpbGUgaXMgcGFydCBvZiBHTlUgR3VpeC4KPiDCoDs7Owo+
IEBAIC0zNSwxMyArMzYsMTUgQEAKPiDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCAoc3JmaSBz
cmZpLTkpCj4gwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgKHNyZmkgc3JmaS0xMSkKPiDCoMKg
wqDCoMKgwqDCoMKgwqDCoMKgwqDCoCAoc3JmaSBzcmZpLTI2KQo+ICvCoMKgwqDCoMKgwqDCoMKg
wqDCoMKgwqAgKHNyZmkgc3JmaS0zNykKPiDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCAoaWNl
LTkgZm9ybWF0KQo+IMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIChpY2UtOSBwb3BlbikKPiDC
oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCAoaWNlLTkgbWF0Y2gpCj4gwqDCoMKgwqDCoMKgwqDC
oMKgwqDCoMKgwqAgKGljZS05IHJkZWxpbSkKPiDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCAo
aWNlLTkgcmVnZXgpCj4gwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgKGljZS05IHRleHR1YWwt
cG9ydHMpCj4gLcKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCAoZ3VpeCBnZXhwKSkKPiArwqDCoMKg
wqDCoMKgwqDCoMKgwqDCoMKgIChndWl4IGdleHApCj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDC
oCAoZ3VpeCBzY3JpcHRzKSkKPiDCoAo+IMKgKGRlZmluZSogKGJyZWFrLXN0cmluZyBzdHIgIzpv
cHRpb25hbCAobWF4LWxpbmUtbGVuZ3RoIDcwKSkKPiDCoMKgICJCcmVhayB0aGUgc3RyaW5nIFNU
UiBpbnRvIGxpbmVzIHRoYXQgYXJlIG5vIGxvbmdlciB0aGFuIE1BWC1MSU5FLQo+IExFTkdUSC4K
PiBAQCAtMTM4LDcgKzE0MSw3IEBAIChkZWZpbmUgKGRpZmYtaW5mbykKPiDCoMKgwqDCoMKgwqDC
oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIDs7IG5ldyBkZWZpbml0aW9u
cyB3aXRoIGNoYW5nZXMgdG8KPiBleGlzdGluZwo+IMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg
wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgOzsgZGVmaW5pdGlvbnMuCj4gwqDCoMKgwqDCoMKg
wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCAiLS11bmlmaWVkPTEiCj4g
LcKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgICItLSIg
ImdudSIpKSkKPiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC
oMKgwqAgIi0tIiAoJXBhY2thZ2UtZGlyKSkpKQo+IMKgwqDCoMKgIChkZWZpbmUgKGV4dHJhY3Qt
bGluZS1udW1iZXIgbGluZS10YWcpCj4gwqDCoMKgwqDCoMKgIChhYnMgKHN0cmluZy0+bnVtYmVy
Cj4gwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIChjYXIgKHN0cmluZy1zcGxpdCBsaW5lLXRhZyAj
XCwpKSkpKQo+IEBAIC0yMjEsNiArMjI0LDkgQEAgKGRlZmluZSAobmV3LXNleHAgaHVuaykKPiDC
oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgKCsgKGxpbmVz
LXRvLWZpcnN0LWNoYW5nZSBodW5rKQo+IMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg
wqDCoMKgwqDCoMKgwqDCoMKgwqDCoCAoaHVuay1uZXctbGluZS1udW1iZXIgaHVuaykpKSkpKQo+
IMKgCj4gKyhkZWZpbmUgKHByZXBlbmQtcGFja2FnZS1kaXIgbXNnKQo+ICvCoCAoZm9ybWF0ICNm
ICJ+YTogfmEiICglcGFja2FnZS1kaXIpIG1zZykpCj4gKwo+IMKgKGRlZmluZSogKGNoYW5nZS1j
b21taXQtbWVzc2FnZSBmaWxlLW5hbWUgb2xkIG5ldyAjOm9wdGlvbmFsIChwb3J0Cj4gKGN1cnJl
bnQtb3V0cHV0LXBvcnQpKSkKPiDCoMKgICJQcmludCBDaGFuZ2VMb2cgY29tbWl0IG1lc3NhZ2Ug
Zm9yIGNoYW5nZXMgYmV0d2VlbiBPTEQgYW5kIE5FVy4iCj4gwqDCoCAoZGVmaW5lIChnZXQtdmFs
dWVzIGV4cHIgZmllbGQpCj4gQEAgLTI0Nyw3ICsyNTMsOCBAQCAoZGVmaW5lIHZlcnNpb24KPiDC
oMKgwqDCoCAoYW5kPT4gKCh4cGF0aDpzeHBhdGggJygvLyB2ZXJzaW9uICphbnkqKSkgbmV3KQo+
IMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgZmlyc3QpKQo+IMKgwqAgKGZvcm1hdCBwb3J0Cj4gLcKg
wqDCoMKgwqDCoMKgwqDCoCAiZ251OiB+YTogVXBkYXRlIHRvIH5hLn4lfiUqIH5hICh+YSk6IFVw
ZGF0ZSB0byB+YS5+JSIKPiArwqDCoMKgwqDCoMKgwqDCoMKgIChwcmVwZW5kLXBhY2thZ2UtZGly
Cj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgICJ+YTogVXBkYXRlIHRvIH5hLn4lfiUqIH5hICh+YSk6
IFVwZGF0ZSB0byB+YS5+JSIpCj4gwqDCoMKgwqDCoMKgwqDCoMKgwqAgdmFyaWFibGUtbmFtZSB2
ZXJzaW9uIGZpbGUtbmFtZSB2YXJpYWJsZS1uYW1lIHZlcnNpb24pCj4gwqDCoCAoZm9yLWVhY2gg
KGxhbWJkYSAoZmllbGQpCj4gwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCAobGV0ICgob2xk
LXZhbHVlcyAoZ2V0LXZhbHVlcyBvbGQgZmllbGQpKQo+IEBAIC0yNzYsMTQgKzI4MywxNSBAQCAo
ZGVmaW5lKiAoYWRkLWNvbW1pdC1tZXNzYWdlIGZpbGUtbmFtZQo+IHZhcmlhYmxlLW5hbWUKPiDC
oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg
ICM6b3B0aW9uYWwgKHBvcnQgKGN1cnJlbnQtb3V0cHV0LQo+IHBvcnQpKSkKPiDCoMKgICJQcmlu
dCBDaGFuZ2VMb2cgY29tbWl0IG1lc3NhZ2UgZm9yIGEgY2hhbmdlIHRvIEZJTEUtTkFNRSBhZGRp
bmcgYQo+IMKgZGVmaW5pdGlvbi4iCj4gLcKgIChmb3JtYXQgcG9ydCAiZ251OiBBZGQgfmEufiV+
JSogfmEgKH5hKTogTmV3IHZhcmlhYmxlLn4lIgo+ICvCoCAoZm9ybWF0IHBvcnQgKHByZXBlbmQt
cGFja2FnZS1kaXIgIkFkZCB+YS5+JX4lKiB+YSAofmEpOiBOZXcKPiB2YXJpYWJsZS5+JSIpCj4g
wqDCoMKgwqDCoMKgwqDCoMKgwqAgdmFyaWFibGUtbmFtZSBmaWxlLW5hbWUgdmFyaWFibGUtbmFt
ZSkpCj4gwqAKPiDCoChkZWZpbmUqIChyZW1vdmUtY29tbWl0LW1lc3NhZ2UgZmlsZS1uYW1lIHZh
cmlhYmxlLW5hbWUKPiDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC
oMKgwqDCoMKgwqDCoMKgwqDCoMKgICM6b3B0aW9uYWwgKHBvcnQgKGN1cnJlbnQtb3V0cHV0LQo+
IHBvcnQpKSkKPiDCoMKgICJQcmludCBDaGFuZ2VMb2cgY29tbWl0IG1lc3NhZ2UgZm9yIGEgY2hh
bmdlIHRvIEZJTEUtTkFNRSByZW1vdmluZwo+IGEKPiDCoGRlZmluaXRpb24uIgo+IC3CoCAoZm9y
bWF0IHBvcnQgImdudTogUmVtb3ZlIH5hLn4lfiUqIH5hICh+YSk6IERlbGV0ZSB2YXJpYWJsZS5+
JSIKPiArwqAgKGZvcm1hdCBwb3J0IChwcmVwZW5kLXBhY2thZ2UtZGlyCj4gK8KgwqDCoMKgwqDC
oMKgwqDCoMKgwqDCoMKgwqDCoCAiUmVtb3ZlIH5hLn4lfiUqIH5hICh+YSk6IERlbGV0ZSB2YXJp
YWJsZS5+JSIpCj4gwqDCoMKgwqDCoMKgwqDCoMKgwqAgdmFyaWFibGUtbmFtZSBmaWxlLW5hbWUg
dmFyaWFibGUtbmFtZSkpCj4gwqAKPiDCoChkZWZpbmUqIChjdXN0b20tY29tbWl0LW1lc3NhZ2Ug
ZmlsZS1uYW1lIHZhcmlhYmxlLW5hbWUgbWVzc2FnZQo+IGNoYW5nZWxvZwo+IEBAIC0zMDEsNyAr
MzA5LDggQEAgKGRlZmluZSAoY2hhbmdlbG9nLWhhcy1sb2NhdGlvbj8gY2hhbmdlbG9nKQo+IMKg
Cj4gwqDCoCAobGV0KiAoKG1lc3NhZ2UgKHRyaW0gbWVzc2FnZSkpCj4gwqDCoMKgwqDCoMKgwqDC
oMKgIChjaGFuZ2Vsb2cgKGlmIGNoYW5nZWxvZyAodHJpbSBjaGFuZ2Vsb2cpIG1lc3NhZ2UpKQo+
IC3CoMKgwqDCoMKgwqDCoMKgIChtZXNzYWdlL2YgKGZvcm1hdCAjZiAiZ251OiB+YTogfmEuIiB2
YXJpYWJsZS1uYW1lCj4gbWVzc2FnZSkpCj4gK8KgwqDCoMKgwqDCoMKgwqAgKG1lc3NhZ2UvZiAo
Zm9ybWF0ICNmIChwcmVwZW5kLXBhY2thZ2UtZGlyICJ+YTogfmEuIikKPiArwqDCoMKgwqDCoMKg
wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIHZhcmlhYmxlLW5hbWUg
bWVzc2FnZSkpCj4gwqDCoMKgwqDCoMKgwqDCoMKgIChjaGFuZ2Vsb2cvZiAoaWYgKGNoYW5nZWxv
Zy1oYXMtbG9jYXRpb24/IGNoYW5nZWxvZykKPiDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg
wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIChmb3JtYXQgI2YgIiogfmEgKH5hKX5hLiIKPiDCoMKg
wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC
oMKgwqDCoCBmaWxlLW5hbWUgdmFyaWFibGUtbmFtZSBjaGFuZ2Vsb2cpCj4gQEAgLTM0OCw3ICsz
NTcsNDAgQEAgKGRlZmluZSAobmV3K29sZCtodW5rcyBodW5rcykKPiDCoAo+IMKgKGRlZmluZSAl
ZGVsYXkgMTAwMCkKPiDCoAo+ICs7OzsKPiArOzs7IENvbW1hbmQgbGluZSBvcHRpb25zLgo+ICs7
OzsKPiArCj4gKyhkZWZpbmUgKHNob3ctaGVscCkKPiArwqAgKGRpc3BsYXkgIlVzYWdlOiBjb21t
aXR0ZXIuc2NtCj4gK0dpdCBjb21taXQgdW5zdGFnZWQgcGFja2FnZSBkZWZpbml0aW9uIGNoYW5n
ZXMuXG4iKQo+ICvCoCAoZGlzcGxheSAiCj4gKy1wLCAtLXBhY2thZ2UtZGlyPURJUsKgIHNwZWNp
ZnkgdGhlIG5hbWUgb2YgdGhlIHBhY2thZ2UgZGlyZWN0b3J5LAo+ICvCoMKgwqDCoMKgwqDCoMKg
wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCB3aGljaCBpcyBcImdudVwiIGJ5IGRlZmF1bHQu
IikKSSdkIHVzZSBmdWxsIG5vdW5zIGhlcmUsIGkuZS4gIi0tcGFja2FnZS1kaXJlY3Rvcnk9RElS
RUNUT1JZIi4gIEZvciB0aGUKaGVscCwgc29tZXRoaW5nIGFsb25nIHRoZSBsaW5lcyBvZsKgCiJp
bmRpY2F0ZSwgdGhhdCB0aGUgY2hhbmdlcyBhZmZlY3QgRElSRUNUT1JZIChkZWZhdWx0OiBcImdu
dVwiKSIgc2hvdWxkCmJlIGEgbGl0dGxlIGNsZWFyZXIuIAo+ICvCoCAobmV3bGluZSkKPiArwqAg
KGRpc3BsYXkgIi1oLCAtLWhlbHDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgZGlzcGxheSB0aGlz
IGhlbHAgYW5kIGV4aXQiKQo+ICvCoCAobmV3bGluZSkpCj4gKwo+ICsoZGVmaW5lICVvcHRpb25z
Cj4gK8KgIDs7IFNwZWNpZmljYXRpb24gb2YgdGhlIGNvbW1hbmQtbGluZSBvcHRpb25zLgo+ICvC
oCAobGlzdCAob3B0aW9uICcoI1xwICJwYWNrYWdlLWRpciIpICN0ICNmCj4gK8KgwqDCoMKgwqDC
oMKgwqDCoMKgwqDCoMKgwqDCoCAobGFtYmRhIChvcHQgbmFtZSBhcmcgcmVzdWx0KQo+ICvCoMKg
wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIChhbGlzdC1jb25zICdwYWNrYWdlLWRpciBh
cmcgcmVzdWx0KSkpCj4gK8KgwqDCoMKgwqDCoMKgIChvcHRpb24gJygjXGggImhlbHAiKSAjZiAj
Zgo+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgKGxhbWJkYSBhcmdzCj4gK8KgwqDC
oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgKHNob3ctaGVscCkKPiArwqDCoMKgwqDCoMKg
wqDCoMKgwqDCoMKgwqDCoMKgwqDCoCAoZXhpdCAwKSkpKSkKPiArCj4gKyhkZWZpbmUgJWRlZmF1
bHQtb3B0aW9ucwo+ICvCoCA7OyBBbGlzdCBvZiBkZWZhdWx0IG9wdGlvbiB2YWx1ZXMuCj4gK8Kg
ICcoKHBhY2thZ2UtZGlyIC4gImdudSIpKSkKPiArCj4gKyhkZWZpbmUgJXBhY2thZ2UtZGlyICht
YWtlLXBhcmFtZXRlciAjZikpCj4gKwo+IMKgKGRlZmluZSAobWFpbiAuIGFyZ3MpCj4gK8KgIChk
ZWZpbmUgb3B0cyAocGFyc2UtY29tbWFuZC1saW5lIGFyZ3MgJW9wdGlvbnMgKGxpc3QgJWRlZmF1
bHQtCj4gb3B0aW9ucykpKQo+ICvCoCAoJXBhY2thZ2UtZGlyIChhc3NvYy1yZWYgb3B0cyAncGFj
a2FnZS1kaXIpKQo+ICsKPiDCoMKgIChkZWZpbmUqIChjaGFuZ2UtY29tbWl0LW1lc3NhZ2UqIGZp
bGUtbmFtZSBvbGQgbmV3ICM6cmVzdCByZXN0KQo+IMKgwqDCoMKgIChsZXQgKChjaGFuZ2Vsb2cg
I2YpKQo+IMKgwqDCoMKgwqDCoCAobWF0Y2ggYXJncwpDaGVlcnMKCg==





Message sent to guix-patches@HIDDEN:


X-Loop: help-debbugs@HIDDEN
Subject: [bug#59318] [PATCH v3] etc: committer: Add --package-directory and --help flags.
References: <20221116185853.13957-1-antero@HIDDEN>
In-Reply-To: <20221116185853.13957-1-antero@HIDDEN>
Resent-From: Antero Mejr <antero@HIDDEN>
Original-Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
Resent-CC: guix-patches@HIDDEN
Resent-Date: Thu, 30 Mar 2023 22:30:03 +0000
Resent-Message-ID: <handler.59318.B59318.16802153817821 <at> debbugs.gnu.org>
Resent-Sender: help-debbugs@HIDDEN
X-GNU-PR-Message: followup 59318
X-GNU-PR-Package: guix-patches
X-GNU-PR-Keywords: patch moreinfo
To: 59318 <at> debbugs.gnu.org
Cc: liliana.prikler@HIDDEN, maxim.cournoyer@HIDDEN
Received: via spool by 59318-submit <at> debbugs.gnu.org id=B59318.16802153817821
          (code B ref 59318); Thu, 30 Mar 2023 22:30:03 +0000
Received: (at 59318) by debbugs.gnu.org; 30 Mar 2023 22:29:41 +0000
Received: from localhost ([127.0.0.1]:59685 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1pi0m4-000224-KW
	for submit <at> debbugs.gnu.org; Thu, 30 Mar 2023 18:29:41 -0400
Received: from mout-p-102.mailbox.org ([80.241.56.152]:55596)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <antero@HIDDEN>) id 1pi0m2-00021m-Hx
 for 59318 <at> debbugs.gnu.org; Thu, 30 Mar 2023 18:29:39 -0400
Received: from smtp2.mailbox.org (smtp2.mailbox.org
 [IPv6:2001:67c:2050:b231:465::2])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange ECDHE (P-384) server-signature RSA-PSS (4096 bits) server-digest
 SHA256) (No client certificate requested)
 by mout-p-102.mailbox.org (Postfix) with ESMTPS id 4PndQ24FpGz9sk8;
 Fri, 31 Mar 2023 00:29:30 +0200 (CEST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=mailbox.org;
 s=mail20150812; t=1680215370;
 h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
 to:to:cc:cc:mime-version:mime-version:content-type:content-type:
 content-transfer-encoding:content-transfer-encoding;
 bh=oGhQGWlAAjHlsxrkgmGFLQlIzUzsrZbVHkh6uI920iw=;
 b=ryi9NQ4iwZoD5YCZvc6DBuXSG2PxiBl6qn4OYf8bp9l6ZmO+QHM4/4uWgE7l3Dcq/Jeoob
 R72ishu/b4M14hHl2W7Yxco1VYyf3cReuJldofXiX8uldrvFCtQAkz1viivo47bDcFqywD
 mwXGSldEYYS9gp9EFXGgghW3iYFUTWkLWM3lzS8wv+up0Gjb55XKQNpEemWQt/ffgIf7Xr
 GHhrv4JY0b4zK1Nde8Ac5yj/Et9N3W2ieegd8imUyENXDLN9rSIRXnbL1HEYvx345whIKI
 LvCFDk1Y4oWoSlj0SXvIz6k7nFsJEKPzepPWQHbrEkI8rmzXyfRFwYoGNVSqyw==
From: Antero Mejr <antero@HIDDEN>
Date: Thu, 30 Mar 2023 22:29:24 +0000
Message-Id: <20230330222924.11606-1-antero@HIDDEN>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-MBO-RS-META: ok5madbp6nac4imm66q1y4cek145h95d
X-MBO-RS-ID: a42873492ed72a6b6c9
X-Spam-Score: -0.7 (/)
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.7 (-)

* etc/committer.scm.in (prepend-package-dir, show-help): New procedures.
(change-commit-message, add-commit-message, remove-commit-message,
custom-commit-message): Use prepend-package-dir.
(diff-info): Use the %package-dir parameter.
(main): Use SRFI-37 argument parser.
---
v3: use/document the MESSAGE and CHANGELOG arguments and update wording.

 etc/committer.scm.in | 67 ++++++++++++++++++++++++++++++++++++++------
 1 file changed, 59 insertions(+), 8 deletions(-)

diff --git a/etc/committer.scm.in b/etc/committer.scm.in
index e7f1ca8c45..dbc979a6f8 100755
--- a/etc/committer.scm.in
+++ b/etc/committer.scm.in
@@ -7,6 +7,7 @@
 ;;; Copyright © 2021 Sarah Morgensen <iskarian@HIDDEN>
 ;;; Copyright © 2021 Xinglu Chen <public@HIDDEN>
 ;;; Copyright © 2022 Maxim Cournoyer <maxim.cournoyer@HIDDEN>
+;;; Copyright © 2023 Antero Mejr <antero@HIDDEN>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -35,13 +36,15 @@
              (srfi srfi-9)
              (srfi srfi-11)
              (srfi srfi-26)
+             (srfi srfi-37)
              (ice-9 format)
              (ice-9 popen)
              (ice-9 match)
              (ice-9 rdelim)
              (ice-9 regex)
              (ice-9 textual-ports)
-             (guix gexp))
+             (guix gexp)
+             (guix scripts))
 
 (define* (break-string str #:optional (max-line-length 70))
   "Break the string STR into lines that are no longer than MAX-LINE-LENGTH.
@@ -138,7 +141,7 @@ (define (diff-info)
                           ;; new definitions with changes to existing
                           ;; definitions.
                           "--unified=1"
-                          "--" "gnu")))
+                          "--" (%package-dir))))
     (define (extract-line-number line-tag)
       (abs (string->number
             (car (string-split line-tag #\,)))))
@@ -221,7 +224,11 @@ (define (new-sexp hunk)
                         (+ (lines-to-first-change hunk)
                            (hunk-new-line-number hunk))))))
 
-(define* (change-commit-message file-name old new #:optional (port (current-output-port)))
+(define (prepend-package-dir msg)
+  (format #f "~a: ~a" (%package-dir) msg))
+
+(define* (change-commit-message file-name old new
+                                #:optional (port (current-output-port)))
   "Print ChangeLog commit message for changes between OLD and NEW."
   (define (get-values expr field)
     (match ((xpath:sxpath `(// ,field quasiquote *)) expr)
@@ -247,7 +254,8 @@ (define version
     (and=> ((xpath:sxpath '(// version *any*)) new)
            first))
   (format port
-          "gnu: ~a: Update to ~a.~%~%* ~a (~a): Update to ~a.~%"
+          (prepend-package-dir
+           "~a: Update to ~a.~%~%* ~a (~a): Update to ~a.~%")
           variable-name version file-name variable-name version)
   (for-each (lambda (field)
               (let ((old-values (get-values old field))
@@ -276,14 +284,15 @@ (define* (add-commit-message file-name variable-name
                              #:optional (port (current-output-port)))
   "Print ChangeLog commit message for a change to FILE-NAME adding a
 definition."
-  (format port "gnu: Add ~a.~%~%* ~a (~a): New variable.~%"
+  (format port (prepend-package-dir "Add ~a.~%~%* ~a (~a): New variable.~%")
           variable-name file-name variable-name))
 
 (define* (remove-commit-message file-name variable-name
                                 #:optional (port (current-output-port)))
   "Print ChangeLog commit message for a change to FILE-NAME removing a
 definition."
-  (format port "gnu: Remove ~a.~%~%* ~a (~a): Delete variable.~%"
+  (format port (prepend-package-dir
+                "Remove ~a.~%~%* ~a (~a): Delete variable.~%")
           variable-name file-name variable-name))
 
 (define* (custom-commit-message file-name variable-name message changelog
@@ -301,7 +310,8 @@ (define (changelog-has-location? changelog)
 
   (let* ((message (trim message))
          (changelog (if changelog (trim changelog) message))
-         (message/f (format #f "gnu: ~a: ~a." variable-name message))
+         (message/f (format #f (prepend-package-dir "~a: ~a.")
+                            variable-name message))
          (changelog/f (if (changelog-has-location? changelog)
                           (format #f "* ~a (~a)~a."
                                   file-name variable-name changelog)
@@ -348,10 +358,51 @@ (define (new+old+hunks hunks)
 
 (define %delay 1000)
 
+;;;
+;;; Command line options.
+;;;
+
+(define (show-help)
+  (display "Usage: committer.scm [OPTION] [MESSAGE] [CHANGELOG]
+Git commit unstaged package definition additions, removals, or changes.
+
+For changes, MESSAGE and CHANGELOG may be specified to set the message and
+body sections of the commit message, respectively.\n")
+  (display "
+-p, --package-directory=DIRECTORY  search DIRECTORY for package definitions
+                                   (default: \"gnu\")")
+  (newline)
+  (display "
+-h, --help                         display this help and exit")
+  (newline))
+
+(define %options
+  ;; Specification of the command-line options.
+  (list (option '(#\p "package-directory") #t #f
+                (lambda (opt name arg result)
+                  (alist-cons 'package-dir arg result)))
+        (option '(#\h "help") #f #f
+                (lambda args
+                  (show-help)
+                  (exit 0)))))
+
+(define %default-options
+  ;; Alist of default option values.
+  '((package-dir . "gnu")))
+
+(define %package-dir (make-parameter #f))
+
 (define (main . args)
+  (define opts (parse-command-line args %options (list %default-options)
+                                   #:build-options? #f))
+  (%package-dir (assoc-ref opts 'package-dir))
+
   (define* (change-commit-message* file-name old new #:rest rest)
     (let ((changelog #f))
-      (match args
+      (match (reverse (filter-map (match-lambda
+                                    (('argument . x) x)
+                                    (_ #f))
+                                  opts))
         ((or (message changelog) (message))
          (apply custom-commit-message
                 file-name (second old) message changelog rest))
-- 
2.38.1






Last modified: Thu, 30 Mar 2023 22:30:02 UTC

GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997 nCipher Corporation Ltd, 1994-97 Ian Jackson.