Package: mysql-8.0
Version: 8.0.36-2
Severity: serious
Tags: patch
Justification: ftbfs
User: ubuntu-de...@lists.ubuntu.com
Usertags: origin-ubuntu noble ubuntu-patch

Dear maintainers,

With the switch to 64-bit time_t on 32-bit archs, mysql-8.0 now fails to
build from source because of a test that *checks* that only 32-bit time is
supported:

[...]

[ 57%] main.func_unixtime_32bits                w4  [ fail ]
        Test ended at 2024-03-09 05:01:27

CURRENT_TEST: main.func_unixtime_32bits
--- /<<PKGBUILDDIR>>/mysql-test/r/func_unixtime_32bits.result   2023-12-12 
21:09:36.000000000 +0300
+++ /<<PKGBUILDDIR>>/builddir/mysql-test/var/4/log/func_unixtime_32bits.reject  
2024-03-09 08:01:27.450443865 +0300
@@ -12,7 +12,7 @@
 2038-01-19 06:14:07
 select from_unixtime(2147483648);
 from_unixtime(2147483648)
-NULL
+2038-01-19 06:14:08
 select from_unixtime(0);
 from_unixtime(0)
 1970-01-01 03:00:00
@@ -32,26 +32,26 @@
 2147483647
 select unix_timestamp(from_unixtime(2147483648));
 unix_timestamp(from_unixtime(2147483648))
-NULL
+2147483648
[...]

 - the logfile can be found in 
'/<<PKGBUILDDIR>>/builddir/mysql-test/var/log/main.func_unixtime_32bits/func_unixtime_32bits.log'

Test main.func_unixtime_32bits has failed 2 times, no more retries.
[...]

 (https://launchpad.net/ubuntu/+source/mysql-8.0/8.0.36-2/+build/27892969)

Please find attached a patch for this issue which I have uploaded to Ubuntu.

Thanks,
-- 
Steve Langasek                   Give me a lever long enough and a Free OS
Debian Developer                   to set it on, and I can move the world.
Ubuntu Developer                                   https://www.debian.org/
slanga...@ubuntu.com                                     vor...@debian.org
diff -Nru mysql-8.0-8.0.36/debian/patches/64bit_time_everywhere.patch 
mysql-8.0-8.0.36/debian/patches/64bit_time_everywhere.patch
--- mysql-8.0-8.0.36/debian/patches/64bit_time_everywhere.patch 1969-12-31 
16:00:00.000000000 -0800
+++ mysql-8.0-8.0.36/debian/patches/64bit_time_everywhere.patch 2024-03-08 
21:59:20.000000000 -0800
@@ -0,0 +1,22 @@
+Description: fix test for 64-bit time_t
+ i386 is the only architecture where we don't have 64-bit time_t now.
+ Update the tests accordingly.
+Author: Steve Langasek <steve.langa...@ubuntu.com>
+Forwarded: no
+Last-Update: 2024-03-08
+
+Index: mysql-8.0-8.0.36/mysql-test/include/have_32bits_time.inc
+===================================================================
+--- mysql-8.0-8.0.36.orig/mysql-test/include/have_32bits_time.inc
++++ mysql-8.0-8.0.36/mysql-test/include/have_32bits_time.inc
+@@ -1,8 +1,7 @@
+ # see also have_64bits_time.inc
+ 
+-let $have_64bit = `SELECT @@version_compile_machine IN
+-                          ('x86_64', 'amd64', 'sparc', 'sparc64', 'arm64', 
'aarch64',
+-                           'ppc64', 'ppc64le', 's390x')`;
++let $have_64bit = `SELECT @@version_compile_machine != 'i686'`;
++
+ if ($have_64bit) {
+   --skip Doesn't support 32 bits UNIX time, only 64 bits
+ }
diff -Nru mysql-8.0-8.0.36/debian/patches/series 
mysql-8.0-8.0.36/debian/patches/series
--- mysql-8.0-8.0.36/debian/patches/series      2024-03-05 06:26:25.000000000 
-0800
+++ mysql-8.0-8.0.36/debian/patches/series      2024-03-08 21:55:11.000000000 
-0800
@@ -9,3 +9,4 @@
 disable_timestamping_test.patch
 mysql_secure_installation-remove-root-pw-creation.patch
 suppress_armhf_test_warning.patch
+64bit_time_everywhere.patch

Reply via email to