Subject: Re: CVS commit: pkgsrc/mail/msmtp
To: Todd Vierling <tv@duh.org>
From: Dieter Baron <dillo@danbala.tuwien.ac.at>
List: tech-pkg
Date: 08/29/2005 21:17:01
hi,

> > : Only one SSL scheme can be used.  Default to (and prefer) OpenSSL; allow
> > : fallback to gnutls of ssl is not set in OPTIONS.
> >
> >   Please use PKG_OPTIONS_GROUP for this:
> >
> > PKG_OPTIONS_OPTIONAL_GROUPS=ssl
> > PKG_OPTIONS_GROUP.ssl=ssl gnutls
> 
> The intent is that if both are specified, it DOES NOT break, and chooses the
> preferred default automatically.

  The intent of option groups is that it DOES NOT break, and chooses
the option specified ``later'' (e.g. in the package specific options
variable rather than PKG_DEFAULT_OPTIONS).

> I am trying to *remove* mutually exclusive groups where possible so that
> PKG_DEFAULT_OPTIONS can contain all of them without breaking packages.

  These options *are* mutually exclusive: You cannot enable support
for both of them at the same time.  Option groups are designed
specifically to deal with situations like this.  Packages do not break
if PKG_DEFAULT_OPTIONS contains all of them.  Please read the relevant
documentation (in the pkgsrc guide and bsd.options.mk) and the threads
on tech-pkg that lead to the implementation of option groups.  (In
short: Having to specify ``gnutls -ssl'' for gnutls to take effect is
both unintuitive and unwanted.)

  It is a goal of pkgsrc to offer a uniform interface to the user.
The uniform interface for mutally exclusive options are option groups.
If you have issues with this interface, please raise them on tech-pkg,
but do not ignore it.

						yours,
						dillo