D. J. Bernstein
Internet mail

Precompiled var-qmail packages

Installing a var-qmail package has five effects:

Running qmail

A var-qmail package does not set up qmail to receive and deliver mail. A user has to follow the instructions in /var/qmail/doc/fastforward/ALIASES and in /var/qmail/doc/INSTALL starting at step 9: There is an aftermarket of third-party qmail-run packages that automate this process. Here are some problems faced by the authors of qmail-run packages: Of course, these aren't problems for an operating system that includes qmail as the default MTA.

qmail-run packages can also make extra links from /usr/bin and /usr/sbin into /var/qmail/bin:

Building a var-qmail package

Here's what I do to put a var-qmail package together:
  1. Download qmail 1.03. Remove -s from conf-ld. Compile and install. Strip the binaries in /var/qmail/bin.
  2. Download, compile, and install dot-forward.
  3. Download, compile, and install fastforward.
  4. Make an empty directory for the binary package. Move there.
  5. Copy /var/qmail/{boot,doc,doc/*,bin,man/*}/*.
  6. Create an add-group script. ``add-group $group'' uses OS utilities to add $group to /etc/group.
  7. Create an add-account script. ``add-account $account $group $home'' uses OS utilities to add $account to /etc/passwd with group $group and home directory $home.
  8. Copy idedit, install-big, and config-fast from the qmail source directory.
  9. Copy BIN.Makefile from the qmail source directory to Makefile.
  10. Edit the last several lines of Makefile to handle the system's grep, hostname, and binmail.
  11. Find the byte positions of auto_uid* and auto_gid* in install-big, qmail-lspawn, qmail-queue, qmail-rspawn, qmail-showctl, and qmail-start in the qmail source directory, using nm and system-specific knowledge. List the byte positions on the idedit lines in Makefile.
  12. Copy BIN.README from the qmail source directory to README.
  13. Edit README to show the compilation environment.
  14. chmod 644 *.
  15. chmod 755 idedit install-big config-fast add-group add-account.