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)
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
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
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
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----- --=-=-=--
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--
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--
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--
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--
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997 nCipher Corporation Ltd,
1994-97 Ian Jackson.