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 |