patch to build spamass-milter with sendmail-sasl

Chris Rees crees at freebsd.org
Sat Aug 25 20:47:27 UTC 2012


On 25 August 2012 21:38, Curtis Villamizar <curtis at occnc.com> wrote:
>
> In message <CADLo839FeQroEt6r12+KgWgoUuj1gcNkanm-hqHVQSC2g8k-Ug at mail.gmail.com>
> Chris Rees writes:
>
>> On 23 August 2012 21:37, Lawrence K. Chen, P.Eng. <lkchen at ksu.edu> wrote:
>> > Just the patch I was looking for.
>> >
>> > ----- Original Message -----
>> >>
>> >> FYI-
>> >>
>> >> The mail/spamass-milter port won't build if the sendmail-sasl port
>> >> has
>> >> been built.  The patch below fixes this.
>> >>
>> >> The port maintainer is on the Cc.  No bug has been reported.
>>
>> Thanks for your patch Curtis; I've used it as a base for some further
>> tweaks, and sent a PR [1].
>>
>> Unfortunately you hadn't CC'd the correct maintainer, but this is not
>> a problem since the PR will email him for us.
>>
>> Chris
>>
>> [1] http://www.freebsd.org/cgi/query-pr.cgi?pr=170943
>
>
> There may be a better way to fix this - eliminate the need for the
> sendmail-sasl and sendmail-ldap ports by using the options framework
> in the sendmail port.  I used this diff to do that in a later build.
> (the first was amd64, the second i386).
>
> Curtis
>
>
> The following patch is to the Makefile in {/usr/ports/}mail/sendmail
> and only makes use of the port options framework to set options rather
> than having users either type them on the command line, or edit the
> makefile, or use pseudo ports like sendmail-sasl and sendmail-ldap to
> set a specific option.  The sendmail-sasl and sendmail-ldap should be
> marked as depricated in their makefiles.
>

[previous patch trimmed; can be found at [1]]

Ah... the use of slave ports (like -sasl) is to create handy packages
for those who use packages, as well as meaning that people can put
dependencies on certain OPTIONS.

Also, your code could be a little more brief;

# convert OPTIONS in WITH_* form to SENDMAIL_WITH_*
.if defined(WITH_IPV6)
SENDMAIL_WITH_IPV6=yes
.else
SENDMAIL_WITHOUT_IPV6=yes
.endif

should be using OPTIONSng, and a for loop:

.for o in ${PORT_OPTIONS}
.if ${PORT_OPTIONS:M$o}
SENDMAIL_WITH_$o=yes
.else
SENDMAIL_WITHOUT_$o=yes
.endif

To be honest, it's not really good enough to be hacking the Makefile
like this; if you would like to try a conversion to new-style OPTIONS
I would recommend reading [2], but before you put yourself through
this CHECK WITH THE MAINTAINER (CC'd) that such a patch would be
accepted!

I'm willing to help off-list if Dirk will accept a patch.

Chris

[1] http://lists.freebsd.org/pipermail/freebsd-ports/2012-August/077775.html

[2] http://www.freebsd.org/doc/en_US.ISO8859-1/books/porters-handbook/makefile-options.html#AEN2638


More information about the freebsd-ports mailing list