Debian Patches

Status for oath-toolkit/2.6.11-3

Patch Description Author Forwarded Bugs Origin Last update
fix-make-j.patch [PATCH 1/9] Fix make -j for oathtool/pskctool. Fixes: #40.
The trouble is the gengetopt and help2man dependencies, and I haven't
resolved how to write the rules in a suitable way. Considerations:

- oathtool.1 and pskctool.1 should not depend on the executable,
only on the source code that influences outcome
(otherwise users will rebuild the manpage on every build of the
executable, which we don't want since we don't want to require
help2man)
- the executable oathtool and pskctool are needed before running help2man
- we want to use "SUBDIRS=gl . test" since test needs the tools
- gengetopt generates two files, *_cmd.h and *_cmd.c, and while
we could use a % wildcard instead (compare libidn2/gsasl) to
solve that, maybe there are better solutions.
Simon Josefsson <simon@josefsson.org> no 2024-01-11
fix-32bit-big-endian.patch Bug#1070056: oath-toolkit FTBFS on 32-bit big-endian hppa platform

As can be seen here:
https://buildd.debian.org/status/fetch.php?pkg=oath-toolkit&arch=hppa&ver=2.6.11-2.1&stamp=1713624192&raw=0
oath-toolkit testsuite fails on hppa like this:

expected:
Start time: 1970-01-01 00:00:00 UTC (0)
Current time: 1970-01-01 00:00:00 UTC (0)
got:
Start time: 1970-01-01 00:00:00 UTC (2130640639)
Current time: 1970-01-01 00:00:00 UTC (35)

The failure stems from the fact that hppa is a 32-bit big-endian platform,
and which is the reason as well, why it does not fail on 32-bit little endian platforms.
(Although this is not an issue on arm, I nevertheless added the usertag since this bug in timet related)

The C-code is similar to this:
printf ("Current time: %ld\n", tim);
where tim is of type "time_t".

time_t can be 32- or 64-bit, depending on compile flags.
On Debian we now did for 32-bit platforms the time64 transition, which
made that value become a 64-bit entity.
So, the "%ld" printf format which defines 32-bit values on hppa does not
fit to the 64-bit tim value stored on the stack. Additionally hppa has
alignment requirements for 64-bit values which are put on the stack, which
is why a wrong value is printed in the testcase.

Solution is either to apply the attached patch, or to make printf
use "%ld" for 32-bit time_t and "%lld" for 64-bit time_t, which needs
to be checked at compile-time.
Helge Deller via OATH Toolkit general discussions <oath-toolkit-help@nongnu.org> yes 2024-04-29

All known versions for source package 'oath-toolkit'

Links