Heirloom mailx (formerly known as "nail") is derived from Berkeley Mail and provides the functionality of the System V and POSIX mailx commands. Additional features include support for MIME, IMAP (including caching and disconnected use), POP3, SMTP, S/MIME, international character sets, maildir folders, message threading, powerful search methods, scoring, and a Bayesian junk mail filter. Mailx can be used as a mail batch language in nearly the same way as it is used interactively. It can thus act as a mailbox filter, can fetch mail from remote accounts, and can send files as attachments.
Traditional vi is derived from the 4BSD source and includes support for modern operating systems, 8-bit input, multi-byte character encodings like UTF-8, and features demanded by POSIX.2. It contains few additions beyond this, so it is of interest for those who look for a small but well-defined vi implementation close to that of most commercial Unix systems. It also has some features to cope with primitive terminals or slow connections.
The Heirloom Toolchest is a collection of standard Unix utilities. It was derived from original Unix material released as open source by Caldera and Sun, and contains multiple versions of each utility corresponding to SVID3/SVR4, SVID4/SVR4.2MP, POSIX.2-1992/SUSV2, POSIX.1-2001/SUSV3, and 4BSD (SVR4 /usr/ucb). It processes lines of arbitrary length and in many cases binary input data, supports characters in UTF-8 and many East Asian encodings, and contains more than 100 individual utilities including bc, cpio, diff, ed, file, find, grep, man, nawk, oawk, pax, ps, sed, sort, spell, and tar. Extensive documentation is included.
The Heirloom Bourne Shell is a portable variant of the traditional Unix shell. It is especially suitable for testing the portability of shell scripts and for processing legacy scripts. The Bourne shell does not provide as many features as newer Unix shells, but it does provide a stable shell language. With this in mind, it is also suitable for general script processing and interactive use. This variant of the Bourne shell has been derived from OpenSolaris code and thus provides the SVR4/SVID3 level of the shell.
The Heirloom Documentation Tools provide troff, nroff, and related utilities to format manual pages and other documents for output on terminals and printers. They are portable and enhanced versions of the respective OpenSolaris utilities, which descend from ditroff and the historical Unix troff. troff provides advanced typographical features such as kerning, tracking, and hanging characters. It can access PostScript Type 1, OpenType, and TrueType fonts directly. Internationalized hyphenation, international paper sizes, and UTF-8 input are supported.
The Heirloom Development Tools provide yacc, lex, m4, make, and SCCS as portable derivatives of the utilities released by Sun as part of OpenSolaris. The OpenSolaris utilities were in turn derived from the original Unix versions, and are assumed be conforming implementations of the POSIX standard.
dbtroff uses XSLT, Heirloom troff, and Ghostscript to convert DocBook documents to PDF or PostScript. It allows you to flexibly customize the layout of the generated output by using troff instructions, and provides automatic page element positioning to avoid typographical artifacts like “widows”. Full-width and inline pictures can be included, and are also automatically positioned. Currently, only a rather restricted subset of DocBook 4.3 is supported.
Re: not the first
> ERROR [SCCS/s.tt]: cannot execute 'bdiff' (de12)
Watch Jörg in top form, ignoring what was written in the very message he replies to.
Re: not the first
> - Linux does not have a bdiff program
> (this problem seems to be fixed _after_
> your test)
The Heirloom Toolchest companion package supplies bdiff.
> - Glibc halts a program in case that
> fclose(fp) is called more than once.
Which does not necessitate to even set local FILE * variables to NULL just before a function returns, as you did.
> - GNU getopt() is incompatible with
> the tricks used in SCCS to allow
> mixing of options and filt type
Which is why the Heirloom port supplies an OpenSolaris-derived getopt().
Jörg, don't you think you could examine the facts more closely before inventing errors to blame other projects for? Especially when it involves your well-known (http://lkml.org/lkml/2006/2/13/192) Linux expertise?
To clean up with the rumors: The Heirloom SCCS port has been working on Linux from day one. Actually it is used to maintain the source code of the Heirloom project itself. As usual with open source software, there is of course no guarantee that there are no remaining errors. Just send a bug report if you find one, and I will do my best to fix it.