Commit graph

169 commits

Author SHA1 Message Date
schmonz
dcd35d6d1c Apply the "tai-leapsecs" patch iff the 'tai-system-clock' option is set
(off by default). Bump PKGREVISION.
2019-01-17 22:49:12 +00:00
schmonz
f094649abc Add Toby Betts' "tai-leapsecs" patch to handle leap seconds correctly
when the system clock is set to TAI (and a libtai dependency to get
leapsecs.dat). While here, catch up to his latest maildiruniq patch.

Let an installed ucspi-tcp6 satisfy the ucspi-tcp dependency for
non-'inet6' builds.

Bump PKGREVISION.
2019-01-09 19:32:07 +00:00
schmonz
0c5192fa02 Bump destdir patch to build on OpenBSD. No functional change elsewhere. 2018-12-17 19:15:33 +00:00
schmonz
679c338b4c Avoid the -O (to stdout) tar option, as it's not sufficiently portable.
While here, append the specific patch file (not just the distribution)
to the qmail-spp QMAILPATCHES entry.
2018-12-16 23:46:44 +00:00
schmonz
7a5727c8f8 Just set CFLAGS.Darwin in Makefile. 2018-12-13 05:05:05 +00:00
schmonz
24a5351087 Explicitly buildlink-depend on openssl<1.1. Fixes build on
NetBSD-current (by adding dependency on security/openssl to get a
sufficiently old version). NFCI elsewhere.
2018-12-13 05:01:55 +00:00
schmonz
3557e4ae46 Take responsibility from qmail-run for creating and removing the basic
config files and aliases. Bump PKGREVISION.
2018-12-04 17:01:39 +00:00
schmonz
71e3a22671 Fix obvious bug in is_queue_fs_case_sensitive(). 2018-11-25 16:15:53 +00:00
schmonz
e1b2b69350 Entab previous. 2018-11-14 16:44:13 +00:00
schmonz
c07823e719 Build and install config-fast-pkgsrc, which is like config-fast but
installs the generated files elsewhere, so we can simulate
CONF_FILES-like behavior. qmail-run will switch to config-fast-pkgsrc.
We'll take advantage to deinstall these config files (as well as the
three basic .qmail files in ~alias) provided they haven't been changed.

Both of these commands stop leaving leftovers in ${PKG_SYSCONFDIR}:

# pkg_add qmail && pkg_delete qmail
# pkg_add qmail-run && pkg_delete -r qmail

While here, warn if the queue directory is on a case-insensitive
filesystem. Probably not gonna work perfectly.

Bump PKGREVISION.
2018-11-14 16:43:17 +00:00
schmonz
f1c346cdb7 Move patches long since non-optional out of options.mk. 2018-11-10 16:42:52 +00:00
schmonz
c73a470db2 Make PATCH_DIST_CAT.${SPP_PATCH} more portable. Fixes at least NetBSD. 2018-11-10 16:27:18 +00:00
schmonz
cc46117aaf Add a new non-optional patch: qmail-spp, a generic plugin interface for
qmail-smtpd (tweaked to tolerate the absence of a config file).

The RCPTCHECK patch is a logical subset of SPP with a slightly different
interface, and conflicts with SPP. Remove RCPTCHECK.

Bump PKGREVISION.
2018-11-10 15:29:01 +00:00
schmonz
990becf16c Provide a TLS patch without the qmail-smtpd portion, as acceptutils
20181108 implements STARTTLS in fixsmtpio(8). Rebase EAI patch onto
TLS-onlyremote. Switch back to upstream for RCPTCHECK, which applies
cleanly again. Bump PKGREVISION.
2018-11-08 20:58:08 +00:00
schmonz
6253176e63 Fix build with "eai -tls" option combination. 2018-10-25 14:02:37 +00:00
schmonz
34bcb0be30 We've been stuck on a TLS implementation from 2007 because the TLS
patch and the AUTH patch conflict, nobody else has published a newer
hand-merged combo patch, and as it happens, I'd apparently rather
write a pile of new DJB-style C than make myself responsible for
hand-merging other people's security-sensitive code every time there's
a new TLS patch.

Now that we have AUTH without patching (see mail/qmail-acceptutils), the
"sasl" option goes away, we're finally on the most recent TLS patch
available, and when it's updated it'll be easy for us to keep up.

