summaryrefslogtreecommitdiff
path: root/mail/qmail/Makefile
AgeCommit message (Collapse)AuthorFilesLines
2006-03-14Modify the pkginstall framework so that it manages all aspects ofjlam1-3/+1
INSTALL/DEINSTALL script creation within pkgsrc. If an INSTALL or DEINSTALL script is found in the package directory, it is automatically used as a template for the pkginstall-generated scripts. If instead, they should be used simply as the full scripts, then the package Makefile should set INSTALL_SRC or DEINSTALL_SRC explicitly, e.g.: INSTALL_SRC= ${PKGDIR}/INSTALL DEINSTALL_SRC= # emtpy As part of the restructuring of the pkginstall framework internals, we now *always* generate temporary INSTALL or DEINSTALL scripts. By comparing these temporary scripts with minimal INSTALL/DEINSTALL scripts formed from only the base templates, we determine whether or not the INSTALL/DEINSTALL scripts are actually needed by the package (see the generate-install-scripts target in bsd.pkginstall.mk). In addition, more variables in the framework have been made private. The *_EXTRA_TMPL variables have been renamed to *_TEMPLATE, which are more sensible names given the very few exported variables in this framework. The only public variables relating to the templates are: INSTALL_SRC INSTALL_TEMPLATE DEINSTALL_SRC DEINSTALL_TEMPLATE HEADER_TEMPLATE The packages in pkgsrc have been modified to reflect the changes in the pkginstall framework.
2006-03-12Fixed pkglint warnings.rillig1-2/+2
2006-02-20Extract more sanely, from jlam and joerg. Should fix DragonFly bulk build.schmonz1-9/+6
2006-01-19Use SUBST framework instead FILES_SUBST_SED.joerg1-5/+9
2006-01-13Don't add ${DOCDIR} to MAKE_DIRS, as it's under ${PREFIX} andschmonz1-3/+2
INSTALLATION_DIRS takes care of it. Found by Krister's bulk build with CHECK_FILES.
2006-01-08Add cdb_seek.c and dns.c to the files with djb-errno hack.joerg1-2/+3
2006-01-05These packages generate catted manpages. Add USE_TOOLS+=nroff.schmonz1-2/+2
2005-12-29Remove USE_PKGINSTALL from pkgsrc now that mk/install/pkginstall.mkjlam1-2/+1
automatically detects whether we want the pkginstall machinery to be used by the package Makefile.
2005-12-05Fixed pkglint warnings. The warnings are mostly quoting issues, forrillig1-6/+6
example MAKE_ENV+=FOO=${BAR} is changed to MAKE_ENV+=FOO=${BAR:Q}. Some other changes are outlined in http://mail-index.netbsd.org/tech-pkg/2005/12/02/0034.html
2005-08-19Convert DJB_ERRNO_HACK to a "djbware-errno-hack" option availableschmonz1-3/+1
in all packages using djbware.mk. For now, keep the same default, avoiding PKGREVISION bumps.
2005-07-15Drop distinction between PKGSRC_USE_TOOLS and USE_TOOLS by makingjlam1-2/+2
PKGSRC_USE_TOOLS go away. There is now only a single USE_TOOLS variable that specifies all of the tools we need to build/run the package.
2005-05-16Note that expr is used by this package.jlam1-2/+2
2005-05-07Since share/examples/qmail/boot is under ${PREFIX}, create it withschmonz1-4/+4
INSTALLATION_DIRS rather than MAKE_DIRS. Calculate QUEUE_EXTRALEN in a more readable fashion.
2005-04-30Use :sh instead of != to assign QUEUE_EXTRALEN to defer evalutation ofjlam1-3/+3
command until it is referenced within subst.mk's make targets. This avoids needing ${EXPR} and ${WC} in the top-level make.
2005-04-11Remove USE_BUILDLINK3 and NO_BUILDLINK; these are no longer used.tv1-2/+1
2005-03-23Take advantage of mk/djbware.mk.schmonz1-11/+4
2005-03-13In packages with djb-style compile scripts, properly enquote ${CC}schmonz1-3/+3
and ${CFLAGS}. This fixes the build of net/djbdns, as well as any other of these packages passing down PKG_SYSCONFDIR via CFLAGS, as well as being more generally correct for arbitrary user-defined CFLAGS. Suggested by jlam. For consistency across djbware in pkgsrc: * In math/djbfft's and sysutils/daemontools's do-configure targets, remove leading @ from ${ECHO} lines; from the former, also remove unneeded single quotes from one such line. * Rename net/publicfile's pre-build and sysutils/service-config's post-patch targets to do-configure. * In sysutils/checkpassword's do-configure target, reorder creation of conf-cc, conf-ld, and conf-home. All of the affected packages have been verified to compile. XXX These packages probably have enough build goo in common to XXX warrant an mk/djbware.mk. I'll investigate this post-freeze.
2004-12-21With the "viruscan" option, enable Russ Nelson's patch to SMTP-rejectschmonz1-2/+3
messages with MIME attachments that match certain signatures, as well as Jeremy Kitchen's patch that causes such rejections to be logged. Bump PKGREVISION.
2004-12-03Rename ALL_TARGET to BUILD_TARGET for consistency with other *_TARGETs.wiz1-2/+2
Suggested by Roland Illig, ok'd by various.
2004-08-25Missed a spot in the netqmail removal: options.mk is in the currentschmonz1-2/+2
directory, and nothing else is using this Makefile anymore.
2004-08-22Put ${WRKSRC} in a more natural location.schmonz1-3/+4
2004-08-22Using bsd.options.mk, add several common build-time options. Theschmonz1-15/+123
complete list: badrcptto bigdns darwin netqmail nullenvsender outgoingip qregex realrcptto smtpauth syncdir tls This obviates the need for a separate netqmail package. As a result, reintegrate Makefile.common into Makefile, and simplify a handful of definitions. If you used the netqmail package, set PKG_OPTIONS.qmail to "netqmail bigdns" to build with the same patches as before. Note that most of these options result in patches being applied, and that any given combination of patches may not apply cleanly. If there's a combination you need that doesn't work, or build options you need that aren't available, let me know. On Darwin, the "darwin" option is set by default, as it's needed in order to build. The patch includes <nameser8_compat.h>, which is present on Panther, but not on older systems. We provide a buildlink stand-in where needed. On Linux, the "netqmail" option is set by default, as with recent glibc it's necessary to #include <errno.h> in order to build. On other platforms, no options are set by default. Bump PKGREVISION.
2004-08-02Remove add-on scripts and config files from the qmail and netqmailschmonz1-7/+5
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-07-21Short story:schmonz1-47/+10
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-04-24Add revision 1.01 of Ward Vandewege's badrcptto patch. With thisschmonz1-5/+8
patch, qmail-smtpd will reject mail during the SMTP conversation if a recipient is listed in control/badrcptto. This complements control/badmailfrom as found in stock qmail. Requested by Nathan Arthur. Add an rc.d script for qmail-pop3d. It needs sysutils/checkpassword, which is so tiny I've added the dependency even as I don't use qmail-pop3d myself. In the rc.d script for qmail-smtpd, require control/rcpthosts to be present. This prevents accidental open relays. Now that it's used for the path to checkpassword too, rename LOCALBASE_UCSPI_TCP to LOCALBASE_NORMAL. Convert to buildlink3. Bump PKGREVISION.
2004-04-10Take MAINTAINER at zuntum's suggestion.schmonz1-2/+2
2004-04-10Russ Nelson, Charles Cazabon, Dave Sill, Peter Samuel, and Henningschmonz1-7/+9
Brauer have prepared a distribution of qmail, called "netqmail": "We have done this because in our opinion, too many new users are confused by the out-of-date INSTALL file, and too much time is spent arguing on the mailing list over bugs. We have tried to stick to the barest minimum number of changes. We have fixed only those things which are out-and-out wrong, or which have been approved by djb (specifically QMAILQUEUE)." This package already includes the QMAILQUEUE patch. Add netqmail 1.05's other patches, with the exception that patches to documentation files which are not installed have been lovingly omitted. This package also already includes a patch to handle oversized DNS packets. It's still here, too. pkgsrc changes: * Add qmail-smtpd rc.d script (and ensuing dependency on net/ucspi-tcp). * Update qmail rc.d script: respect $qmail_flags, treating it as the default delivery instruction. * Remove non-working MASTER_SITES. From the netqmail changelog: 20040121 code: qmail-smtpd is protected from exceedingly long (eg 2GB) header lines 20040121 code: qmail_lspawn, qmail-newmrh, qmail-newu, and qmail-rspawn are protected from misbehaving on hosts where the size of an integer is not the same as the size of a character pointer (eg 64 bit hosts with 32 bit ints) 20031027 doc: qmail.7 identifies installation as netqmail and points to http://qmail.org/ 20031027 doc: qmail-queue.8 adds explanation of $QMAILQUEUE 20031027 doc: qmail-log.5 adds reference to errors from $QMAILQUEUE script 20031027 code: qmail-smtpd identifies itself as netqmail 20031027 code: if $QMAILQUEUE is set, it's invoked instead of qmail-queue 20031024 code: changed errno from int to #include. 20031024 code: fixed .qmail parsing bug. 20031024 code: recognize 0.0.0.0 as a local address. 20031024 code: sendmail's -f flag now overrides environment variables. And for all this, bump PKGREVISION. Pre-flight checks by snj@.
2004-03-29Supply a default mailq entry in mailer.conf.snj1-2/+2
Fixes PR pkg/21591.
2003-08-30Add definitions for DEINSTALL_EXTRA_TMPL and INSTALL_EXTRA_TMPL ifjlam1-1/+2
USE_PKGINSTALL is "YES". bsd.pkg.install.mk will no longer automatically pick up a INSTALL/DEINSTALL script in the package directory and assume that you want it for the corresponding *_EXTRA_TMPL variable.
2003-07-17s/netbsd.org/NetBSD.org/grant1-2/+2
2003-01-28Instead of including bsd.pkg.install.mk directly in a package Makefile,jlam1-2/+2
have it be automatically included by bsd.pkg.mk if USE_PKGINSTALL is set to "YES". This enforces the requirement that bsd.pkg.install.mk be included at the end of a package Makefile. Idea suggested by Julio M. Merino Vidal <jmmv at menta.net>.
2002-09-19Take advantage of the auto-generation and installation of rc.d scripts.jlam1-6/+1
2002-09-18When using bsd.pkg.install.mk, if a DEINSTALL or INSTALL file alreadyjlam1-3/+1
exists, then use it as the default value of DEINSTALL_EXTRA_TMPL or INSTALL_EXTRA_TMPL.
2002-07-28Add rc.d script to control qmail, provided by Lubomir Sedlacikschmonz1-7/+27
<salo@Xtrmntr.org> in pkg/15326. Add example mailer.conf. Bump PKGREVISION. Clarify binary package situation: We don't allow binary packages to be created because they don't currently work. Additionally, if someone were to make them work, we'd be unable to distribute them because we apply a few patches to the qmail source. Thanks to zuntum and jlam for discussion and assistance.
2002-07-22MKDIR -> INSTALL_DATA_DIRwiz1-2/+2
From the [pkgviews] branch.
2002-05-03Store patches locally instead of fetching them from PATCH_SITES - fixeszuntum1-13/+1
problem with qmailqueue patch unexpectedly differing over time
2002-04-05Create conf-ld to make it build on Darwin.yyamano1-1/+2
2002-01-28Switch second patch site from qmail.obeer.com to www.qmail.org as the latterzuntum1-2/+2
works better
2002-01-28Use += instead of = in second PATCH_SITEzuntum1-2/+2
2002-01-28Apply QMAILQUEUE patch:zuntum1-3/+8
Bruce Guenter has written a patch which causes any program that would run qmail-queue to look for an environment variable QMAILQUEUE. If it is present, it is used in place of the string "bin/qmail-queue" when running qmail-queue. This could be used, for example, to add a program into the qmail-smtpd->qmail-queue pipeline that could do filtering, rewrite broken headers, etc. This does not break anything, and is required by some programs, for instance qmail-scanner. Bump PKGREVISION - we are at qmail-1.03nb2 now.
2002-01-28Remove IS_INTERACTIVE setting as this package should now build just fine in ↵zuntum1-2/+1
BATCH builds!
2002-01-21Major rewrite of qmail package.zuntum1-8/+7
By default (the one set in bsd.pkg.defaults.mk) qmail installs into /var/qmail. This can be changed by setting QMAILDIR in /etc/mk.conf to another directory, for example /usr/qmail. If you want to user non-standard path of installation, make sure to set it in /etc/mk.conf *before* attempting to install any of qmail packages, and do not change it in the mean time (if you install qmail with QMAILDIR set to /var/qmail, change it to another dir and try to install qmail-conf, you will lose). Slave packages will soon be updated to use this feature.
2002-01-21Handle ${QMAILDIR} properly in MESSAGE file; first part of pkg/15308zuntum1-2/+4
by Lubomir Sedlacik <salo@Xtrmntr.org>
2001-11-26o switched to bsd.pkg.install.mk logic -- now it depends on qmail-users packagezuntum1-32/+5
2001-09-27Mechanical changes to 375 files to change dependency patterns of the formjlam1-2/+2
foo-* to foo-[0-9]*. This is to cause the dependencies to match only the packages whose base package name is "foo", and not those named "foo-bar". A concrete example is p5-Net-* matching p5-Net-DNS as well as p5-Net. Also change dependency examples in Packages.txt to reflect this.
2001-08-13Create symlink from /var/qmail to ${PREFIX}/qmail, so we can list files in ↵zuntum1-1/+2
PLIST. Yes, it isn't very clear idea, but better than empty PLIST and a bunch of @unexec rm -rf's in it.
2001-08-13Initial import of qmail-1.03 -- SECURE, reliable, efficient, simple, and ↵zuntum1-0/+77
FAST MTA for UNIX systems qmail checks for qmail users' existance at compile time, so this package must be built as root (it tries to add necessary users and groups), thus NO_PACKAGE and IS_INTERACTIVE are set. PLIST file is left empty intentionally, because qmail installs itself to /var/qmail, outside ${PREFIX}. The qmail program is a secure, reliable, efficient simple message transfer agent. It is meant to be a replacement for the entire sendmail-binmail system that most UNIX hosts use. Although qmail holds security and reliability as its top two priorities, it is also fast. On a Pentium under BSD/OS, qmail can easily handle 200000 separate messages per day that are injected and must then be delivered to local mailboxes! Security and reliability are qmail's two strengths, however. The qmail package ensures a message, once accepted, will never be lost. An optional new mailbox format, maildir, even lets users safely read their mail over NFS, while still accepting new mail deliveries. The following features are supported: host and user masquerading, full host hiding, virtual domains, null clients, list-owner rewriting, relay control, double-bounce recording, arbitrary RFC 822 address lists, cross-host mailing-list loop detection, per-recipient checkpointing, downed host backoffs, independent message retry schedules, a drop-in sendmail replacement, and more! The package is still being worked on.