[bug#34351] gnu: mariadb: Fix build

Message ID 87zhr8r5am.fsf@member.fsf.org
State Accepted
Headers show
Series [bug#34351] gnu: mariadb: Fix build | expand

Checks

Context Check Description
cbaines/applying patch success Successfully applied

Commit Message

Nikolai Merinov Feb. 6, 2019, 7:21 p.m. UTC
The mariadb package failed to build starting from 2019-01-01. The reason for
this failure is the hard-coded "2018-12-31 21:01:23" event execution time in
the mysqldump.test. If we try to run this test after a hard-coded time then
test fails with next additional message in test log:
> +Warnings:
> +Note   1588    Event execution time is in the past and ON COMPLETION NOT PRESERVE is set. The event was dropped immediately after creation.

* gnu/packages/databases.scm (mariadb): Change an event execution time in
  mysqldump test to the future time.
---
 gnu/packages/databases.scm | 6 ++++++
 1 file changed, 6 insertions(+)

Comments

Marius Bakke Feb. 6, 2019, 10:32 p.m. UTC | #1
Hello!

Nikolai Merinov <nikolai.merinov@member.fsf.org> writes:

> The mariadb package failed to build starting from 2019-01-01. The reason for
> this failure is the hard-coded "2018-12-31 21:01:23" event execution time in
> the mysqldump.test. If we try to run this test after a hard-coded time then
> test fails with next additional message in test log:
>> +Warnings:
>> +Note   1588    Event execution time is in the past and ON COMPLETION NOT PRESERVE is set. The event was dropped immediately after creation.

Thanks for finding the root cause of this.

[...]

> +               ;; This test fail if a time for the "create event" command in the past
> +               (with-fluids ((%default-port-encoding #f))
> +                 (substitute* '("mysql-test/t/mysqldump.test"
> +                                "mysql-test/r/mysqldump.result")
> +                   (("2018-12-31") "2025-12-31")))

This will only delay the problem :-)

Ideally, we should locate and remove any such "time bombs" or expiry
dates in packages.  Maybe by doing some time fuzzing?

In any case this particular problem is fixed on the 'staging' and
'core-updates' branches, the first of which should be merged very soon.

I'm closing this issue, but added your findings as a comment in
69fb26d4f51e9d22111cb1360e2941192afee5b9, thanks!

Patch

diff --git a/gnu/packages/databases.scm b/gnu/packages/databases.scm
index 50766fc010..cab8b89949 100644
--- a/gnu/packages/databases.scm
+++ b/gnu/packages/databases.scm
@@ -608,6 +608,12 @@  Language.")
                (substitute* "mysql-test/mysql-test-run.pl"
                  (("/bin/ls") (which "ls"))
                  (("/bin/sh") (which "sh")))
+
+               ;; This test fail if a time for the "create event" command in the past
+               (with-fluids ((%default-port-encoding #f))
+                 (substitute* '("mysql-test/t/mysqldump.test"
+                                "mysql-test/r/mysqldump.result")
+                   (("2018-12-31") "2025-12-31")))
                #t)))
          (add-before 'configure 'disable-plugins
            (lambda _