[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

pkgsrc qmail package updated


(pkgsrc <URL:http://www.pkgsrc.org/> is the native package system on NetBSD. It also works on many other Unix-like systems: Solaris, Linux, Darwin, FreeBSD, OpenBSD, IRIX, BSD/OS, AIX, and Interix.)

I've made significant improvements to the qmail package in pkgsrc. If you're already using pkgsrc, please try the latest qmail or netqmail packages and let me know what you think. If you're not already using pkgsrc... ;-)

For the benefit of would-be users of the package, as well as the people on this list who provide excellent free help, I'll describe my work in more detail. While my primary goal was smooth integration, I strove to follow LWQ wherever it made sense.

Like LWQ, the pkgsrc qmail package:

* Installs into /var/qmail from source.
* Installs ucspi-tcp and daemontools.
* Runs qmail-smtpd and qmail-pop3d from tcpserver.
* Controls access to SMTP relaying with tcp.smtp.cdb.
* Stores the default delivery instruction in control/defaultdelivery.
* Limits incoming SMTP connections to control/concurrencyincoming.
* Requires that control/rcpthosts exist to prevent accidental open relays.
* Uses similar chains of commands in run scripts.

LWQ recommends installing everything manually for full understanding. Good advice, but as a packager I naturally chose to diverge here. The package does the following work automatically:

* Creates user accounts.
* Fetches, extracts, patches, configures, and compiles the source.
* Installs binaries.
* Runs ./config-fast.
* Creates tcp.smtp{,cdb} and tcp.pop3d{,cdb}.
* Creates control/concurrencyincoming.
* Creates control/defaultdelivery (defaulting to "./Mailbox").
* Creates the three required system aliases.

LWQ suggests doing some things that the package doesn't do:

* Applying patches (the netqmail package does, of course).
* Copying a script from /var/qmail/boot to /var/qmail/rc.
* Configuring svscan(8) to run at boot.
* Creating and/or populating /service.
* Using supervise(8) and multilog(8).
* Using the qmailctl script to control qmail.
* Using the inst_check script to verify the installation.
* Storing tcp.smtp{,cdb} in /etc.
* Renaming the system sendmail(8) and marking it non-executable.

Instead, to behave more like a typical pkgsrc package, the package:

* Provides NetBSD-style rc.d scripts, including one very similar to qmailctl.
* Sends log messages to syslog(3).
* Stores tcp.smtp{,cdb} and tcp.pop3{,cdb} in ${PKG_SYSCONFDIR}.
* Expects mailwrapper(8), and provides an example mailer.conf(5).

The package also follows hier(7) by creating symlinks in /var/qmail prior to installation. This means that commands and man pages are in expected locations, for both NetBSD and qmail users' values of "expected".

Thanks for reading this far; have a beer if you're so inclined. I'd like to avoid having this package be a source of annoyance to list members, so I'd be very glad to hear comments and suggestions.

- Amitai


This mailing list archive is a service of Copilotco.