GNU logs - #36451, boring messages


Message sent to guix-patches@HIDDEN:


X-Loop: help-debbugs@HIDDEN
Subject: [bug#36451] [PATCH] gnu: services: postgresql: Don't initdb when directory exists
Resent-From: Robert Vollmert <rob@HIDDEN>
Original-Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
Resent-CC: guix-patches@HIDDEN
Resent-Date: Sun, 30 Jun 2019 20:57:03 +0000
Resent-Message-ID: <handler.36451.B.156192821624041 <at> debbugs.gnu.org>
Resent-Sender: help-debbugs@HIDDEN
X-GNU-PR-Message: report 36451
X-GNU-PR-Package: guix-patches
X-GNU-PR-Keywords: patch
To: 36451 <at> debbugs.gnu.org
Cc: Robert Vollmert <rob@HIDDEN>
X-Debbugs-Original-To: guix-patches@HIDDEN
Received: via spool by submit <at> debbugs.gnu.org id=B.156192821624041
          (code B ref -1); Sun, 30 Jun 2019 20:57:03 +0000
Received: (at submit) by debbugs.gnu.org; 30 Jun 2019 20:56:56 +0000
Received: from localhost ([127.0.0.1]:47361 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1hhgsa-0006Fh-4R
	for submit <at> debbugs.gnu.org; Sun, 30 Jun 2019 16:56:56 -0400
Received: from lists.gnu.org ([209.51.188.17]:54105)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <rob@HIDDEN>) id 1hhgsY-0006FV-Hd
 for submit <at> debbugs.gnu.org; Sun, 30 Jun 2019 16:56:54 -0400
Received: from eggs.gnu.org ([2001:470:142:3::10]:37988)
 by lists.gnu.org with esmtp (Exim 4.86_2)
 (envelope-from <rob@HIDDEN>) id 1hhgsW-0002gu-Pw
 for guix-patches@HIDDEN; Sun, 30 Jun 2019 16:56:54 -0400
X-Spam-Checker-Version: SpamAssassin 3.3.2 (2011-06-06) on eggs.gnu.org
X-Spam-Level: 
X-Spam-Status: No, score=0.1 required=5.0 tests=BAYES_50,RCVD_IN_DNSWL_LOW
 autolearn=disabled version=3.3.2
Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71)
 (envelope-from <rob@HIDDEN>) id 1hhgsU-0001ky-0D
 for guix-patches@HIDDEN; Sun, 30 Jun 2019 16:56:51 -0400
Received: from mx1.mailbox.org ([80.241.60.212]:34076)
 by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_256_CBC_SHA1:32)
 (Exim 4.71) (envelope-from <rob@HIDDEN>) id 1hhgsT-0001gs-Bx
 for guix-patches@HIDDEN; Sun, 30 Jun 2019 16:56:49 -0400
Received: from smtp2.mailbox.org (smtp2.mailbox.org
 [IPv6:2001:67c:2050:105:465:1:2:0])
 (using TLSv1.2 with cipher ECDHE-RSA-CHACHA20-POLY1305 (256/256 bits))
 (No client certificate requested)
 by mx1.mailbox.org (Postfix) with ESMTPS id A92745034E;
 Sun, 30 Jun 2019 22:56:46 +0200 (CEST)
X-Virus-Scanned: amavisd-new at heinlein-support.de
Received: from smtp2.mailbox.org ([80.241.60.241])
 by spamfilter02.heinlein-hosting.de (spamfilter02.heinlein-hosting.de
 [80.241.56.116]) (amavisd-new, port 10030)
 with ESMTP id ObQnP6pi6EQw; Sun, 30 Jun 2019 22:56:45 +0200 (CEST)
From: Robert Vollmert <rob@HIDDEN>
Date: Sun, 30 Jun 2019 22:56:42 +0200
Message-Id: <20190630205642.54866-1-rob@HIDDEN>
MIME-Version: 1.0
Content-Transfer-Encoding: quoted-printable
X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic]
X-Received-From: 80.241.60.212
X-Spam-Score: -1.6 (-)
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.6 (--)

* gnu/services/databases.scm (postgresql-activation): Check if
directory exists.
---
 gnu/services/databases.scm | 63 +++++++++++++++++++-------------------
 1 file changed, 32 insertions(+), 31 deletions(-)

diff --git a/gnu/services/databases.scm b/gnu/services/databases.scm
index ec31489d48..6b04ae0a0f 100644
--- a/gnu/services/databases.scm
+++ b/gnu/services/databases.scm
@@ -196,37 +196,38 @@ host	all	all	::1/128 	md5"))
          (use-modules (guix build utils)
                       (ice-9 match))
