When viewing sbase's man pages the date displayed at the bottom is
the current date rather than the date entered in the <program>.1
file.
According to this:
https://mandoc.bsd.lv/mdoc/details/date.html
The traditional man date format used by sbase (.Dd year-month-day)
is no longer recommended and no longer supported by GNU troff or
Heirloom Docs and as a result the current date is displayed instead.
Although this format is still accepted by mandoc for backward
compatibility.
For portability it states the standard mdoc date format should be
used instead: .Dd month day, year
I applied the following patch to sbase's last commit b30fb56 and
it fixes the issue.
Printing `undefined` to stdout means that the variable is valid but not
set. Instead, report an error in this case.
linux 4.13 appends the result of `getconf LFS_CFLAGS` to HOSTCFLAGS,
even if it prints `undefined`. This is arguably a bug in the Makefile,
but even so, getconf shouldn't report that unsupported variables are
valid.
The one specified by mdoc is hard to read for non-native
speakers from countries which read the date day-first (like
Germany, Greece, North-Korea, Swamp,...).
This is also consistent with how we generally specify dates
at suckless.org.
The logic is simple, it's just a pain in the ass to fill the
data-structures.
Some lines had to be commented out, as glibc/musl apparently
have not fully implemented the mandatory variables for the
2013 corrigendum of POSIX 2008.
Also added a manpage and the necessary entries in README.
I also removed it from the TODO.