EHLO, We have plans to refactor and improve the autotools/portable layer which has grown horrible after years of copy/pasting from existing projects...
Before we open the guts and axe big chunks, we want to cleanup the parts that are visible to users so that our other changes can happen slowly in the background. This will change packaging a bit and therefore here is a mail to explain some of the changes that will start rolling in upcoming snapshots. These are not definitive and you are free to make further suggestions but this is the way we're going so far and we'd like to be part of next release. 1- First of all, kill the --with-mailwrapper option --------------------------------------------------- Depending on your system, you may or may not have a `mailwrapper' system which allows it to hide the details of which MTA is in use. If you have one and build with --with-mailwrapper then OpenSMTPD doesn't install mailq & newaliases as they are really special modes of smtpctl & makemap which are handled by the mailwrapper. If you don't have one, then OpenSMTPD creates symlinks so the newaliases utility is linked to makemap and so mailq is linked to smtpctl. This led to issues with `make install' and how to cope properly with the utilities that are installed. Furthermore, sunil@ worked to merge `makemap' inside 'smtpctl', which is a good thing, but creates more mess when it comes with the symlink magic mess. We decided to kill the --with-mailwrapper option, it can't be done right in a generic way, so OpenSMTPD will install `smtpd' and `smtpctl' and it is up to the package maintainers to decide if `makemap' and `newaliases' are needed and if they will be installed as symbolic/hard links, or as a mailwrapper entry. 2- Cleanup configure flags -------------------------- The configure options have been a big mess, all mixed up, and the naming convention from an option to a similar option varies a lot. here's a sample ofthe `configure --help` output of our latest release: Optional Features: --enable-table-db Enable building of table-db backend Optional Packages: --with-zlib=PATH Use zlib in PATH --without-zlib-version-check Disable zlib version check --with-ssl-dir=PATH Specify path to LibreSSL installation --without-libressl-header-check Disable LibreSSL version consistency check --with-pam Enable PAM support --with-pam-service=service Specify PAM service --with-privsep-user=user Specify non-privileged user for privilege separation --with-queue-user=user Specify non-privileged user for queue process --with-privsep-path=xxx Path for privilege separation chroot (default=/var/empty) --with-maildir=/path/to/mail Specify your system mail directory --with-mantype=man|cat|doc Set man page type --with-bsd-auth Enable BSD auth support --with-sock-dir=PATH Specify location of smtpd.sock file --with-ca-file=FILE Path for certificate file (default=/etc/ssl/cert.pem) --with-spooldir=PATH Specify location of spooler directory --with-libevent-dir=PATH Specify path to libevent installation --with-asr=PATH Use asr in PATH --with-mailwrapper Install smtpctl and makemap utilities in libexec libraries are mixed, some are named --with-X-dir, others not, some contains 'lib' in the name, others not. the wording differs between two identical options, some refer to path, others to dir. it's just messy. Here's a first stab at an improved configure: Optional Packages: --with-mantype=man|cat|doc Set man page type --with-auth-bsdauth Enable bsd_auth(3) authentication support --with-auth-pam=SERVICE Enable PAM authentication support (default=smtpd) --with-user-smtpd=user Specify non-privileged user for smtpd (default=_smtpd) --with-user-queue=user Specify non-privileged user for queue process (default=_smtpq) --with-group-queue=group Specify non-privileged group for offline queue (default=_smtpq) --with-path-queue=PATH Specify path to queue directory (default=/var/spool/smtpd) --with-path-empty=PATH Specify path to empty directory (default=/var/empty) --with-path-mbox=PATH Specify path to mbox directory (default=/var/spool/mail) --with-path-socket=PATH Specify path to smtpd.sock directory (default=/var/run) --with-path-CAfile=FILE Specify path to CA certificate (default=/etc/ssl/cert.pem) --with-libasr=PATH Specify path to libasr installation --with-libevent=PATH Specify path to libevent installation --with-libssl=PATH Specify path to libssl installation --with-libz=PATH Specify path to libz installation --with-table-db Enable building of table-db backend (default=no) This will require changing pretty much every option you used so far, but the naming convention becomes more ... clear. This is what we have in our development branch currently, it would be really great if you could test, confirm that it works as you think it should, etc... I'd like our next release to ship with this. -- Gilles Chehade https://www.poolp.org @poolpOrg -- You received this mail because you are subscribed to [email protected] To unsubscribe, send a mail to: [email protected]
