Update to 1.03nb29. pkgsrc changes:
Remove unneeded options:
- Unconditionally apply netqmail (which includes a local patch; remove it)
- Unconditionally apply bigdns, maildiruniq, outgoingip, rcptcheck, remote
- Unconditionally apply the TLS + SMTP AUTH _patch_ (not the options)
- Record all applied patches (mandatory and optional) in QMAILPATCHES
- Remove badrcptto, qregex, realrcptto, viruscan (moved to rejectutils)
Simplify packaging:
- Extract a standalone patch <https://schmonz.com/qmail/rejectutils> to
repackage the mutually conflicting recipient- and content-checking
patches as separate programs, along with wrappers for running checks
in sequence
- Extract a standalone patch <https://schmonz.com/qmail/destdir> to
build to a staging area, as non-root, without hardcoded IDs
- Run the destdir patch's `install-destdir` to make or repair the queue
and set special file permissions, obviating the need for a dependency
on mail/queue-fix and handcrafted SPECIAL_PERMS
- While here, run `instcheck` to ensure we've installed just like `make
setup check` as root would have
- Install INSTALL and SENDMAIL docs under their original names,
even on Darwin
- Avoid building catpages, since we don't install them, and remove nroff
from USE_TOOLS
Default-enable more useful options:
- "eai" (new) permits UTF-8 almost everywhere in email
- "qmail-rejectutils" (new) adds several tools for selectively
rejecting messages
- "syncdir" forces synchronous link() and related syscalls
- "tls" and "sasl", instead of causing patch conflicts, cause the TLS
and SMTP AUTH code to be included (!)
2017-07-21 06:07:01 +02:00
|
|
|
# $NetBSD: INSTALL,v 1.9 2017/07/21 04:07:01 schmonz Exp $
|
Short story:
1) Mostly conform to hier(7) and honor PKG_SYSCONFDIR.
2) Follow more closely Dave Sill's "Life with qmail" (LWQ).
3) Add a bunch of features to the rc.d scripts.
4) Remove some (but not all) obstacles to binary packaging.
5) Introduce QMAIL_AUTOCONFIG, QMAIL_QUEUE_DIR, and QMAIL_QUEUE_EXTRA.
6) Enable pkgviews installation.
7) Bump PKGREVISION.
Long story:
1) Mostly conform to hier(7) and honor PKG_SYSCONFDIR.
Based on a January 1997 post by mrg to the qmail list: prior
to installation, we create symlinks in ${QMAILDIR} that point
into ${LOCALBASE} or ${PKG_SYSCONFDIR}, causing installation
to place files in those locations while allowing the canonical
/var/qmail paths to continue to work. The notable deviation
from hier(7) is that even though some binaries ought to go in
sbin, they've all been lumped into bin for simplicity.
Pleasant effects:
* We no longer need to set LOCALBASE (a big no-no), and as a
result also no longer need to set NO_MTREE, RCD_SCRIPTS_EXAMPLEDIR,
or EVAL_PREFIX. This will also allow a few qmail-related
packages to do likewise.
* The commands and manual pages are in easily accessible paths
by default.
* Package installation and deinstallation work much better.
Side effects:
* There were a few minor conflicts with mail/courier-maildirmake,
mail/mutt, and mail/pulsar. The latest versions of each are
fine, so we add CONFLICTS only for older versions. (Thanks
to those packages' maintainers!) There's also a conflict
with security/mirrordir, which has a "bin/forward" command
and corresponding section 1 man page.
* Some directories under ${PREFIX} get chown'd to group qmail.
Rather than modify the qmail installer, the affected
directories are simply chown'd back afterward during
post-install if PKG_INSTALLATION_TYPE is "overwrite". (If
it's "pkgviews", then only the package's depot directory is
affected, so we leave it alone.)
2) Follow more closely Dave Sill's "Life with qmail" (LWQ).
Similarities:
* Installs into /var/qmail from source.
* Installs ucspi-tcp and daemontools.
* Uses tcpserver(1).
* Uses tcp.smtp.cdb for relay access control.
* Uses control/defaultdelivery.
* Uses control/concurrencyincoming.
* Requires that control/rcpthosts exist to prevent open relays.
* Uses similar chains of commands in run scripts.
* Provides a script much like qmailctl.
Differences:
* This package does the following work for you 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 this package doesn't do:
* Applying patches.
* Copying a script from /var/qmail/boot to /var/qmail/rc.
* Configuring svscan(8) to run at boot.
* Creating and 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, this package:
* Builds from unmodified source. (See also mail/netqmail.)
* Uses NetBSD-style rc.d scripts (including one similar to qmailctl).
* Sends log messages to syslog(3).
* Stores tcp.smtp{,cdb} and tcp.pop3{,cdb} in ${PKG_SYSCONFDIR}.
* Provides an example mailer.conf(5).
3) Add a bunch of features to the rc.d scripts.
Rename the qmail script and rcvar to qmailsend. Add "doqueue"
(synonyms: alrm, flush) and "queue" commands, add "hup" as a
synonym for "reload", and determine default delivery instruction
from control/defaultdelivery (LWQ). Add control/defaultdelivery
to required_files. Rename qmailsend_flags to
qmailsend_defaultdelivery, which overrides control/defaultdelivery
if set.
In the qmailpop3d and qmailsmtpd scripts, enforce resource
limits with softlimit(8) (LWQ). Add dependency on sysutils/daemontools
for this. Rename qmailfoo_flags to qmailfoo_tcpflags. Add
qmailfoo_tcphost (default: 0, meaning "any address") and
qmailfoo_tcpport (default: 110 and 25, respectively). Add
qmailfoo_softlimit (default: 2000000). Add qmailfoo_pretcpserver
and qmailfoo_prefoo (default: empty), useful for inserting
commands such as rblsmtpd(1) or relay-ctrl into the chain.
Log to splogger's default syslog facility ("mail"), and use
the name of the script as the tag.
In the qmailpop3d, qmailsend, and qmailsmtpd scripts, add
qmailfoo_postenv (defaults: empty, PATH=${PREFIX}/bin:$PATH,
and QMAILQUEUE=${PREFIX}/bin/qmail-queue, respectively), useful
primarily for setting environment variables for each service.
Add "pause" and "cont" commands (LWQ). They send -STOP and
-CONT signals, respectively. Add "stat" as a synonym for
"status" (LWQ).
In the qmailpop3d script, add -x to qmailpop3d_tcpflags and
add "cdb" command. Add qmailpop3d_checkpassword (useful for
authenticating against alternate user databases) and
qmailpop3d_maildirname (useful if your maildirs are named
something other than "Maildir"). Add tcp.pop3.cdb to
required_files.
In the qmailsmtpd script, add -x and remove -H from
qmailsmtpd_tcpflags, limit the number of incoming connections
to control/concurrencyincoming, and add "cdb" command (LWQ).
Add control/concurrencyincoming and tcp.smtp.cdb to required_files.
Add qmailqread script and ${PREFIX}/bin/qmail-qread-client,
based on Steinar Haug's example on www.qmail.org. If enabled,
this allows local non-root users to see the queue.
Add qmail script (structure copied from net/samba/files/samba.sh).
Its interface is very similar to LWQ's qmailctl: it provides
the commands "start stop restart rcvar pause cont stat status
cdb doqueue reload queue alrm flush hup help". These commands
can be run either directly from the appropriate service-specific
script(s), or from this qmail script (which will call the
right script(s) for you).
4) Remove some (but not all) obstacles to binary packaging.
Each of these is better explained elsewhere. Summary:
* Installs into the normal ${LOCALBASE}.
* /var/qmail paths still work.
* No patches are applied. (See also mail/netqmail.)
5) Introduce QMAIL_AUTOCONFIG, QMAIL_QUEUE_DIR, and QMAIL_QUEUE_EXTRA.
QMAIL_AUTOCONFIG (default: YES): whether to automatically
create basic config files.
QMAIL_QUEUE_DIR (default: ${VARBASE}/spool/qmail): the path
to the queue.
QMAIL_QUEUE_EXTRA (default: empty): an additional recipient
that will be added to every delivery. This is used primarily
for logging. If this is set to a non-empty value, the necessary
dot-qmail(5) file is created automatically at install time.
6) Enable pkgviews installation.
7) Bump PKGREVISION.
Other user-visible changes:
This package no longer applies patches to qmail. mail/netqmail,
to be imported shortly, does.
Restrictions on the redistribution of modified qmail apply
not only to binaries but also to source. Clarify this in
RESTRICTED.
Add "newaliases", "hoststat", and "purgestat" entries to the
sample mailer.conf. Install it to ${PREFIX}/share/examples/${PKGBASE},
as other pkgsrc mailers do. ("newaliases" is actually provided
by the fastforward package, and isn't needed unless you're
using it.)
Explain how to enable qmail in MESSAGE (cribbed from the
postfix package).
Thanks to zuntum, snj, salo, and jlam for ideas, discussion, and review.
2004-07-22 00:35:59 +02:00
|
|
|
|
|
|
|
DOCDIR=@DOCDIR@
|
|
|
|
EGDIR=@EGDIR@
|
2014-05-30 23:35:04 +02:00
|
|
|
OPENSSL=@OPENSSL@
|
2011-06-07 04:53:42 +02:00
|
|
|
PKGMANDIR=@PKGMANDIR@
|
Short story:
1) Mostly conform to hier(7) and honor PKG_SYSCONFDIR.
2) Follow more closely Dave Sill's "Life with qmail" (LWQ).
3) Add a bunch of features to the rc.d scripts.
4) Remove some (but not all) obstacles to binary packaging.
5) Introduce QMAIL_AUTOCONFIG, QMAIL_QUEUE_DIR, and QMAIL_QUEUE_EXTRA.
6) Enable pkgviews installation.
7) Bump PKGREVISION.
Long story:
1) Mostly conform to hier(7) and honor PKG_SYSCONFDIR.
Based on a January 1997 post by mrg to the qmail list: prior
to installation, we create symlinks in ${QMAILDIR} that point
into ${LOCALBASE} or ${PKG_SYSCONFDIR}, causing installation
to place files in those locations while allowing the canonical
/var/qmail paths to continue to work. The notable deviation
from hier(7) is that even though some binaries ought to go in
sbin, they've all been lumped into bin for simplicity.
Pleasant effects:
* We no longer need to set LOCALBASE (a big no-no), and as a
result also no longer need to set NO_MTREE, RCD_SCRIPTS_EXAMPLEDIR,
or EVAL_PREFIX. This will also allow a few qmail-related
packages to do likewise.
* The commands and manual pages are in easily accessible paths
by default.
* Package installation and deinstallation work much better.
Side effects:
* There were a few minor conflicts with mail/courier-maildirmake,
mail/mutt, and mail/pulsar. The latest versions of each are
fine, so we add CONFLICTS only for older versions. (Thanks
to those packages' maintainers!) There's also a conflict
with security/mirrordir, which has a "bin/forward" command
and corresponding section 1 man page.
* Some directories under ${PREFIX} get chown'd to group qmail.
Rather than modify the qmail installer, the affected
directories are simply chown'd back afterward during
post-install if PKG_INSTALLATION_TYPE is "overwrite". (If
it's "pkgviews", then only the package's depot directory is
affected, so we leave it alone.)
2) Follow more closely Dave Sill's "Life with qmail" (LWQ).
Similarities:
* Installs into /var/qmail from source.
* Installs ucspi-tcp and daemontools.
* Uses tcpserver(1).
* Uses tcp.smtp.cdb for relay access control.
* Uses control/defaultdelivery.
* Uses control/concurrencyincoming.
* Requires that control/rcpthosts exist to prevent open relays.
* Uses similar chains of commands in run scripts.
* Provides a script much like qmailctl.
Differences:
* This package does the following work for you 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 this package doesn't do:
* Applying patches.
* Copying a script from /var/qmail/boot to /var/qmail/rc.
* Configuring svscan(8) to run at boot.
* Creating and 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, this package:
* Builds from unmodified source. (See also mail/netqmail.)
* Uses NetBSD-style rc.d scripts (including one similar to qmailctl).
* Sends log messages to syslog(3).
* Stores tcp.smtp{,cdb} and tcp.pop3{,cdb} in ${PKG_SYSCONFDIR}.
* Provides an example mailer.conf(5).
3) Add a bunch of features to the rc.d scripts.
Rename the qmail script and rcvar to qmailsend. Add "doqueue"
(synonyms: alrm, flush) and "queue" commands, add "hup" as a
synonym for "reload", and determine default delivery instruction
from control/defaultdelivery (LWQ). Add control/defaultdelivery
to required_files. Rename qmailsend_flags to
qmailsend_defaultdelivery, which overrides control/defaultdelivery
if set.
In the qmailpop3d and qmailsmtpd scripts, enforce resource
limits with softlimit(8) (LWQ). Add dependency on sysutils/daemontools
for this. Rename qmailfoo_flags to qmailfoo_tcpflags. Add
qmailfoo_tcphost (default: 0, meaning "any address") and
qmailfoo_tcpport (default: 110 and 25, respectively). Add
qmailfoo_softlimit (default: 2000000). Add qmailfoo_pretcpserver
and qmailfoo_prefoo (default: empty), useful for inserting
commands such as rblsmtpd(1) or relay-ctrl into the chain.
Log to splogger's default syslog facility ("mail"), and use
the name of the script as the tag.
In the qmailpop3d, qmailsend, and qmailsmtpd scripts, add
qmailfoo_postenv (defaults: empty, PATH=${PREFIX}/bin:$PATH,
and QMAILQUEUE=${PREFIX}/bin/qmail-queue, respectively), useful
primarily for setting environment variables for each service.
Add "pause" and "cont" commands (LWQ). They send -STOP and
-CONT signals, respectively. Add "stat" as a synonym for
"status" (LWQ).
In the qmailpop3d script, add -x to qmailpop3d_tcpflags and
add "cdb" command. Add qmailpop3d_checkpassword (useful for
authenticating against alternate user databases) and
qmailpop3d_maildirname (useful if your maildirs are named
something other than "Maildir"). Add tcp.pop3.cdb to
required_files.
In the qmailsmtpd script, add -x and remove -H from
qmailsmtpd_tcpflags, limit the number of incoming connections
to control/concurrencyincoming, and add "cdb" command (LWQ).
Add control/concurrencyincoming and tcp.smtp.cdb to required_files.
Add qmailqread script and ${PREFIX}/bin/qmail-qread-client,
based on Steinar Haug's example on www.qmail.org. If enabled,
this allows local non-root users to see the queue.
Add qmail script (structure copied from net/samba/files/samba.sh).
Its interface is very similar to LWQ's qmailctl: it provides
the commands "start stop restart rcvar pause cont stat status
cdb doqueue reload queue alrm flush hup help". These commands
can be run either directly from the appropriate service-specific
script(s), or from this qmail script (which will call the
right script(s) for you).
4) Remove some (but not all) obstacles to binary packaging.
Each of these is better explained elsewhere. Summary:
* Installs into the normal ${LOCALBASE}.
* /var/qmail paths still work.
* No patches are applied. (See also mail/netqmail.)
5) Introduce QMAIL_AUTOCONFIG, QMAIL_QUEUE_DIR, and QMAIL_QUEUE_EXTRA.
QMAIL_AUTOCONFIG (default: YES): whether to automatically
create basic config files.
QMAIL_QUEUE_DIR (default: ${VARBASE}/spool/qmail): the path
to the queue.
QMAIL_QUEUE_EXTRA (default: empty): an additional recipient
that will be added to every delivery. This is used primarily
for logging. If this is set to a non-empty value, the necessary
dot-qmail(5) file is created automatically at install time.
6) Enable pkgviews installation.
7) Bump PKGREVISION.
Other user-visible changes:
This package no longer applies patches to qmail. mail/netqmail,
to be imported shortly, does.
Restrictions on the redistribution of modified qmail apply
not only to binaries but also to source. Clarify this in
RESTRICTED.
Add "newaliases", "hoststat", and "purgestat" entries to the
sample mailer.conf. Install it to ${PREFIX}/share/examples/${PKGBASE},
as other pkgsrc mailers do. ("newaliases" is actually provided
by the fastforward package, and isn't needed unless you're
using it.)
Explain how to enable qmail in MESSAGE (cribbed from the
postfix package).
Thanks to zuntum, snj, salo, and jlam for ideas, discussion, and review.
2004-07-22 00:35:59 +02:00
|
|
|
QMAILDIR=@QMAILDIR@
|
2017-04-27 22:35:10 +02:00
|
|
|
QMAIL_DAEMON_USER=@QMAIL_DAEMON_USER@
|
|
|
|
QMAIL_QMAIL_GROUP=@QMAIL_QMAIL_GROUP@
|
Short story:
1) Mostly conform to hier(7) and honor PKG_SYSCONFDIR.
2) Follow more closely Dave Sill's "Life with qmail" (LWQ).
3) Add a bunch of features to the rc.d scripts.
4) Remove some (but not all) obstacles to binary packaging.
5) Introduce QMAIL_AUTOCONFIG, QMAIL_QUEUE_DIR, and QMAIL_QUEUE_EXTRA.
6) Enable pkgviews installation.
7) Bump PKGREVISION.
Long story:
1) Mostly conform to hier(7) and honor PKG_SYSCONFDIR.
Based on a January 1997 post by mrg to the qmail list: prior
to installation, we create symlinks in ${QMAILDIR} that point
into ${LOCALBASE} or ${PKG_SYSCONFDIR}, causing installation
to place files in those locations while allowing the canonical
/var/qmail paths to continue to work. The notable deviation
from hier(7) is that even though some binaries ought to go in
sbin, they've all been lumped into bin for simplicity.
Pleasant effects:
* We no longer need to set LOCALBASE (a big no-no), and as a
result also no longer need to set NO_MTREE, RCD_SCRIPTS_EXAMPLEDIR,
or EVAL_PREFIX. This will also allow a few qmail-related
packages to do likewise.
* The commands and manual pages are in easily accessible paths
by default.
* Package installation and deinstallation work much better.
Side effects:
* There were a few minor conflicts with mail/courier-maildirmake,
mail/mutt, and mail/pulsar. The latest versions of each are
fine, so we add CONFLICTS only for older versions. (Thanks
to those packages' maintainers!) There's also a conflict
with security/mirrordir, which has a "bin/forward" command
and corresponding section 1 man page.
* Some directories under ${PREFIX} get chown'd to group qmail.
Rather than modify the qmail installer, the affected
directories are simply chown'd back afterward during
post-install if PKG_INSTALLATION_TYPE is "overwrite". (If
it's "pkgviews", then only the package's depot directory is
affected, so we leave it alone.)
2) Follow more closely Dave Sill's "Life with qmail" (LWQ).
Similarities:
* Installs into /var/qmail from source.
* Installs ucspi-tcp and daemontools.
* Uses tcpserver(1).
* Uses tcp.smtp.cdb for relay access control.
* Uses control/defaultdelivery.
* Uses control/concurrencyincoming.
* Requires that control/rcpthosts exist to prevent open relays.
* Uses similar chains of commands in run scripts.
* Provides a script much like qmailctl.
Differences:
* This package does the following work for you 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 this package doesn't do:
* Applying patches.
* Copying a script from /var/qmail/boot to /var/qmail/rc.
* Configuring svscan(8) to run at boot.
* Creating and 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, this package:
* Builds from unmodified source. (See also mail/netqmail.)
* Uses NetBSD-style rc.d scripts (including one similar to qmailctl).
* Sends log messages to syslog(3).
* Stores tcp.smtp{,cdb} and tcp.pop3{,cdb} in ${PKG_SYSCONFDIR}.
* Provides an example mailer.conf(5).
3) Add a bunch of features to the rc.d scripts.
Rename the qmail script and rcvar to qmailsend. Add "doqueue"
(synonyms: alrm, flush) and "queue" commands, add "hup" as a
synonym for "reload", and determine default delivery instruction
from control/defaultdelivery (LWQ). Add control/defaultdelivery
to required_files. Rename qmailsend_flags to
qmailsend_defaultdelivery, which overrides control/defaultdelivery
if set.
In the qmailpop3d and qmailsmtpd scripts, enforce resource
limits with softlimit(8) (LWQ). Add dependency on sysutils/daemontools
for this. Rename qmailfoo_flags to qmailfoo_tcpflags. Add
qmailfoo_tcphost (default: 0, meaning "any address") and
qmailfoo_tcpport (default: 110 and 25, respectively). Add
qmailfoo_softlimit (default: 2000000). Add qmailfoo_pretcpserver
and qmailfoo_prefoo (default: empty), useful for inserting
commands such as rblsmtpd(1) or relay-ctrl into the chain.
Log to splogger's default syslog facility ("mail"), and use
the name of the script as the tag.
In the qmailpop3d, qmailsend, and qmailsmtpd scripts, add
qmailfoo_postenv (defaults: empty, PATH=${PREFIX}/bin:$PATH,
and QMAILQUEUE=${PREFIX}/bin/qmail-queue, respectively), useful
primarily for setting environment variables for each service.
Add "pause" and "cont" commands (LWQ). They send -STOP and
-CONT signals, respectively. Add "stat" as a synonym for
"status" (LWQ).
In the qmailpop3d script, add -x to qmailpop3d_tcpflags and
add "cdb" command. Add qmailpop3d_checkpassword (useful for
authenticating against alternate user databases) and
qmailpop3d_maildirname (useful if your maildirs are named
something other than "Maildir"). Add tcp.pop3.cdb to
required_files.
In the qmailsmtpd script, add -x and remove -H from
qmailsmtpd_tcpflags, limit the number of incoming connections
to control/concurrencyincoming, and add "cdb" command (LWQ).
Add control/concurrencyincoming and tcp.smtp.cdb to required_files.
Add qmailqread script and ${PREFIX}/bin/qmail-qread-client,
based on Steinar Haug's example on www.qmail.org. If enabled,
this allows local non-root users to see the queue.
Add qmail script (structure copied from net/samba/files/samba.sh).
Its interface is very similar to LWQ's qmailctl: it provides
the commands "start stop restart rcvar pause cont stat status
cdb doqueue reload queue alrm flush hup help". These commands
can be run either directly from the appropriate service-specific
script(s), or from this qmail script (which will call the
right script(s) for you).
4) Remove some (but not all) obstacles to binary packaging.
Each of these is better explained elsewhere. Summary:
* Installs into the normal ${LOCALBASE}.
* /var/qmail paths still work.
* No patches are applied. (See also mail/netqmail.)
5) Introduce QMAIL_AUTOCONFIG, QMAIL_QUEUE_DIR, and QMAIL_QUEUE_EXTRA.
QMAIL_AUTOCONFIG (default: YES): whether to automatically
create basic config files.
QMAIL_QUEUE_DIR (default: ${VARBASE}/spool/qmail): the path
to the queue.
QMAIL_QUEUE_EXTRA (default: empty): an additional recipient
that will be added to every delivery. This is used primarily
for logging. If this is set to a non-empty value, the necessary
dot-qmail(5) file is created automatically at install time.
6) Enable pkgviews installation.
7) Bump PKGREVISION.
Other user-visible changes:
This package no longer applies patches to qmail. mail/netqmail,
to be imported shortly, does.
Restrictions on the redistribution of modified qmail apply
not only to binaries but also to source. Clarify this in
RESTRICTED.
Add "newaliases", "hoststat", and "purgestat" entries to the
sample mailer.conf. Install it to ${PREFIX}/share/examples/${PKGBASE},
as other pkgsrc mailers do. ("newaliases" is actually provided
by the fastforward package, and isn't needed unless you're
using it.)
Explain how to enable qmail in MESSAGE (cribbed from the
postfix package).
Thanks to zuntum, snj, salo, and jlam for ideas, discussion, and review.
2004-07-22 00:35:59 +02:00
|
|
|
QMAIL_QUEUE_DIR=@QMAIL_QUEUE_DIR@
|
|
|
|
QMAIL_QUEUE_EXTRA=@QMAIL_QUEUE_EXTRA@
|
|
|
|
|
|
|
|
VAR_QMAIL_DIRS="alias bin boot control doc man queue users"
|
|
|
|
|
|
|
|
case ${STAGE} in
|
|
|
|
|
|
|
|
PRE-INSTALL)
|
|
|
|
for dir in $VAR_QMAIL_DIRS; do
|
|
|
|
if [ -e ${QMAILDIR}/$dir ]; then
|
|
|
|
${CAT} <<EOF
|
|
|
|
===========================================================================
|
|
|
|
|
|
|
|
ERROR: ${QMAILDIR} exists and is non-empty.
|
|
|
|
|
|
|
|
Please remove or rename it, then try again.
|
|
|
|
|
|
|
|
===========================================================================
|
|
|
|
EOF
|
|
|
|
exit 1
|
|
|
|
fi
|
|
|
|
done
|
|
|
|
|
|
|
|
if ${ECHO} ${QMAIL_QUEUE_DIR} | ${GREP} -q "^${QMAILDIR}/"; then
|
|
|
|
${CAT} <<EOF
|
|
|
|
===========================================================================
|
|
|
|
|
|
|
|
ERROR: QMAIL_QUEUE_DIR must not be under ${QMAILDIR}.
|
|
|
|
|
|
|
|
Please adjust your definition of QMAIL_QUEUE_DIR, then try again.
|
|
|
|
|
|
|
|
===========================================================================
|
|
|
|
EOF
|
|
|
|
exit 1
|
|
|
|
fi
|
|
|
|
|
2011-06-07 04:53:42 +02:00
|
|
|
# keep in sync with Makefile:pre-install
|
Short story:
1) Mostly conform to hier(7) and honor PKG_SYSCONFDIR.
2) Follow more closely Dave Sill's "Life with qmail" (LWQ).
3) Add a bunch of features to the rc.d scripts.
4) Remove some (but not all) obstacles to binary packaging.
5) Introduce QMAIL_AUTOCONFIG, QMAIL_QUEUE_DIR, and QMAIL_QUEUE_EXTRA.
6) Enable pkgviews installation.
7) Bump PKGREVISION.
Long story:
1) Mostly conform to hier(7) and honor PKG_SYSCONFDIR.
Based on a January 1997 post by mrg to the qmail list: prior
to installation, we create symlinks in ${QMAILDIR} that point
into ${LOCALBASE} or ${PKG_SYSCONFDIR}, causing installation
to place files in those locations while allowing the canonical
/var/qmail paths to continue to work. The notable deviation
from hier(7) is that even though some binaries ought to go in
sbin, they've all been lumped into bin for simplicity.
Pleasant effects:
* We no longer need to set LOCALBASE (a big no-no), and as a
result also no longer need to set NO_MTREE, RCD_SCRIPTS_EXAMPLEDIR,
or EVAL_PREFIX. This will also allow a few qmail-related
packages to do likewise.
* The commands and manual pages are in easily accessible paths
by default.
* Package installation and deinstallation work much better.
Side effects:
* There were a few minor conflicts with mail/courier-maildirmake,
mail/mutt, and mail/pulsar. The latest versions of each are
fine, so we add CONFLICTS only for older versions. (Thanks
to those packages' maintainers!) There's also a conflict
with security/mirrordir, which has a "bin/forward" command
and corresponding section 1 man page.
* Some directories under ${PREFIX} get chown'd to group qmail.
Rather than modify the qmail installer, the affected
directories are simply chown'd back afterward during
post-install if PKG_INSTALLATION_TYPE is "overwrite". (If
it's "pkgviews", then only the package's depot directory is
affected, so we leave it alone.)
2) Follow more closely Dave Sill's "Life with qmail" (LWQ).
Similarities:
* Installs into /var/qmail from source.
* Installs ucspi-tcp and daemontools.
* Uses tcpserver(1).
* Uses tcp.smtp.cdb for relay access control.
* Uses control/defaultdelivery.
* Uses control/concurrencyincoming.
* Requires that control/rcpthosts exist to prevent open relays.
* Uses similar chains of commands in run scripts.
* Provides a script much like qmailctl.
Differences:
* This package does the following work for you 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 this package doesn't do:
* Applying patches.
* Copying a script from /var/qmail/boot to /var/qmail/rc.
* Configuring svscan(8) to run at boot.
* Creating and 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, this package:
* Builds from unmodified source. (See also mail/netqmail.)
* Uses NetBSD-style rc.d scripts (including one similar to qmailctl).
* Sends log messages to syslog(3).
* Stores tcp.smtp{,cdb} and tcp.pop3{,cdb} in ${PKG_SYSCONFDIR}.
* Provides an example mailer.conf(5).
3) Add a bunch of features to the rc.d scripts.
Rename the qmail script and rcvar to qmailsend. Add "doqueue"
(synonyms: alrm, flush) and "queue" commands, add "hup" as a
synonym for "reload", and determine default delivery instruction
from control/defaultdelivery (LWQ). Add control/defaultdelivery
to required_files. Rename qmailsend_flags to
qmailsend_defaultdelivery, which overrides control/defaultdelivery
if set.
In the qmailpop3d and qmailsmtpd scripts, enforce resource
limits with softlimit(8) (LWQ). Add dependency on sysutils/daemontools
for this. Rename qmailfoo_flags to qmailfoo_tcpflags. Add
qmailfoo_tcphost (default: 0, meaning "any address") and
qmailfoo_tcpport (default: 110 and 25, respectively). Add
qmailfoo_softlimit (default: 2000000). Add qmailfoo_pretcpserver
and qmailfoo_prefoo (default: empty), useful for inserting
commands such as rblsmtpd(1) or relay-ctrl into the chain.
Log to splogger's default syslog facility ("mail"), and use
the name of the script as the tag.
In the qmailpop3d, qmailsend, and qmailsmtpd scripts, add
qmailfoo_postenv (defaults: empty, PATH=${PREFIX}/bin:$PATH,
and QMAILQUEUE=${PREFIX}/bin/qmail-queue, respectively), useful
primarily for setting environment variables for each service.
Add "pause" and "cont" commands (LWQ). They send -STOP and
-CONT signals, respectively. Add "stat" as a synonym for
"status" (LWQ).
In the qmailpop3d script, add -x to qmailpop3d_tcpflags and
add "cdb" command. Add qmailpop3d_checkpassword (useful for
authenticating against alternate user databases) and
qmailpop3d_maildirname (useful if your maildirs are named
something other than "Maildir"). Add tcp.pop3.cdb to
required_files.
In the qmailsmtpd script, add -x and remove -H from
qmailsmtpd_tcpflags, limit the number of incoming connections
to control/concurrencyincoming, and add "cdb" command (LWQ).
Add control/concurrencyincoming and tcp.smtp.cdb to required_files.
Add qmailqread script and ${PREFIX}/bin/qmail-qread-client,
based on Steinar Haug's example on www.qmail.org. If enabled,
this allows local non-root users to see the queue.
Add qmail script (structure copied from net/samba/files/samba.sh).
Its interface is very similar to LWQ's qmailctl: it provides
the commands "start stop restart rcvar pause cont stat status
cdb doqueue reload queue alrm flush hup help". These commands
can be run either directly from the appropriate service-specific
script(s), or from this qmail script (which will call the
right script(s) for you).
4) Remove some (but not all) obstacles to binary packaging.
Each of these is better explained elsewhere. Summary:
* Installs into the normal ${LOCALBASE}.
* /var/qmail paths still work.
* No patches are applied. (See also mail/netqmail.)
5) Introduce QMAIL_AUTOCONFIG, QMAIL_QUEUE_DIR, and QMAIL_QUEUE_EXTRA.
QMAIL_AUTOCONFIG (default: YES): whether to automatically
create basic config files.
QMAIL_QUEUE_DIR (default: ${VARBASE}/spool/qmail): the path
to the queue.
QMAIL_QUEUE_EXTRA (default: empty): an additional recipient
that will be added to every delivery. This is used primarily
for logging. If this is set to a non-empty value, the necessary
dot-qmail(5) file is created automatically at install time.
6) Enable pkgviews installation.
7) Bump PKGREVISION.
Other user-visible changes:
This package no longer applies patches to qmail. mail/netqmail,
to be imported shortly, does.
Restrictions on the redistribution of modified qmail apply
not only to binaries but also to source. Clarify this in
RESTRICTED.
Add "newaliases", "hoststat", and "purgestat" entries to the
sample mailer.conf. Install it to ${PREFIX}/share/examples/${PKGBASE},
as other pkgsrc mailers do. ("newaliases" is actually provided
by the fastforward package, and isn't needed unless you're
using it.)
Explain how to enable qmail in MESSAGE (cribbed from the
postfix package).
Thanks to zuntum, snj, salo, and jlam for ideas, discussion, and review.
2004-07-22 00:35:59 +02:00
|
|
|
${LN} -s ${PKG_SYSCONFDIR}/alias ${QMAILDIR}/alias
|
|
|
|
${LN} -s ${PREFIX}/bin ${QMAILDIR}/bin
|
|
|
|
${LN} -s ${EGDIR}/boot ${QMAILDIR}/boot
|
|
|
|
${LN} -s ${PKG_SYSCONFDIR}/control ${QMAILDIR}/control
|
|
|
|
${LN} -s ${DOCDIR} ${QMAILDIR}/doc
|
2011-06-07 04:53:42 +02:00
|
|
|
${LN} -s ${PREFIX}/${PKGMANDIR} ${QMAILDIR}/man
|
Short story:
1) Mostly conform to hier(7) and honor PKG_SYSCONFDIR.
2) Follow more closely Dave Sill's "Life with qmail" (LWQ).
3) Add a bunch of features to the rc.d scripts.
4) Remove some (but not all) obstacles to binary packaging.
5) Introduce QMAIL_AUTOCONFIG, QMAIL_QUEUE_DIR, and QMAIL_QUEUE_EXTRA.
6) Enable pkgviews installation.
7) Bump PKGREVISION.
Long story:
1) Mostly conform to hier(7) and honor PKG_SYSCONFDIR.
Based on a January 1997 post by mrg to the qmail list: prior
to installation, we create symlinks in ${QMAILDIR} that point
into ${LOCALBASE} or ${PKG_SYSCONFDIR}, causing installation
to place files in those locations while allowing the canonical
/var/qmail paths to continue to work. The notable deviation
from hier(7) is that even though some binaries ought to go in
sbin, they've all been lumped into bin for simplicity.
Pleasant effects:
* We no longer need to set LOCALBASE (a big no-no), and as a
result also no longer need to set NO_MTREE, RCD_SCRIPTS_EXAMPLEDIR,
or EVAL_PREFIX. This will also allow a few qmail-related
packages to do likewise.
* The commands and manual pages are in easily accessible paths
by default.
* Package installation and deinstallation work much better.
Side effects:
* There were a few minor conflicts with mail/courier-maildirmake,
mail/mutt, and mail/pulsar. The latest versions of each are
fine, so we add CONFLICTS only for older versions. (Thanks
to those packages' maintainers!) There's also a conflict
with security/mirrordir, which has a "bin/forward" command
and corresponding section 1 man page.
* Some directories under ${PREFIX} get chown'd to group qmail.
Rather than modify the qmail installer, the affected
directories are simply chown'd back afterward during
post-install if PKG_INSTALLATION_TYPE is "overwrite". (If
it's "pkgviews", then only the package's depot directory is
affected, so we leave it alone.)
2) Follow more closely Dave Sill's "Life with qmail" (LWQ).
Similarities:
* Installs into /var/qmail from source.
* Installs ucspi-tcp and daemontools.
* Uses tcpserver(1).
* Uses tcp.smtp.cdb for relay access control.
* Uses control/defaultdelivery.
* Uses control/concurrencyincoming.
* Requires that control/rcpthosts exist to prevent open relays.
* Uses similar chains of commands in run scripts.
* Provides a script much like qmailctl.
Differences:
* This package does the following work for you 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 this package doesn't do:
* Applying patches.
* Copying a script from /var/qmail/boot to /var/qmail/rc.
* Configuring svscan(8) to run at boot.
* Creating and 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, this package:
* Builds from unmodified source. (See also mail/netqmail.)
* Uses NetBSD-style rc.d scripts (including one similar to qmailctl).
* Sends log messages to syslog(3).
* Stores tcp.smtp{,cdb} and tcp.pop3{,cdb} in ${PKG_SYSCONFDIR}.
* Provides an example mailer.conf(5).
3) Add a bunch of features to the rc.d scripts.
Rename the qmail script and rcvar to qmailsend. Add "doqueue"
(synonyms: alrm, flush) and "queue" commands, add "hup" as a
synonym for "reload", and determine default delivery instruction
from control/defaultdelivery (LWQ). Add control/defaultdelivery
to required_files. Rename qmailsend_flags to
qmailsend_defaultdelivery, which overrides control/defaultdelivery
if set.
In the qmailpop3d and qmailsmtpd scripts, enforce resource
limits with softlimit(8) (LWQ). Add dependency on sysutils/daemontools
for this. Rename qmailfoo_flags to qmailfoo_tcpflags. Add
qmailfoo_tcphost (default: 0, meaning "any address") and
qmailfoo_tcpport (default: 110 and 25, respectively). Add
qmailfoo_softlimit (default: 2000000). Add qmailfoo_pretcpserver
and qmailfoo_prefoo (default: empty), useful for inserting
commands such as rblsmtpd(1) or relay-ctrl into the chain.
Log to splogger's default syslog facility ("mail"), and use
the name of the script as the tag.
In the qmailpop3d, qmailsend, and qmailsmtpd scripts, add
qmailfoo_postenv (defaults: empty, PATH=${PREFIX}/bin:$PATH,
and QMAILQUEUE=${PREFIX}/bin/qmail-queue, respectively), useful
primarily for setting environment variables for each service.
Add "pause" and "cont" commands (LWQ). They send -STOP and
-CONT signals, respectively. Add "stat" as a synonym for
"status" (LWQ).
In the qmailpop3d script, add -x to qmailpop3d_tcpflags and
add "cdb" command. Add qmailpop3d_checkpassword (useful for
authenticating against alternate user databases) and
qmailpop3d_maildirname (useful if your maildirs are named
something other than "Maildir"). Add tcp.pop3.cdb to
required_files.
In the qmailsmtpd script, add -x and remove -H from
qmailsmtpd_tcpflags, limit the number of incoming connections
to control/concurrencyincoming, and add "cdb" command (LWQ).
Add control/concurrencyincoming and tcp.smtp.cdb to required_files.
Add qmailqread script and ${PREFIX}/bin/qmail-qread-client,
based on Steinar Haug's example on www.qmail.org. If enabled,
this allows local non-root users to see the queue.
Add qmail script (structure copied from net/samba/files/samba.sh).
Its interface is very similar to LWQ's qmailctl: it provides
the commands "start stop restart rcvar pause cont stat status
cdb doqueue reload queue alrm flush hup help". These commands
can be run either directly from the appropriate service-specific
script(s), or from this qmail script (which will call the
right script(s) for you).
4) Remove some (but not all) obstacles to binary packaging.
Each of these is better explained elsewhere. Summary:
* Installs into the normal ${LOCALBASE}.
* /var/qmail paths still work.
* No patches are applied. (See also mail/netqmail.)
5) Introduce QMAIL_AUTOCONFIG, QMAIL_QUEUE_DIR, and QMAIL_QUEUE_EXTRA.
QMAIL_AUTOCONFIG (default: YES): whether to automatically
create basic config files.
QMAIL_QUEUE_DIR (default: ${VARBASE}/spool/qmail): the path
to the queue.
QMAIL_QUEUE_EXTRA (default: empty): an additional recipient
that will be added to every delivery. This is used primarily
for logging. If this is set to a non-empty value, the necessary
dot-qmail(5) file is created automatically at install time.
6) Enable pkgviews installation.
7) Bump PKGREVISION.
Other user-visible changes:
This package no longer applies patches to qmail. mail/netqmail,
to be imported shortly, does.
Restrictions on the redistribution of modified qmail apply
not only to binaries but also to source. Clarify this in
RESTRICTED.
Add "newaliases", "hoststat", and "purgestat" entries to the
sample mailer.conf. Install it to ${PREFIX}/share/examples/${PKGBASE},
as other pkgsrc mailers do. ("newaliases" is actually provided
by the fastforward package, and isn't needed unless you're
using it.)
Explain how to enable qmail in MESSAGE (cribbed from the
postfix package).
Thanks to zuntum, snj, salo, and jlam for ideas, discussion, and review.
2004-07-22 00:35:59 +02:00
|
|
|
${LN} -s ${QMAIL_QUEUE_DIR} ${QMAILDIR}/queue
|
|
|
|
${LN} -s ${PKG_SYSCONFDIR}/users ${QMAILDIR}/users
|
|
|
|
|
|
|
|
;;
|
|
|
|
|
|
|
|
POST-INSTALL)
|
Update to 1.03nb29. pkgsrc changes:
Remove unneeded options:
- Unconditionally apply netqmail (which includes a local patch; remove it)
- Unconditionally apply bigdns, maildiruniq, outgoingip, rcptcheck, remote
- Unconditionally apply the TLS + SMTP AUTH _patch_ (not the options)
- Record all applied patches (mandatory and optional) in QMAILPATCHES
- Remove badrcptto, qregex, realrcptto, viruscan (moved to rejectutils)
Simplify packaging:
- Extract a standalone patch <https://schmonz.com/qmail/rejectutils> to
repackage the mutually conflicting recipient- and content-checking
patches as separate programs, along with wrappers for running checks
in sequence
- Extract a standalone patch <https://schmonz.com/qmail/destdir> to
build to a staging area, as non-root, without hardcoded IDs
- Run the destdir patch's `install-destdir` to make or repair the queue
and set special file permissions, obviating the need for a dependency
on mail/queue-fix and handcrafted SPECIAL_PERMS
- While here, run `instcheck` to ensure we've installed just like `make
setup check` as root would have
- Install INSTALL and SENDMAIL docs under their original names,
even on Darwin
- Avoid building catpages, since we don't install them, and remove nroff
from USE_TOOLS
Default-enable more useful options:
- "eai" (new) permits UTF-8 almost everywhere in email
- "qmail-rejectutils" (new) adds several tools for selectively
rejecting messages
- "syncdir" forces synchronous link() and related syscalls
- "tls" and "sasl", instead of causing patch conflicts, cause the TLS
and SMTP AUTH code to be included (!)
2017-07-21 06:07:01 +02:00
|
|
|
${PREFIX}/share/qmail/setup/install-destdir
|
|
|
|
QMAIL_SETUP_EXITCODE=$?
|
|
|
|
if [ ${QMAIL_SETUP_EXITCODE} -ne 0 ]; then
|
|
|
|
${CAT} <<EOF
|
|
|
|
===========================================================================
|
|
|
|
|
|
|
|
ERROR: install-destdir exited nonzero (${QMAIL_SETUP_EXITCODE}).
|
|
|
|
|
|
|
|
Permissions are likely wrong, and/or the queue may be uninitialized.
|
|
|
|
|
|
|
|
===========================================================================
|
|
|
|
EOF
|
|
|
|
exit 1
|
|
|
|
fi
|
|
|
|
|
|
|
|
QMAIL_CHECK_OUTPUT=$(${PREFIX}/share/qmail/setup/instcheck 2>&1)
|
|
|
|
if [ -n "${QMAIL_CHECK_OUTPUT}" ]; then
|
|
|
|
${CAT} <<EOF
|
|
|
|
===========================================================================
|
|
|
|
|
|
|
|
ERROR: instcheck issued warnings:
|
|
|
|
|
|
|
|
${QMAIL_CHECK_OUTPUT}
|
|
|
|
|
|
|
|
Permissions are likely wrong, and/or the queue may be uninitialized.
|
|
|
|
|
|
|
|
===========================================================================
|
|
|
|
EOF
|
|
|
|
exit 1
|
When I added basic DESTDIR support, I introduced a regression: the
source package stopped initializing the queue. (DESTDIR makes source
packages generate binary packages, which had never had that feature. See
<http://mail-index.netbsd.org/pkgsrc-changes/2011/06/07/msg056339.html>
for where the regression was introduced.)
Add a dependency on mail/queue-fix and, if no queue is present at
pkg_add time, initialize it.
Defer creating users and groups all the way to pkg_add time, and improve
DESTDIR support to full "user-destdir". Since mail/postfix lets
unprivileged users install it, we do too. (Can't run a server that way,
but so what.)
A typical (privileged) binary package should now:
1. Install on any other system of matching OS and architecture,
2. Not need matching numeric UIDs and GIDs to do so, and
3. Be usable in production.
You know, like any other binary package.
Bump PKGREVISION.
2017-03-20 17:23:19 +01:00
|
|
|
fi
|
Update to 1.03nb29. pkgsrc changes:
Remove unneeded options:
- Unconditionally apply netqmail (which includes a local patch; remove it)
- Unconditionally apply bigdns, maildiruniq, outgoingip, rcptcheck, remote
- Unconditionally apply the TLS + SMTP AUTH _patch_ (not the options)
- Record all applied patches (mandatory and optional) in QMAILPATCHES
- Remove badrcptto, qregex, realrcptto, viruscan (moved to rejectutils)
Simplify packaging:
- Extract a standalone patch <https://schmonz.com/qmail/rejectutils> to
repackage the mutually conflicting recipient- and content-checking
patches as separate programs, along with wrappers for running checks
in sequence
- Extract a standalone patch <https://schmonz.com/qmail/destdir> to
build to a staging area, as non-root, without hardcoded IDs
- Run the destdir patch's `install-destdir` to make or repair the queue
and set special file permissions, obviating the need for a dependency
on mail/queue-fix and handcrafted SPECIAL_PERMS
- While here, run `instcheck` to ensure we've installed just like `make
setup check` as root would have
- Install INSTALL and SENDMAIL docs under their original names,
even on Darwin
- Avoid building catpages, since we don't install them, and remove nroff
from USE_TOOLS
Default-enable more useful options:
- "eai" (new) permits UTF-8 almost everywhere in email
- "qmail-rejectutils" (new) adds several tools for selectively
rejecting messages
- "syncdir" forces synchronous link() and related syscalls
- "tls" and "sasl", instead of causing patch conflicts, cause the TLS
and SMTP AUTH code to be included (!)
2017-07-21 06:07:01 +02:00
|
|
|
|
Remove add-on scripts and config files from the qmail and netqmail
packages. They now simply compile and install qmail and its
prerequisites. (The add-on scripts and config files will be revivified
as a separate qmail-run package. Thus, QMAIL_AUTOCONFIG is no longer
needed.)
The user is notified at install time that one popular, well-regarded
way to enable qmail is to follow the directions in "Life with
qmail", and that another way is to install the qmail-run package.
These changes, based on discussion with Charles Cazabon, are intended
to make life easier for the helpful people on the qmail mailing
list by clearly marking custom add-ons as such.
Other changes:
Since netqmail is a tarball containing the qmail tarball plus the
netqmail bits, we can use it for both packages and share more logic
between the two packages: MASTER_SITES, DISTINFO_FILE, WRKSRC, and
the post-extract target.
Now that there's one place to put the distinfo, add Eben Pratt's
simple patch to build and install on Mac OS X 10.3 (the patch is
not applied on other OSes).
Bump PKGREVISION of both packages.
2004-08-02 05:57:17 +02:00
|
|
|
if ! [ -z ${QMAIL_QUEUE_EXTRA} ]; then
|
Short story:
1) Mostly conform to hier(7) and honor PKG_SYSCONFDIR.
2) Follow more closely Dave Sill's "Life with qmail" (LWQ).
3) Add a bunch of features to the rc.d scripts.
4) Remove some (but not all) obstacles to binary packaging.
5) Introduce QMAIL_AUTOCONFIG, QMAIL_QUEUE_DIR, and QMAIL_QUEUE_EXTRA.
6) Enable pkgviews installation.
7) Bump PKGREVISION.
Long story:
1) Mostly conform to hier(7) and honor PKG_SYSCONFDIR.
Based on a January 1997 post by mrg to the qmail list: prior
to installation, we create symlinks in ${QMAILDIR} that point
into ${LOCALBASE} or ${PKG_SYSCONFDIR}, causing installation
to place files in those locations while allowing the canonical
/var/qmail paths to continue to work. The notable deviation
from hier(7) is that even though some binaries ought to go in
sbin, they've all been lumped into bin for simplicity.
Pleasant effects:
* We no longer need to set LOCALBASE (a big no-no), and as a
result also no longer need to set NO_MTREE, RCD_SCRIPTS_EXAMPLEDIR,
or EVAL_PREFIX. This will also allow a few qmail-related
packages to do likewise.
* The commands and manual pages are in easily accessible paths
by default.
* Package installation and deinstallation work much better.
Side effects:
* There were a few minor conflicts with mail/courier-maildirmake,
mail/mutt, and mail/pulsar. The latest versions of each are
fine, so we add CONFLICTS only for older versions. (Thanks
to those packages' maintainers!) There's also a conflict
with security/mirrordir, which has a "bin/forward" command
and corresponding section 1 man page.
* Some directories under ${PREFIX} get chown'd to group qmail.
Rather than modify the qmail installer, the affected
directories are simply chown'd back afterward during
post-install if PKG_INSTALLATION_TYPE is "overwrite". (If
it's "pkgviews", then only the package's depot directory is
affected, so we leave it alone.)
2) Follow more closely Dave Sill's "Life with qmail" (LWQ).
Similarities:
* Installs into /var/qmail from source.
* Installs ucspi-tcp and daemontools.
* Uses tcpserver(1).
* Uses tcp.smtp.cdb for relay access control.
* Uses control/defaultdelivery.
* Uses control/concurrencyincoming.
* Requires that control/rcpthosts exist to prevent open relays.
* Uses similar chains of commands in run scripts.
* Provides a script much like qmailctl.
Differences:
* This package does the following work for you 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 this package doesn't do:
* Applying patches.
* Copying a script from /var/qmail/boot to /var/qmail/rc.
* Configuring svscan(8) to run at boot.
* Creating and 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, this package:
* Builds from unmodified source. (See also mail/netqmail.)
* Uses NetBSD-style rc.d scripts (including one similar to qmailctl).
* Sends log messages to syslog(3).
* Stores tcp.smtp{,cdb} and tcp.pop3{,cdb} in ${PKG_SYSCONFDIR}.
* Provides an example mailer.conf(5).
3) Add a bunch of features to the rc.d scripts.
Rename the qmail script and rcvar to qmailsend. Add "doqueue"
(synonyms: alrm, flush) and "queue" commands, add "hup" as a
synonym for "reload", and determine default delivery instruction
from control/defaultdelivery (LWQ). Add control/defaultdelivery
to required_files. Rename qmailsend_flags to
qmailsend_defaultdelivery, which overrides control/defaultdelivery
if set.
In the qmailpop3d and qmailsmtpd scripts, enforce resource
limits with softlimit(8) (LWQ). Add dependency on sysutils/daemontools
for this. Rename qmailfoo_flags to qmailfoo_tcpflags. Add
qmailfoo_tcphost (default: 0, meaning "any address") and
qmailfoo_tcpport (default: 110 and 25, respectively). Add
qmailfoo_softlimit (default: 2000000). Add qmailfoo_pretcpserver
and qmailfoo_prefoo (default: empty), useful for inserting
commands such as rblsmtpd(1) or relay-ctrl into the chain.
Log to splogger's default syslog facility ("mail"), and use
the name of the script as the tag.
In the qmailpop3d, qmailsend, and qmailsmtpd scripts, add
qmailfoo_postenv (defaults: empty, PATH=${PREFIX}/bin:$PATH,
and QMAILQUEUE=${PREFIX}/bin/qmail-queue, respectively), useful
primarily for setting environment variables for each service.
Add "pause" and "cont" commands (LWQ). They send -STOP and
-CONT signals, respectively. Add "stat" as a synonym for
"status" (LWQ).
In the qmailpop3d script, add -x to qmailpop3d_tcpflags and
add "cdb" command. Add qmailpop3d_checkpassword (useful for
authenticating against alternate user databases) and
qmailpop3d_maildirname (useful if your maildirs are named
something other than "Maildir"). Add tcp.pop3.cdb to
required_files.
In the qmailsmtpd script, add -x and remove -H from
qmailsmtpd_tcpflags, limit the number of incoming connections
to control/concurrencyincoming, and add "cdb" command (LWQ).
Add control/concurrencyincoming and tcp.smtp.cdb to required_files.
Add qmailqread script and ${PREFIX}/bin/qmail-qread-client,
based on Steinar Haug's example on www.qmail.org. If enabled,
this allows local non-root users to see the queue.
Add qmail script (structure copied from net/samba/files/samba.sh).
Its interface is very similar to LWQ's qmailctl: it provides
the commands "start stop restart rcvar pause cont stat status
cdb doqueue reload queue alrm flush hup help". These commands
can be run either directly from the appropriate service-specific
script(s), or from this qmail script (which will call the
right script(s) for you).
4) Remove some (but not all) obstacles to binary packaging.
Each of these is better explained elsewhere. Summary:
* Installs into the normal ${LOCALBASE}.
* /var/qmail paths still work.
* No patches are applied. (See also mail/netqmail.)
5) Introduce QMAIL_AUTOCONFIG, QMAIL_QUEUE_DIR, and QMAIL_QUEUE_EXTRA.
QMAIL_AUTOCONFIG (default: YES): whether to automatically
create basic config files.
QMAIL_QUEUE_DIR (default: ${VARBASE}/spool/qmail): the path
to the queue.
QMAIL_QUEUE_EXTRA (default: empty): an additional recipient
that will be added to every delivery. This is used primarily
for logging. If this is set to a non-empty value, the necessary
dot-qmail(5) file is created automatically at install time.
6) Enable pkgviews installation.
7) Bump PKGREVISION.
Other user-visible changes:
This package no longer applies patches to qmail. mail/netqmail,
to be imported shortly, does.
Restrictions on the redistribution of modified qmail apply
not only to binaries but also to source. Clarify this in
RESTRICTED.
Add "newaliases", "hoststat", and "purgestat" entries to the
sample mailer.conf. Install it to ${PREFIX}/share/examples/${PKGBASE},
as other pkgsrc mailers do. ("newaliases" is actually provided
by the fastforward package, and isn't needed unless you're
using it.)
Explain how to enable qmail in MESSAGE (cribbed from the
postfix package).
Thanks to zuntum, snj, salo, and jlam for ideas, discussion, and review.
2004-07-22 00:35:59 +02:00
|
|
|
${CAT} <<EOF
|
|
|
|
===========================================================================
|
|
|
|
|
2004-12-20 05:22:37 +01:00
|
|
|
NOTE: Before using qmail, create a .qmail file corresponding with the local
|
|
|
|
user or alias "${QMAIL_QUEUE_EXTRA}" that meets the requirements for
|
|
|
|
QUEUE_EXTRA.
|
Short story:
1) Mostly conform to hier(7) and honor PKG_SYSCONFDIR.
2) Follow more closely Dave Sill's "Life with qmail" (LWQ).
3) Add a bunch of features to the rc.d scripts.
4) Remove some (but not all) obstacles to binary packaging.
5) Introduce QMAIL_AUTOCONFIG, QMAIL_QUEUE_DIR, and QMAIL_QUEUE_EXTRA.
6) Enable pkgviews installation.
7) Bump PKGREVISION.
Long story:
1) Mostly conform to hier(7) and honor PKG_SYSCONFDIR.
Based on a January 1997 post by mrg to the qmail list: prior
to installation, we create symlinks in ${QMAILDIR} that point
into ${LOCALBASE} or ${PKG_SYSCONFDIR}, causing installation
to place files in those locations while allowing the canonical
/var/qmail paths to continue to work. The notable deviation
from hier(7) is that even though some binaries ought to go in
sbin, they've all been lumped into bin for simplicity.
Pleasant effects:
* We no longer need to set LOCALBASE (a big no-no), and as a
result also no longer need to set NO_MTREE, RCD_SCRIPTS_EXAMPLEDIR,
or EVAL_PREFIX. This will also allow a few qmail-related
packages to do likewise.
* The commands and manual pages are in easily accessible paths
by default.
* Package installation and deinstallation work much better.
Side effects:
* There were a few minor conflicts with mail/courier-maildirmake,
mail/mutt, and mail/pulsar. The latest versions of each are
fine, so we add CONFLICTS only for older versions. (Thanks
to those packages' maintainers!) There's also a conflict
with security/mirrordir, which has a "bin/forward" command
and corresponding section 1 man page.
* Some directories under ${PREFIX} get chown'd to group qmail.
Rather than modify the qmail installer, the affected
directories are simply chown'd back afterward during
post-install if PKG_INSTALLATION_TYPE is "overwrite". (If
it's "pkgviews", then only the package's depot directory is
affected, so we leave it alone.)
2) Follow more closely Dave Sill's "Life with qmail" (LWQ).
Similarities:
* Installs into /var/qmail from source.
* Installs ucspi-tcp and daemontools.
* Uses tcpserver(1).
* Uses tcp.smtp.cdb for relay access control.
* Uses control/defaultdelivery.
* Uses control/concurrencyincoming.
* Requires that control/rcpthosts exist to prevent open relays.
* Uses similar chains of commands in run scripts.
* Provides a script much like qmailctl.
Differences:
* This package does the following work for you 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 this package doesn't do:
* Applying patches.
* Copying a script from /var/qmail/boot to /var/qmail/rc.
* Configuring svscan(8) to run at boot.
* Creating and 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, this package:
* Builds from unmodified source. (See also mail/netqmail.)
* Uses NetBSD-style rc.d scripts (including one similar to qmailctl).
* Sends log messages to syslog(3).
* Stores tcp.smtp{,cdb} and tcp.pop3{,cdb} in ${PKG_SYSCONFDIR}.
* Provides an example mailer.conf(5).
3) Add a bunch of features to the rc.d scripts.
Rename the qmail script and rcvar to qmailsend. Add "doqueue"
(synonyms: alrm, flush) and "queue" commands, add "hup" as a
synonym for "reload", and determine default delivery instruction
from control/defaultdelivery (LWQ). Add control/defaultdelivery
to required_files. Rename qmailsend_flags to
qmailsend_defaultdelivery, which overrides control/defaultdelivery
if set.
In the qmailpop3d and qmailsmtpd scripts, enforce resource
limits with softlimit(8) (LWQ). Add dependency on sysutils/daemontools
for this. Rename qmailfoo_flags to qmailfoo_tcpflags. Add
qmailfoo_tcphost (default: 0, meaning "any address") and
qmailfoo_tcpport (default: 110 and 25, respectively). Add
qmailfoo_softlimit (default: 2000000). Add qmailfoo_pretcpserver
and qmailfoo_prefoo (default: empty), useful for inserting
commands such as rblsmtpd(1) or relay-ctrl into the chain.
Log to splogger's default syslog facility ("mail"), and use
the name of the script as the tag.
In the qmailpop3d, qmailsend, and qmailsmtpd scripts, add
qmailfoo_postenv (defaults: empty, PATH=${PREFIX}/bin:$PATH,
and QMAILQUEUE=${PREFIX}/bin/qmail-queue, respectively), useful
primarily for setting environment variables for each service.
Add "pause" and "cont" commands (LWQ). They send -STOP and
-CONT signals, respectively. Add "stat" as a synonym for
"status" (LWQ).
In the qmailpop3d script, add -x to qmailpop3d_tcpflags and
add "cdb" command. Add qmailpop3d_checkpassword (useful for
authenticating against alternate user databases) and
qmailpop3d_maildirname (useful if your maildirs are named
something other than "Maildir"). Add tcp.pop3.cdb to
required_files.
In the qmailsmtpd script, add -x and remove -H from
qmailsmtpd_tcpflags, limit the number of incoming connections
to control/concurrencyincoming, and add "cdb" command (LWQ).
Add control/concurrencyincoming and tcp.smtp.cdb to required_files.
Add qmailqread script and ${PREFIX}/bin/qmail-qread-client,
based on Steinar Haug's example on www.qmail.org. If enabled,
this allows local non-root users to see the queue.
Add qmail script (structure copied from net/samba/files/samba.sh).
Its interface is very similar to LWQ's qmailctl: it provides
the commands "start stop restart rcvar pause cont stat status
cdb doqueue reload queue alrm flush hup help". These commands
can be run either directly from the appropriate service-specific
script(s), or from this qmail script (which will call the
right script(s) for you).
4) Remove some (but not all) obstacles to binary packaging.
Each of these is better explained elsewhere. Summary:
* Installs into the normal ${LOCALBASE}.
* /var/qmail paths still work.
* No patches are applied. (See also mail/netqmail.)
5) Introduce QMAIL_AUTOCONFIG, QMAIL_QUEUE_DIR, and QMAIL_QUEUE_EXTRA.
QMAIL_AUTOCONFIG (default: YES): whether to automatically
create basic config files.
QMAIL_QUEUE_DIR (default: ${VARBASE}/spool/qmail): the path
to the queue.
QMAIL_QUEUE_EXTRA (default: empty): an additional recipient
that will be added to every delivery. This is used primarily
for logging. If this is set to a non-empty value, the necessary
dot-qmail(5) file is created automatically at install time.
6) Enable pkgviews installation.
7) Bump PKGREVISION.
Other user-visible changes:
This package no longer applies patches to qmail. mail/netqmail,
to be imported shortly, does.
Restrictions on the redistribution of modified qmail apply
not only to binaries but also to source. Clarify this in
RESTRICTED.
Add "newaliases", "hoststat", and "purgestat" entries to the
sample mailer.conf. Install it to ${PREFIX}/share/examples/${PKGBASE},
as other pkgsrc mailers do. ("newaliases" is actually provided
by the fastforward package, and isn't needed unless you're
using it.)
Explain how to enable qmail in MESSAGE (cribbed from the
postfix package).
Thanks to zuntum, snj, salo, and jlam for ideas, discussion, and review.
2004-07-22 00:35:59 +02:00
|
|
|
|
|
|
|
===========================================================================
|
|
|
|
EOF
|
|
|
|
fi
|
2004-12-21 06:32:56 +01:00
|
|
|
|
2014-05-30 23:35:04 +02:00
|
|
|
SERVERCERT=${PKG_SYSCONFDIR}/control/servercert.pem
|
|
|
|
if ! [ -z ${OPENSSL} ] && ! [ -s ${SERVERCERT} ]; then
|
|
|
|
${CAT} <<EOF
|
|
|
|
===========================================================================
|
|
|
|
|
|
|
|
NOTE: If you don't already have an SSL certificate for qmail:
|
|
|
|
|
|
|
|
# ${OPENSSL} req -new -x509 -nodes -days 366 -out ${SERVERCERT} -keyout ${SERVERCERT}
|
|
|
|
# chmod 640 ${SERVERCERT}
|
2017-04-27 22:35:10 +02:00
|
|
|
# chown ${QMAIL_DAEMON_USER}:${QMAIL_QMAIL_GROUP} ${SERVERCERT}
|
2014-05-30 23:35:04 +02:00
|
|
|
# ln -s ${SERVERCERT} ${PKG_SYSCONFDIR}/control/clientcert.pem
|
|
|
|
# update_tmprsadh
|
|
|
|
|
Update to 1.03nb29. pkgsrc changes:
Remove unneeded options:
- Unconditionally apply netqmail (which includes a local patch; remove it)
- Unconditionally apply bigdns, maildiruniq, outgoingip, rcptcheck, remote
- Unconditionally apply the TLS + SMTP AUTH _patch_ (not the options)
- Record all applied patches (mandatory and optional) in QMAILPATCHES
- Remove badrcptto, qregex, realrcptto, viruscan (moved to rejectutils)
Simplify packaging:
- Extract a standalone patch <https://schmonz.com/qmail/rejectutils> to
repackage the mutually conflicting recipient- and content-checking
patches as separate programs, along with wrappers for running checks
in sequence
- Extract a standalone patch <https://schmonz.com/qmail/destdir> to
build to a staging area, as non-root, without hardcoded IDs
- Run the destdir patch's `install-destdir` to make or repair the queue
and set special file permissions, obviating the need for a dependency
on mail/queue-fix and handcrafted SPECIAL_PERMS
- While here, run `instcheck` to ensure we've installed just like `make
setup check` as root would have
- Install INSTALL and SENDMAIL docs under their original names,
even on Darwin
- Avoid building catpages, since we don't install them, and remove nroff
from USE_TOOLS
Default-enable more useful options:
- "eai" (new) permits UTF-8 almost everywhere in email
- "qmail-rejectutils" (new) adds several tools for selectively
rejecting messages
- "syncdir" forces synchronous link() and related syscalls
- "tls" and "sasl", instead of causing patch conflicts, cause the TLS
and SMTP AUTH code to be included (!)
2017-07-21 06:07:01 +02:00
|
|
|
Once you have a certificate, regularly regenerate DH params from cron(8):
|
|
|
|
|
|
|
|
01 01 * * * ${PREFIX}/bin/update_tmprsadh > /dev/null 2>&1
|
|
|
|
|
2014-05-30 23:35:04 +02:00
|
|
|
===========================================================================
|
|
|
|
EOF
|
|
|
|
fi
|
Short story:
1) Mostly conform to hier(7) and honor PKG_SYSCONFDIR.
2) Follow more closely Dave Sill's "Life with qmail" (LWQ).
3) Add a bunch of features to the rc.d scripts.
4) Remove some (but not all) obstacles to binary packaging.
5) Introduce QMAIL_AUTOCONFIG, QMAIL_QUEUE_DIR, and QMAIL_QUEUE_EXTRA.
6) Enable pkgviews installation.
7) Bump PKGREVISION.
Long story:
1) Mostly conform to hier(7) and honor PKG_SYSCONFDIR.
Based on a January 1997 post by mrg to the qmail list: prior
to installation, we create symlinks in ${QMAILDIR} that point
into ${LOCALBASE} or ${PKG_SYSCONFDIR}, causing installation
to place files in those locations while allowing the canonical
/var/qmail paths to continue to work. The notable deviation
from hier(7) is that even though some binaries ought to go in
sbin, they've all been lumped into bin for simplicity.
Pleasant effects:
* We no longer need to set LOCALBASE (a big no-no), and as a
result also no longer need to set NO_MTREE, RCD_SCRIPTS_EXAMPLEDIR,
or EVAL_PREFIX. This will also allow a few qmail-related
packages to do likewise.
* The commands and manual pages are in easily accessible paths
by default.
* Package installation and deinstallation work much better.
Side effects:
* There were a few minor conflicts with mail/courier-maildirmake,
mail/mutt, and mail/pulsar. The latest versions of each are
fine, so we add CONFLICTS only for older versions. (Thanks
to those packages' maintainers!) There's also a conflict
with security/mirrordir, which has a "bin/forward" command
and corresponding section 1 man page.
* Some directories under ${PREFIX} get chown'd to group qmail.
Rather than modify the qmail installer, the affected
directories are simply chown'd back afterward during
post-install if PKG_INSTALLATION_TYPE is "overwrite". (If
it's "pkgviews", then only the package's depot directory is
affected, so we leave it alone.)
2) Follow more closely Dave Sill's "Life with qmail" (LWQ).
Similarities:
* Installs into /var/qmail from source.
* Installs ucspi-tcp and daemontools.
* Uses tcpserver(1).
* Uses tcp.smtp.cdb for relay access control.
* Uses control/defaultdelivery.
* Uses control/concurrencyincoming.
* Requires that control/rcpthosts exist to prevent open relays.
* Uses similar chains of commands in run scripts.
* Provides a script much like qmailctl.
Differences:
* This package does the following work for you 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 this package doesn't do:
* Applying patches.
* Copying a script from /var/qmail/boot to /var/qmail/rc.
* Configuring svscan(8) to run at boot.
* Creating and 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, this package:
* Builds from unmodified source. (See also mail/netqmail.)
* Uses NetBSD-style rc.d scripts (including one similar to qmailctl).
* Sends log messages to syslog(3).
* Stores tcp.smtp{,cdb} and tcp.pop3{,cdb} in ${PKG_SYSCONFDIR}.
* Provides an example mailer.conf(5).
3) Add a bunch of features to the rc.d scripts.
Rename the qmail script and rcvar to qmailsend. Add "doqueue"
(synonyms: alrm, flush) and "queue" commands, add "hup" as a
synonym for "reload", and determine default delivery instruction
from control/defaultdelivery (LWQ). Add control/defaultdelivery
to required_files. Rename qmailsend_flags to
qmailsend_defaultdelivery, which overrides control/defaultdelivery
if set.
In the qmailpop3d and qmailsmtpd scripts, enforce resource
limits with softlimit(8) (LWQ). Add dependency on sysutils/daemontools
for this. Rename qmailfoo_flags to qmailfoo_tcpflags. Add
qmailfoo_tcphost (default: 0, meaning "any address") and
qmailfoo_tcpport (default: 110 and 25, respectively). Add
qmailfoo_softlimit (default: 2000000). Add qmailfoo_pretcpserver
and qmailfoo_prefoo (default: empty), useful for inserting
commands such as rblsmtpd(1) or relay-ctrl into the chain.
Log to splogger's default syslog facility ("mail"), and use
the name of the script as the tag.
In the qmailpop3d, qmailsend, and qmailsmtpd scripts, add
qmailfoo_postenv (defaults: empty, PATH=${PREFIX}/bin:$PATH,
and QMAILQUEUE=${PREFIX}/bin/qmail-queue, respectively), useful
primarily for setting environment variables for each service.
Add "pause" and "cont" commands (LWQ). They send -STOP and
-CONT signals, respectively. Add "stat" as a synonym for
"status" (LWQ).
In the qmailpop3d script, add -x to qmailpop3d_tcpflags and
add "cdb" command. Add qmailpop3d_checkpassword (useful for
authenticating against alternate user databases) and
qmailpop3d_maildirname (useful if your maildirs are named
something other than "Maildir"). Add tcp.pop3.cdb to
required_files.
In the qmailsmtpd script, add -x and remove -H from
qmailsmtpd_tcpflags, limit the number of incoming connections
to control/concurrencyincoming, and add "cdb" command (LWQ).
Add control/concurrencyincoming and tcp.smtp.cdb to required_files.
Add qmailqread script and ${PREFIX}/bin/qmail-qread-client,
based on Steinar Haug's example on www.qmail.org. If enabled,
this allows local non-root users to see the queue.
Add qmail script (structure copied from net/samba/files/samba.sh).
Its interface is very similar to LWQ's qmailctl: it provides
the commands "start stop restart rcvar pause cont stat status
cdb doqueue reload queue alrm flush hup help". These commands
can be run either directly from the appropriate service-specific
script(s), or from this qmail script (which will call the
right script(s) for you).
4) Remove some (but not all) obstacles to binary packaging.
Each of these is better explained elsewhere. Summary:
* Installs into the normal ${LOCALBASE}.
* /var/qmail paths still work.
* No patches are applied. (See also mail/netqmail.)
5) Introduce QMAIL_AUTOCONFIG, QMAIL_QUEUE_DIR, and QMAIL_QUEUE_EXTRA.
QMAIL_AUTOCONFIG (default: YES): whether to automatically
create basic config files.
QMAIL_QUEUE_DIR (default: ${VARBASE}/spool/qmail): the path
to the queue.
QMAIL_QUEUE_EXTRA (default: empty): an additional recipient
that will be added to every delivery. This is used primarily
for logging. If this is set to a non-empty value, the necessary
dot-qmail(5) file is created automatically at install time.
6) Enable pkgviews installation.
7) Bump PKGREVISION.
Other user-visible changes:
This package no longer applies patches to qmail. mail/netqmail,
to be imported shortly, does.
Restrictions on the redistribution of modified qmail apply
not only to binaries but also to source. Clarify this in
RESTRICTED.
Add "newaliases", "hoststat", and "purgestat" entries to the
sample mailer.conf. Install it to ${PREFIX}/share/examples/${PKGBASE},
as other pkgsrc mailers do. ("newaliases" is actually provided
by the fastforward package, and isn't needed unless you're
using it.)
Explain how to enable qmail in MESSAGE (cribbed from the
postfix package).
Thanks to zuntum, snj, salo, and jlam for ideas, discussion, and review.
2004-07-22 00:35:59 +02:00
|
|
|
|
|
|
|
;;
|
|
|
|
|
|
|
|
esac
|