Commit graph

169 commits

Author SHA1 Message Date
wiz
627d407a75 Remove pkg_views support, second part: infrastructure. 2014-12-30 15:13:19 +00:00
schmonz
4884aed0f3 Quell pkglint, mostly:
- Pluralize QMAIL_ROOT_ONLY_{READABLE,EVERYTHING}S
- Declare the viruscan targets .PHONY
2014-11-23 19:08:22 +00:00
wiz
cda18437be Remove pkgviews: don't set PKG_INSTALLATION_TYPES in Makefiles. 2014-10-09 14:05:50 +00:00
schmonz
9629b0f78f Allow packaging as non-root, prompted by private mail from J. Lewis
Muir.

For the baker's dozen of binaries unreadable (or worse) to non-root,
chmod them 0755 at post-install for pkg_create(1), and chmod them
back with SPECIAL_PERMS at pkg_add(1) time. Permissions on the
installed binaries compare equal before and after this change, so
no PKGREVISION bump.
2014-08-19 22:06:49 +00:00
schmonz
4d4045cf16 The qmail-bigdns patch currently redirects to https. Put a copy on
MASTER_SITE_LOCAL.
2014-07-04 03:34:43 +00:00
schmonz
1f1a81b5d6 Improve binary package:
* Reduce potential patch conflicts by switching more DESTDIR support to sed
* Enable `qmail-netqmail` by default
* Install `qmail-viruscan` signatures via CONF_FILES
* With `tls` option, don't generate cert, instruct the user at INSTALL time

That last change also fixes the source build with `tls` enabled on
systems that don't already have a /var/qmail/control, as reported
by Thomas Lazar on pkgsrc-users@.

While here, add a comment with the new location of the qregex patch.
Since it's named strangely, I've also placed a traditionally-named
copy on ftp.n.o.

