Control: severity -1 important
Control: tags -1 fixed-upstream

On Sun, Mar 10, 2024 at 07:14:37PM +0100, Sebastian Ramacher wrote:
> Source: termrec
> Version: 0.19-2.1
> Severity: serious

> ./testsuite.at:21: rec test.cast && loadsave test.cast out.cast && cmp 
> test.cast out.cast
> --- /dev/null 2024-02-28 22:20:30.000000000 +0000
> +++ /<<PKGBUILDDIR>>/tests/testsuite.dir/at-groups/5/stdout   2024-03-04 
> 07:30:59.654414192 +0000
> @@ -0,0 +1 @@
> +test.cast out.cast differ: char 38, line 1
> ./testsuite.at:21: exit code was 1, expected 0
> 5. testsuite.at:20: 5. loading and saving asciicasts to/from memory 
> (testsuite.at:20): FAILED (testsuite.at:21)

> 6. testsuite.at:23: testing loading and saving v1 asciicasts to/from memory 
> ...
> ./testsuite.at:24: rec test.cast-v1 && loadsave test.cast-v1 out.cast-v1 && 
> cmp test.cast-v1 out.cast-v1
> --- /dev/null 2024-02-28 22:20:30.000000000 +0000
> +++ /<<PKGBUILDDIR>>/tests/testsuite.dir/at-groups/6/stdout   2024-03-04 
> 07:30:59.730414550 +0000
> @@ -0,0 +1 @@
> +test.cast-v1 out.cast-v1 differ: char 41, line 1
> ./testsuite.at:24: exit code was 1, expected 0
> 6. testsuite.at:23: 6. loading and saving v1 asciicasts to/from memory 
> (testsuite.at:23): FAILED (testsuite.at:24)

Caused by the 32->64 bit time_t transition.  Alas, there's no portable way
to print time_t.

Fixed in upstream git.

As for the package, I followed a cunning plan to downgrade this bug: it's
no longer a regression (cuz no prev version in testing, or stable for that
matter), and a missing arch is allowed.  Downgrading, thus.

The real fix is:
--- a/libtty/asciicast.c
+++ b/libtty/asciicast.c
@@ -487,7 +487,7 @@ void record_asciicast(FILE *f, void* state, const struct 
timeval *tm, const char
        fprintf(f, "{\"version\":%d, \"width\":%d, \"height\":%d",
            as->version, vt->sx, vt->sy);
        if (as->ts.tv_sec)
            fprintf(f, ", \"timestamp\":%ld", as->ts.tv_sec);
            fprintf(f, ", \"timestamp\":%lld", (long long int)as->ts.tv_sec);
        if (as->version == 1)
            fprintf(f, ", \"stdout\":[\n");
        else


Meow!
-- 
⢀⣴⠾⠻⢶⣦⠀ The ill-thought conversion to time64_t will make us suffer from
⣾⠁⢠⠒⠀⣿⡁ the Y292B problem.  So let's move the Epoch by 435451400064000000
⢿⡄⠘⠷⠚⠋⠀ and make it unsigned -- that'll almost double the range.
⠈⠳⣄⠀⠀⠀⠀ 

Reply via email to