View Issue Details

IDProjectCategoryView StatusLast Update
0000863LDMud 3.5Runtimepublic2019-04-05 21:31
Reporterrjsalts Assigned ToGnomi  
Status resolvedResolutionfixed 
Product Version3.5.1 
Fixed in Version3.5.2 
Summary0000863: ldmud --help output causes unreproducible build of manpages
DescriptionWhen running ldmud --help the first line outputs the time and date as well as the source of entropy (e.g. 2018.02.06 10:03:45 Seeding PRNG from /dev/urandom). Because this is captured by help2man the lmud.1 manpage is always different, even if you're setting the SOURCE_DATE_EPOCH environment variable for help2man to create a reproducible build. Can this output be suppressed when running the ldmud executable with the --help option?
Steps To Reproducerun ldmud --help
TagsNo tags attached.



2018-02-06 23:13

administrator   ~0002451

In principle, yes. However... The argument parser currently expects that some parts of the driver are already initialized. These are printing these messages. It needs more work than just calling the argument parser earlier and we can't know if --help was given before parsing the arguments...


2018-02-06 23:50

reporter   ~0002452

If it's very difficult the non-deterministic output could be worked around when generating the manpage.

if help2man ran a wrapper script which did ldmud "$@" | tail -n +2 it would strip the offending line.


2018-02-07 18:55

manager   ~0002453

It seems to me that the early seeding is done, because the option parser doesn't remember whether --random-seed was given and thus seeding from the random device would not be allowed afterwards. If we would track that, we could seed after argument parsing.

In light of --randomdevice it also seems the correct approach, so the driver doesn't access any file (from the compile time defaults) that the user doesn't want us to.


2018-02-17 15:38

manager   ~0002456

Fix committed in revision 7466f90df8bcf27abc6b6f03be2862e2b9f8c054 to master branch (see changeset 4151 for details). Thank you for reporting!

Issue History

Date Modified Username Field Change
2018-02-06 00:08 rjsalts New Issue
2018-02-06 23:13 zesstra Note Added: 0002451
2018-02-06 23:50 rjsalts Note Added: 0002452
2018-02-07 18:55 Gnomi Note Added: 0002453
2018-02-14 21:01 Gnomi Assigned To => Gnomi
2018-02-14 21:01 Gnomi Status new => assigned
2018-02-17 15:38 Gnomi Source_changeset_attached => ldmud.git master 7466f90d
2018-02-17 15:38 Gnomi Note Added: 0002456
2018-02-17 15:38 Gnomi Status assigned => resolved
2018-02-17 15:38 Gnomi Resolution open => fixed
2019-04-05 21:31 zesstra Fixed in Version => 3.5.2