Bump PKGREVISION.
2014-05-30 21:35:04 +00:00
schmonz
af51669ae9 The TLS/SASL patch no longer applies over our patch to hier.c
(reported by Thomas Lazar), so instead express our local changes
with SUBST_SED at do-configure. Update to the latest TLS/SASL patch.
Bump PKGREVISION.
2014-04-16 04:57:23 +00:00
tron
73d05e2276 Recursive PKGREVISION bump for OpenSSL API version bump. 2014-02-12 23:17:32 +00:00
schmonz
288964eb45 Rename and comment pkgsrc patches. No functional change. 2013-08-15 15:43:48 +00:00
schmonz
c47ff4c4f2 qmail-smtpd-viruscan-logging.patch disappeared (reported by Nathan
Arthur). Put a copy up on ${MASTER_SITE_LOCAL}.
2013-03-24 20:10:31 +00:00
jperkin
becd113253 PKGREVISION bumps for the security/openssl 1.0.1d update. 2013-02-06 23:20:50 +00:00
marino
ecb1a633e2 mail/qmail: Rev bump - last commit might change binary 2012-05-20 09:04:26 +00:00
marino
9d024ea0ea PR#46333 mail/qmail: Fix qmail-*spawn segfaults on DragonFly
Fix implemented per PR.
2012-05-20 08:48:56 +00:00
sbd
470c1181eb At joerg@'s suggestion instead of set MANINSTALL to agree with what gets
installed simple don't install the catpages.
2012-03-12 03:53:55 +00:00
sbd
41d78f206e qmail always installs the manpages and catpages so MANINSTALL
must be set so thay are not removed from the PLIST.
2012-03-09 04:04:47 +00:00
hans
d0953670bd There is no need to do the Darwin-specific post-extract stuff on
anything but Darwin.
2011-10-12 17:20:21 +00:00
joerg
9340115756 Fix PLIST overlap with dependency 2011-09-28 06:36:57 +00:00
schmonz
fadd3f4ce3 DESTDIR support, PKGMANDIR support, OS X fixes, general cleanups.
For ${OPSYS}/${USE_DESTDIR}/${PKGMANDIR} combinations that already
worked, no functional change (hence no PKGREVISION bump).
2011-06-07 02:53:42 +00:00
joerg
62d1ba2bac Remove @dirrm entries from PLISTs 2009-06-14 18:03:28 +00:00
wiz
c8c77a65f1 Uncomment some more LICENSE lines (all "public-domain"). 2009-05-19 09:07:13 +00:00
jlam
841dfa0e7a Convert to use PLIST_VARS instead of manually passing "@comment "
through PLIST_SUBST to the plist module.
2008-04-12 22:42:57 +00:00
schmonz
99c1212a7d Upgrade netqmail to 1.06, which is identical to 1.05 except that
instead of consisting of a pristine qmail tarball and netqmail
patch, 1.06 has the patch already applied. No user-visible changes
to pkgsrc, either; this just simplifies a weird build and will make
future upgrades (don't laugh!) easier.

jlam@ "looks fine"
2008-03-20 03:30:32 +00:00
schmonz
1e750b6014 Add commented-out LICENSE=public-domain. Nudged by gdt@. 2008-02-19 21:12:06 +00:00
schmonz
d49c575364 DJB has placed certain of his software in the public domain. Excerpted
from <URL:http://cr.yp.to/distributors.html>:

  What are the distribution terms for daemontools?

  2007.12.28: I hereby place the daemontools package (in particular,
  daemontools-0.76.tar.gz, with MD5 checksum
  1871af2453d6e464034968a0fbcb2bfc) into the public domain. The
  package is no longer copyrighted.

  What are the distribution terms for djbdns?

  2007.12.28: I hereby place the djbdns package (in particular,
  djbdns-1.05.tar.gz, with MD5 checksum 3147c5cd56832aa3b41955c7a51cbeb2)
  into the public domain. The package is no longer copyrighted.

  What are the distribution terms for ucspi-tcp?

  2007.12.28: I hereby place the ucspi-tcp package (in particular,
  ucspi-tcp-0.88.tar.gz, with MD5 checksum
  39b619147db54687c4a583a7a94c9163) into the public domain. The
  package is no longer copyrighted.

  Am I free to modify uncopyrighted packages and distribute modified
  versions?

  Yes. But this does not mean that modifications are _encouraged_!

And from <URL:http://cr.yp.to/qmail/dist.html>:

  I hereby place the qmail package (in particular, qmail-1.03.tar.gz,
  with MD5 checksum 622f65f982e380dbe86e6574f3abcb7c) into the
  public domain. You are free to modify the package, distribute
  modified versions, etc.

  This does not mean that modifications are encouraged!

pkgsrc will strive, as it has, to keep modifications to a tasteful
minimum. This addresses PR pkg/37964 by Aleksej Saushev.
2008-02-19 13:59:04 +00:00
jlam
12351d2476 * Change some instances of ROOT_USER and ROOT_GROUP to BINOWN and BINGRP
in SPECIAL_PERMS usage.

* Consistently use 4555 for setuid and 2555 for setgid programs.
2007-06-15 18:15:06 +00:00
schmonz
63d8283ff0 Move recipient-checking options into a PKG_OPTIONS_GROUP, as no two
of them apply together cleanly (and thus no PKGREVISION bump). Idea
from wiz.
2007-05-27 18:42:54 +00:00
schmonz
7c32a810e3 Update tls-smtpauth combined patch to 20070321. SMTP AUTH changes:
* Includes a generic 'MAIL FROM:' parameter parser supporting 'AUTH'
    and 'SIZE' advertisements; complies to RFC 3848
* Fixes a gcc (3.4.6) -O2 optimization problem in base64.c

Bump PKGREVISION.
2007-04-12 03:42:21 +00:00
schmonz
c258cda48b Use PLIST_SUBST rather than appending one-line PLIST.foo to PLIST_SRC,
and remove one-line PLIST.foo files. Quote some paths to appease
pkglint. Update URL to "12 Steps to qmail List Bliss".
2007-03-09 12:34:21 +00:00
wiz
601583c320 Whitespace cleanup, courtesy of pkglint.
Patch provided by Sergey Svishchev in private mail.
2007-02-22 19:26:05 +00:00
schmonz
ad8b286470 Make the viruscan logging patch's output more consistent with the
rest of the SMTP logs by stripping off its unnecessary leading
'qmail-smtpd: '. Cosmetic only, no PKGREVISION bump.
2007-02-03 03:02:36 +00:00
schmonz
f35fbb3d17 The badrcptto patch needs -p1 (not -p2) on Darwin, though it applied
on NetBSD before (and still does).
2007-01-15 03:40:15 +00:00
rillig
d6b74863d7 qmail is not intended to be installed as an unprivileged user. 2007-01-09 21:35:58 +00:00
schmonz
502faaf2a0 Update to nb12 (is this a record?). From the respective patch changelogs:
* Update qregex patch (PR pkg/34760) to 20060423:

  - qregex adds the matched regex pattern to its log entries if the
    LOGREGEX environment variable is set.

* Update realrcptto patch to 20061210:

  - Logging uses substdio_puts() and substdio_flush() instead of
    substdio_putsflush(). This makes log entries less likely to be
    interleaved. Thanks to Matthew Dempsky for finding this.

  - For QMAILRRTENYALL, use error code 554 after DATA, not 550.
    Thanks to ... sorry, I lost track of who found this.

  - Log stat() errors for .qmail files. Thanks to Chris Bensend for
    suggesting this.

* Update tls-smtpauth combined patch to 20060105. TLS changes:

  - bug: qmail-remote loops on malformed server response (B. Shupp,
    A. Meltzer)

  - no STARTTLS advertised when control/servercert.pem absent (Jason
    Haar)

  - control/notlshosts (Albert Weichselbraun)

  - control/tlshosts/exhaustivelist

  - scripts honor conf-users (Sven Verdoolaege)

  - strerror declaration in tls.c compile problem (Renato Botelho,
    Bill Shupp)

  - chown uid.gid deprecated, should be uid:gid (Bill Shupp)

  SMTP AUTH changes:

  - includes the evaluation of the 'Auth' and the 'Size' parameter
    in the 'Mail From:' command.

  - uses DJB functions to copy FDs.

  - corrects some minor mistakes displaying the 'Auth' userid.

  - uses keyword "ESMTPA" in Received header in case of authentication
    to comply with RFC 3848.

pkgsrc changes:

* Note SPECIAL_PERMS on qmail-queue binary (from dsainty@).
2006-12-29 10:32:05 +00:00
schmonz
9d880bfb2d The descriptive text at the beginning of panther.patch has been changed;
update checksums.
2006-05-11 20:10:10 +00:00
jlam
6d3e25ffb4 Conflict with courier-mta. 2006-05-01 02:57:03 +00:00
schmonz
9d5c1f1fe2 expr is only needed as a tool if QMAIL_QUEUE_EXTRA is defined. No
functional change.
2006-04-30 08:03:42 +00:00
schmonz
b24923176c Set USERGROUP_PHASE=configure, causing qmail's users and groups to
be created just before its "configure" phase, obviating the need
for the hackish dependency on a qmail-users package. Since the new
functionality in bsd.pkginstall.mk also records and enforces numeric
UIDs and GIDs in binary packages, remove the note on that matter
from MESSAGE.

Bump PKGREVISION.
2006-04-29 04:53:17 +00:00
jlam
daad0f3d6c Modify the pkginstall framework so that it manages all aspects of
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-14 01:14:26 +00:00
rillig
55b4fef041 Fixed pkglint warnings. 2006-03-12 14:15:43 +00:00
schmonz
82b281b51f Extract more sanely, from jlam and joerg. Should fix DragonFly bulk build. 2006-02-20 03:39:25 +00:00
joerg
2d238121fa Use SUBST framework instead FILES_SUBST_SED. 2006-01-19 01:18:30 +00:00
schmonz
6c45454280 Don't add ${DOCDIR} to MAKE_DIRS, as it's under ${PREFIX} and
INSTALLATION_DIRS takes care of it. Found by Krister's bulk build
with CHECK_FILES.
2006-01-13 20:53:56 +00:00
schmonz
8f0f046d46 Since we're allowing qmail to be packaged, add a note to the effect
that qmail hard-codes numeric UIDs and GIDs into several binaries.
When installing a binary qmail package, you'll need to ensure that
the qmail users and groups on your system match those with which
the package was compiled.

The binary package is not (yet) redistributable. The only way you'd
get one is by making it yourself. But this allows bulk builds to
finally test all the packages that depend on qmail.

Thanks to joerg for forcing the issue (in a good way).
2006-01-09 17:49:47 +00:00
joerg
ea96b794fb Add cdb_seek.c and dns.c to the files with djb-errno hack. 2006-01-08 17:48:14 +00:00
schmonz
85efcd26b1 These packages generate catted manpages. Add USE_TOOLS+=nroff. 2006-01-05 02:57:10 +00:00
schmonz
9038d7156c This already had a hack to fix building on OS X with BIND9 system
resolver. Convert it to the less hacky one used elsewhere, mainly
so that I won't miss it when implementing a more general solution
to this common problem.
2006-01-02 21:13:43 +00:00
jlam
dc9594e09d Remove USE_PKGINSTALL from pkgsrc now that mk/install/pkginstall.mk
automatically detects whether we want the pkginstall machinery to be
used by the package Makefile.
2005-12-29 06:21:30 +00:00
rillig
b71a1d488b Fixed pkglint warnings. The warnings are mostly quoting issues, for
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-12-05 20:49:47 +00:00
schmonz
ba7a2ddf66 Remove legacy DJB_ERRNO_HACK (replaced with djbware-errno-hack option). 2005-10-05 05:46:54 +00:00
schmonz
5c4a2be554 Now that a branch has been cut, remove PKG_OPTIONS_LEGACY_{OPTS,VARS}. 2005-10-05 04:28:00 +00:00
schmonz
07fa8b9536 Convert DJB_ERRNO_HACK to a "djbware-errno-hack" option available
in all packages using djbware.mk. For now, keep the same default,
avoiding PKGREVISION bumps.
2005-08-19 04:44:09 +00:00
schmonz
e5cfe6f475 Distinguish package-specific options as such, supporting the old names
via PKG_OPTIONS_LEGACY_OPTS until after the next branch.
2005-07-19 19:41:19 +00:00
jlam
bf9129c41e Drop distinction between PKGSRC_USE_TOOLS and USE_TOOLS by making
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-07-15 18:27:48 +00:00
schmonz
a8a562f3b6 Author updated the description of "panther.patch" to mention it
works on Tiger as well. No change to the patch itself.
2005-07-14 19:09:15 +00:00
dillo
f81ae835ad Packages have no business modifying PKG_DEFAULT_OPTIONS -- it's a
user settable variable.  Set PKG_SUGGESTED_OPTIONS instead.  Also,
make use of PKG_OPTIONS_LEGACY_VARS.

Reviewed by wiz.
2005-05-31 10:01:36 +00:00
jlam
585534220c Remove USE_GNU_TOOLS and replace with the correct USE_TOOLS definitions:
USE_GNU_TOOLS	-> USE_TOOLS
	awk		-> gawk
	m4		-> gm4
	make		-> gmake
	sed		-> gsed
	yacc		-> bison
2005-05-22 20:07:36 +00:00
schmonz
36e5704005 The patch for the "nullenvsender" option is no longer available: its
author considers it no longer relevant. Remove the option.
2005-05-19 22:08:55 +00:00
jlam
c269d73f49 Note that expr is used by this package. 2005-05-16 04:38:03 +00:00
schmonz
c2634d1003 Since share/examples/qmail/boot is under ${PREFIX}, create it with
INSTALLATION_DIRS rather than MAKE_DIRS. Calculate QUEUE_EXTRALEN
in a more readable fashion.
2005-05-07 21:37:42 +00:00
jlam
797d2663a0 Use :sh instead of != to assign QUEUE_EXTRALEN to defer evalutation of
command until it is referenced within subst.mk's make targets.  This
avoids needing ${EXPR} and ${WC} in the top-level make.
2005-04-30 15:06:58 +00:00
wiz
8a7b7f03d3 Remove duplicate netqmail lines.
Reported by Robert Elz in PR 29973.
2005-04-14 22:00:11 +00:00
tv
f816d81489 Remove USE_BUILDLINK3 and NO_BUILDLINK; these are no longer used. 2005-04-11 21:44:48 +00:00
schmonz
2d9007ff10 Add RMD160 sums for all the optional patches. 2005-04-10 04:53:36 +00:00
schmonz
56f373d22b If the "tls" option is enabled, append the additional targets to
INSTALL_TARGET, rather than replacing them. This had been broken
with the introduction of djbware.mk.
2005-04-10 02:59:23 +00:00
schmonz
26c5083e8f Update URL to the patch for "nullenvsender" option, and correctly
define the variable containing the patch URL for the "qregex"
option. Problems noted by zuntum.
2005-03-29 12:34:16 +00:00
schmonz
9f8e7d9843 Remove package-specific workarounds for the glibc-vs-errno conflict.
The "netqmail" PKG_OPTION to qmail is no longer enabled on Linux
by default; if you were relying on that, set it explicitly.
2005-03-23 01:48:06 +00:00
schmonz
0f55d7d583 Take advantage of mk/djbware.mk. 2005-03-23 00:51:09 +00:00
schmonz
21af779684 In packages with djb-style compile scripts, properly enquote ${CC}
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.
2005-03-13 03:25:43 +00:00
agc
8758983939 Add RMD160 digests. 2005-02-24 09:59:20 +00:00
schmonz
36c3ad2299 Update URL to Paul Jarc's realrcptto patch. 2005-01-26 03:48:21 +00:00
schmonz
c7158a492b Update my email address. 2004-12-21 05:37:11 +00:00
schmonz
2cdc1d129b With the "viruscan" option, enable Russ Nelson's patch to SMTP-reject
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-21 05:32:56 +00:00
schmonz
3f1c4333b9 The value of QUEUE_EXTRA can be a local user instead of an alias.
Clarify admonishment to the reader accordingly.
2004-12-20 04:22:37 +00:00
wiz
6e02d7ee41 Rename ALL_TARGET to BUILD_TARGET for consistency with other *_TARGETs.
Suggested by Roland Illig, ok'd by various.
2004-12-03 15:14:50 +00:00
jlam
40377c791f Remove pre-buildlink and post-buildlink as part of getting pkgsrc ready
for pkgsrc-2004Q4.  The "buildlink" phase was removed for the last branch,
and this is the final cleanup.  "post-buildlink" is now "post-wrapper".
2004-11-28 19:19:51 +00:00
jlam
ca70938428 Replace RPATH_FLAG with LINKER_RPATH_FLAG and COMPILER_RPATH_FLAG,
which are the full option names used to set rpath directives for the
linker and the compiler, respectively.  In places were we are invoking
the linker, use "${LINKER_RPATH_FLAG} <path>", where the space is
inserted in case the flag is a word, e.g. -rpath.  The default values
of *_RPATH_FLAG are set by the compiler/*.mk files, depending on the
compiler that you use.  They may be overridden on a ${OPSYS}-specific
basis by setting _OPSYS_LINKER_RPATH_FLAG and _OPSYS_COMPILER_RPATH_FLAG,
respectively.  Garbage-collect _OPSYS_RPATH_NAME and _COMPILER_LD_FLAG.
2004-08-27 06:29:06 +00:00
schmonz
9186e5831b Missed a spot in the netqmail removal: options.mk is in the current
directory, and nothing else is using this Makefile anymore.
2004-08-25 04:24:04 +00:00
schmonz
2b37a0fefe Rename the "smtpauth" option to "sasl" to be consistent with other
MTAs' options, since it causes qmail-smtpd to offer several SASL
mechanisms. No need to preserve the meaning of the old option, as
it was introduced less than a day ago.
2004-08-23 23:22:29 +00:00
jlam
9d5426ff76 Change the way that legacy USE_* and FOO_USE_* options are converted
into the bsd.options.mk framework.  Instead of appending to
${PKG_OPTIONS_VAR}, it appends to PKG_DEFAULT_OPTIONS.  This causes
the default options to be the union of PKG_DEFAULT_OPTIONS and any
old USE_* and FOO_USE_* settings.

This fixes PR pkg/26590.
2004-08-22 19:32:51 +00:00
schmonz
adf48e84a3 Put ${WRKSRC} in a more natural location. 2004-08-22 12:44:32 +00:00
schmonz
63bf0e3cd6 Using bsd.options.mk, add several common build-time options. The
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-22 00:10:51 +00:00
schmonz
1f5f23cb87 Cosmetic only: tab out the first few lines to the same indentation
level as the rest of the file.
2004-08-02 20:05:42 +00:00
schmonz
58c763f8c3 Add a "README.pkgsrc" document and refer to it in MESSAGE. Ride
the PKGREVISION bump from 12 hours ago.
2004-08-02 17:28:10 +00:00
schmonz
0183ac8132 The Mac OS X Panther patch needs a different PATCH_DIST_STRIP from
the netqmail patch.
2004-08-02 04:53:00 +00:00
schmonz
9da5a78de2 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 03:57:17 +00:00
schmonz
f863c03b03 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-21 22:35:59 +00:00
schmonz
d130ecc51b Explain why, after setting "command" in the usual way, we set it
again in foo_precmd() to a different value. This is an unusual
usage, and these comments may help if a future rc.subr isn't as
accommodating to such trickery. Suggested by lukem.
2004-04-27 03:05:09 +00:00
schmonz
f7e542297a Add revision 1.01 of Ward Vandewege's badrcptto patch. With this
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-24 05:29:36 +00:00
schmonz
9ea3810929 Remove ${QMAILDIR}/etc/rc.d/qmail{,smtpd} from PLIST, as RCD_SCRIPTS
are now automatically registered with installed packages.
2004-04-24 00:54:42 +00:00
schmonz
d1fca4d138 Take MAINTAINER at zuntum's suggestion. 2004-04-10 14:15:24 +00:00
schmonz
e95a82113e Note that one now has the additional rc.conf option of "qmailsmtpd=YES". 2004-04-10 05:53:31 +00:00
schmonz
fa7fdb69b2 Russ Nelson, Charles Cazabon, Dave Sill, Peter Samuel, and Henning
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-04-10 05:30:06 +00:00
snj
9a86f09f51 Supply a default mailq entry in mailer.conf.
Fixes PR pkg/21591.
2004-03-29 05:10:04 +00:00
jlam
b2677a2cb0 Add definitions for DEINSTALL_EXTRA_TMPL and INSTALL_EXTRA_TMPL if
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-08-30 22:51:11 +00:00
grant
0155927c43 s/netbsd.org/NetBSD.org/ 2003-07-17 21:41:05 +00:00
jlam
d7f69e47ce Instead of including bsd.pkg.install.mk directly in a package Makefile,
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>.
2003-01-28 22:03:00 +00:00
wiz
e8817c9088 Complete standardization of messages according to latest pkglint. 2002-09-24 12:29:55 +00:00
grant
0c5bb6abcc Make these scripts more portable by taking advantage of automatic rc.d
script handling and using @RCD_SCRIPTS_SHELL@.

as discussed with jlam.
2002-09-20 02:01:54 +00:00
jlam
5c053dd06a Take advantage of the auto-generation and installation of rc.d scripts. 2002-09-19 09:04:02 +00:00
jlam
e507190d0d When using bsd.pkg.install.mk, if a DEINSTALL or INSTALL file already
exists, then use it as the default value of DEINSTALL_EXTRA_TMPL or
INSTALL_EXTRA_TMPL.
2002-09-18 21:15:07 +00:00