From debbugs-submit-bounces@debbugs.gnu.org Sat Sep 09 10:39:24 2017 Received: (at submit) by debbugs.gnu.org; 9 Sep 2017 14:39:24 +0000 Received: from localhost ([127.0.0.1]:57623 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1dqguq-0007Ag-2T for submit@debbugs.gnu.org; Sat, 09 Sep 2017 10:39:24 -0400 Received: from eggs.gnu.org ([208.118.235.92]:48101) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1dqgun-0007AS-NI for submit@debbugs.gnu.org; Sat, 09 Sep 2017 10:39:22 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1dqguh-0006BI-Qy for submit@debbugs.gnu.org; Sat, 09 Sep 2017 10:39:16 -0400 X-Spam-Checker-Version: SpamAssassin 3.3.2 (2011-06-06) on eggs.gnu.org X-Spam-Level: X-Spam-Status: No, score=-1.9 required=5.0 tests=BAYES_00 autolearn=disabled version=3.3.2 Received: from lists.gnu.org ([2001:4830:134:3::11]:53004) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1dqguh-0006B5-P4 for submit@debbugs.gnu.org; Sat, 09 Sep 2017 10:39:15 -0400 Received: from eggs.gnu.org ([2001:4830:134:3::10]:39018) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1dqgug-0001uq-Ln for guix-patches@gnu.org; Sat, 09 Sep 2017 10:39:15 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1dqgub-000628-Rj for guix-patches@gnu.org; Sat, 09 Sep 2017 10:39:14 -0400 Received: from mira.cbaines.net ([2a01:7e00::f03c:91ff:fe69:8da9]:38307) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1dqgub-000616-MR for guix-patches@gnu.org; Sat, 09 Sep 2017 10:39:09 -0400 Received: by mira.cbaines.net (Postfix, from userid 113) id 8922313E48E; Sat, 9 Sep 2017 15:39:06 +0100 (BST) Received: from localhost (194.85.159.143.dyn.plus.net [143.159.85.194]) by mira.cbaines.net (Postfix) with ESMTPSA id 5F85013E48D for ; Sat, 9 Sep 2017 15:39:06 +0100 (BST) Date: Sat, 9 Sep 2017 15:39:05 +0100 From: Christopher Baines To: guix-patches@gnu.org Subject: [PATCH]: Fix mysql activation, and add a basic test. Message-ID: <20170909153905.087c013f@cbaines.net> MIME-Version: 1.0 Content-Type: multipart/signed; micalg=pgp-sha512; boundary="Sig_/hVrA9P2/EUOgDaMn2pyKkZ/"; protocol="application/pgp-signature" X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.6.x X-Received-From: 2001:4830:134:3::11 X-Spam-Score: -4.0 (----) X-Debbugs-Envelope-To: submit X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -4.0 (----) --Sig_/hVrA9P2/EUOgDaMn2pyKkZ/ Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: quoted-printable Christopher Baines (2): services: mysql: Fix missing modules on activation. tests: databases: Add a simple test for MySQL. gnu/services/databases.scm | 92 +++++++++++++++++++++++-------------------= ---- gnu/tests/databases.scm | 61 +++++++++++++++++++++++++++++- 2 files changed, 107 insertions(+), 46 deletions(-) --Sig_/hVrA9P2/EUOgDaMn2pyKkZ/ Content-Type: application/pgp-signature Content-Description: OpenPGP digital signature -----BEGIN PGP SIGNATURE----- iQKTBAEBCgB9FiEEPonu50WOcg2XVOCyXiijOwuE9XcFAlmz/QlfFIAAAAAALgAo aXNzdWVyLWZwckBub3RhdGlvbnMub3BlbnBncC5maWZ0aGhvcnNlbWFuLm5ldDNF ODlFRUU3NDU4RTcyMEQ5NzU0RTBCMjVFMjhBMzNCMEI4NEY1NzcACgkQXiijOwuE 9XcVxA/+KOGjKbnbDqZQeZws5PLs4uv88p8ZkdOV5E20GggCrXx9TeYkNmCV3R8M OI7yZlwZWEVuYYVhuZa2qmtY70bA85H+adYneKSALWgcEIZJu0MzrDd9sI66oJ/w fFkn4LEpat9KinsWVmrvC5XjHRlpO8trHEngCktX98+UwmXM9sKJC4nad1x4jLnI VdEwzdrhM5SbTIC7iAlkBzSolJrT8OCTW1Lp0OsCeyhtu71ILSCz2V+8eHfFrITR NRVYVkGDPP17F2b5P9E6lXBe5uOXmPxbE51nohcXsEL5BVJkcd2T7RibYCQv05s9 aZOg/8GGDi1zKM/shNxVus1uVifAohYsE+yLUyEVWF8tQn1Fi5qWxeU3O2ryQ44p GOMWK/ywRO8ZN+WhIjnp6BG0OZlyvR/W1jroCcEWHME/MatMo66qeniEsY8Q8XWU 3WpIkXOEUUXKF3quSFu516S4sWI0Xn67bWzKo6VeXHhHepz/yWrkvlE8hQx2YiVz sz7vSwp7h7rMe0Py9ddY474R6vmVUQ4XmRah5n3AFDL5SHtB66LQXkA60v/h+tJk /nf2BMnn1ircSdpAvMhQHJv3l0ZN0qLzvFIGgmoLENReSCRMw+LQxslz+/sPiPMY espK3M+RFYFM+e1/TE+RKLMh5N/9VBRkemgLQJOOcymfKaQw0jo= =U+rK -----END PGP SIGNATURE----- --Sig_/hVrA9P2/EUOgDaMn2pyKkZ/-- From debbugs-submit-bounces@debbugs.gnu.org Sat Sep 09 10:53:46 2017 Received: (at 28399) by debbugs.gnu.org; 9 Sep 2017 14:53:46 +0000 Received: from localhost ([127.0.0.1]:57635 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1dqh8k-0007Um-Bq for submit@debbugs.gnu.org; Sat, 09 Sep 2017 10:53:46 -0400 Received: from li622-129.members.linode.com ([212.71.249.129]:51840 helo=mira.cbaines.net) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1dqh8j-0007UY-FI for 28399@debbugs.gnu.org; Sat, 09 Sep 2017 10:53:45 -0400 Received: by mira.cbaines.net (Postfix, from userid 113) id 9297013E48D; Sat, 9 Sep 2017 15:53:44 +0100 (BST) X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on mira.cbaines.net X-Spam-Level: X-Spam-Status: No, score=-2.9 required=5.0 tests=ALL_TRUSTED,BAYES_00 autolearn=ham autolearn_force=no version=3.4.0 Received: from localhost (194.85.159.143.dyn.plus.net [143.159.85.194]) by mira.cbaines.net (Postfix) with ESMTPSA id 4C8D413E48E for <28399@debbugs.gnu.org>; Sat, 9 Sep 2017 15:53:44 +0100 (BST) Received: from lesath.lan (localhost [127.0.0.1]) by localhost (OpenSMTPD) with ESMTP id 1b932cdb for <28399@debbugs.gnu.org>; Sat, 9 Sep 2017 14:53:43 +0000 (UTC) From: Christopher Baines To: 28399@debbugs.gnu.org Subject: [PATCH 2/2] tests: databases: Add a simple test for MySQL. Date: Sat, 9 Sep 2017 15:53:43 +0100 Message-Id: <20170909145343.14851-2-mail@cbaines.net> X-Mailer: git-send-email 2.14.1 In-Reply-To: <20170909145343.14851-1-mail@cbaines.net> References: <20170909145343.14851-1-mail@cbaines.net> X-Spam-Score: -0.0 (/) X-Debbugs-Envelope-To: 28399 X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.0 (/) Previously, the activation phase for this service caused some systems using it to not boot. This test checks that it's possible to boot a system using it, and at least start the service. * gnu/tests/databases.scm (%mysql-os, %test-mysql): New variables. (run-mysql-test): New procedure. --- gnu/tests/databases.scm | 61 ++++++++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 60 insertions(+), 1 deletion(-) diff --git a/gnu/tests/databases.scm b/gnu/tests/databases.scm index 9d9a75374..6791c561a 100644 --- a/gnu/tests/databases.scm +++ b/gnu/tests/databases.scm @@ -27,7 +27,8 @@ #:use-module (gnu services networking) #:use-module (guix gexp) #:use-module (guix store) - #:export (%test-memcached)) + #:export (%test-memcached + %test-mysql)) (define %memcached-os (simple-operating-system @@ -121,3 +122,61 @@ (name "memcached") (description "Connect to a running MEMCACHED server.") (value (run-memcached-test)))) + + +;;; +;;; The MySQL service. +;;; + +(define %mysql-os + (simple-operating-system + (mysql-service))) + +(define* (run-mysql-test) + "Run tests in %MYSQL-OS." + (define os + (marionette-operating-system + %mysql-os + #:imported-modules '((gnu services herd) + (guix combinators)))) + + (define vm + (virtual-machine + (operating-system os) + (memory-size 512))) + + (define test + (with-imported-modules '((gnu build marionette)) + #~(begin + (use-modules (srfi srfi-11) (srfi srfi-64) + (gnu build marionette)) + + (define marionette + (make-marionette (list #$vm))) + + (mkdir #$output) + (chdir #$output) + + (test-begin "mysql") + + (test-assert "service running" + (marionette-eval + '(begin + (use-modules (gnu services herd)) + (match (start-service 'mysql) + (#f #f) + (('service response-parts ...) + (match (assq-ref response-parts 'running) + ((pid) (number? pid)))))) + marionette)) + + (test-end) + (exit (= (test-runner-fail-count (test-runner-current)) 0))))) + + (gexp->derivation "mysql-test" test)) + +(define %test-mysql + (system-test + (name "mysql") + (description "Start the MySQL service.") + (value (run-mysql-test)))) -- 2.14.1 From debbugs-submit-bounces@debbugs.gnu.org Sat Sep 09 10:53:47 2017 Received: (at 28399) by debbugs.gnu.org; 9 Sep 2017 14:53:47 +0000 Received: from localhost ([127.0.0.1]:57637 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1dqh8l-0007Uu-Jj for submit@debbugs.gnu.org; Sat, 09 Sep 2017 10:53:47 -0400 Received: from li622-129.members.linode.com ([212.71.249.129]:51841 helo=mira.cbaines.net) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1dqh8j-0007Ua-NJ for 28399@debbugs.gnu.org; Sat, 09 Sep 2017 10:53:46 -0400 Received: by mira.cbaines.net (Postfix, from userid 113) id 77B7F13E48F; Sat, 9 Sep 2017 15:53:44 +0100 (BST) X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on mira.cbaines.net X-Spam-Level: X-Spam-Status: No, score=-2.9 required=5.0 tests=ALL_TRUSTED,BAYES_00 autolearn=ham autolearn_force=no version=3.4.0 Received: from localhost (194.85.159.143.dyn.plus.net [143.159.85.194]) by mira.cbaines.net (Postfix) with ESMTPSA id 3745A13E48D for <28399@debbugs.gnu.org>; Sat, 9 Sep 2017 15:53:44 +0100 (BST) Received: from lesath.lan (localhost [127.0.0.1]) by localhost (OpenSMTPD) with ESMTP id 1bfe2fbb for <28399@debbugs.gnu.org>; Sat, 9 Sep 2017 14:53:43 +0000 (UTC) From: Christopher Baines To: 28399@debbugs.gnu.org Subject: [PATCH 1/2] services: mysql: Fix missing modules on activation. Date: Sat, 9 Sep 2017 15:53:42 +0100 Message-Id: <20170909145343.14851-1-mail@cbaines.net> X-Mailer: git-send-email 2.14.1 X-Spam-Score: -0.0 (/) X-Debbugs-Envelope-To: 28399 X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.0 (/) Some systems using the MySQL service would fail to boot, giving the error: ERROR: no code for module (ice-9 popen) * gnu/services/databases.scm (%mysql-activation): Wrap the gexp using with-imported-modules, to ensure that the required modules are available. --- gnu/services/databases.scm | 92 +++++++++++++++++++++++----------------------- 1 file changed, 47 insertions(+), 45 deletions(-) diff --git a/gnu/services/databases.scm b/gnu/services/databases.scm index de1f6b841..6b4e6e706 100644 --- a/gnu/services/databases.scm +++ b/gnu/services/databases.scm @@ -297,56 +297,58 @@ port=" (number->string port) " "Return an activation gexp for the MySQL or MariaDB database server." (let ((mysql (mysql-configuration-mysql config)) (my.cnf (mysql-configuration-file config))) - #~(begin - (use-modules (ice-9 popen) - (guix build utils)) - (let* ((mysqld (string-append #$mysql "/bin/mysqld")) - (user (getpwnam "mysql")) - (uid (passwd:uid user)) - (gid (passwd:gid user)) - (datadir "/var/lib/mysql") - (rundir "/run/mysqld")) - (mkdir-p datadir) - (chown datadir uid gid) - (mkdir-p rundir) - (chown rundir uid gid) - ;; Initialize the database when it doesn't exist. - (when (not (file-exists? (string-append datadir "/mysql"))) - (if (string-prefix? "mysql-" (strip-store-file-name #$mysql)) - ;; For MySQL. - (system* mysqld - (string-append "--defaults-file=" #$my.cnf) - "--initialize" - "--user=mysql") - ;; For MariaDB. - ;; XXX: The 'mysql_install_db' script doesn't work directly - ;; due to missing 'mkdir' in PATH. - (let ((p (open-pipe* OPEN_WRITE mysqld - (string-append - "--defaults-file=" #$my.cnf) - "--bootstrap" - "--user=mysql"))) - ;; Create the system database, as does by 'mysql_install_db'. - (display "create database mysql;\n" p) - (display "use mysql;\n" p) - (for-each - (lambda (sql) - (call-with-input-file - (string-append #$mysql "/share/mysql/" sql) - (lambda (in) (dump-port in p)))) - '("mysql_system_tables.sql" - "mysql_performance_tables.sql" - "mysql_system_tables_data.sql" - "fill_help_tables.sql")) - ;; Remove the anonymous user and disable root access from - ;; remote machines, as does by 'mysql_secure_installation'. - (display " + (with-imported-modules '((ice-9 popen) + (guix build utils)) + #~(begin + (use-modules (ice-9 popen) + (guix build utils)) + (let* ((mysqld (string-append #$mysql "/bin/mysqld")) + (user (getpwnam "mysql")) + (uid (passwd:uid user)) + (gid (passwd:gid user)) + (datadir "/var/lib/mysql") + (rundir "/run/mysqld")) + (mkdir-p datadir) + (chown datadir uid gid) + (mkdir-p rundir) + (chown rundir uid gid) + ;; Initialize the database when it doesn't exist. + (when (not (file-exists? (string-append datadir "/mysql"))) + (if (string-prefix? "mysql-" (strip-store-file-name #$mysql)) + ;; For MySQL. + (system* mysqld + (string-append "--defaults-file=" #$my.cnf) + "--initialize" + "--user=mysql") + ;; For MariaDB. + ;; XXX: The 'mysql_install_db' script doesn't work directly + ;; due to missing 'mkdir' in PATH. + (let ((p (open-pipe* OPEN_WRITE mysqld + (string-append + "--defaults-file=" #$my.cnf) + "--bootstrap" + "--user=mysql"))) + ;; Create the system database, as does by 'mysql_install_db'. + (display "create database mysql;\n" p) + (display "use mysql;\n" p) + (for-each + (lambda (sql) + (call-with-input-file + (string-append #$mysql "/share/mysql/" sql) + (lambda (in) (dump-port in p)))) + '("mysql_system_tables.sql" + "mysql_performance_tables.sql" + "mysql_system_tables_data.sql" + "fill_help_tables.sql")) + ;; Remove the anonymous user and disable root access from + ;; remote machines, as does by 'mysql_secure_installation'. + (display " DELETE FROM user WHERE User=''; DELETE FROM user WHERE User='root' AND Host NOT IN ('localhost', '127.0.0.1', '::1'); FLUSH PRIVILEGES; " p) - (close-pipe p)))))))) + (close-pipe p))))))))) (define (mysql-shepherd-service config) (list (shepherd-service -- 2.14.1 From debbugs-submit-bounces@debbugs.gnu.org Mon Sep 11 03:51:00 2017 Received: (at 28399) by debbugs.gnu.org; 11 Sep 2017 07:51:00 +0000 Received: from localhost ([127.0.0.1]:60403 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1drJUh-0001Wx-R5 for submit@debbugs.gnu.org; Mon, 11 Sep 2017 03:51:00 -0400 Received: from eggs.gnu.org ([208.118.235.92]:56973) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1drJUf-0001Wk-QO for 28399@debbugs.gnu.org; Mon, 11 Sep 2017 03:50:58 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1drJUX-0000uX-EA for 28399@debbugs.gnu.org; Mon, 11 Sep 2017 03:50:52 -0400 X-Spam-Checker-Version: SpamAssassin 3.3.2 (2011-06-06) on eggs.gnu.org X-Spam-Level: X-Spam-Status: No, score=-1.9 required=5.0 tests=BAYES_00,RP_MATCHES_RCVD autolearn=disabled version=3.3.2 Received: from fencepost.gnu.org ([2001:4830:134:3::e]:51459) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1drJUX-0000uT-9M; Mon, 11 Sep 2017 03:50:49 -0400 Received: from [193.50.110.231] (port=35584 helo=ribbon) by fencepost.gnu.org with esmtpsa (TLS1.2:RSA_AES_256_CBC_SHA1:256) (Exim 4.82) (envelope-from ) id 1drJUW-0000C1-FZ; Mon, 11 Sep 2017 03:50:49 -0400 From: ludo@gnu.org (Ludovic =?utf-8?Q?Court=C3=A8s?=) To: Christopher Baines Subject: Re: [bug#28399] [PATCH 1/2] services: mysql: Fix missing modules on activation. References: <20170909153905.087c013f@cbaines.net> <20170909145343.14851-1-mail@cbaines.net> X-URL: http://www.fdn.fr/~lcourtes/ X-Revolutionary-Date: 25 Fructidor an 225 de la =?utf-8?Q?R=C3=A9volution?= X-PGP-Key-ID: 0x090B11993D9AEBB5 X-PGP-Key: http://www.fdn.fr/~lcourtes/ludovic.asc X-PGP-Fingerprint: 3CE4 6455 8A84 FDC6 9DB4 0CFB 090B 1199 3D9A EBB5 X-OS: x86_64-unknown-linux-gnu Date: Mon, 11 Sep 2017 09:50:46 +0200 In-Reply-To: <20170909145343.14851-1-mail@cbaines.net> (Christopher Baines's message of "Sat, 9 Sep 2017 15:53:42 +0100") Message-ID: <87shftd67d.fsf@gnu.org> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/25.2 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-Received-From: 2001:4830:134:3::e X-Spam-Score: -5.0 (-----) X-Debbugs-Envelope-To: 28399 Cc: 28399@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -5.0 (-----) Hi Chris, Christopher Baines skribis: > Some systems using the MySQL service would fail to boot, giving the error: > > ERROR: no code for module (ice-9 popen) > > * gnu/services/databases.scm (%mysql-activation): Wrap the gexp using > with-imported-modules, to ensure that the required modules are availabl= e. [...] > + (with-imported-modules '((ice-9 popen) > + (guix build utils)) The effect of this would be to import (ice-9 popen) from the host Guile in the build side. Thus someone running Guile 2.2.2 on the host would get a slightly different file from someone running Guile 2.0.14, and so on, which hinders reproducibility. The =E2=80=98use-modules=E2=80=99 form should be enough. Does the test you= sent reproduce the original problem? Thanks, Ludo=E2=80=99. From debbugs-submit-bounces@debbugs.gnu.org Tue Sep 12 14:48:34 2017 Received: (at 28399) by debbugs.gnu.org; 12 Sep 2017 18:48:34 +0000 Received: from localhost ([127.0.0.1]:36316 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1drqEb-0008Jz-VP for submit@debbugs.gnu.org; Tue, 12 Sep 2017 14:48:34 -0400 Received: from li622-129.members.linode.com ([212.71.249.129]:57005 helo=mira.cbaines.net) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1drqEZ-0008Jo-S9 for 28399@debbugs.gnu.org; Tue, 12 Sep 2017 14:48:32 -0400 Received: by mira.cbaines.net (Postfix, from userid 113) id EE80313E4D3; Tue, 12 Sep 2017 19:48:30 +0100 (BST) X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on mira.cbaines.net X-Spam-Level: X-Spam-Status: No, score=-2.9 required=5.0 tests=ALL_TRUSTED,BAYES_00, URIBL_BLOCKED autolearn=unavailable autolearn_force=no version=3.4.0 Received: from localhost (cpc102582-walt20-2-0-cust14.13-2.cable.virginm.net [86.27.34.15]) by mira.cbaines.net (Postfix) with ESMTPSA id E8C4C13E4D1; Tue, 12 Sep 2017 19:48:28 +0100 (BST) Date: Tue, 12 Sep 2017 19:48:25 +0100 From: Christopher Baines To: ludo@gnu.org (Ludovic =?UTF-8?B?Q291cnTDqHM=?=) Subject: Re: [bug#28399] [PATCH 1/2] services: mysql: Fix missing modules on activation. Message-ID: <20170912194825.70eb4436@cbaines.net> In-Reply-To: <87shftd67d.fsf@gnu.org> References: <20170909153905.087c013f@cbaines.net> <20170909145343.14851-1-mail@cbaines.net> <87shftd67d.fsf@gnu.org> X-Mailer: Claws Mail 3.15.1-dirty (GTK+ 2.24.31; x86_64-unknown-linux-gnu) MIME-Version: 1.0 Content-Type: multipart/signed; micalg=pgp-sha512; boundary="Sig_/P=ThenzNkcSfl1HqUL+GW9a"; protocol="application/pgp-signature" X-Spam-Score: -0.0 (/) X-Debbugs-Envelope-To: 28399 Cc: 28399@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.0 (/) --Sig_/P=ThenzNkcSfl1HqUL+GW9a Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable On Mon, 11 Sep 2017 09:50:46 +0200 ludo@gnu.org (Ludovic Court=C3=A8s) wrote: > Hi Chris, >=20 > Christopher Baines skribis: >=20 > > Some systems using the MySQL service would fail to boot, giving the > > error: > > > > ERROR: no code for module (ice-9 popen) > > > > * gnu/services/databases.scm (%mysql-activation): Wrap the gexp > > using with-imported-modules, to ensure that the required modules > > are available. =20 >=20 > [...] >=20 > > + (with-imported-modules '((ice-9 popen) > > + (guix build utils)) =20 >=20 > The effect of this would be to import (ice-9 popen) from the host > Guile in the build side. Thus someone running Guile 2.2.2 on the > host would get a slightly different file from someone running Guile > 2.0.14, and so on, which hinders reproducibility. That makes sense. > The =E2=80=98use-modules=E2=80=99 form should be enough. Does the test y= ou sent > reproduce the original problem? It does for me. If you just revert the commit adding in the with-imported-modules bit, running the mysql system test then fails: ERROR: In procedure scm-error: ERROR: no code for module (ice-9 popen) --Sig_/P=ThenzNkcSfl1HqUL+GW9a Content-Type: application/pgp-signature Content-Description: OpenPGP digital signature -----BEGIN PGP SIGNATURE----- iQKTBAEBCgB9FiEEPonu50WOcg2XVOCyXiijOwuE9XcFAlm4K/lfFIAAAAAALgAo aXNzdWVyLWZwckBub3RhdGlvbnMub3BlbnBncC5maWZ0aGhvcnNlbWFuLm5ldDNF ODlFRUU3NDU4RTcyMEQ5NzU0RTBCMjVFMjhBMzNCMEI4NEY1NzcACgkQXiijOwuE 9XdCaw/+Irg6VIE57/ojKDiBNdxlNBTEXnCqL0qlU7ngWCdZ5t4Y5wGqTmZZpOO8 x4wzvGMq5aaN5zGfDo1+8xJfIdlyMVT+fWav7iebCs7gqqnFLHaexWdxdj1y46tr VQBoSCgbEQ+leOEXqNxhwDYLHcSt1cMQJFW0negPdqBUqFryi5uJZSc1t/ILV88T MRu9h0gKpiwcH2it8K5v6rSEFs+ua6t/51jn6NQP64GdMhIHMHDmrGw2lbTc4LHp a5PYjHc1uAX/L3joUp6O03AiouSffti4sGmV5jvx6YVNS0UCAztJnEL/eW2H0AHn wXSKieM+vTQU7hzLZTnUKQlsxN/6VErYRVyMvMY6kn9qy9FbyRO4vhgV2VO6NjyE j3/xBpvsS5yE5IXmOdk59BqpyxdWW4BYUh+XnkkLx5wFu0muE/yhuUkH7zacub5p B905iMNmTbWCYrXAflPti93nIXH55MYNZx5n+rEeWByn1vAYx+s4eaowq434835Y DNrHbo6Di3sB+3n3Sz6j7l59DcJ+qm2OL5zL1Einvjks+tSXg86Cgdnrs2gF5SXD IpLF7u6/x8bUxL/Glt5yJiUeIyc5VuzG/+qN1YPS3ZicFFpTvSoRww/mGXzfFLiy qmvZpr3YzXjF6sRQNGReWK0AAzUGY/m20EK7ncdYIjWXYxEt0/4= =0mFO -----END PGP SIGNATURE----- --Sig_/P=ThenzNkcSfl1HqUL+GW9a-- From debbugs-submit-bounces@debbugs.gnu.org Fri Sep 15 18:02:18 2017 Received: (at 28399) by debbugs.gnu.org; 15 Sep 2017 22:02:18 +0000 Received: from localhost ([127.0.0.1]:43180 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1dsygk-0006aN-6Y for submit@debbugs.gnu.org; Fri, 15 Sep 2017 18:02:18 -0400 Received: from eggs.gnu.org ([208.118.235.92]:42790) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1dsygj-0006aB-11 for 28399@debbugs.gnu.org; Fri, 15 Sep 2017 18:02:17 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1dsygc-00079A-PC for 28399@debbugs.gnu.org; Fri, 15 Sep 2017 18:02:11 -0400 X-Spam-Checker-Version: SpamAssassin 3.3.2 (2011-06-06) on eggs.gnu.org X-Spam-Level: X-Spam-Status: No, score=-1.9 required=5.0 tests=BAYES_00,RP_MATCHES_RCVD, URIBL_BLOCKED autolearn=disabled version=3.3.2 Received: from fencepost.gnu.org ([2001:4830:134:3::e]:48900) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1dsygc-00078x-En; Fri, 15 Sep 2017 18:02:10 -0400 Received: from [2a01:e0a:1d:7270:6a6c:dc17:fc02:cfda] (port=43064 helo=ribbon) by fencepost.gnu.org with esmtpsa (TLS1.2:RSA_AES_256_CBC_SHA1:256) (Exim 4.82) (envelope-from ) id 1dsygb-00019F-W8; Fri, 15 Sep 2017 18:02:10 -0400 From: ludo@gnu.org (Ludovic =?utf-8?Q?Court=C3=A8s?=) To: Christopher Baines Subject: Re: [bug#28399] [PATCH 1/2] services: mysql: Fix missing modules on activation. References: <20170909153905.087c013f@cbaines.net> <20170909145343.14851-1-mail@cbaines.net> <87shftd67d.fsf@gnu.org> <20170912194825.70eb4436@cbaines.net> Date: Sat, 16 Sep 2017 00:02:08 +0200 In-Reply-To: <20170912194825.70eb4436@cbaines.net> (Christopher Baines's message of "Tue, 12 Sep 2017 19:48:25 +0100") Message-ID: <87377nlixr.fsf@gnu.org> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/25.2 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-Received-From: 2001:4830:134:3::e X-Spam-Score: -5.0 (-----) X-Debbugs-Envelope-To: 28399 Cc: 28399@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -5.0 (-----) Heya, Christopher Baines skribis: > On Mon, 11 Sep 2017 09:50:46 +0200 > ludo@gnu.org (Ludovic Court=C3=A8s) wrote: > >> Hi Chris, >>=20 >> Christopher Baines skribis: >>=20 >> > Some systems using the MySQL service would fail to boot, giving the >> > error: >> > >> > ERROR: no code for module (ice-9 popen) [...] >> The =E2=80=98use-modules=E2=80=99 form should be enough. Does the test = you sent >> reproduce the original problem? > > It does for me. If you just revert the commit adding in the > with-imported-modules bit, running the mysql system test then fails: > > ERROR: In procedure scm-error: > ERROR: no code for module (ice-9 popen) The activation script is run by the =E2=80=9Cboot=E2=80=9D script before it= spawns shepherd. The boot script runs over the initrd=E2=80=99s Guile, which is statically linked. However, (ice-9 popen) starts by dynamically loading libguile and calling a function therein: (eval-when (expand load eval) (load-extension (string-append "libguile-" (effective-version)) "scm_init_popen")) Dynamic loading is not supposed to work in the statically-linked Guile, but apparently it does work sometimes: --8<---------------cut here---------------start------------->8--- $ sudo chroot /gnu/store/3ir873f4dsdl3aaj48iqykn6437ilk0p-guile-static-stri= pped-2.2.2 /bin/guile=20=20 guile: warning: failed to install locale GC Warning: pthread_getattr_np or pthread_attr_getstack failed for main thr= ead GC Warning: Couldn't read /proc/stat warning: failed to install locale: Invalid argument GNU Guile 2.2.2 Copyright (C) 1995-2017 Free Software Foundation, Inc. Guile comes with ABSOLUTELY NO WARRANTY; for details type `,show w'. This program is free software, and you are welcome to redistribute it under certain conditions; type `,show c' for details. Enter `,help' for help. scheme@(guile-user)> ,use(ice-9 popen) scheme@(guile-user)> open-pipe* $1 =3D # --8<---------------cut here---------------end--------------->8--- Perhaps it=E2=80=99s due to the libtool/ltdl preload feature. What=E2=80=99s more puzzling though, is that it works in some cases (like a= bove) and not in others (in the test VM). Needs more thought=E2=80=A6 Ludo=E2=80=99. From debbugs-submit-bounces@debbugs.gnu.org Sat Sep 16 06:39:29 2017 Received: (at 28399) by debbugs.gnu.org; 16 Sep 2017 10:39:29 +0000 Received: from localhost ([127.0.0.1]:43372 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1dtAVV-0007PH-Aw for submit@debbugs.gnu.org; Sat, 16 Sep 2017 06:39:29 -0400 Received: from li622-129.members.linode.com ([212.71.249.129]:33958 helo=mira.cbaines.net) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1dtAVP-0007P5-9w for 28399@debbugs.gnu.org; Sat, 16 Sep 2017 06:39:27 -0400 Received: by mira.cbaines.net (Postfix, from userid 113) id 7B57413E541; Sat, 16 Sep 2017 11:39:22 +0100 (BST) X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on mira.cbaines.net X-Spam-Level: X-Spam-Status: No, score=-2.9 required=5.0 tests=ALL_TRUSTED,BAYES_00, URIBL_BLOCKED autolearn=unavailable autolearn_force=no version=3.4.0 Received: from localhost (unknown [185.45.4.5]) by mira.cbaines.net (Postfix) with ESMTPSA id 5805913E53F; Sat, 16 Sep 2017 11:39:21 +0100 (BST) Date: Sat, 16 Sep 2017 11:38:11 +0100 From: Christopher Baines To: ludo@gnu.org (Ludovic =?UTF-8?B?Q291cnTDqHM=?=) Subject: Re: [bug#28399] [PATCH 1/2] services: mysql: Fix missing modules on activation. Message-ID: <20170916113811.3c7d1b33@cbaines.net> In-Reply-To: <87377nlixr.fsf@gnu.org> References: <20170909153905.087c013f@cbaines.net> <20170909145343.14851-1-mail@cbaines.net> <87shftd67d.fsf@gnu.org> <20170912194825.70eb4436@cbaines.net> <87377nlixr.fsf@gnu.org> MIME-Version: 1.0 Content-Type: multipart/signed; micalg=pgp-sha512; boundary="Sig_/6sDKgFENeCFZxhb2i645nfO"; protocol="application/pgp-signature" X-Spam-Score: -0.0 (/) X-Debbugs-Envelope-To: 28399 Cc: 28399@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.0 (/) --Sig_/6sDKgFENeCFZxhb2i645nfO Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable On Sat, 16 Sep 2017 00:02:08 +0200 ludo@gnu.org (Ludovic Court=C3=A8s) wrote: > Heya, >=20 > Christopher Baines skribis: >=20 > > On Mon, 11 Sep 2017 09:50:46 +0200 > > ludo@gnu.org (Ludovic Court=C3=A8s) wrote: > > =20 > >> Hi Chris, > >>=20 > >> Christopher Baines skribis: > >> =20 > >> > Some systems using the MySQL service would fail to boot, giving > >> > the error: > >> > > >> > ERROR: no code for module (ice-9 popen) =20 >=20 > [...] >=20 > >> The =E2=80=98use-modules=E2=80=99 form should be enough. Does the tes= t you sent > >> reproduce the original problem? =20 > > > > It does for me. If you just revert the commit adding in the > > with-imported-modules bit, running the mysql system test then fails: > > > > ERROR: In procedure scm-error: > > ERROR: no code for module (ice-9 popen) =20 >=20 > The activation script is run by the =E2=80=9Cboot=E2=80=9D script before = it spawns > shepherd. The boot script runs over the initrd=E2=80=99s Guile, which is > statically linked. >=20 > However, (ice-9 popen) starts by dynamically loading libguile and > calling a function therein: >=20 > (eval-when (expand load eval) > (load-extension (string-append "libguile-" (effective-version)) > "scm_init_popen")) >=20 > Dynamic loading is not supposed to work in the statically-linked > Guile, but apparently it does work sometimes: >=20 > --8<---------------cut here---------------start------------->8--- > $ sudo > chroot /gnu/store/3ir873f4dsdl3aaj48iqykn6437ilk0p-guile-static-stripped-= 2.2.2 /bin/guile > guile: warning: failed to install locale GC Warning: > pthread_getattr_np or pthread_attr_getstack failed for main thread GC > Warning: Couldn't read /proc/stat warning: failed to install locale: > Invalid argument GNU Guile 2.2.2 > Copyright (C) 1995-2017 Free Software Foundation, Inc. >=20 > Guile comes with ABSOLUTELY NO WARRANTY; for details type `,show w'. > This program is free software, and you are welcome to redistribute it > under certain conditions; type `,show c' for details. >=20 > Enter `,help' for help. > scheme@(guile-user)> ,use(ice-9 popen) > scheme@(guile-user)> open-pipe* > $1 =3D # > --8<---------------cut here---------------end--------------->8--- >=20 > Perhaps it=E2=80=99s due to the libtool/ltdl preload feature. >=20 > What=E2=80=99s more puzzling though, is that it works in some cases (like > above) and not in others (in the test VM). >=20 > Needs more thought=E2=80=A6 Interesting, thanks for looking in to this Ludo. I've just thought that this could be the cause of my problems in booting one of my GuixSD machines, as I am using the mysql service (with MariaDB). When you say dynamic loading is supposed not to work with a statically linked guile, does this mean that activation scripts should avoid using (ice-9 popen)? Or, given that it works some of the time, it could be made to work reliably...? --Sig_/6sDKgFENeCFZxhb2i645nfO Content-Type: application/pgp-signature Content-Description: OpenPGP digital signature -----BEGIN PGP SIGNATURE----- iQKTBAEBCgB9FiEEPonu50WOcg2XVOCyXiijOwuE9XcFAlm8/xRfFIAAAAAALgAo aXNzdWVyLWZwckBub3RhdGlvbnMub3BlbnBncC5maWZ0aGhvcnNlbWFuLm5ldDNF ODlFRUU3NDU4RTcyMEQ5NzU0RTBCMjVFMjhBMzNCMEI4NEY1NzcACgkQXiijOwuE 9XddVg/+Oj5cZHL7s/lXKs6V/IP2RJxCISZAOQKKPbCJhHw1T7QGFlHzoRle5uJ3 3YUlLkV+I/gGsCshPsl5pm3s0x4kXEJSGCE2Va8MZe83D3zve3WJaUKzpY2+zpeM wKk+Y2MDnq1qGNiF+AYgyxZ4jO4vn3AO0JEtEtTot2NfTLFzh3+Gx7mtesf7/BKl KKD5ZgZcjko8WOmbwUCn8Wtl6UAwsJET3yFhNRUqjSAcRvYgChHoN8eLw8Y5FlVh P2UabIpYKOGh/eMfoJd4b6X6HcZAJWGlT6ktGWB1VdZSxTslkSvPHUN/cuBlxXhL azu7kiL1q6t7+ehQOZMhKNW6C56aeSrRQ44g43NpKQBRBCvX/9hBAD1Inw7a1RVu I52f+ONZnIZt51DEDj3wjBBKR+HRzTM6Sd+gUDNFFuwPldArE9/kHiUpRgoAxTYK p4wiwI8Snasujuy72KrAVTOBMUInYGWHLH5lgtFOMShyNQj8n7z/Mhz3712aMFf9 yqI9GjjC7+SCZQHHUjsgSU4LZS/5ogjeUHpCuFptrCgP5n4L5023zlPhR0/4AS+3 BiV+jg+0BnXTb42u9lU7oXUrOPNB8pl/o9fOmcI5KtOO3f+RmANJxUmbo/ckPIty //lhOe2OfrKAX6pYsW96zxebKuvx7UOLdIzzX+EDxtcnCdReTuk= =4qOt -----END PGP SIGNATURE----- --Sig_/6sDKgFENeCFZxhb2i645nfO-- From debbugs-submit-bounces@debbugs.gnu.org Wed Sep 20 11:58:35 2017 Received: (at 28399) by debbugs.gnu.org; 20 Sep 2017 15:58:35 +0000 Received: from localhost ([127.0.0.1]:50383 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1duhOT-0005GB-VG for submit@debbugs.gnu.org; Wed, 20 Sep 2017 11:58:34 -0400 Received: from eggs.gnu.org ([208.118.235.92]:49004) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1duhOP-0005Fs-EG for 28399@debbugs.gnu.org; Wed, 20 Sep 2017 11:58:32 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1duhOH-0002Wf-DN for 28399@debbugs.gnu.org; Wed, 20 Sep 2017 11:58:24 -0400 X-Spam-Checker-Version: SpamAssassin 3.3.2 (2011-06-06) on eggs.gnu.org X-Spam-Level: X-Spam-Status: No, score=-1.4 required=5.0 tests=BAYES_00,RP_MATCHES_RCVD, URI_NOVOWEL autolearn=disabled version=3.3.2 Received: from fencepost.gnu.org ([2001:4830:134:3::e]:41724) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1dugct-0003Sq-T7; Wed, 20 Sep 2017 11:09:25 -0400 Received: from vpn-0-27.aquilenet.fr ([2a01:474:4:27::]:52120 helo=ribbon) by fencepost.gnu.org with esmtpsa (TLS1.2:RSA_AES_256_CBC_SHA1:256) (Exim 4.82) (envelope-from ) id 1dubCc-0000uL-8n; Wed, 20 Sep 2017 05:21:54 -0400 From: ludo@gnu.org (Ludovic =?utf-8?Q?Court=C3=A8s?=) To: Christopher Baines Subject: Re: [bug#28399] [PATCH 1/2] services: mysql: Fix missing modules on activation. References: <20170909153905.087c013f@cbaines.net> <20170909145343.14851-1-mail@cbaines.net> <87shftd67d.fsf@gnu.org> <20170912194825.70eb4436@cbaines.net> <87377nlixr.fsf@gnu.org> <20170916113811.3c7d1b33@cbaines.net> Date: Wed, 20 Sep 2017 11:21:51 +0200 In-Reply-To: <20170916113811.3c7d1b33@cbaines.net> (Christopher Baines's message of "Sat, 16 Sep 2017 11:38:11 +0100") Message-ID: <87tvzxu3m8.fsf@gnu.org> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/25.2 (gnu/linux) MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="=-=-=" X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-Received-From: 2001:4830:134:3::e X-Spam-Score: -4.5 (----) X-Debbugs-Envelope-To: 28399 Cc: 28399@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -4.5 (----) --=-=-= Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Hi Chris, Christopher Baines skribis: > On Sat, 16 Sep 2017 00:02:08 +0200 > ludo@gnu.org (Ludovic Court=C3=A8s) wrote: [...] >> Perhaps it=E2=80=99s due to the libtool/ltdl preload feature. >>=20 >> What=E2=80=99s more puzzling though, is that it works in some cases (like >> above) and not in others (in the test VM). >>=20 >> Needs more thought=E2=80=A6 > > Interesting, thanks for looking in to this Ludo. I've just thought that > this could be the cause of my problems in booting one of my GuixSD > machines, as I am using the mysql service (with MariaDB). > > When you say dynamic loading is supposed not to work with a statically > linked guile, does this mean that activation scripts should avoid using > (ice-9 popen)? Or, given that it works some of the time, it could be > made to work reliably...? No I was completely on the wrong track (libguile/extensions.c, which implements =E2=80=98load-extension=E2=80=99, has a mechanism to load pre-re= gistered extensions without going through =E2=80=98dlopen=E2=80=99.) The problem is simpler: the =E2=80=98guile-static-stripped=E2=80=99 that=E2= =80=99s on the store in the initrd is not necessarily in the store on the real root file system. Thus, once we=E2=80=99ve switched roots, we look for =E2=80=9Cice-= 9/popen.scm=E2=80=9D in a load path that=E2=80=99s no longer valid. I debugged this with: --=-=-= Content-Type: text/x-patch Content-Disposition: inline diff --git a/gnu/services/databases.scm b/gnu/services/databases.scm index de1f6b841..13c235059 100644 --- a/gnu/services/databases.scm +++ b/gnu/services/databases.scm @@ -298,6 +298,14 @@ port=" (number->string port) " (let ((mysql (mysql-configuration-mysql config)) (my.cnf (mysql-configuration-file config))) #~(begin + (eval-when (expand load eval) + (use-modules (ice-9 ftw)) + (setvbuf (current-output-port) _IONBF) + (pk %load-path (search-path %load-path "ice-9/popen.scm")) + (let ((dir (car (last-pair %load-path)))) + (pk dir 'exits? (file-exists? dir))) + (pk 'popen (resolve-module '(ice-9 popen) #:ensure #f)) + (pk 'scan (scandir "/gnu/store"))) (use-modules (ice-9 popen) (guix build utils)) (let* ((mysqld (string-append #$mysql "/bin/mysqld")) --=-=-= Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable =E2=80=A6 and then run your test. It shows this: --8<---------------cut here---------------start------------->8--- [=E2=80=A6] adding user 'guixbuilder09'... adding user 'guixbuilder10'... adding user 'mysql'... registering public key '/gnu/store/zh0lb2g15hirq7zw2477w7s5ww7dxkv0-guix-0.= 13.0-6.a9468b4/share/guix/hydra.gnu.org.pub'... ;;; (("/gnu/store/dsbc8lh9zav2ghb7gi1zm608igbgg1jv-module-import" "/gnu/sto= re/dsbc8lh9zav2ghb7gi1zm608igbgg1jv-module-import" "/gnu/store/m843zdvsv2p3= glz91y8icv3qwkr9mnzs-module-import" "/gnu/store/m843zdvsv2p3glz91y8icv3qwkr= 9mnzs-module-import" "/gnu/store/dr6706rm053d9b6h4rhi29l2ipxcd9jf-module-im= port" "/gnu/store/dr6706rm053d9b6h4rhi29l2ipxcd9jf-module-import" "/gnu/sto= re/9whwwppmb2sjfsy0967s627bzgdfl8bc-guile-static-stripped-2.2.2/share/guile= /2.2") #f) ;;; ("/gnu/store/9whwwppmb2sjfsy0967s627bzgdfl8bc-guile-static-stripped-2.2= .2/share/guile/2.2" exits? #f) ;;; (popen #f) ;;; (scan ("." ".." "028jn2qq6b0a5wgfs84jfmkmhpbl015r-module-import-compile= d" "03zy9bapqgv9y0q82c3szmzmhghj4h6b-virglrenderer-0.6.0" "09j7scnl3hahcmql= 986fsjpzj6gqsmzv-ncurses-6.0" "0b83kwl6lbqz9r4kfsblcil25fkmxzd1-activate-se= rvice" "0f76ak4jn36qs7syhfaw5ag9958yabzh-libatomic-ops-7.4.4" "0j18kgj0bwlf= qnnj78vjib0ax66ndb50-shepherd-syslogd.scm" "0p4gxh2xiz31v2zx8mg43nv2djjyfwm= n-libpciaccess-0.13.5" "0s5manjvfa0gmsv2r71rchky7ab70g1d-icu4c-58.2" "0yfji= 7ibkkz7yh7vfgbm2fvic7lxg71l-groff-1.22.3" "0zqip50gq1ch8hdvlixi9mpkpslvgh7r= -shepherd-console-font-tty1.scm" "1287jbyyjydgypzs3r85q9hj6sahq2wx-login.de= fs" "1542yabm3kaf0ybrn77r5z31icxw7zq2-shepherd-file-system--sys-fs-cgroup-h= ugetlb.scm" "1dbpiip53l3zmwdcgbpz5cjhgfijl4jn-shepherd-file-system--sys-fs-= cgroup.scm" "1dminyi7iq203492l4p8dz0wwagkpsb4-llvm-3.8.1" "1glb29skkvp128a0= yizqv1kyillk9a7n-lsof-4.89" "1jcq4fc07bngc5q1cy44j0glv1vrjz52-libffi-3.2.1"= "1jp44pfmqcj3zycclvmmva3xcwinyg7l-freetype-2.8" "1kx3sq1lfcz37r6w08bdii5fk= w20sk35-shepherd-root-file-system.scm" "1mw2mir3whl20hcx366rk3rcn8ykvdaf-sh= epherd-term-tty4.scm" "1q0r9idvqjw9s4b6hxa8jklxc3ngy5lq-system" "1skx99scjp= m591ixmhpnw17zxcllpqm9-utils.scm" "1xc97akbdcisrid2n8djpkn09f8bkl5f-libxdmc= p-1.1.2" "261xd9zwg479rn7yha0k2i97p63flhfg-activate-service" "27hw80d0nn2a5= p56vk91qn6jvn036dla-libxshmfence-1.2" "2ayx2b08id7xid0s4ykhfvr1irl2qi7l-elf= .scm" "2c37li6qgq031dq4agg9zbb68iw39igx-bdb-5.3.28" "2n80sdqh39y3sgrfyd97ag= 0sjx5bx9dl-lz4-1.8.0" "33ln3zh2cwchgbf4xv6j9qlxari3w74w-shepherd-guix-daemo= n.scm" "35rydx7qm4jn3jx6qbj92lvc4p8g3cn4-activation.scm" "36m5h559ikrnp96c6= r2zk2p8cn07xjwb-libssh2-1.8.0" "3amb8hw38k2jv604pb87am8v9r17fczi-pcre-8.41"= "3b5acw40ls4xvs54ia9cmp0fjx9vryq8-libepoxy-1.4.1" "3c0l9d5fg73lpvrc8d29k5i= rpwp215dh-activate-service" "3qw66pxqm316r9spl7w1wxbj2q0wa8m1-shishi-1.0.2"= "3s6vjw0979hn5i4v4bqa8ybdmb0kn00l-flac-1.3.2" "3wdxwi446k6bbx3r4kfgn2hh754= n7ab7-grub.cfg" "3x53yv4v144c9xp02rs64z7j597kkqax-gcc-5.4.0-lib" "3xjvwgzm6= bhqc0rn3nwbdczjh4383mpk-libnftnl-1.0.7" "3z94sy8lig6zbwna4j8plmar70jmqyxn-l= ogin" "42d5rjrdkln6nwvzwdc8dyd4w6iy3n5j-coreutils-8.27" "47jgabf5wx296alb06= pb5iig6cqbmx0v-gdbm-1.13" "4i4bx0434kbpcl9xl5a2xfl2rx52hdzx-linux-modules.s= cm" "4iqyh8xqjxazza3lx2iz5v39ipzifsfj-gzip-1.8" "4wm6z6dh5gkqbvxj7995lvr2bj= whqq25-libxxf86vm-1.1.4" "4wngzd4rvm3lcchmigajw9jhi2vrgdf0-passwd" "577gkxc= v1va0jc33vs0yv9nl3lyg0410-parameters" "57dcsqa95nqjyak02pzpk3lf64j1jnnw-qem= u-image" "5889hfnp2vpsnyfwqvknx3649vwx2m7b-pulseaudio-10.0" "5f4vz29llmqa1i= 9wl02pkilws6dbr2l6-qemu-2.10.0" "5jl21csvr3jmsa4a7d08sqa2waks3f09-gmp-6.1.2= " "5kglffwm1gsjhsy5wn7cv0kgmj7asif7-e2fsprogs-1.43.5" "5khzrsqs0bgr2hyrl3yv= amwk745wmkql-shepherd-term-tty2.scm" "5kydkrla0c58kpy44ibzmcq0nhpnk8k6-linu= x-pam-1.3.0" "5lrk6d5cjsv2s29vfji6j59gyf18rb5m-acl-2.2.52" "5mykz9b6whh8pjr= pb5yfz6cyip2iaxzg-shepherd-console-font-tty4.scm" "5rhk61dq276h7cdyn6ks112i= ahn4f8m8-libogg-1.3.2" "5s19lin8dm65aygm85s8cwqsq41hym6d-libxdamage-1.1.4" = "5sv5zy2kgg6iaqyv8zw49w4243j0xkd0-gcc-5.4.0" "5z6zqh3cdrix3hq2qxrnh4v59vz2h= ssc-groupdel" "5zcspv2mjn85nzhk6my4af067nm4vs8g-sudo" "62b4225h7vkpy0xzqlpy= p1kx5ik3kiy7-expat-2.2.2" "649641qx9p4y0vz77ss1w8dd50l2yw2b-module-import" = "66dp9mxn43jkhhrpcy6v5cdqibbl4bjc-gnutls-3.5.13" "6hicns85s8ddp0y539wdspwx2= 2ac2kmv-bzip2-1.0.6" "72wjwil96zh5f370gnqq7hg2biavbwdx-shepherd-loopback.sc= m" "73n8primzbqhpzirnmbc2qwzg7f07bz7-psmisc-22.21" "75r85h8krngg7nydp76njyi= hq774m0dz-environment" "795majdgan135s40l10wbdjs8lqmpifs-useradd" "7gsvp98r= ssbwy7l4c2gs40bblfvr1yyl-uuid.scm" "7ljjhfz6p14xlnwnmzmg6hi01wfvz9vb-cyrus-= sasl-2.1.26" "7nywh80c5mgy80d08x9y6w48ipngn47s-module-import" "7r3ps2rv079k= qkh8i8ddgcj29wqzbck1-module-import" "7sq353nilxwwnk983xz38457bp3sv633-libai= o-0.3.110" "7v2w3506q0gf96rsf6wf3gdr2iv5frmm-libgpg-error-1.27" "7v8369lgnq= vpphcw06hg59hb8hxmkr8x-sed-4.4" "7zbscp5r0djsalcnvfrm7g0mp70mhrkd-diffutils= -3.6" "85n2gzncy1dl6cbnky79nih4qhcwibds-libxfixes-5.0.3" "8ba1dina18nqzbx1p= 4x9i8i88nh1y238-libjpeg-turbo-1.5.2" "8bizb3mkkhh2zgzd59jp9qm1r71fb7ar-libg= it2-0.26.0" "8brbpj0jdy3g0za14q18s2cj3w360yxk-mingetty-1.08" "8h3mq2d4s483g= sykwgdw0iw2mfngk1ki-guile-ssh-0.11.2" "8k6f3wjk1f3qcigrrvhwmhy0026j0y06-opu= s-1.2.1" "8v2mhpzfbp88zvb5zgikbz6lbi229y64-shepherd-udev.scm" "8vr17x1cjzni= bkw4yrgv6gp948ya8qqs-module-import-compiled" "92a6ykqvxzzjzbjb2y4ggsiwnz25m= 57a-alsa-utils-1.1.4" "965dw3smmsvj6jyfxrkapp0gn9jh9djn-libunistring-0.9.7"= "9b0nh58q1dwxli80xj15gv2037az96xw-patch-2.7.5" "9blidf28xz0a0glnv6a4xcw6nx= adg427-libgc-7.6.0" "9fcql0sfia5cnfqxk73vdxd0lb87g2b3-wireless-tools-30.pre= 9" "9kq6xk66zzwdq12kaj7kl96zgy8g50m5-file-systems.scm" "9m4vk172625vlrj62id= 8a40brbm9prrd-info-reader-6.3" "9pq16kfcldqqcbd58mmfp37g3awhg4sd-gawk-4.1.4= " "9s6bag7qk4k2jzx9q1pfrhqrgqrji7x9-shepherd-term-tty1.scm" "9x9229j1sramg6= 4qppmn87m2vy2jq4im-glib-2.52.2" "9xl0lbprkkn4k3b8v5bcz6sq125dlwb5-bashrc" "= a1h9c5rxw5r580z4xrshf834dg4c1fh8-activate" "a2n7lmcnkiwb8ix9d9q74a1866dv0a1= w-profile" "a8914da78vi7glxyinpap2z7xlr32pli-net-tools-1.60-0.479bb4a" "af5= 81ygb1d9bvpmfmlpwzlmsb1xjgycw-herd.scm" "agy6mpi2ay6rx0sy3plia9xwh7sj1zsl-m= odule-import-compiled" "aj23g4a2kk4nj5rbx0nixybxp9gx5zr5-shepherd-console-f= ont-tty3.scm" "akc3nsnksgv6256jm1ariljb1c7zh8x2-libgc-7.6.0" "b4a7g2xm26yr9= pha9k8rj9bmvk4dz9mq-libssh-0.7.5" "b7y66db86k57vbb03nr4bfn9svmks4gf-bash-4.= 4.12" "b9ww6qv1ii9v6n45kin7543vkf6jfnd3-libpng-1.6.29" "bcmf06k2n1pfwqkzpcl= vvc3w9jdfi71a-guile-json-0.6.0" "bgv2yzvdvmxjmsvmg5fxaw1id2r2c3sr-libgit2-0= .26.0" "bh1f92ij80j4fd4jzlfwlq6kg9hd1kh4-raw-initrd" "bhawz0mpfdjhwq423q6kk= 2jz34dpcsx5-libnl-3.3.0" "bixk1s0kr8lbpw2m4fhqsncfifwysjj9-iw-4.9" "bl5v4l5= c3yibr2mmbx9lxr2qjd65wa9i-shepherd-term-tty3.scm" "bm16lyhdl6h5fxfi0iqjcv5d= scqrickv-libsamplerate-0.1.9" "bmc8gv57qj6y5qdiymhaqii8dg51rjdk-marionette.= scm" "bpr6szv5g3nwpa2xhj288n68bmsbrv6a-activate-service" "bxdl4knknaigm9s45= szb9nqqln8cnbsk-file-5.30" "byx7df0jdaw8941qijp3p4l46q141ss3-libusb-1.0.21"= "bzj472nmnnj5hcfd5yvfiqip1wzw84p9-tzdata-2017b" "bzn4wyrbdmfc1bd7lq05db5ps= fl5f8x8-perl-5.26.0" "c07im5yl6f5360lv623kp50mmq97naz8-mesa-17.1.4" "c44mij= wrxm3zgzxf89g9nf8fdhz5vqqz-info-dir" "c6vpfgm9n7jzgr0llax0x7szqk9a5bfm-nett= le-3.3" "c7asfsjiyd5p71h6338j3kkvy96k88id-man-db-2.7.6.1" "clrddh6a60b31anv= 7a9hrk3i9id0k5zs-libxcb-1.12" "cmn75vdszsm2404w0vwhrn2br7ib8508-zile-2.4.13= " "cvaa538nkgrkspcpnnbzwqn9dxhxxv7f-curl-7.55.0-doc" "d2cyal3q1dfxcdz4gz8rp= kdl1j3zwq2q-usbutils-008" "d7c4kdc4qkwkg9j6jwfxjqi3pxfznaqa-issue" "d7i58hy= 90961pahsnvjirifn6djmm24s-groupadd" "d8gkn84yqacjr80pzicz1ka3y2s1f2x0-guile= -2.2.2" "dbhv0yay7p63v9xfn4s82pwrj43ij32b-bournish.scm" "dgyan2zawxw7qnxrmf= 9yp3ll954c9sxm-libdaemon-0.14" "dj5273vl9adm1vvjipqajk3lxkpir6yh-shepherd-n= scd.scm" "dsbc8lh9zav2ghb7gi1zm608igbgg1jv-module-import" "dv4mr7k5gdi50wvq= khvahb05i905fi17-activate-service" "dy81cx0yshq8vban59vjsdl4rvxnwxab-util-l= inux-2.30" "f3rjpkrj5129m2rgyknl67pc3kwz782p-libdrm-2.4.81" "f4x2r28lkkr9bc= 5angw2bm6d922pidsj-guile-ssh-0.11.2" "fcglq7xj6yz2cmn86p14rzd25cnn7kia-host= name" "fjvh70n2iijzd28p1cxxkg234c203k2p-my.cnf" "fjzyz9rww401m5m5517zrqnfmq= pk8aa0-libsndfile-1.0.28" "flj8k68s4igx1x03qia9dzkfsdqpf8dc-spice-0.12.8" "= fpmp5299w8965xrbwbdbcvqxl89j9vp4-grub-image.png" "frfq5i5bxwwrz1vr04g9kcaz3= 9g4w2ng-shepherd-console-font-tty6.scm" "g1hpcah5jqd665zl3040d4nhqgzzbbhk-l= ibvorbis-1.3.5" "g1x4hnw3qafrwbcbpz4za1sw7pvwrwq6-fstab" "g3nari57wcfnm00kv= 9bnpyzdzfq4h8pk-xz-5.2.2" "gd4dx9pa04djv5ng2rrjjkj3ym70d0cj-module-import" = "gfcfwr1i5kl6vy4p7zfvd87izd2b9dwq-guile-git-0.0-3.e156a10" "gfjnmqvw2ah9dkg= v59w26a8bp9k61ra3-shepherd-user-file-systems.scm" "gh3xhwgh927md5ifzdmg0cgp= qc0as1sh-nscd.conf" "ghcaayvl03ac7giilm5s4bcvb32nspzp-gnutls-3.5.13" "gj9w0= cm9inhwi9iiipapq0xgvqyky7xq-module-import-compiled" "gr98ykgw5d3wr6mh98y20f= ia18rla83g-bash-completion-2.7" "gyi8x9c8gm5l3sqhvmqpy1n4xvlj62qj-shepherd-= file-system--sys-fs-cgroup-memory.scm" "hwygv5jwd47amhp1m67iy3bkvxqjlbhm-li= bgcrypt-1.8.1" "hxn2viwl04nwswpjkfg0iyyhm815yaza-libcap-2.25" "i4bfsmgzmajb= rv9p9cqz60id2j2hvwcz-usermod" "icfpiql578wzx55hkr0fqbzpxwvdymcp-nano-2.8.7"= "icmna62bzyjpkx2qlvpa4mbgxyr00slj-shepherd-file-system--dev-pts.scm" "insr= 5wrif9pn1mlqa5rl9k3sr5qf2q1y-kmod-24" "jcsysx67d8y66n66hi856nfm2f92ws91-sbc= -1.3" "jhmb3brgpavi4zx77zr4lrfdbndvw1l5-shepherd-file-system--dev-shm.scm" = "jjna4ivyidxfq40mq78g97yzg0wfzcqy-shadow-4.5" "jk0hvcmysjjksi5csyznrhs27k1v= c0sc-shepherd-term-tty5.scm" "jlj4f90m36bawbf8jp55j0mbldajm5va-kbd-2.0.4" "= jnbb8ffxxvrw2b4z18zn0g08kqk9rsgl-libffi-3.2.1" "jv9hv3sqajrxnmx6ar03lxqk4la= f03wj-su" "jz6k6rc0vhqfz1hpn92z8zf0rh19c2vc-alsa-lib-1.1.4.1" "jz7wvy930liq= jvm95lhdv9i1dr1xxvxp-libxext-1.3.3" "k0xlmnz27cjyyhwjbc4lg1zkvid3d7jp-sheph= erd-mysql.scm" "k5zs3rw80aly6inhgvl8icpq9iabrdb2-bdb-6.2.23" "kdfwwd2r5ppdy= 8kd3yzl1sxibw3ahffq-fftwf-3.3.5" "kdwlvs51isdfbl61jdishzhly8h139zf-libbsd-0= .8.3" "kgy00x8jl7q965sngq1yyihbczxj15wk-libxrender-0.9.10" "khjxh5dvx955qid= 1863j25swz926si2h-less-487" "kj7zjysiyf2d6v92wg5sm0yvbfala4mz-etc" "kpxi8h3= 669afr9r1bgvaf9ij3y4wdyyn-bash-minimal-4.4.12" "l1w1z627jsn93ilvjqhji96ccc9= 5x0hy-shepherd-console-font-tty5.scm" "l6gb9kk5i9bskgpbsjmba8z794yvdlzw-she= pherd-file-system--sys-fs-cgroup-devices.scm" "l7306lcxgapca9348qk6hakgycwk= rmfs-libelf-0.8.13" "l8da5k5ji0idb1f36lyzangirnljabr0-activate-service" "lb= 0z3dkv73p6n7g736zj5zxhv4x28f6l-shepherd-0.3.2" "lh1hwa0i061lwzyvk9brcsjb6h1= gyhrg-ncurses-6.0" "lhxswhrz1y69q0zpx76gjimzg3d7sn4h-libtasn1-4.12" "ljzqi3= ajkc6l5r8hwdz7kr1zwbli3i7y-pciutils-3.5.5" "lk9axww17rh6jid5nrps0jf869kcrbc= w-wireless-regdb-2017.03.07" "lp16q4gjhcpsjw6vhkkb84j8arzwksj6-shepherd-fil= e-system--sys-fs-cgroup-freezer.scm" "m0m6bwzi8lx7kv8zbn3hjrim6flmgnf4-open= ssl-1.0.2l" "m3xhykrwad33a105zpgi494v4i8js4dl-wayland-1.13.0" "m843zdvsv2p3= glz91y8icv3qwkr9mnzs-module-import" "m9zxvfv4ka26732485whl1cbaahf0ff9-avahi= -0.6.31" "mhqwkrml6k7ylca5bnsmc467mlj2zdv8-shepherd-user-processes.scm" "mi= 0bpcbmz94n7wl282xcw12y81zj02ys-manual-database" "mipizipnr4y2hly9b429j8id1a= lbbgqi-readline-7.0" "mk9wvrd5m7fqf328mf37241wkrkw75xa-libidn2-2.0.4" "mpl9= b9w60gjzsq470zka5l8p2bmy7r8v-sqlite-3.19.3" "mrk0km6gqw4zn20az2bqidvajps7yy= 93-motd" "mxnh7py7gl5lfm2825hijgqjh7rvb0gm-sudoers" "mymwcnr619kprab0divalx= 38s5paw29y-linux-boot.scm" "n1fjxdw7ca00r0qnfk2a5gddv098rsy7-shepherd.conf"= "n3b29mh561flznsciaylj4q2a78dmlp3-guile-git-0.0-3.e156a10" "n419gkq8p5l239= 2v0xy0wz7i69fxgp96-mariadb-10.1.26" "n6nvxlk2j8ysffjh3jphn1k5silnakh6-glibc= -2.25" "n7hfr87kb69pbcz9cfy00yi4jvwk9n4s-iproute2-4.13.0" "nhm602hbfi0vw823= 77nvfy9kxqm6amb0-hosts" "njx3j0kd26blpdz3q1kcqxh80hiyby3b-syscalls.scm" "nl= b440z8pz5wq2s2pggbvzxq0nsd96lj-module-import-compiled" "np05q8mf1y9y4bk5y4s= sj99m0dss2b1q-libx11-1.6.5" "nqmzxcsay0flwxi22vb9hzdi9qnkgkhr-fuse-2.9.7" "= nwklgz6m8nzmd6568jackkffjjsski8y-module-import" "nx8blr0a248ahbl092h7acyb44= lp8f0m-libunistring-0.9.7" "nykcm5wlw8fjsi28nm01gg1as2znh8nf-gmp-6.1.2" "nz= v180i3z33vnb9krmc73mazhf626384-findutils-4.6.0" "p204lx246gf8lzx0262d53j6vk= 4rdip4-boot" "p4cv5l3pbympjdjs2yga8cbp1ghbg4hj-isc-dhcp-4.3.5" "paps5r9hcps= zhv8hc3n0s2m2i4a2378i-ed-1.14.2" "pbqal5rp859kfacaj9f8hvwwhlb4zikf-mysql-te= st-builder" "pf1xr3i3pf7k1b3lr59gffzy891y1yv3-libxvmc-1.0.10" "phyir52lwvnd= lpw1b30i6vhkyfh5bxgr-dbus-1.10.18" "pp5vlnkh99d9ab4xc3ggrk6mvc961fkx-lzip-1= .18" "ps0m5mqdyh1pjdn31dxlbv51ysfhf860-lvm2-2.02.171" "q24zahl037lf2f4152g9= 4v1zhrmbzsj6-libxml2-2.9.4" "q36avjw4lflscxvbmmamlgchdwq70cym-which-2.21" "= q6f9samd6m36pyfg8xpzmkljc3vavrnh-activate-service" "qc4avwlbwyprz6gq9fcqwp0= 43r8063f6-libltdl-2.4.6" "qh1fri7qppqi8bhyzbiw7h8knmk4cb3q-libltdl-2.4.6" "= qj1kg8kws7fakn7g7zd4pqi59cy42hhp-crda-3.18" "qjal4sb770mjfd05w0fq72zkqpv4mc= il-sudo-1.8.21p2" "qkkg7kyv1v828ixc70nngma55wn974li-udev.conf" "qp5cipyqsll= 9ddgdhxny65cxpvan61ha-procps-3.3.12" "r362f8p4y0xj7sm2jfqysry086lxy91v-zlib= -1.2.11" "ra8iaqrk5lc8nzld75a3mv05x9wl4w96-shepherd-file-systems.scm" "rdq9= cxcqka2cswqpv4s848a247zvgl93-mdadm-4.0" "rf6b68gjfrcsgc31w6zs5dgmnyschj8r-m= odule-import-compiled" "rp8lfy4yfj08dk41m4ia9b80yy93mzf6-libjpeg-8d" "rqpi1= zg82y0h6ic4nlw50x6irv5mgqhs-locale-2.25" "rs7y82hlgdfs1m7h5xr8y2vx7m96qc4v-= shepherd-file-system--sys-fs-cgroup-perf_event.scm" "ryqd73alrlq5djsr18xjji= hi735592im-pkg-config-0.29.2" "s16wxqjqvqjf49lkmbv3ai3dsjzxjfw6-shepherd-us= er-homes.scm" "s21q8rx5y9kzdpaia2zqwfbr0b9hn2fv-shepherd-file-system--sys-f= s-cgroup-blkio.scm" "s2g2446j1wl1zy4d23vs3a7dc3zzl2c2-libxv-1.0.11" "s3d34j= lrpcdbv1xm3y1nwihw1i6xmwrc-run-vm.sh" "scs7siybrjl5bb7sxqaskysf8n1ld718-gmp= -6.1.2" "sfx1wh27i6gsrk21p87rdyikc64v7d51-zlib-1.2.11" "sil49ljqkxi6aw0rdii= qnl70jx6hicsx-s2tc-1.0" "sjrcmzr2jdas2zb4b5h8lgglgjlcyy9c-firmware" "skfbvr= 0wc2va1b2fdvaxbdmqnmji19jx-groupmod" "sngyhm974sbmljknwb1xrni1ggzhpm4d-grep= -3.0" "sq26apxpvka5n46xkza1l5lrz5s4w8v2-libxrandr-1.5.1" "sv4p3sn3mp88xlpwl= 54p4r4gf06rjzlz-combinators.scm" "syzpw2s6s3jk3hj67vq52wfphlwfip2g-gss-1.0.= 3" "v4jl22k8gmfhw2ly8im5273y7xkby1bd-module-import" "v6ljdrjwh42h7bssk24yjd= ma5rl43jkr-profile" "v6wgl8g3l6d1zrylf4b9h43qszpklphk-shepherd-urandom-seed= .scm" "viz3c2xq5ddl733q55am01fqz2dqiz34-skel" "vm8w2j5qjlan4dl64x8jplfih2dn= rn9c-module-import-compiled" "w150ql3qy0di4dnp4c95hpaw6m1aafwc-pkg-config-0= .29.2" "w1hj0572wg91blbmsyk83zsnjl6j47ap-grub-2.02" "w26fyfbic9n8fljmgacf5g= y8x7y5yn39-udev-rules" "w31zw2chff41x6q6kpa2wrkgx8agr0an-libidn-1.33" "w7p8= 4w2drhdy19j8dyv715i574lj40s9-readline-7.0" "w85rbll51r86mclkmp1bxa774b36jy1= q-mit-krb5-1.15.1" "w87pvr1vf0cnbd3w6gzlamz17s761bq3-activate-service" "w8k= ii3hjvmh50yxs52gkdywkq9jc7s19-pixman-0.34.0" "wjj289vqkjf767xq0b3ldaskbl95v= s5s-shepherd-marionette.scm" "wsjnmk2liiav4rqbhf6kxaim0fyvrn39-other" "wzzp= vjk9ghhyjqn23lszkjh6pgbayj5x-shepherd-console-font-tty2.scm" "x0kbk8igm6gkk= fb45gnnq66m6mswwirn-userdel" "x3b4dsmry7p2r9n30q2myj7ql0h74kqz-libmnl-1.0.4= " "x8cwg5bm9y2dk1mrhisr63b5q98mbhhz-guile-bytestructures-20170402.91d042e" = "xpqv6vdrxwvnl2545vcmra9gwhlvfzny-linux-libre-4.13.2" "xv8bp0zxbr9iphr38wy0= ll4lzkbh9i87-libxau-1.0.8" "xxfwxc0xm748n6y9lrc5338nfpvjxqak-inetutils-1.9.= 4" "xy9k7k14p20jll9hiy6pj37kb8g23vbj-rfkill-0.5" "y2vyxss0pc603qqh3wmlv7yrg= mjf0iam-libpipeline-1.4.2" "y5f4rfh9f8p5cm9kch4pafgmj3vhvqrx-openldap-2.4.4= 5" "y5nrfbj52vlnj77iyki9hbji8qjwk86d-syslog.conf" "yfzdqhy08vygnssg8r69sx1i= 4i6jh682-sdl-1.2.15" "ygb6jg6qq36wxjcnkq4r9wrfikl754dy-shepherd-file-system= --sys-fs-cgroup-cpu.scm" "ygrwcxrx5bhxzm0jilg54dsnwrxs0vci-nsswitch.conf" "= yihvhxv3xyyvl1m2cy1lnf1lyi9h76fk-guile-2.2.2" "ylzyjnlsfz08xf1d74mpawvadnih= sxx0-iptables-1.6.1" "ynp950nlaj0xx39gf5a10fq7rnsx1672-libatomic-ops-7.4.4"= "ypqscsag2fs4j9jnwfqq5kzfyw1k30ls-mysql-test" "yz1lf55ag0904w9ib0q2kcjpdx3= 3y7wm-attr-2.4.47" "yzlmd2nlcyjhx0ydbap7x32zjqxc3hz9-libcap-2.25" "z1lii251= cy0y660910hsfc55cy82dk9i-net-base-5.3" "z77nhww8zh96w6lb5ak6h3jb4niain3b-eu= dev-3.2.2" "zaf2lb18xns27pkbfrm0f27qkkzxdxq2-shepherd-term-tty6.scm" "zb5gq= haj2sb1gy6imgsnhvxxcbzljg90-shepherd-file-system--sys-fs-cgroup-cpuacct.scm= " "zh0lb2g15hirq7zw2477w7s5ww7dxkv0-guix-0.13.0-6.a9468b4" "zhhdii9mjckb6c2= f7abmdsx39khv6dla-tar-1.29" "zhrajv6qf2hzn9c3g2bb07559hyrz5xp-bash-static-4= .4.12" "zikv0zk3y5q2qx65r1xjxawm3ha97zdk-shells" "zs6zn16qbm53f1dda75ywl2gs= d7m4xbn-activate-service" "zspi375jsb1076khqr3bbf5pg0vfgj65-shepherd-host-n= ame.scm" "zvakcs6x3zzlx95wypz9dl3k908bc6lc-shepherd-file-system--sys-fs-cgr= oup-cpuset.scm" "zwhrh2429r7y13nd3bnfihswxdflb4ih-curl-7.55.0" "zwvgwl1yjfb= h5k1255jvia6q331ib3m1-pam.d" "zxm6qadad3vc7asy1q0xp9dld012kxgk-90-kvm.rules= " "zyya6pd6hg2zvcbqpzavqjv4wagms03c-module-import-compiled" "zzaxsv4jp0k9nh= bvxm2al5c8b6l6nxyv-modprobe")) ERROR: In procedure scm-error: ERROR: no code for module (ice-9 popen) --8<---------------cut here---------------end--------------->8--- As you can see, /gnu/store/9whwwppmb2sjfsy0967s627bzgdfl8bc-guile-static-stripped-2.2.2/sha= re/guile/2.2, which is at the tail of %load-path, is missing from the root file system, hence the failure. To work around it, we=E2=80=99d have to either ensure that =E2=80=98guile-static-stripped=E2=80=99 is on the root file system, or adju= st the load path when we switch roots, or (simplest solution) pre-load (ice-9 popen) before =E2=80=98switch-root=E2=80=99. To be continued=E2=80=A6 Ludo=E2=80=99. --=-=-=-- From debbugs-submit-bounces@debbugs.gnu.org Sun Oct 08 05:06:18 2017 Received: (at 28399) by debbugs.gnu.org; 8 Oct 2017 09:06:18 +0000 Received: from localhost ([127.0.0.1]:55472 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1e17XO-0001ox-I4 for submit@debbugs.gnu.org; Sun, 08 Oct 2017 05:06:18 -0400 Received: from li622-129.members.linode.com ([212.71.249.129]:51394 helo=mira.cbaines.net) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1e17XM-0001ok-3Y for 28399@debbugs.gnu.org; Sun, 08 Oct 2017 05:06:16 -0400 Received: by mira.cbaines.net (Postfix, from userid 113) id 4E71F13E696; Sun, 8 Oct 2017 10:06:15 +0100 (BST) X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on mira.cbaines.net X-Spam-Level: X-Spam-Status: No, score=-2.9 required=5.0 tests=ALL_TRUSTED,BAYES_00, URIBL_BLOCKED autolearn=unavailable autolearn_force=no version=3.4.0 Received: from localhost (cpc102582-walt20-2-0-cust14.13-2.cable.virginm.net [86.27.34.15]) by mira.cbaines.net (Postfix) with ESMTPSA id 0C2AF13E694; Sun, 8 Oct 2017 10:06:13 +0100 (BST) Date: Sun, 8 Oct 2017 10:06:07 +0100 From: Christopher Baines To: ludo@gnu.org (Ludovic =?UTF-8?B?Q291cnTDqHM=?=) Subject: Re: [bug#28399] [PATCH 1/2] services: mysql: Fix missing modules on activation. Message-ID: <20171008100607.5c175cf8@cbaines.net> In-Reply-To: <87tvzxu3m8.fsf@gnu.org> References: <20170909153905.087c013f@cbaines.net> <20170909145343.14851-1-mail@cbaines.net> <87shftd67d.fsf@gnu.org> <20170912194825.70eb4436@cbaines.net> <87377nlixr.fsf@gnu.org> <20170916113811.3c7d1b33@cbaines.net> <87tvzxu3m8.fsf@gnu.org> X-Mailer: Claws Mail 3.15.1-dirty (GTK+ 2.24.31; x86_64-unknown-linux-gnu) MIME-Version: 1.0 Content-Type: multipart/signed; micalg=pgp-sha512; boundary="Sig_/wi9zIP4/xL5OZrHujFZpBpp"; protocol="application/pgp-signature" X-Spam-Score: -0.0 (/) X-Debbugs-Envelope-To: 28399 Cc: 28399@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.0 (/) --Sig_/wi9zIP4/xL5OZrHujFZpBpp Content-Type: multipart/mixed; boundary="MP_/9M77eFCFd1uU3WVYxNI3=7g" --MP_/9M77eFCFd1uU3WVYxNI3=7g Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable Content-Disposition: inline On Wed, 20 Sep 2017 11:21:51 +0200 ludo@gnu.org (Ludovic Court=C3=A8s) wrote: > As you can see, > /gnu/store/9whwwppmb2sjfsy0967s627bzgdfl8bc-guile-static-stripped-2.2.2/s= hare/guile/2.2, > which is at the tail of %load-path, is missing from the root file > system, hence the failure. >=20 > To work around it, we=E2=80=99d have to either ensure that > =E2=80=98guile-static-stripped=E2=80=99 is on the root file system, or ad= just the load > path when we switch roots, or (simplest solution) pre-load (ice-9 > popen) before =E2=80=98switch-root=E2=80=99. >=20 > To be continued=E2=80=A6 Awesome investigation Ludo. This explanation could match what I was experiencing when using the mysql service on GuixSD. Sometimes after running guix gc, the system wouldn't boot. This could have been because the guile package needed by the initrd was removed from the store. Given that the initrd has a dependency on this guile, but it doesn't reference it because its compressed, how about adding a explicit reference to the guile used? I've attached a patch, and this looks to fix the issue as far as the mysql service is concerned. --MP_/9M77eFCFd1uU3WVYxNI3=7g Content-Type: text/x-patch Content-Transfer-Encoding: quoted-printable Content-Disposition: attachment; filename=0001-linux-initrd-Ensure-that-the-guile-used-in-the-initr.patch =46rom f313f80407039efb215c18de99ee36696528e98a Mon Sep 17 00:00:00 2001 From: Christopher Baines Date: Sun, 8 Oct 2017 09:52:24 +0100 Subject: [PATCH] linux-initrd: Ensure that the guile used in the initrd referenced. By referencing guile from the initrd, it will be present in the store when this initrd is used. If the exact guile used within the initrd isn't present in the store, then after root is switched during the boot process, loading modules (such as (ice-9 popen)) won't work. * gnu/system/linux-initrd.scm (expression->initrd)[builder]: Write out a fi= le called references in to the initrd derivation, which includes the store p= ath for guile. --- gnu/system/linux-initrd.scm | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/gnu/system/linux-initrd.scm b/gnu/system/linux-initrd.scm index 5a7aec5c8..c869bba5f 100644 --- a/gnu/system/linux-initrd.scm +++ b/gnu/system/linux-initrd.scm @@ -78,6 +78,19 @@ the derivations referenced by EXP are automatically copi= ed to the initrd." (use-modules (gnu build linux-initrd)) =20 (mkdir #$output) + + ;; Due to the compression, the references to the dependencies are + ;; obscured, so write them out uncompressed to a file. + (call-with-output-file (string-append #$ output "/references") + (lambda (port) + (map (lambda (reference) + (simple-format port "~A\n" reference)) + (list + ;; The guile used in the initrd must be present in the + ;; store, so that module loading works once the root is + ;; switched. + #$guile)))) + (build-initrd (string-append #$output "/initrd") #:guile #$guile #:init #$init --=20 2.14.2 --MP_/9M77eFCFd1uU3WVYxNI3=7g-- --Sig_/wi9zIP4/xL5OZrHujFZpBpp Content-Type: application/pgp-signature Content-Description: OpenPGP digital signature -----BEGIN PGP SIGNATURE----- iQKTBAEBCgB9FiEEPonu50WOcg2XVOCyXiijOwuE9XcFAlnZ6n9fFIAAAAAALgAo aXNzdWVyLWZwckBub3RhdGlvbnMub3BlbnBncC5maWZ0aGhvcnNlbWFuLm5ldDNF ODlFRUU3NDU4RTcyMEQ5NzU0RTBCMjVFMjhBMzNCMEI4NEY1NzcACgkQXiijOwuE 9XfLZw//V7b0kGXkQpiDCY88mb+V+JudPveQDRXjM8YjhbNEjuczx49piaS93wVN zHE/VtePzszworbHtDjlC+iqD8PSzzDKamS6HwmVHMbYt86W6vqAOSxPvqBnHIpS zUfbv2NzMPBUDRElulT8JECxZEPj45W5kk28v8yya5DhSszowMgZfTwsA+yyEglQ lt/cE8ZgjWSbCv/cI0iFXhmWXObnDXPJJfG9iBrMcVBNZy+AkzzwYniJhMvuq+sF h7cGmg1lG1PXy9AgySwaDGtGzyuDzRV/fjXatId4rrkrDyW0emtg0CxpnnS3qbA1 ZrGUN3j/Lvm/1d88iwIsKR3DRcP2SXPVP5O37+Euz9ZxacwTC/2J+E00n/hXPQCv Np2b+8tODJ51hIWtiTlgOH+ikiUD9hOELbwFm4QD2gL2Gix/3jTgUbhLJqUXTZ1g B4IlfkCNqVHItAV98zaYwZeytNIqMvp3Xfgdebpq9Uc8sLxMmPf3ModwzPVeQk/m UC4bz/733l3cTwl5PNQM4EfYxb6jpq6v2NmNirzIGhjM3T035hjFXGyzalpCk6pj f8U0zQDE/N9hOD5749lyz8PhSTrDSJBdzbuns5WJ3HwyeLiHq8QLr3dkSh6OmZIr Fyrzmq5e2Mx6sToc3mtxwFvIQYfSk8KbwR25J5pn9ATq9xUq3mk= =HT04 -----END PGP SIGNATURE----- --Sig_/wi9zIP4/xL5OZrHujFZpBpp-- From debbugs-submit-bounces@debbugs.gnu.org Sun Oct 08 11:26:17 2017 Received: (at 28399) by debbugs.gnu.org; 8 Oct 2017 15:26:17 +0000 Received: from localhost ([127.0.0.1]:56526 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1e1DT7-0004oI-Dt for submit@debbugs.gnu.org; Sun, 08 Oct 2017 11:26:17 -0400 Received: from eggs.gnu.org ([208.118.235.92]:35009) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1e1DT6-0004o7-HD for 28399@debbugs.gnu.org; Sun, 08 Oct 2017 11:26:16 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1e1DT0-0002LY-1D for 28399@debbugs.gnu.org; Sun, 08 Oct 2017 11:26:11 -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.5 required=5.0 tests=BAYES_05,RP_MATCHES_RCVD autolearn=disabled version=3.3.2 Received: from fencepost.gnu.org ([2001:4830:134:3::e]:39513) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1e1DSz-0002LR-Tr; Sun, 08 Oct 2017 11:26:09 -0400 Received: from vpn-0-27.aquilenet.fr ([2a01:474:4:27::]:37172 helo=ribbon) by fencepost.gnu.org with esmtpsa (TLS1.2:RSA_AES_256_CBC_SHA1:256) (Exim 4.82) (envelope-from ) id 1e1DSz-00068D-9G; Sun, 08 Oct 2017 11:26:09 -0400 From: ludo@gnu.org (Ludovic =?utf-8?Q?Court=C3=A8s?=) To: Christopher Baines Subject: Re: [bug#28399] [PATCH 1/2] services: mysql: Fix missing modules on activation. References: <20170909153905.087c013f@cbaines.net> <20170909145343.14851-1-mail@cbaines.net> <87shftd67d.fsf@gnu.org> <20170912194825.70eb4436@cbaines.net> <87377nlixr.fsf@gnu.org> <20170916113811.3c7d1b33@cbaines.net> <87tvzxu3m8.fsf@gnu.org> <20171008100607.5c175cf8@cbaines.net> X-URL: http://www.fdn.fr/~lcourtes/ X-Revolutionary-Date: 17 =?utf-8?Q?Vend=C3=A9miaire?= an 226 de la =?utf-8?Q?R=C3=A9volution?= X-PGP-Key-ID: 0x090B11993D9AEBB5 X-PGP-Key: http://www.fdn.fr/~lcourtes/ludovic.asc X-PGP-Fingerprint: 3CE4 6455 8A84 FDC6 9DB4 0CFB 090B 1199 3D9A EBB5 X-OS: x86_64-pc-linux-gnu Date: Sun, 08 Oct 2017 17:26:05 +0200 In-Reply-To: <20171008100607.5c175cf8@cbaines.net> (Christopher Baines's message of "Sun, 8 Oct 2017 10:06:07 +0100") Message-ID: <87po9xek4y.fsf@gnu.org> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/25.3 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-Received-From: 2001:4830:134:3::e X-Spam-Score: -5.0 (-----) X-Debbugs-Envelope-To: 28399 Cc: 28399@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -5.0 (-----) Heya, Christopher Baines skribis: > On Wed, 20 Sep 2017 11:21:51 +0200 > ludo@gnu.org (Ludovic Court=C3=A8s) wrote: > >> As you can see, >> /gnu/store/9whwwppmb2sjfsy0967s627bzgdfl8bc-guile-static-stripped-2.2.2/= share/guile/2.2, >> which is at the tail of %load-path, is missing from the root file >> system, hence the failure. >>=20 >> To work around it, we=E2=80=99d have to either ensure that >> =E2=80=98guile-static-stripped=E2=80=99 is on the root file system, or a= djust the load >> path when we switch roots, or (simplest solution) pre-load (ice-9 >> popen) before =E2=80=98switch-root=E2=80=99. >>=20 >> To be continued=E2=80=A6 > > Awesome investigation Ludo. This explanation could match what I was > experiencing when using the mysql service on GuixSD. Sometimes after > running guix gc, the system wouldn't boot. This could have been because > the guile package needed by the initrd was removed from the store. > > Given that the initrd has a dependency on this guile, but it doesn't > reference it because its compressed, It=E2=80=99s not just that: the initrd embeds a self-contained store; it do= es not contain references to the =E2=80=9Couter=E2=80=9D store. > how about adding a explicit reference to the guile used? I've attached > a patch, and this looks to fix the issue as far as the mysql service > is concerned. [=E2=80=A6] > From f313f80407039efb215c18de99ee36696528e98a Mon Sep 17 00:00:00 2001 > From: Christopher Baines > Date: Sun, 8 Oct 2017 09:52:24 +0100 > Subject: [PATCH] linux-initrd: Ensure that the guile used in the initrd > referenced. > > By referencing guile from the initrd, it will be present in the store when > this initrd is used. If the exact guile used within the initrd isn't pres= ent > in the store, then after root is switched during the boot process, loading > modules (such as (ice-9 popen)) won't work. > > * gnu/system/linux-initrd.scm (expression->initrd)[builder]: Write out a = file > called references in to the initrd derivation, which includes the store= path > for guile. [...] > + ;; Due to the compression, the references to the dependencies = are > + ;; obscured, so write them out uncompressed to a file. > + (call-with-output-file (string-append #$ output "/references") > + (lambda (port) > + (map (lambda (reference) > + (simple-format port "~A\n" reference)) > + (list > + ;; The guile used in the initrd must be present in t= he > + ;; store, so that module loading works once the root= is > + ;; switched. > + #$guile)))) That=E2=80=99s very smart! I think you can remove =E2=80=98map=E2=80=99 here since Guile will probably= be the only thing we want to refer to. Make sure to refer to this bug in the commit message and in the comment. OK to push with these changes, thank you! Ludo=E2=80=99. From debbugs-submit-bounces@debbugs.gnu.org Sun Oct 08 12:34:37 2017 Received: (at 28399-done) by debbugs.gnu.org; 8 Oct 2017 16:34:37 +0000 Received: from localhost ([127.0.0.1]:56583 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1e1EXF-0006WZ-6L for submit@debbugs.gnu.org; Sun, 08 Oct 2017 12:34:37 -0400 Received: from li622-129.members.linode.com ([212.71.249.129]:51670 helo=mira.cbaines.net) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1e1EXC-0006WQ-OE for 28399-done@debbugs.gnu.org; Sun, 08 Oct 2017 12:34:35 -0400 Received: by mira.cbaines.net (Postfix, from userid 113) id EBFC113E6A7; Sun, 8 Oct 2017 17:34:33 +0100 (BST) X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on mira.cbaines.net X-Spam-Level: X-Spam-Status: No, score=-2.9 required=5.0 tests=ALL_TRUSTED,BAYES_00, URIBL_BLOCKED autolearn=unavailable autolearn_force=no version=3.4.0 Received: from localhost (cpc102582-walt20-2-0-cust14.13-2.cable.virginm.net [86.27.34.15]) by mira.cbaines.net (Postfix) with ESMTPSA id 2103913E6A5; Sun, 8 Oct 2017 17:34:32 +0100 (BST) Date: Sun, 8 Oct 2017 17:34:31 +0100 From: Christopher Baines To: ludo@gnu.org (Ludovic =?UTF-8?B?Q291cnTDqHM=?=) Subject: Re: [bug#28399] [PATCH 1/2] services: mysql: Fix missing modules on activation. Message-ID: <20171008173431.0ff3299f@cbaines.net> In-Reply-To: <87po9xek4y.fsf@gnu.org> References: <20170909153905.087c013f@cbaines.net> <20170909145343.14851-1-mail@cbaines.net> <87shftd67d.fsf@gnu.org> <20170912194825.70eb4436@cbaines.net> <87377nlixr.fsf@gnu.org> <20170916113811.3c7d1b33@cbaines.net> <87tvzxu3m8.fsf@gnu.org> <20171008100607.5c175cf8@cbaines.net> <87po9xek4y.fsf@gnu.org> X-Mailer: Claws Mail 3.15.1-dirty (GTK+ 2.24.31; x86_64-unknown-linux-gnu) MIME-Version: 1.0 Content-Type: multipart/signed; micalg=pgp-sha512; boundary="Sig_/n4nXLqQuTO2LiRtiGaphm3G"; protocol="application/pgp-signature" X-Spam-Score: -0.0 (/) X-Debbugs-Envelope-To: 28399-done Cc: 28399-done@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.0 (/) --Sig_/n4nXLqQuTO2LiRtiGaphm3G Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable On Sun, 08 Oct 2017 17:26:05 +0200 ludo@gnu.org (Ludovic Court=C3=A8s) wrote: > Heya, >=20 > Christopher Baines skribis: >=20 > > On Wed, 20 Sep 2017 11:21:51 +0200 > > ludo@gnu.org (Ludovic Court=C3=A8s) wrote: > > =20 > >> As you can see, > >> /gnu/store/9whwwppmb2sjfsy0967s627bzgdfl8bc-guile-static-stripped-2.2.= 2/share/guile/2.2, > >> which is at the tail of %load-path, is missing from the root file > >> system, hence the failure. > >>=20 > >> To work around it, we=E2=80=99d have to either ensure that > >> =E2=80=98guile-static-stripped=E2=80=99 is on the root file system, or= adjust the > >> load path when we switch roots, or (simplest solution) pre-load > >> (ice-9 popen) before =E2=80=98switch-root=E2=80=99. > >>=20 > >> To be continued=E2=80=A6 =20 > > > > Awesome investigation Ludo. This explanation could match what I was > > experiencing when using the mysql service on GuixSD. Sometimes after > > running guix gc, the system wouldn't boot. This could have been > > because the guile package needed by the initrd was removed from the > > store. > > > > Given that the initrd has a dependency on this guile, but it doesn't > > reference it because its compressed, =20 >=20 > It=E2=80=99s not just that: the initrd embeds a self-contained store; it = does > not contain references to the =E2=80=9Couter=E2=80=9D store. >=20 > > how about adding a explicit reference to the guile used? I've > > attached a patch, and this looks to fix the issue as far as the > > mysql service is concerned. =20 >=20 > [=E2=80=A6] >=20 > > From f313f80407039efb215c18de99ee36696528e98a Mon Sep 17 00:00:00 > > 2001 From: Christopher Baines > > Date: Sun, 8 Oct 2017 09:52:24 +0100 > > Subject: [PATCH] linux-initrd: Ensure that the guile used in the > > initrd referenced. > > > > By referencing guile from the initrd, it will be present in the > > store when this initrd is used. If the exact guile used within the > > initrd isn't present in the store, then after root is switched > > during the boot process, loading modules (such as (ice-9 popen)) > > won't work. > > > > * gnu/system/linux-initrd.scm (expression->initrd)[builder]: Write > > out a file called references in to the initrd derivation, which > > includes the store path for guile. =20 >=20 > [...] >=20 > > + ;; Due to the compression, the references to the > > dependencies are > > + ;; obscured, so write them out uncompressed to a file. > > + (call-with-output-file (string-append #$ output > > "/references") > > + (lambda (port) > > + (map (lambda (reference) > > + (simple-format port "~A\n" reference)) > > + (list > > + ;; The guile used in the initrd must be > > present in the > > + ;; store, so that module loading works once > > the root is > > + ;; switched. > > + #$guile)))) =20 >=20 > That=E2=80=99s very smart! >=20 > I think you can remove =E2=80=98map=E2=80=99 here since Guile will probab= ly be the > only thing we want to refer to. >=20 > Make sure to refer to this bug in the commit message and in the > comment. >=20 > OK to push with these changes, thank you! Awesome :) I think I've made these changes, and I've now pushed this change, along with the simple MySQL test that now passes. I'm very glad that this issue should be resolved now. --Sig_/n4nXLqQuTO2LiRtiGaphm3G Content-Type: application/pgp-signature Content-Description: OpenPGP digital signature -----BEGIN PGP SIGNATURE----- iQKTBAEBCgB9FiEEPonu50WOcg2XVOCyXiijOwuE9XcFAlnaU5dfFIAAAAAALgAo aXNzdWVyLWZwckBub3RhdGlvbnMub3BlbnBncC5maWZ0aGhvcnNlbWFuLm5ldDNF ODlFRUU3NDU4RTcyMEQ5NzU0RTBCMjVFMjhBMzNCMEI4NEY1NzcACgkQXiijOwuE 9Xc5DA//YQs81RGSADdLH3taTKyrkUtkUeg6xf1jRXcfvAIlmjh7Ezn9GjdKWN6f GH3sqb4ajFMviH185ZYfuu2cn8URBMKUc/cqytImXeqXBtd4od09dKARb9eiMNqY Tyj5pU6g66FVTszZI/8yY5VgquVfghWFc++WBFpBBIZ5eNULyVy8C5RaMKEHmbp9 0jzIFbUzAMr3Y9w9JHiM/jjnrfQchsAFxRppS7sVHlIRk2/cJ4X9lmdZz/bzXUY3 WRcFPKH77EJT6gNW4eYrF0uNYD64T2aW21iO3BvdO29CUYQpGviwdN/yPPdlAr2O c3I7y3XLqj3Qcd8NmFpix13tJ7+XK37jEO2g+derdkLC4UNL1NF/8eUBAx5c0Uld de973iIeqMz3WduAcscQ2eh+96qjcZ8UC15d1JGkuso1XbE467A2hLQfVa4fo0C1 v+Zad/BszqEqRQm4BqWbNEmKWjJu0JXfCFMKWJ78eeRSwdwctOF/zAiRzVMVtiq4 FKRFPyoF2RUYzn8Uyh/tk6+VW6OINYlRuIa5qaPvzD2/HGubGEcWwgdgCEJqTET6 OrSL8v0135zGHsuzQpyxyD0eBdl4RlOjhCyTmMeptE067vLfqLjPnOXJNx9/uLdh VDRmpQPBc3LszCxj7Rve33sqW3cucAd+aewUIERqcT2BuDGs+kg= =+Wzr -----END PGP SIGNATURE----- --Sig_/n4nXLqQuTO2LiRtiGaphm3G-- From debbugs-submit-bounces@debbugs.gnu.org Sun Oct 08 15:19:12 2017 Received: (at 28399-done) by debbugs.gnu.org; 8 Oct 2017 19:19:12 +0000 Received: from localhost ([127.0.0.1]:56656 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1e1H6V-00023r-Ll for submit@debbugs.gnu.org; Sun, 08 Oct 2017 15:19:12 -0400 Received: from eggs.gnu.org ([208.118.235.92]:52527) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1e1H6T-00023c-Qy for 28399-done@debbugs.gnu.org; Sun, 08 Oct 2017 15:19:10 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1e1H6N-0000Uh-Ug for 28399-done@debbugs.gnu.org; Sun, 08 Oct 2017 15:19:04 -0400 X-Spam-Checker-Version: SpamAssassin 3.3.2 (2011-06-06) on eggs.gnu.org X-Spam-Level: X-Spam-Status: No, score=-1.9 required=5.0 tests=BAYES_00,RP_MATCHES_RCVD autolearn=disabled version=3.3.2 Received: from fencepost.gnu.org ([2001:4830:134:3::e]:42542) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1e1H6N-0000Ub-Qa; Sun, 08 Oct 2017 15:19:03 -0400 Received: from vpn-0-27.aquilenet.fr ([2a01:474:4:27::]:39772 helo=ribbon) by fencepost.gnu.org with esmtpsa (TLS1.2:RSA_AES_256_CBC_SHA1:256) (Exim 4.82) (envelope-from ) id 1e1H6M-00034I-WB; Sun, 08 Oct 2017 15:19:03 -0400 From: ludo@gnu.org (Ludovic =?utf-8?Q?Court=C3=A8s?=) To: Christopher Baines Subject: Re: [bug#28399] [PATCH 1/2] services: mysql: Fix missing modules on activation. References: <20170909153905.087c013f@cbaines.net> <20170909145343.14851-1-mail@cbaines.net> <87shftd67d.fsf@gnu.org> <20170912194825.70eb4436@cbaines.net> <87377nlixr.fsf@gnu.org> <20170916113811.3c7d1b33@cbaines.net> <87tvzxu3m8.fsf@gnu.org> <20171008100607.5c175cf8@cbaines.net> <87po9xek4y.fsf@gnu.org> <20171008173431.0ff3299f@cbaines.net> X-URL: http://www.fdn.fr/~lcourtes/ X-Revolutionary-Date: 17 =?utf-8?Q?Vend=C3=A9miaire?= an 226 de la =?utf-8?Q?R=C3=A9volution?= X-PGP-Key-ID: 0x090B11993D9AEBB5 X-PGP-Key: http://www.fdn.fr/~lcourtes/ludovic.asc X-PGP-Fingerprint: 3CE4 6455 8A84 FDC6 9DB4 0CFB 090B 1199 3D9A EBB5 X-OS: x86_64-pc-linux-gnu Date: Sun, 08 Oct 2017 21:19:00 +0200 In-Reply-To: <20171008173431.0ff3299f@cbaines.net> (Christopher Baines's message of "Sun, 8 Oct 2017 17:34:31 +0100") Message-ID: <87o9phcusb.fsf@gnu.org> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/25.3 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-Received-From: 2001:4830:134:3::e X-Spam-Score: -5.0 (-----) X-Debbugs-Envelope-To: 28399-done Cc: 28399-done@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -5.0 (-----) Christopher Baines skribis: > Awesome :) I think I've made these changes, and I've now pushed this > change, along with the simple MySQL test that now passes. > > I'm very glad that this issue should be resolved now. Ditto, thank you! Ludo=E2=80=99. From unknown Mon Jun 23 23:52:28 2025 Received: (at fakecontrol) by fakecontrolmessage; To: internal_control@debbugs.gnu.org From: Debbugs Internal Request Subject: Internal Control Message-Id: bug archived. Date: Mon, 06 Nov 2017 12:24:06 +0000 User-Agent: Fakemail v42.6.9 # This is a fake control message. # # The action: # bug archived. thanks # This fakemail brought to you by your local debbugs # administrator