One of the things I really want to do, is to get rid of the limitations
of our current utmp(5) mechanism:
- It only allows 8 byte TTY device names.
- The hostname only allows 16 bytes of storage.
I'm not a big fan of <utmpx.h>, but I think we should at least try to
add parts of it. Unfortunately we cannot implement <utmpx.h>, because we
miss various fields, such as ut_id, ut_pid, etc. The API provided by
libulog shares some similarities with <utmpx.h>, so it shouldn't be too
hard to port these applications eventually. In most simple cases, it
should just be a matter of removing the ulog_ prefix everywhere.
As a bonus, it also implements a function called ulog_login_pseudo(),
which allows unprivileged applications to write log entries, provided
they have a valid file descriptor to a pseudo-terminal master device.
libulog will allow a smoother transition to a new file format by adding
a library interface to deal with utmp/wtmp/lastlog files. I initially
thought about adding the functionality to libutil, but because I'm not
planning on keeping this library around forever, we'd better keep it
separated.
Next items on the todo list:
1. Port applications in the base system (and ports) to libulog, instead
of letting them use <utmp.h>.
2. Remove <utmp.h>, implement <utmpx.h> and reimplement this library on
top.
3. Port as many applications as possible back to <utmpx.h>.
SIGN" instead of U+002D "HYPHEN-MINUS". This is unfortunate for two
reasons: 1) this is not the character which is actually used on the
command line, and 2) it makes it impossible to search a man page for a
specific command-line option.
This patch fixes this, but there are other unresolved issues, such as
confusion between -, \- and hy: while the latter is always (and only)
used for hyphenation, both - and \- are used for negation and
subtraction, and \- is used for command-line options and sometimes
also for parenthesis. IMHO, the correct Unicode characters are:
- hyphenation: either U+2010 or U+00AD, most likely the former (the
latter is the so-called soft hyphen, used to indicate a point at
which a text processor is allowed to hyphenate a word)
- negation and subtraction: U+2212
- parenthesis: in English, U+2214, with spaces suppressed before and
after; in some others (such as Norwegian), U+2213 with spaces
retained.
- command-line options: U+002D, because that is what is actually used
on the command line.
However, fixing this would require extensive modifications to (at least)
the doc and man macro sets...
MFC after: 1 week
following changes:
: 2007-10-02 Ruslan Ermilov <ru@FreeBSD.org>
:
: * tmac/doc-common, tmac/groff_doc.man: Add FreeBSD 6.2, document
: FreeBSD 5.5 and 7.0.
:
: * tmac/doc-syms: Give better names for System V releases.
: 2007-05-30 Werner LEMBERG <wl@gnu.org>
:
: * tmac/groff_mdoc.man: Convert `-' to `\-' where appropriate.
: Recommend `tbl' instead of `-column' lists for more complicated
: cases.
- New Darwin, FreeBSD, and NetBSD versions.
- DragonFly support including the new .Dx macro.
- New .St strings: -isoC-amd1, -isoC-tcor1, -isoC-tcor2, and -ieee1275-94.
: 2004-06-10 Colin Percival <colin.percival@wadham.ox.ac.uk>
: * doc/meintro.me, doc/meref.me: Don't use \*[td], \n[dy], \*[mo],
: and \n[mo] to avoid dependency on current date.
- If no .Os call is made, don't print the OS info at all.
- Allow for multiple .Lb calls in the LIBRARY section.
- Improved documentation on punctuation characters.
.Pp
.Bd -literal
...
fragment resulted in two vertical spaces. From ChangeLog:
2003-07-04 Ruslan Ermilov <ru@FreeBSD.org>
* tmac/doc.tmac (Bd): Change to doc-Li-font later.
2003-07-01 Ruslan Ermilov <ru@FreeBSD.org>
* tmac/doc.tmac (doc-do-func, doc-do-func-args): Don't print a comma
after `/*' and `*/'.
Fix spacing.
(Fn, Fo): Reduce indentation in synopsis.
* tmac/doc-common (doc-check-depth): New macro.
(doc-end-macro, Sh, Ss): Use it.
(Cd): Fix behaviour in synopsis.
(In): Make it parsed and callable.
If not in the synopsis, represent the C header file enclosed in
angle brackets.
(doc-str-Rv-std-suffix, doc-str-Rv-stds-suffix, doc-str-Rv-std0):
Use minus, not hyphen.