Rebase RCPTCHECK and EAI patches onto netqmail-with-TLS-and-no-AUTH.

Bump PKGREVISION.
2018-10-24 13:32:26 +00:00
schmonz
dc734a5ce0 Actually generate the promised key sizes. Ride previous bump. 2018-09-14 16:44:09 +00:00
schmonz
f7f0927f99 The latest upstream TLS patch (netqmail-1.06-tls-20160918.patch, not yet
in pkgsrc) has bumped key sizes to 2048 bits. Do likewise. Bump PKGREVISION.
2018-09-14 09:01:53 +00:00
schmonz
59c4fc1a52 Depend on new enough sysutils/checkpassword{,-pam} such that qmail-run
can (by itself depending on pkgtools/pkg_alternatives) expect to find
"nbcheckpassword".

Remove 'qmail-rejectutils' option, which will become an unconditional
dependency in qmail-run.

Bump PKGREVISION.
2018-08-01 07:10:27 +00:00
schmonz
2566f67740 Add 'inet6' and 'pam' options to control dependencies on ucspi-tcp{6,}
and checkpassword{-pam,}. Add dependency on ucspi-ssl to 'tls' option.
Bump PKGREVISION.
2018-07-29 23:26:44 +00:00
schmonz
b81dab190f Add dependency on checkpassword-pam, since checkpassword is not yet licensed.
Ride previous PKGREVISION bump.
2018-07-25 16:42:36 +00:00
schmonz
d30d86a398 s/ucspi-tcp/ucspi-tcp6/g in dependencies. Bump PKGREVISIONs. 2018-07-25 16:32:34 +00:00
jperkin
5393242c73 *: Move SUBST_STAGE from post-patch to pre-configure
Performing substitutions during post-patch breaks tools such as mkpatches,
making it very difficult to regenerate correct patches after making changes,
and often leading to substituted string replacements being committed.
2018-07-04 13:40:07 +00:00
schmonz
0163fa74c5 Remove vestiges of rejectutils patch, missed in previous. 2018-05-28 23:39:16 +00:00
schmonz
354089cb68 Extract qmail-rejectutils to standalone package. Bump PKGREVISION. 2018-05-28 12:57:36 +00:00
rillig
b381c6e2f3 Sort PLIST files.
Unsorted entries in PLIST files have generated a pkglint warning for at
least 12 years. Somewhat more recently, pkglint has learned to sort
PLIST files automatically. Since pkglint 5.4.23, the sorting is only
done in obvious, simple cases. These have been applied by running:

  pkglint -Cnone,PLIST -Wnone,plist-sort -r -F
2018-01-01 22:29:15 +00:00
schmonz
0b29d5023c Remove compatibility mappings for options retired in 2017Q2. 2017-10-29 00:46:14 +00:00
schmonz
15ac330ba5 Update to netqmail-1.06-qbiffutmpx-20170820.patch. Should fix EL7 bulk
build. No functional change elsewhere.
2017-08-19 22:11:43 +00:00
schmonz
0401ca3d9d Update to 1.03nb32. pkgsrc changes:
- Apply the qbiff-utmpx patch to (probably) fix build on FreeBSD
- Enable "qmail-srs" by default
- Add "qmail-customerror", enabled by default
- Move TLS config steps from INSTALL to MESSAGE.tls
2017-08-13 23:42:55 +00:00
schmonz
a94af901f3 Let binary packages built with MANZ install to completion by informing
install-destdir and instcheck about the .gz extensions. While here,
handle INSTALL and SENDMAIL docs on case-insensitive filesystems in a
more straightforward way. Bump PKGREVISION.
2017-08-03 03:20:57 +00:00
schmonz
c093965805 With the enabled-by-default "eai" option, outbound message headers were
being terminated with bare LFs, getting tempfailed by some SMTP servers
(such as qmail!), and getting stuck in the local queue. Tweak the EAI
patch to terminate header lines with CRLF, as unpatched qmail-remote
would have done. Submitted upstream. Bump PKGREVISION.
2017-08-01 02:53:59 +00:00
schmonz
ea7400da80 Set PKG_{USER,GROUP}S_VARS. 2017-07-27 04:58:31 +00:00
schmonz
ba50ae153c Use SUBST_VARS where applicable. 2017-07-27 02:18:05 +00:00
schmonz
3aafb73dc2 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 04:07:01 +00:00
schmonz
7be59959d2 Add optional QMAILREMOTE patch. Bump PKGREVISION. 2017-05-22 17:18:32 +00:00
schmonz
80cb0f580b Honor custom values of ${QMAIL_DAEMON_USER} and ${QMAIL_QMAIL_GROUP}. 2017-04-27 20:35:10 +00:00
schmonz
8f75a54640 Remove dependency on sysutils/checkpassword. In the default install it's
used only for qmail-pop3d, which is likely not being used much anymore.
Other installs might need a different implementation of checkpassword
anyhow. And this implementation is not (yet?) in the public domain, so
it's blocking us from publishing binary packages of qmail.