=20
-         (let ((user (getpwnam "postgres"))
-               (initdb (string-append #$(final-postgresql postgresql ext=
ension-packages)
-                                      "/bin/initdb"))
-               (initdb-args
-                (append
-                 (if #$locale
-                     (list (string-append "--locale=3D" #$locale))
-                     '()))))
-           ;; Create db state directory.
-           (mkdir-p #$data-directory)
-           (chown #$data-directory (passwd:uid user) (passwd:gid user))
-
-           ;; Drop privileges and init state directory in a new
-           ;; process.  Wait for it to finish before proceeding.
-           (match (primitive-fork)
-             (0
-              ;; Exit with a non-zero status code if an exception is thr=
own.
-              (dynamic-wind
-                (const #t)
-                (lambda ()
-                  (setgid (passwd:gid user))
-                  (setuid (passwd:uid user))
-                  (primitive-exit
-                   (apply system*
-                          initdb
-                          "-D"
-                          #$data-directory
-                          initdb-args)))
-                (lambda ()
-                  (primitive-exit 1))))
-             (pid (waitpid pid))))))))
+         (when (not (file-exists? #$data-directory))
+           (let ((user (getpwnam "postgres"))
+                 (initdb (string-append #$(final-postgresql postgresql e=
xtension-packages)
+                                        "/bin/initdb"))
+                 (initdb-args
+                  (append
+                   (if #$locale
+                       (list (string-append "--locale=3D" #$locale))
+                       '()))))
+             ;; Create db state directory.
+             (mkdir-p #$data-directory)
+             (chown #$data-directory (passwd:uid user) (passwd:gid user)=
)
+
+             ;; Drop privileges and init state directory in a new
+             ;; process.  Wait for it to finish before proceeding.
+             (match (primitive-fork)
+               (0
+                ;; Exit with a non-zero status code if an exception is t=
hrown.
+                (dynamic-wind
+                  (const #t)
+                  (lambda ()
+                    (setgid (passwd:gid user))
+                    (setuid (passwd:uid user))
+                    (primitive-exit
+                     (apply system*
+                            initdb
+                            "-D"
+                            #$data-directory
+                            initdb-args)))
+                  (lambda ()
+                    (primitive-exit 1))))
+               (pid (waitpid pid)))))))))
=20
 (define postgresql-shepherd-service
   (match-lambda
--=20
2.20.1 (Apple Git-117)





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: Robert Vollmert <rob@HIDDEN>
Subject: bug#36451: Acknowledgement ([PATCH] gnu: services: postgresql:
 Don't initdb when directory exists)
Message-ID: <handler.36451.B.156192821624041.ack <at> debbugs.gnu.org>
References: <20190630205642.54866-1-rob@HIDDEN>
X-Gnu-PR-Message: ack 36451
X-Gnu-PR-Package: guix-patches
X-Gnu-PR-Keywords: patch
Reply-To: 36451 <at> debbugs.gnu.org
Date: Sun, 30 Jun 2019 20:57:05 +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 36451 <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
36451: http://debbugs.gnu.org/cgi/bugreport.cgi?bug=3D36451
GNU Bug Tracking System
Contact help-debbugs@HIDDEN with problems


Message sent to guix-patches@HIDDEN:


X-Loop: help-debbugs@HIDDEN
Subject: [bug#36451] [PATCH v2] gnu: services: postgresql: Don't initdb when directory exists
References: <20190630205642.54866-1-rob@HIDDEN>
In-Reply-To: <20190630205642.54866-1-rob@HIDDEN>
Resent-From: Dale Mellor <guix-devel-0brg6b@HIDDEN>
Original-Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
Resent-CC: guix-patches@HIDDEN
Resent-Date: Fri, 08 Mar 2024 11:52:02 +0000
Resent-Message-ID: <handler.36451.B36451.170989871015886 <at> debbugs.gnu.org>
Resent-Sender: help-debbugs@HIDDEN
X-GNU-PR-Message: followup 36451
X-GNU-PR-Package: guix-patches
X-GNU-PR-Keywords: patch
To: 36451 <at> debbugs.gnu.org
Cc: guix-devel-0brg6b@HIDDEN, rob@HIDDEN
X-Debbugs-Original-Cc: Dale Mellor <guix-devel-0brg6b@HIDDEN>, guix-patches@HIDDEN, Robert Vollmert <rob@HIDDEN>
Received: via spool by 36451-submit <at> debbugs.gnu.org id=B36451.170989871015886
          (code B ref 36451); Fri, 08 Mar 2024 11:52:02 +0000
Received: (at 36451) by debbugs.gnu.org; 8 Mar 2024 11:51:50 +0000
Received: from localhost ([127.0.0.1]:56916 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1riYlR-00048A-RJ
	for submit <at> debbugs.gnu.org; Fri, 08 Mar 2024 06:51:50 -0500
Received: from [195.15.247.228] (port=40448 helo=rdmp.org)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <guix-devel-0brg6b@HIDDEN>) id 1riYlM-00047t-Vk
 for 36451 <at> debbugs.gnu.org; Fri, 08 Mar 2024 06:51:49 -0500
Received: from [127.0.0.1] (helo=localhost.localdomain)
 by rdmp.org with esmtp (Exim 4.96.1)
 (envelope-from <guix-devel-0brg6b@HIDDEN>) id 1riYkA-0004q8-1C;
 Fri, 08 Mar 2024 11:51:06 +0000
From: Dale Mellor <guix-devel-0brg6b@HIDDEN>
Date: Fri,  8 Mar 2024 11:51:01 +0000
Message-ID: <20240308115101.2047407-1-guix-devel-0brg6b@HIDDEN>
X-Mailer: git-send-email 2.41.0
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
X-Spam-Score: 1.3 (+)
X-Spam-Report: Spam detection software, running on the system "debbugs.gnu.org",
 has NOT identified this incoming email as spam.  The original
 message has been attached to this so you can view it or label
 similar future email.  If you have any questions, see
 the administrator of that system for details.
 Content preview: From: Robert Vollmert <rob@HIDDEN> *
 gnu/services/databases.scm
 (postgresql-activation): Check if directory exists. Dale Mellor: 
 Content analysis details:   (1.3 points, 10.0 required)
 pts rule name              description
 ---- ---------------------- --------------------------------------------------
 -0.0 SPF_PASS               SPF: sender matches SPF record
 0.0 T_SPF_HELO_TEMPERROR   SPF: test of HELO record failed (temperror)
 1.3 RDNS_NONE Delivered to internal network by a host with no rDNS
 -0.0 T_SCC_BODY_TEXT_LINE   No description available.
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: 0.3 (/)

From: Robert Vollmert <rob@HIDDEN>

* gnu/services/databases.scm (postgresql-activation): Check if
directory exists.

--------------
Dale Mellor:

     - Modified to make patch apply to head of current master branch.
     - Verified working, does not break an existing system.
     - Code change is clean.

Reviewed-by: Dale Mellor <guix-devel-0brg6b@HIDDEN>
---
 gnu/services/databases.scm | 68 ++++++++++++++++++++------------------
 1 file changed, 35 insertions(+), 33 deletions(-)

diff --git a/gnu/services/databases.scm b/gnu/services/databases.scm
index 580031cb423..cb85d18e214 100644
--- a/gnu/services/databases.scm
+++ b/gnu/services/databases.scm
@@ -235,20 +235,7 @@ (define postgresql-activation
          (use-modules (guix build utils)
                       (ice-9 match))
 
-         (let ((user (getpwnam "postgres"))
-               (initdb (string-append
-                        #$(final-postgresql postgresql
-                                            extension-packages)
-                        "/bin/initdb"))
-               (initdb-args
-                (append
-                 (if #$locale
-                     (list (string-append "--locale=" #$locale))
-                     '()))))
-           ;; Create db state directory.
-           (mkdir-p #$data-directory)
-           (chown #$data-directory (passwd:uid user) (passwd:gid user))
-
+         (let ((user (getpwnam "postgres")))
            ;; Create the socket directory.
            (let ((socket-directory
                   #$(postgresql-config-file-socket-directory config-file)))
@@ -261,25 +248,40 @@ (define postgresql-activation
              (mkdir-p #$log-directory)
              (chown #$log-directory (passwd:uid user) (passwd:gid user)))
 
-           ;; Drop privileges and init state directory in a new
-           ;; process.  Wait for it to finish before proceeding.
-           (match (primitive-fork)
-             (0
-              ;; Exit with a non-zero status code if an exception is thrown.
-              (dynamic-wind
-                (const #t)
-                (lambda ()
-                  (setgid (passwd:gid user))
-                  (setuid (passwd:uid user))
-                  (primitive-exit
-                   (apply system*
-                          initdb
-                          "-D"
-                          #$data-directory
-                          initdb-args)))
-                (lambda ()
-                  (primitive-exit 1))))
-             (pid (waitpid pid))))))))
+           (unless (file-exists? #$data-directory)
+             (let ((initdb (string-append
+                            #$(final-postgresql postgresql
+                                                extension-packages)
+                            "/bin/initdb"))
+                   (initdb-args
+                    (append
+                     (if #$locale
+                         (list (string-append "--locale=" #$locale))
+                         '()))))
+               ;; Create db state directory.
+               (mkdir-p #$data-directory)
+               (chown #$data-directory (passwd:uid user) (passwd:gid user))
+
+               ;; Drop privileges and init state directory in a new
+               ;; process.  Wait for it to finish before proceeding.
+               (match (primitive-fork)
+                 (0
+                  ;; Exit with a non-zero status code if an exception is
+                  ;; thrown.
+                  (dynamic-wind
+                      (const #t)
+                      (lambda ()
+                        (setgid (passwd:gid user))
+                        (setuid (passwd:uid user))
+                        (primitive-exit
+                         (apply system*
+                                initdb
+                                "-D"
+                                #$data-directory
+                                initdb-args)))
+                      (lambda ()
+                        (primitive-exit 1))))
+                 (pid (waitpid pid))))))))))
 
 (define postgresql-shepherd-service
   (match-lambda
-- 
2.41.0





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


Received: (at control) by debbugs.gnu.org; 8 Mar 2024 11:57:13 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Fri Mar 08 06:57:13 2024
Received: from localhost ([127.0.0.1]:56925 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1riYqf-0004Gy-B8
	for submit <at> debbugs.gnu.org; Fri, 08 Mar 2024 06:57:13 -0500
Received: from [195.15.247.228] (port=12250 helo=rdmp.org)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <guix-devel-0brg6b@HIDDEN>) id 1riYqd-0004Gk-6n
 for control <at> debbugs.gnu.org; Fri, 08 Mar 2024 06:57:11 -0500
Received: from [127.0.0.1] (helo=[IPv6:::1])
 by rdmp.org with esmtp (Exim 4.96.1)
 (envelope-from <guix-devel-0brg6b@HIDDEN>) id 1riYpR-0004qU-0W
 for control <at> debbugs.gnu.org; Fri, 08 Mar 2024 11:56:33 +0000
Message-ID: <2e13b61ee89235a8d3b28d5b3d04763eb0868fc0.camel@HIDDEN>
Subject: 
From: Dale Mellor <guix-devel-0brg6b@HIDDEN>
To: control <control <at> debbugs.gnu.org>
Date: Fri, 08 Mar 2024 11:56:33 +0000
Organization: DM Bespoke Computer Solutions Ltd
Content-Type: text/plain
Content-Transfer-Encoding: 7bit
User-Agent: Evolution 3.46.4 
MIME-Version: 1.0
X-Spam-Score: 3.3 (+++)
X-Spam-Report: Spam detection software, running on the system "debbugs.gnu.org",
 has NOT identified this incoming email as spam.  The original
 message has been attached to this so you can view it or label
 similar future email.  If you have any questions, see
 the administrator of that system for details.
 Content preview:  merge 36451 69633 
 Content analysis details:   (3.3 points, 10.0 required)
 pts rule name              description
 ---- ---------------------- --------------------------------------------------
 -0.0 SPF_PASS               SPF: sender matches SPF record
 -0.0 SPF_HELO_PASS          SPF: HELO matches SPF record
 1.3 RDNS_NONE Delivered to internal network by a host with no rDNS
 2.0 BLANK_SUBJECT          Subject is present but empty
 -0.0 T_SCC_BODY_TEXT_LINE   No description available.
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: 2.3 (++)
X-Spam-Report: Spam detection software, running on the system "debbugs.gnu.org",
 has NOT identified this incoming email as spam.  The original
 message has been attached to this so you can view it or label
 similar future email.  If you have any questions, see
 the administrator of that system for details.
 
 Content preview:  merge 36451 69633 
 
 Content analysis details:   (2.3 points, 10.0 required)
 
  pts rule name              description
 ---- ---------------------- --------------------------------------------------
 -0.0 SPF_PASS               SPF: sender matches SPF record
 -0.0 SPF_HELO_PASS          SPF: HELO matches SPF record
  1.3 RDNS_NONE              Delivered to internal network by a host with no rDNS
  2.0 BLANK_SUBJECT          Subject is present but empty
 -0.0 T_SCC_BODY_TEXT_LINE   No description available.
 -1.0 MAILING_LIST_MULTI     Multiple indicators imply a widely-seen list
                             manager

merge 36451 69633





Message sent to guix-patches@HIDDEN:


X-Loop: help-debbugs@HIDDEN
Subject: [bug#36451] [bug#69633] [PATCH v2] gnu: services: postgresql: Don't initdb when directory exists
Resent-From: Christopher Baines <mail@HIDDEN>
Original-Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
Resent-CC: guix-patches@HIDDEN
Resent-Date: Wed, 13 Mar 2024 11:05:02 +0000
Resent-Message-ID: <handler.36451.B36451.171032784520386 <at> debbugs.gnu.org>
Resent-Sender: help-debbugs@HIDDEN
X-GNU-PR-Message: followup 36451
X-GNU-PR-Package: guix-patches
X-GNU-PR-Keywords: patch
To: Dale Mellor <guix-devel-0brg6b@HIDDEN>
Cc: 36451 <at> debbugs.gnu.org, 69633 <at> debbugs.gnu.org, rob@HIDDEN
X-Debbugs-Original-Cc: 36451 <at> debbugs.gnu.org, guix-patches@HIDDEN, 69633 <at> debbugs.gnu.org, rob@HIDDEN
Received: via spool by 36451-submit <at> debbugs.gnu.org id=B36451.171032784520386
          (code B ref 36451); Wed, 13 Mar 2024 11:05:02 +0000
Received: (at 36451) by debbugs.gnu.org; 13 Mar 2024 11:04:05 +0000
Received: from localhost ([127.0.0.1]:44774 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1rkMOz-0005Ij-1B
	for submit <at> debbugs.gnu.org; Wed, 13 Mar 2024 07:04:05 -0400
Received: from mira.cbaines.net ([212.71.252.8]:43172)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <mail@HIDDEN>)
 id 1rkMOw-0005Ia-Vr; Wed, 13 Mar 2024 07:04:04 -0400
Received: from localhost (unknown [212.132.255.10])
 by mira.cbaines.net (Postfix) with ESMTPSA id C0E0927BBE2;
 Wed, 13 Mar 2024 11:02:56 +0000 (GMT)
Received: from felis (localhost.lan [127.0.0.1])
 by localhost (OpenSMTPD) with ESMTP id 7fbaf9f9;
 Wed, 13 Mar 2024 11:02:56 +0000 (UTC)
References: <20240308115101.2047407-1-guix-devel-0brg6b@HIDDEN>
User-agent: mu4e 1.10.8; emacs 29.1
From: Christopher Baines <mail@HIDDEN>
Date: Wed, 13 Mar 2024 11:01:03 +0000
In-reply-to: <20240308115101.2047407-1-guix-devel-0brg6b@HIDDEN>
Message-ID: <8734suwg0x.fsf@HIDDEN>
MIME-Version: 1.0
Content-Type: multipart/signed; boundary="=-=-=";
 micalg=pgp-sha512; protocol="application/pgp-signature"
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 (-)

--=-=-=
Content-Type: text/plain


Dale Mellor <guix-devel-0brg6b@HIDDEN> writes:

> From: Robert Vollmert <rob@HIDDEN>
>
> * gnu/services/databases.scm (postgresql-activation): Check if
> directory exists.
>
> --------------
> Dale Mellor:
>
>      - Modified to make patch apply to head of current master branch.
>      - Verified working, does not break an existing system.
>      - Code change is clean.

I think what I'm missing here is why this change is being made? I think
the PostgreSQL service works at the moment, so what does this change
mean?

--=-=-=
Content-Type: application/pgp-signature; name="signature.asc"

-----BEGIN PGP SIGNATURE-----

iQKlBAEBCgCPFiEEPonu50WOcg2XVOCyXiijOwuE9XcFAmXxh95fFIAAAAAALgAo
aXNzdWVyLWZwckBub3RhdGlvbnMub3BlbnBncC5maWZ0aGhvcnNlbWFuLm5ldDNF
ODlFRUU3NDU4RTcyMEQ5NzU0RTBCMjVFMjhBMzNCMEI4NEY1NzcRHG1haWxAY2Jh
aW5lcy5uZXQACgkQXiijOwuE9Xe6TQ/9E3ToIgx8OI6xX1GUWo+bjaV+uEnyCEEu
ZekVIba7Sj+mSNI0T9/8BXhboHVQMfyLeG+Z34KO4JxHIZ5XtC2E2r2iYRAQibln
vfc0pV1rw/15CBPRVqLcgVS2HnOn7gPqVh0zEPA6QMc7DFqvpGVd2V8D444TPtWf
j+9kTIh95cyJ7t99n2aJe4CEyef3hJVo2e+8iLJu8nVJyWwXSgjBA0X+AdDx/Gev
XWeAMxlyORrBBdF6FB7U+9xbKRGHkqNznM08mDoVGsc2RxZYKNNrb5vR2XiLiDJ2
quOlrsdgG/eT//szvhZB4MKdoEMvI/9g7ExiHdxCRJCK9RpjeSgtK7nZaEWmL4ub
KlI7AiO1rwFC/8q1RXvwT+IlURSRrQ+iGmupik0Gud09jyc1X5c1HAmyKMKSxXDY
I53CPsibPZHO2lywtznMHf7aXgYS8Zvs+GX/jjbW+E/mawFA3acyVYxA8CYwMSzV
klFz246WTeWE4mLY5pS8pPCq7+SQiUYx77By5fNCns4oQ4+Dg0FOkXFWMRCWyG48
xephCF5JG7oi9uCGjk17th2zywbriUDkD1xuYDahZy+Dcqz+uXwkIMGuFE8Mh1uH
tfLgviqpC9fzif75Nv4b4vEIXb2Is5nCvSopmE+chNK+aF+M2kpH70hjhZ92bwvl
eXM8jCR9F80=
=eh2h
-----END PGP SIGNATURE-----
--=-=-=--




Message sent:


MIME-Version: 1.0
X-Mailer: MIME-tools 5.505 (Entity 5.505)
X-Loop: help-debbugs@HIDDEN
From: help-debbugs@HIDDEN (GNU bug Tracking System)
To: Ludovic =?UTF-8?Q?Court=C3=A8s?= <ludo@HIDDEN>
Subject: bug#36451: closed ([PATCH] gnu: services: postgresql: Don't
 initdb when directory exists)
CC: tracker <at> debbugs.gnu.org
Message-ID: <handler.36451.D36451.171175054012725.ackdone <at> debbugs.gnu.org>
References: <87wmpkfzwg.fsf_-_@HIDDEN>
 <20190630205642.54866-1-rob@HIDDEN>
X-Gnu-PR-Message: closed 36451
X-Gnu-PR-Package: guix-patches
X-Gnu-PR-Keywords: patch
Date: Fri, 29 Mar 2024 22:16:02 +0000
Content-Type: multipart/mixed; boundary="----------=_1711750562-12796-0"

This is a multi-part message in MIME format...

------------=_1711750562-12796-0
Content-Disposition: inline
Content-Transfer-Encoding: quoted-printable
Content-Type: text/plain; charset=utf-8

Your message dated Fri, 29 Mar 2024 23:15:27 +0100
with message-id <87wmpkfzwg.fsf_-_@HIDDEN>
and subject line Re: bug#69633: [PATCH v2] gnu: services: postgresql: Don't=
 initdb when directory exists
has caused the debbugs.gnu.org bug report #36451,
regarding [PATCH] gnu: services: postgresql: Don't initdb when directory ex=
ists
to be marked as done.

(If you believe you have received this mail in error, please contact
help-debbugs@HIDDEN)


--=20
36451: https://debbugs.gnu.org/cgi/bugreport.cgi?bug=3D36451
GNU Bug Tracking System
Contact help-debbugs@HIDDEN with problems

------------=_1711750562-12796-0
Content-Type: message/rfc822
Content-Disposition: inline
Content-Transfer-Encoding: 7bit

Received: (at submit) by debbugs.gnu.org; 30 Jun 2019 20:56:56 +0000
Received: from localhost ([127.0.0.1]:47361 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1hhgsa-0006Fh-4R
	for submit <at> debbugs.gnu.org; Sun, 30 Jun 2019 16:56:56 -0400
Received: from lists.gnu.org ([209.51.188.17]:54105)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <rob@HIDDEN>) id 1hhgsY-0006FV-Hd
 for submit <at> debbugs.gnu.org; Sun, 30 Jun 2019 16:56:54 -0400
Received: from eggs.gnu.org ([2001:470:142:3::10]:37988)
 by lists.gnu.org with esmtp (Exim 4.86_2)
 (envelope-from <rob@HIDDEN>) id 1hhgsW-0002gu-Pw
 for guix-patches@HIDDEN; Sun, 30 Jun 2019 16:56:54 -0400
X-Spam-Checker-Version: SpamAssassin 3.3.2 (2011-06-06) on eggs.gnu.org
X-Spam-Level: 
X-Spam-Status: No, score=0.1 required=5.0 tests=BAYES_50,RCVD_IN_DNSWL_LOW
 autolearn=disabled version=3.3.2
Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71)
 (envelope-from <rob@HIDDEN>) id 1hhgsU-0001ky-0D
 for guix-patches@HIDDEN; Sun, 30 Jun 2019 16:56:51 -0400
Received: from mx1.mailbox.org ([80.241.60.212]:34076)
 by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_256_CBC_SHA1:32)
 (Exim 4.71) (envelope-from <rob@HIDDEN>) id 1hhgsT-0001gs-Bx
 for guix-patches@HIDDEN; Sun, 30 Jun 2019 16:56:49 -0400
Received: from smtp2.mailbox.org (smtp2.mailbox.org
 [IPv6:2001:67c:2050:105:465:1:2:0])
 (using TLSv1.2 with cipher ECDHE-RSA-CHACHA20-POLY1305 (256/256 bits))
 (No client certificate requested)
 by mx1.mailbox.org (Postfix) with ESMTPS id A92745034E;
 Sun, 30 Jun 2019 22:56:46 +0200 (CEST)
X-Virus-Scanned: amavisd-new at heinlein-support.de
Received: from smtp2.mailbox.org ([80.241.60.241])
 by spamfilter02.heinlein-hosting.de (spamfilter02.heinlein-hosting.de
 [80.241.56.116]) (amavisd-new, port 10030)
 with ESMTP id ObQnP6pi6EQw; Sun, 30 Jun 2019 22:56:45 +0200 (CEST)
From: Robert Vollmert <rob@HIDDEN>
To: guix-patches@HIDDEN
Subject: [PATCH] gnu: services: postgresql: Don't initdb when directory exists
Date: Sun, 30 Jun 2019 22:56:42 +0200
Message-Id: <20190630205642.54866-1-rob@HIDDEN>
MIME-Version: 1.0
Content-Transfer-Encoding: quoted-printable
X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic]
X-Received-From: 80.241.60.212
X-Spam-Score: -1.6 (-)
X-Debbugs-Envelope-To: submit
Cc: Robert Vollmert <rob@HIDDEN>
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -2.6 (--)

* gnu/services/databases.scm (postgresql-activation): Check if
directory exists.
---
 gnu/services/databases.scm | 63 +++++++++++++++++++-------------------
 1 file changed, 32 insertions(+), 31 deletions(-)

diff --git a/gnu/services/databases.scm b/gnu/services/databases.scm
index ec31489d48..6b04ae0a0f 100644
--- a/gnu/services/databases.scm
+++ b/gnu/services/databases.scm
@@ -196,37 +196,38 @@ host	all	all	::1/128 	md5"))
          (use-modules (guix build utils)
                       (ice-9 match))
=20
-         (let ((user (getpwnam "postgres"))
-               (initdb (string-append #$(final-postgresql postgresql ext=
ension-packages)
-                                      "/bin/initdb"))
-               (initdb-args
-                (append
-                 (if #$locale
-                     (list (string-append "--locale=3D" #$locale))
-                     '()))))
-           ;; Create db state directory.
-           (mkdir-p #$data-directory)
-           (chown #$data-directory (passwd:uid user) (passwd:gid user))
-
-           ;; Drop privileges and init state directory in a new
-           ;; process.  Wait for it to finish before proceeding.
-           (match (primitive-fork)
-             (0
-              ;; Exit with a non-zero status code if an exception is thr=
own.
-              (dynamic-wind
-                (const #t)
-                (lambda ()
-                  (setgid (passwd:gid user))
-                  (setuid (passwd:uid user))
-                  (primitive-exit
-                   (apply system*
-                          initdb
-                          "-D"
-                          #$data-directory
-                          initdb-args)))
-                (lambda ()
-                  (primitive-exit 1))))
-             (pid (waitpid pid))))))))
+         (when (not (file-exists? #$data-directory))
+           (let ((user (getpwnam "postgres"))
+                 (initdb (string-append #$(final-postgresql postgresql e=
xtension-packages)
+                                        "/bin/initdb"))
+                 (initdb-args
+                  (append
+                   (if #$locale
+                       (list (string-append "--locale=3D" #$locale))
+                       '()))))
+             ;; Create db state directory.
+             (mkdir-p #$data-directory)
+             (chown #$data-directory (passwd:uid user) (passwd:gid user)=
)
+
+             ;; Drop privileges and init state directory in a new
+             ;; process.  Wait for it to finish before proceeding.
+             (match (primitive-fork)
+               (0
+                ;; Exit with a non-zero status code if an exception is t=
hrown.
+                (dynamic-wind
+                  (const #t)
+                  (lambda ()
+                    (setgid (passwd:gid user))
+                    (setuid (passwd:uid user))
+                    (primitive-exit
+                     (apply system*
+                            initdb
+                            "-D"
+                            #$data-directory
+                            initdb-args)))
+                  (lambda ()
+                    (primitive-exit 1))))
+               (pid (waitpid pid)))))))))
=20
 (define postgresql-shepherd-service
   (match-lambda
--=20
2.20.1 (Apple Git-117)




------------=_1711750562-12796-0
Content-Type: message/rfc822
Content-Disposition: inline
Content-Transfer-Encoding: 7bit

Received: (at 36451-done) by debbugs.gnu.org; 29 Mar 2024 22:15:40 +0000
Received: from localhost ([127.0.0.1]:43552 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1rqKVf-0003J6-T1
	for submit <at> debbugs.gnu.org; Fri, 29 Mar 2024 18:15:40 -0400
Received: from eggs.gnu.org ([2001:470:142:3::10]:52792)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <ludo@HIDDEN>)
 id 1rqKVd-0003IH-8G; Fri, 29 Mar 2024 18:15: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 <ludo@HIDDEN>)
 id 1rqKVW-0000hJ-1r; Fri, 29 Mar 2024 18:15:30 -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=lOKDdJ+cX89YZDeFAPcXrkl3wBm/iGJ88Y6JhGq3k6k=; b=ZxUs7818ikOEuDc5ja4k
 5oTl1qnGavEj0gxms66yNw5OjN/zSm1dnVCW9otEkpwV0SPKElZF+VHcpCmhVEm42Ou+sHvixvD2P
 r8A+4Kpsluf4o4WwZFBvsPz/5dW+YXXfzxuCT/z46MP/FXOpiVoWp9VZ76E1IVfOLUlAuU6hZw45N
 j2z8FJjaSJYR8Hc8bIOB5ud8ahMY/wVYiQqG5YbjAQVPF/c1MQNQ0QwD3GmIE+GuEMZbU2Vm4i5cc
 CcaMl0Bcq/Ytrd46qJVBL7C24OqGidXLVyRC6qjnTwNqOEG9V83a8/C1B1FW7mVSbHGwzPdtcmktO
 76YiNiIA6WQxJg==;
From: =?utf-8?Q?Ludovic_Court=C3=A8s?= <ludo@HIDDEN>
To: Dale Mellor <guix-devel-0brg6b@HIDDEN>
Subject: Re: bug#69633: [PATCH v2] gnu: services: postgresql: Don't initdb
 when directory exists
In-Reply-To: <20240308115101.2047407-1-guix-devel-0brg6b@HIDDEN> (Dale
 Mellor's message of "Fri, 8 Mar 2024 11:51:01 +0000")
References: <20190630205642.54866-1-rob@HIDDEN>
 <20240308115101.2047407-1-guix-devel-0brg6b@HIDDEN>
Date: Fri, 29 Mar 2024 23:15:27 +0100
Message-ID: <87wmpkfzwg.fsf_-_@HIDDEN>
User-Agent: Gnus/5.13 (Gnus v5.13)
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: quoted-printable
X-Spam-Score: -2.3 (--)
X-Debbugs-Envelope-To: 36451-done
Cc: 36451-done <at> debbugs.gnu.org, 69633-done <at> debbugs.gnu.org, rob@HIDDEN
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -3.3 (---)

Hi,

Dale Mellor <guix-devel-0brg6b@HIDDEN> skribis:

> From: Robert Vollmert <rob@HIDDEN>
>
> * gnu/services/databases.scm (postgresql-activation): Check if
> directory exists.

Finally applied, thank you!

Ludo=E2=80=99.


------------=_1711750562-12796-0--


Message sent:


MIME-Version: 1.0
X-Mailer: MIME-tools 5.505 (Entity 5.505)
X-Loop: help-debbugs@HIDDEN
From: help-debbugs@HIDDEN (GNU bug Tracking System)
To: Robert Vollmert <rob@HIDDEN>
Subject: bug#36451: closed (Re: bug#69633: [PATCH v2] gnu: services:
 postgresql: Don't initdb when directory exists)
Message-ID: <handler.36451.D36451.171175054012725.notifdone <at> debbugs.gnu.org>
References: <87wmpkfzwg.fsf_-_@HIDDEN>
 <20190630205642.54866-1-rob@HIDDEN>
X-Gnu-PR-Message: they-closed 36451
X-Gnu-PR-Package: guix-patches
X-Gnu-PR-Keywords: patch
Reply-To: 36451 <at> debbugs.gnu.org
Date: Fri, 29 Mar 2024 22:16:02 +0000
Content-Type: multipart/mixed; boundary="----------=_1711750562-12796-1"

This is a multi-part message in MIME format...

------------=_1711750562-12796-1
Content-Disposition: inline
Content-Transfer-Encoding: quoted-printable
Content-Type: text/plain; charset="utf-8"

Your bug report

#36451: [PATCH] gnu: services: postgresql: Don't initdb when directory exis=
ts

which was filed against the guix-patches package, has been closed.

The explanation is attached below, along with your original report.
If you require more details, please reply to 36451 <at> debbugs.gnu.org.

--=20
36451: https://debbugs.gnu.org/cgi/bugreport.cgi?bug=3D36451
GNU Bug Tracking System
Contact help-debbugs@HIDDEN with problems

------------=_1711750562-12796-1
Content-Type: message/rfc822
Content-Disposition: inline
Content-Transfer-Encoding: 7bit

Received: (at 36451-done) by debbugs.gnu.org; 29 Mar 2024 22:15:40 +0000
Received: from localhost ([127.0.0.1]:43552 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1rqKVf-0003J6-T1
	for submit <at> debbugs.gnu.org; Fri, 29 Mar 2024 18:15:40 -0400
Received: from eggs.gnu.org ([2001:470:142:3::10]:52792)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <ludo@HIDDEN>)
 id 1rqKVd-0003IH-8G; Fri, 29 Mar 2024 18:15: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 <ludo@HIDDEN>)
 id 1rqKVW-0000hJ-1r; Fri, 29 Mar 2024 18:15:30 -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=lOKDdJ+cX89YZDeFAPcXrkl3wBm/iGJ88Y6JhGq3k6k=; b=ZxUs7818ikOEuDc5ja4k
 5oTl1qnGavEj0gxms66yNw5OjN/zSm1dnVCW9otEkpwV0SPKElZF+VHcpCmhVEm42Ou+sHvixvD2P
 r8A+4Kpsluf4o4WwZFBvsPz/5dW+YXXfzxuCT/z46MP/FXOpiVoWp9VZ76E1IVfOLUlAuU6hZw45N
 j2z8FJjaSJYR8Hc8bIOB5ud8ahMY/wVYiQqG5YbjAQVPF/c1MQNQ0QwD3GmIE+GuEMZbU2Vm4i5cc
 CcaMl0Bcq/Ytrd46qJVBL7C24OqGidXLVyRC6qjnTwNqOEG9V83a8/C1B1FW7mVSbHGwzPdtcmktO
 76YiNiIA6WQxJg==;
From: =?utf-8?Q?Ludovic_Court=C3=A8s?= <ludo@HIDDEN>
To: Dale Mellor <guix-devel-0brg6b@HIDDEN>
Subject: Re: bug#69633: [PATCH v2] gnu: services: postgresql: Don't initdb
 when directory exists
In-Reply-To: <20240308115101.2047407-1-guix-devel-0brg6b@HIDDEN> (Dale
 Mellor's message of "Fri, 8 Mar 2024 11:51:01 +0000")
References: <20190630205642.54866-1-rob@HIDDEN>
 <20240308115101.2047407-1-guix-devel-0brg6b@HIDDEN>
Date: Fri, 29 Mar 2024 23:15:27 +0100
Message-ID: <87wmpkfzwg.fsf_-_@HIDDEN>
User-Agent: Gnus/5.13 (Gnus v5.13)
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: quoted-printable
X-Spam-Score: -2.3 (--)
X-Debbugs-Envelope-To: 36451-done
Cc: 36451-done <at> debbugs.gnu.org, 69633-done <at> debbugs.gnu.org, rob@HIDDEN
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -3.3 (---)

Hi,

Dale Mellor <guix-devel-0brg6b@HIDDEN> skribis:

> From: Robert Vollmert <rob@HIDDEN>
>
> * gnu/services/databases.scm (postgresql-activation): Check if
> directory exists.

Finally applied, thank you!

Ludo=E2=80=99.


------------=_1711750562-12796-1
Content-Type: message/rfc822
Content-Disposition: inline
Content-Transfer-Encoding: 7bit

Received: (at submit) by debbugs.gnu.org; 30 Jun 2019 20:56:56 +0000
Received: from localhost ([127.0.0.1]:47361 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1hhgsa-0006Fh-4R
	for submit <at> debbugs.gnu.org; Sun, 30 Jun 2019 16:56:56 -0400
Received: from lists.gnu.org ([209.51.188.17]:54105)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <rob@HIDDEN>) id 1hhgsY-0006FV-Hd
 for submit <at> debbugs.gnu.org; Sun, 30 Jun 2019 16:56:54 -0400
Received: from eggs.gnu.org ([2001:470:142:3::10]:37988)
 by lists.gnu.org with esmtp (Exim 4.86_2)
 (envelope-from <rob@HIDDEN>) id 1hhgsW-0002gu-Pw
 for guix-patches@HIDDEN; Sun, 30 Jun 2019 16:56:54 -0400
X-Spam-Checker-Version: SpamAssassin 3.3.2 (2011-06-06) on eggs.gnu.org
X-Spam-Level: 
X-Spam-Status: No, score=0.1 required=5.0 tests=BAYES_50,RCVD_IN_DNSWL_LOW
 autolearn=disabled version=3.3.2
Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71)
 (envelope-from <rob@HIDDEN>) id 1hhgsU-0001ky-0D
 for guix-patches@HIDDEN; Sun, 30 Jun 2019 16:56:51 -0400
Received: from mx1.mailbox.org ([80.241.60.212]:34076)
 by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_256_CBC_SHA1:32)
 (Exim 4.71) (envelope-from <rob@HIDDEN>) id 1hhgsT-0001gs-Bx
 for guix-patches@HIDDEN; Sun, 30 Jun 2019 16:56:49 -0400
Received: from smtp2.mailbox.org (smtp2.mailbox.org
 [IPv6:2001:67c:2050:105:465:1:2:0])
 (using TLSv1.2 with cipher ECDHE-RSA-CHACHA20-POLY1305 (256/256 bits))
 (No client certificate requested)
 by mx1.mailbox.org (Postfix) with ESMTPS id A92745034E;
 Sun, 30 Jun 2019 22:56:46 +0200 (CEST)
X-Virus-Scanned: amavisd-new at heinlein-support.de
Received: from smtp2.mailbox.org ([80.241.60.241])
 by spamfilter02.heinlein-hosting.de (spamfilter02.heinlein-hosting.de
 [80.241.56.116]) (amavisd-new, port 10030)
 with ESMTP id ObQnP6pi6EQw; Sun, 30 Jun 2019 22:56:45 +0200 (CEST)
From: Robert Vollmert <rob@HIDDEN>
To: guix-patches@HIDDEN
Subject: [PATCH] gnu: services: postgresql: Don't initdb when directory exists
Date: Sun, 30 Jun 2019 22:56:42 +0200
Message-Id: <20190630205642.54866-1-rob@HIDDEN>
MIME-Version: 1.0
Content-Transfer-Encoding: quoted-printable
X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic]
X-Received-From: 80.241.60.212
X-Spam-Score: -1.6 (-)
X-Debbugs-Envelope-To: submit
Cc: Robert Vollmert <rob@HIDDEN>
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -2.6 (--)

* gnu/services/databases.scm (postgresql-activation): Check if
directory exists.
---
 gnu/services/databases.scm | 63 +++++++++++++++++++-------------------
 1 file changed, 32 insertions(+), 31 deletions(-)

diff --git a/gnu/services/databases.scm b/gnu/services/databases.scm
index ec31489d48..6b04ae0a0f 100644
--- a/gnu/services/databases.scm
+++ b/gnu/services/databases.scm
@@ -196,37 +196,38 @@ host	all	all	::1/128 	md5"))
          (use-modules (guix build utils)
                       (ice-9 match))
=20
-         (let ((user (getpwnam "postgres"))
-               (initdb (string-append #$(final-postgresql postgresql ext=
ension-packages)
-                                      "/bin/initdb"))
-               (initdb-args
-                (append
-                 (if #$locale
-                     (list (string-append "--locale=3D" #$locale))
-                     '()))))
-           ;; Create db state directory.
-           (mkdir-p #$data-directory)
-           (chown #$data-directory (passwd:uid user) (passwd:gid user))
-
-           ;; Drop privileges and init state directory in a new
-           ;; process.  Wait for it to finish before proceeding.
-           (match (primitive-fork)
-             (0
-              ;; Exit with a non-zero status code if an exception is thr=
own.
-              (dynamic-wind
-                (const #t)
-                (lambda ()
-                  (setgid (passwd:gid user))
-                  (setuid (passwd:uid user))
-                  (primitive-exit
-                   (apply system*
-                          initdb
-                          "-D"
-                          #$data-directory
-                          initdb-args)))
-                (lambda ()
-                  (primitive-exit 1))))
-             (pid (waitpid pid))))))))
+         (when (not (file-exists? #$data-directory))
+           (let ((user (getpwnam "postgres"))
+                 (initdb (string-append #$(final-postgresql postgresql e=
xtension-packages)
+                                        "/bin/initdb"))
+                 (initdb-args
+                  (append
+                   (if #$locale
+                       (list (string-append "--locale=3D" #$locale))
+                       '()))))
+             ;; Create db state directory.
+             (mkdir-p #$data-directory)
+             (chown #$data-directory (passwd:uid user) (passwd:gid user)=
)
+
+             ;; Drop privileges and init state directory in a new
+             ;; process.  Wait for it to finish before proceeding.
+             (match (primitive-fork)
+               (0
+                ;; Exit with a non-zero status code if an exception is t=
hrown.
+                (dynamic-wind
+                  (const #t)
+                  (lambda ()
+                    (setgid (passwd:gid user))
+                    (setuid (passwd:uid user))
+                    (primitive-exit
+                     (apply system*
+                            initdb
+                            "-D"
+                            #$data-directory
+                            initdb-args)))
+                  (lambda ()
+                    (primitive-exit 1))))
+               (pid (waitpid pid)))))))))
=20
 (define postgresql-shepherd-service
   (match-lambda
--=20
2.20.1 (Apple Git-117)




------------=_1711750562-12796-1--


Message sent:


MIME-Version: 1.0
X-Mailer: MIME-tools 5.505 (Entity 5.505)
X-Loop: help-debbugs@HIDDEN
From: help-debbugs@HIDDEN (GNU bug Tracking System)
To: Ludovic =?UTF-8?Q?Court=C3=A8s?= <ludo@HIDDEN>
Subject: bug#69633: closed ([PATCH v2] gnu: services: postgresql: Don't
 initdb when directory exists)
CC: tracker <at> debbugs.gnu.org
Message-ID: <handler.69633.D36451.171175054012725.ackdone <at> debbugs.gnu.org>
References: <87wmpkfzwg.fsf_-_@HIDDEN>
 <20240308115101.2047407-1-guix-devel-0brg6b@HIDDEN>
X-Gnu-PR-Message: closed 69633
X-Gnu-PR-Package: guix-patches
X-Gnu-PR-Keywords: patch
Date: Fri, 29 Mar 2024 22:16:02 +0000
Content-Type: multipart/mixed; boundary="----------=_1711750562-12796-2"

This is a multi-part message in MIME format...

------------=_1711750562-12796-2
Content-Disposition: inline
Content-Transfer-Encoding: quoted-printable
Content-Type: text/plain; charset=utf-8

Your message dated Fri, 29 Mar 2024 23:15:27 +0100
with message-id <87wmpkfzwg.fsf_-_@HIDDEN>
and subject line Re: bug#69633: [PATCH v2] gnu: services: postgresql: Don't=
 initdb when directory exists
has caused the debbugs.gnu.org bug report #36451,
regarding [PATCH v2] gnu: services: postgresql: Don't initdb when directory=
 exists
to be marked as done.

(If you believe you have received this mail in error, please contact
help-debbugs@HIDDEN)


--=20
36451: https://debbugs.gnu.org/cgi/bugreport.cgi?bug=3D36451
GNU Bug Tracking System
Contact help-debbugs@HIDDEN with problems

------------=_1711750562-12796-2
Content-Type: message/rfc822
Content-Disposition: inline
Content-Transfer-Encoding: 7bit

Received: (at submit) by debbugs.gnu.org; 8 Mar 2024 11:51:56 +0000
Received: from localhost ([127.0.0.1]:56918 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1riYlX-00048R-7Z
	for submit <at> debbugs.gnu.org; Fri, 08 Mar 2024 06:51:55 -0500
Received: from lists.gnu.org ([209.51.188.17]:56504)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <guix-devel-0brg6b@HIDDEN>) id 1riYlN-00047z-2u
 for submit <at> debbugs.gnu.org; Fri, 08 Mar 2024 06:51:53 -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 <guix-devel-0brg6b@HIDDEN>)
 id 1riYkq-00080V-PS
 for guix-patches@HIDDEN; Fri, 08 Mar 2024 06:51:12 -0500
Received: from [195.15.247.228] (helo=rdmp.org)
 by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
 (Exim 4.90_1) (envelope-from <guix-devel-0brg6b@HIDDEN>)
 id 1riYkp-00064c-8n
 for guix-patches@HIDDEN; Fri, 08 Mar 2024 06:51:12 -0500
Received: from [127.0.0.1] (helo=localhost.localdomain)
 by rdmp.org with esmtp (Exim 4.96.1)
 (envelope-from <guix-devel-0brg6b@HIDDEN>) id 1riYkA-0004q8-1C;
 Fri, 08 Mar 2024 11:51:06 +0000
From: Dale Mellor <guix-devel-0brg6b@HIDDEN>
To: 36451 <at> debbugs.gnu.org
Subject: [PATCH v2] gnu: services: postgresql: Don't initdb when directory
 exists
Date: Fri,  8 Mar 2024 11:51:01 +0000
Message-ID: <20240308115101.2047407-1-guix-devel-0brg6b@HIDDEN>
X-Mailer: git-send-email 2.41.0
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
X-Host-Lookup-Failed: Reverse DNS lookup failed for 195.15.247.228 (failed)
Received-SPF: pass client-ip=195.15.247.228;
 envelope-from=guix-devel-0brg6b@HIDDEN; helo=rdmp.org
X-Spam_score_int: -10
X-Spam_score: -1.1
X-Spam_bar: -
X-Spam_report: (-1.1 / 5.0 requ) BAYES_00=-1.9, RDNS_NONE=0.793,
 SPF_HELO_PASS=-0.001, SPF_PASS=-0.001,
 T_SCC_BODY_TEXT_LINE=-0.01 autolearn=no autolearn_force=no
X-Spam_action: no action
X-Spam-Score: 1.0 (+)
X-Debbugs-Envelope-To: submit
Cc: Dale Mellor <guix-devel-0brg6b@HIDDEN>, guix-patches@HIDDEN,
 Robert Vollmert <rob@HIDDEN>
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -2.3 (--)

From: Robert Vollmert <rob@HIDDEN>

* gnu/services/databases.scm (postgresql-activation): Check if
directory exists.

--------------
Dale Mellor:

     - Modified to make patch apply to head of current master branch.
     - Verified working, does not break an existing system.
     - Code change is clean.

Reviewed-by: Dale Mellor <guix-devel-0brg6b@HIDDEN>
---
 gnu/services/databases.scm | 68 ++++++++++++++++++++------------------
 1 file changed, 35 insertions(+), 33 deletions(-)

diff --git a/gnu/services/databases.scm b/gnu/services/databases.scm
index 580031cb423..cb85d18e214 100644
--- a/gnu/services/databases.scm
+++ b/gnu/services/databases.scm
@@ -235,20 +235,7 @@ (define postgresql-activation
          (use-modules (guix build utils)
                       (ice-9 match))
 
-         (let ((user (getpwnam "postgres"))
-               (initdb (string-append
-                        #$(final-postgresql postgresql
-                                            extension-packages)
-                        "/bin/initdb"))
-               (initdb-args
-                (append
-                 (if #$locale
-                     (list (string-append "--locale=" #$locale))
-                     '()))))
-           ;; Create db state directory.
-           (mkdir-p #$data-directory)
-           (chown #$data-directory (passwd:uid user) (passwd:gid user))
-
+         (let ((user (getpwnam "postgres")))
            ;; Create the socket directory.
            (let ((socket-directory
                   #$(postgresql-config-file-socket-directory config-file)))
@@ -261,25 +248,40 @@ (define postgresql-activation
              (mkdir-p #$log-directory)
              (chown #$log-directory (passwd:uid user) (passwd:gid user)))
 
-           ;; Drop privileges and init state directory in a new
-           ;; process.  Wait for it to finish before proceeding.
-           (match (primitive-fork)
-             (0
-              ;; Exit with a non-zero status code if an exception is thrown.
-              (dynamic-wind
-                (const #t)
-                (lambda ()
-                  (setgid (passwd:gid user))
-                  (setuid (passwd:uid user))
-                  (primitive-exit
-                   (apply system*
-                          initdb
-                          "-D"
-                          #$data-directory
-                          initdb-args)))
-                (lambda ()
-                  (primitive-exit 1))))
-             (pid (waitpid pid))))))))
+           (unless (file-exists? #$data-directory)
+             (let ((initdb (string-append
+                            #$(final-postgresql postgresql
+                                                extension-packages)
+                            "/bin/initdb"))
+                   (initdb-args
+                    (append
+                     (if #$locale
+                         (list (string-append "--locale=" #$locale))
+                         '()))))
+               ;; Create db state directory.
+               (mkdir-p #$data-directory)
+               (chown #$data-directory (passwd:uid user) (passwd:gid user))
+
+               ;; Drop privileges and init state directory in a new
+               ;; process.  Wait for it to finish before proceeding.
+               (match (primitive-fork)
+                 (0
+                  ;; Exit with a non-zero status code if an exception is
+                  ;; thrown.
+                  (dynamic-wind
+                      (const #t)
+                      (lambda ()
+                        (setgid (passwd:gid user))
+                        (setuid (passwd:uid user))
+                        (primitive-exit
+                         (apply system*
+                                initdb
+                                "-D"
+                                #$data-directory
+                                initdb-args)))
+                      (lambda ()
+                        (primitive-exit 1))))
+                 (pid (waitpid pid))))))))))
 
 (define postgresql-shepherd-service
   (match-lambda
-- 
2.41.0




------------=_1711750562-12796-2
Content-Type: message/rfc822
Content-Disposition: inline
Content-Transfer-Encoding: 7bit

Received: (at 36451-done) by debbugs.gnu.org; 29 Mar 2024 22:15:40 +0000
Received: from localhost ([127.0.0.1]:43552 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1rqKVf-0003J6-T1
	for submit <at> debbugs.gnu.org; Fri, 29 Mar 2024 18:15:40 -0400
Received: from eggs.gnu.org ([2001:470:142:3::10]:52792)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <ludo@HIDDEN>)
 id 1rqKVd-0003IH-8G; Fri, 29 Mar 2024 18:15: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 <ludo@HIDDEN>)
 id 1rqKVW-0000hJ-1r; Fri, 29 Mar 2024 18:15:30 -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=lOKDdJ+cX89YZDeFAPcXrkl3wBm/iGJ88Y6JhGq3k6k=; b=ZxUs7818ikOEuDc5ja4k
 5oTl1qnGavEj0gxms66yNw5OjN/zSm1dnVCW9otEkpwV0SPKElZF+VHcpCmhVEm42Ou+sHvixvD2P
 r8A+4Kpsluf4o4WwZFBvsPz/5dW+YXXfzxuCT/z46MP/FXOpiVoWp9VZ76E1IVfOLUlAuU6hZw45N
 j2z8FJjaSJYR8Hc8bIOB5ud8ahMY/wVYiQqG5YbjAQVPF/c1MQNQ0QwD3GmIE+GuEMZbU2Vm4i5cc
 CcaMl0Bcq/Ytrd46qJVBL7C24OqGidXLVyRC6qjnTwNqOEG9V83a8/C1B1FW7mVSbHGwzPdtcmktO
 76YiNiIA6WQxJg==;
From: =?utf-8?Q?Ludovic_Court=C3=A8s?= <ludo@HIDDEN>
To: Dale Mellor <guix-devel-0brg6b@HIDDEN>
Subject: Re: bug#69633: [PATCH v2] gnu: services: postgresql: Don't initdb
 when directory exists
In-Reply-To: <20240308115101.2047407-1-guix-devel-0brg6b@HIDDEN> (Dale
 Mellor's message of "Fri, 8 Mar 2024 11:51:01 +0000")
References: <20190630205642.54866-1-rob@HIDDEN>
 <20240308115101.2047407-1-guix-devel-0brg6b@HIDDEN>
Date: Fri, 29 Mar 2024 23:15:27 +0100
Message-ID: <87wmpkfzwg.fsf_-_@HIDDEN>
User-Agent: Gnus/5.13 (Gnus v5.13)
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: quoted-printable
X-Spam-Score: -2.3 (--)
X-Debbugs-Envelope-To: 36451-done
Cc: 36451-done <at> debbugs.gnu.org, 69633-done <at> debbugs.gnu.org, rob@HIDDEN
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -3.3 (---)

Hi,

Dale Mellor <guix-devel-0brg6b@HIDDEN> skribis:

> From: Robert Vollmert <rob@HIDDEN>
>
> * gnu/services/databases.scm (postgresql-activation): Check if
> directory exists.

Finally applied, thank you!

Ludo=E2=80=99.


------------=_1711750562-12796-2--


Message sent:


MIME-Version: 1.0
X-Mailer: MIME-tools 5.505 (Entity 5.505)
X-Loop: help-debbugs@HIDDEN
From: help-debbugs@HIDDEN (GNU bug Tracking System)
To: Dale Mellor <guix-devel-0brg6b@HIDDEN>
Subject: bug#69633: closed (Re: bug#69633: [PATCH v2] gnu: services:
 postgresql: Don't initdb when directory exists)
Message-ID: <handler.69633.D36451.171175054012725.notifdone <at> debbugs.gnu.org>
References: <87wmpkfzwg.fsf_-_@HIDDEN>
 <20240308115101.2047407-1-guix-devel-0brg6b@HIDDEN>
X-Gnu-PR-Message: they-closed 69633
X-Gnu-PR-Package: guix-patches
X-Gnu-PR-Keywords: patch
Reply-To: 69633 <at> debbugs.gnu.org
Date: Fri, 29 Mar 2024 22:16:03 +0000
Content-Type: multipart/mixed; boundary="----------=_1711750563-12796-3"

This is a multi-part message in MIME format...

------------=_1711750563-12796-3
Content-Disposition: inline
Content-Transfer-Encoding: quoted-printable
Content-Type: text/plain; charset="utf-8"

Your bug report

#36451: [PATCH v2] gnu: services: postgresql: Don't initdb when directory e=
xists

which was filed against the guix-patches package, has been closed.

The explanation is attached below, along with your original report.
If you require more details, please reply to 69633 <at> debbugs.gnu.org.

--=20
36451: https://debbugs.gnu.org/cgi/bugreport.cgi?bug=3D36451
GNU Bug Tracking System
Contact help-debbugs@HIDDEN with problems

------------=_1711750563-12796-3
Content-Type: message/rfc822
Content-Disposition: inline
Content-Transfer-Encoding: 7bit

Received: (at 36451-done) by debbugs.gnu.org; 29 Mar 2024 22:15:40 +0000
Received: from localhost ([127.0.0.1]:43552 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1rqKVf-0003J6-T1
	for submit <at> debbugs.gnu.org; Fri, 29 Mar 2024 18:15:40 -0400
Received: from eggs.gnu.org ([2001:470:142:3::10]:52792)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <ludo@HIDDEN>)
 id 1rqKVd-0003IH-8G; Fri, 29 Mar 2024 18:15: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 <ludo@HIDDEN>)
 id 1rqKVW-0000hJ-1r; Fri, 29 Mar 2024 18:15:30 -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=lOKDdJ+cX89YZDeFAPcXrkl3wBm/iGJ88Y6JhGq3k6k=; b=ZxUs7818ikOEuDc5ja4k
 5oTl1qnGavEj0gxms66yNw5OjN/zSm1dnVCW9otEkpwV0SPKElZF+VHcpCmhVEm42Ou+sHvixvD2P
 r8A+4Kpsluf4o4WwZFBvsPz/5dW+YXXfzxuCT/z46MP/FXOpiVoWp9VZ76E1IVfOLUlAuU6hZw45N
 j2z8FJjaSJYR8Hc8bIOB5ud8ahMY/wVYiQqG5YbjAQVPF/c1MQNQ0QwD3GmIE+GuEMZbU2Vm4i5cc
 CcaMl0Bcq/Ytrd46qJVBL7C24OqGidXLVyRC6qjnTwNqOEG9V83a8/C1B1FW7mVSbHGwzPdtcmktO
 76YiNiIA6WQxJg==;
From: =?utf-8?Q?Ludovic_Court=C3=A8s?= <ludo@HIDDEN>
To: Dale Mellor <guix-devel-0brg6b@HIDDEN>
Subject: Re: bug#69633: [PATCH v2] gnu: services: postgresql: Don't initdb
 when directory exists
In-Reply-To: <20240308115101.2047407-1-guix-devel-0brg6b@HIDDEN> (Dale
 Mellor's message of "Fri, 8 Mar 2024 11:51:01 +0000")
References: <20190630205642.54866-1-rob@HIDDEN>
 <20240308115101.2047407-1-guix-devel-0brg6b@HIDDEN>
Date: Fri, 29 Mar 2024 23:15:27 +0100
Message-ID: <87wmpkfzwg.fsf_-_@HIDDEN>
User-Agent: Gnus/5.13 (Gnus v5.13)
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: quoted-printable
X-Spam-Score: -2.3 (--)
X-Debbugs-Envelope-To: 36451-done
Cc: 36451-done <at> debbugs.gnu.org, 69633-done <at> debbugs.gnu.org, rob@HIDDEN
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -3.3 (---)

Hi,

Dale Mellor <guix-devel-0brg6b@HIDDEN> skribis:

> From: Robert Vollmert <rob@HIDDEN>
>
> * gnu/services/databases.scm (postgresql-activation): Check if
> directory exists.

Finally applied, thank you!

Ludo=E2=80=99.


------------=_1711750563-12796-3
Content-Type: message/rfc822
Content-Disposition: inline
Content-Transfer-Encoding: 7bit

Received: (at submit) by debbugs.gnu.org; 8 Mar 2024 11:51:56 +0000
Received: from localhost ([127.0.0.1]:56918 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1riYlX-00048R-7Z
	for submit <at> debbugs.gnu.org; Fri, 08 Mar 2024 06:51:55 -0500
Received: from lists.gnu.org ([209.51.188.17]:56504)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <guix-devel-0brg6b@HIDDEN>) id 1riYlN-00047z-2u
 for submit <at> debbugs.gnu.org; Fri, 08 Mar 2024 06:51:53 -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 <guix-devel-0brg6b@HIDDEN>)
 id 1riYkq-00080V-PS
 for guix-patches@HIDDEN; Fri, 08 Mar 2024 06:51:12 -0500
Received: from [195.15.247.228] (helo=rdmp.org)
 by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
 (Exim 4.90_1) (envelope-from <guix-devel-0brg6b@HIDDEN>)
 id 1riYkp-00064c-8n
 for guix-patches@HIDDEN; Fri, 08 Mar 2024 06:51:12 -0500
Received: from [127.0.0.1] (helo=localhost.localdomain)
 by rdmp.org with esmtp (Exim 4.96.1)
 (envelope-from <guix-devel-0brg6b@HIDDEN>) id 1riYkA-0004q8-1C;
 Fri, 08 Mar 2024 11:51:06 +0000
From: Dale Mellor <guix-devel-0brg6b@HIDDEN>
To: 36451 <at> debbugs.gnu.org
Subject: [PATCH v2] gnu: services: postgresql: Don't initdb when directory
 exists
Date: Fri,  8 Mar 2024 11:51:01 +0000
Message-ID: <20240308115101.2047407-1-guix-devel-0brg6b@HIDDEN>
X-Mailer: git-send-email 2.41.0
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
X-Host-Lookup-Failed: Reverse DNS lookup failed for 195.15.247.228 (failed)
Received-SPF: pass client-ip=195.15.247.228;
 envelope-from=guix-devel-0brg6b@HIDDEN; helo=rdmp.org
X-Spam_score_int: -10
X-Spam_score: -1.1
X-Spam_bar: -
X-Spam_report: (-1.1 / 5.0 requ) BAYES_00=-1.9, RDNS_NONE=0.793,
 SPF_HELO_PASS=-0.001, SPF_PASS=-0.001,
 T_SCC_BODY_TEXT_LINE=-0.01 autolearn=no autolearn_force=no
X-Spam_action: no action
X-Spam-Score: 1.0 (+)
X-Debbugs-Envelope-To: submit
Cc: Dale Mellor <guix-devel-0brg6b@HIDDEN>, guix-patches@HIDDEN,
 Robert Vollmert <rob@HIDDEN>
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -2.3 (--)

From: Robert Vollmert <rob@HIDDEN>

* gnu/services/databases.scm (postgresql-activation): Check if
directory exists.

--------------
Dale Mellor:

     - Modified to make patch apply to head of current master branch.
     - Verified working, does not break an existing system.
     - Code change is clean.

Reviewed-by: Dale Mellor <guix-devel-0brg6b@HIDDEN>
---
 gnu/services/databases.scm | 68 ++++++++++++++++++++------------------
 1 file changed, 35 insertions(+), 33 deletions(-)

diff --git a/gnu/services/databases.scm b/gnu/services/databases.scm
index 580031cb423..cb85d18e214 100644
--- a/gnu/services/databases.scm
+++ b/gnu/services/databases.scm
@@ -235,20 +235,7 @@ (define postgresql-activation
          (use-modules (guix build utils)
                       (ice-9 match))
 
-         (let ((user (getpwnam "postgres"))
-               (initdb (string-append
-                        #$(final-postgresql postgresql
-                                            extension-packages)
-                        "/bin/initdb"))
-               (initdb-args
-                (append
-                 (if #$locale
-                     (list (string-append "--locale=" #$locale))
-                     '()))))
-           ;; Create db state directory.
-           (mkdir-p #$data-directory)
-           (chown #$data-directory (passwd:uid user) (passwd:gid user))
-
+         (let ((user (getpwnam "postgres")))
            ;; Create the socket directory.
            (let ((socket-directory
                   #$(postgresql-config-file-socket-directory config-file)))
@@ -261,25 +248,40 @@ (define postgresql-activation
              (mkdir-p #$log-directory)
              (chown #$log-directory (passwd:uid user) (passwd:gid user)))
 
-           ;; Drop privileges and init state directory in a new
-           ;; process.  Wait for it to finish before proceeding.
-           (match (primitive-fork)
-             (0
-              ;; Exit with a non-zero status code if an exception is thrown.
-              (dynamic-wind
-                (const #t)
-                (lambda ()
-                  (setgid (passwd:gid user))
-                  (setuid (passwd:uid user))
-                  (primitive-exit
-                   (apply system*
-                          initdb
-                          "-D"
-                          #$data-directory
-                          initdb-args)))
-                (lambda ()
-                  (primitive-exit 1))))
-             (pid (waitpid pid))))))))
+           (unless (file-exists? #$data-directory)
+             (let ((initdb (string-append
+                            #$(final-postgresql postgresql
+                                                extension-packages)
+                            "/bin/initdb"))
+                   (initdb-args
+                    (append
+                     (if #$locale
+                         (list (string-append "--locale=" #$locale))
+                         '()))))
+               ;; Create db state directory.
+               (mkdir-p #$data-directory)
+               (chown #$data-directory (passwd:uid user) (passwd:gid user))
+
+               ;; Drop privileges and init state directory in a new
+               ;; process.  Wait for it to finish before proceeding.
+               (match (primitive-fork)
+                 (0
+                  ;; Exit with a non-zero status code if an exception is
+                  ;; thrown.
+                  (dynamic-wind
+                      (const #t)
+                      (lambda ()
+                        (setgid (passwd:gid user))
+                        (setuid (passwd:uid user))
+                        (primitive-exit
+                         (apply system*
+                                initdb
+                                "-D"
+                                #$data-directory
+                                initdb-args)))
+                      (lambda ()
+                        (primitive-exit 1))))
+                 (pid (waitpid pid))))))))))
 
 (define postgresql-shepherd-service
   (match-lambda
-- 
2.41.0




------------=_1711750563-12796-3--



Last modified: Fri, 29 Mar 2024 22:30:02 UTC

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