Unless (until?) sysutils/checkpassword becomes "public-domain", it
remains under "djb-nonlicense". If you continue to need it, since you've
already accepted the nonlicense, simply install it directly.

I believe this package and all its remaining dependencies are now in
DEFAULT_ACCEPTABLE_LICENSES. Bump PKGREVISION.
2017-04-08 18:22:51 +00:00
schmonz
3c799aa9cf Give absolute path to srsfilter. From Nathan Arthur in private mail. 2017-04-04 14:58:06 +00:00
schmonz
cbbfeb5838 Substitute configured qmail users and groups (defaults haven't changed).
Bump dependency on queue-fix to a version that does likewise.
Bump PKGREVISION.
2017-04-04 07:50:18 +00:00
schmonz
1bfed9f777 Add "qmail-srs" option to apply the Sender Rewriting Scheme patch,
requested by Nathan Arthur. Bump PKGREVISION.
2017-03-31 13:52:00 +00:00
schmonz
1b318cd9b9 To make the newly useful binary package a bit more useful, enable
qmail-{bigdns,realrcptto} (in addition to qmail-netqmail) by default.
These are conservative choices: small patches that make qmail behave
more like it probably wanted to without breaking existing systems,
adding attack surface, or failing on some platforms we support.

Bump PKGREVISION.
2017-03-29 13:26:05 +00:00
schmonz
0944c1409f Add qmail-maildiruniq and qmail-rcptcheck options, off by default. Since
we no longer stage-install as root, instcheck is noise; skip it. Mollify
pkglint. Bump PKGREVISION.
2017-03-23 07:24:48 +00:00
schmonz
c287229d51 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 16:23:19 +00:00
schmonz
835b896082 Look up user/group IDs at runtime.
This lets us defer USERGROUP_PHASE to "pre-install", and is a step
closer to having the qmail users and groups be created at pkg_add time
(as with binary packages of typical software needing users and groups).

Based on Paul Fox's getpwnam.patch for qmail 0.96.
2017-03-10 03:13:29 +00:00
schmonz
fdb38fd224 Add SHA512 digests for remaining patches. 2016-12-15 11:49:35 +00:00
schmonz
1d9aee76cc Add SHA512 digests for some patches. 2016-12-15 11:44:15 +00:00
joerg
aea50c92b8 Adjust checks for _USE_DESTDIR != no or incorrect references to
USE_DESTDIR.
2016-04-10 16:39:27 +00:00
jperkin
17661ff9a5 Bump PKGREVISION for security/openssl ABI bump. 2016-03-05 11:27:40 +00:00
jperkin
16bfc92aac Use OPSYSVARS. 2016-02-25 15:00:50 +00:00
agc
ddbf6ddecd Add SHA512 digests for distfiles for mail category
Problems found locating distfiles:
	Package mutt: missing distfile patch-1.5.24.rr.compressed.gz
	Package p5-Email-Valid: missing distfile Email-Valid-1.198.tar.gz
	Package pine: missing distfile fancy.patch.gz
	Package postgrey: missing distfile targrey-0.31-postgrey-1.34.patch
	Package qmail: missing distfile badrcptto.patch
	Package qmail: missing distfile outgoingip.patch
	Package qmail: missing distfile qmail-1.03-realrcptto-2006.12.10.patch
	Package qmail: missing distfile qmail-smtpd-viruscan-1.3.patch
	Package thunderbird24: missing distfile enigmail-1.7.2.tar.gz
	Package thunderbird31: missing distfile enigmail-1.7.2.tar.gz

Otherwise, existing SHA1 digests verified and found to be the same on
the machine holding the existing distfiles (morden).  All existing
SHA1 digests retained for now as an audit trail.
2015-11-03 23:27:00 +00:00