Which is superceeding when installing from ports: make.conf or port options?

I am still messing around with learning ports et al and using Dovecot for my testing. This time I completely unchecked everything in the config menu, including the option for building with IPv6.

However, it looks like make doesn't like it and complains with:
Code:
configure: WARNING: unrecognized options: --disable-ipv6, --without-deliver

And if I run 'dovecot --build-options' I get:
Code:
# dovecot --build-options
Build options: ioloop=kqueue notify=kqueue ipv6
Mail storages: cydir dbox maildir mbox raw shared
SQL drivers:
Passdb: checkpassword pam passwd passwd-file
Userdb: nss passwd passwd-file prefetch static
So ipv6 was built. Which leads me to my best guess is that /etc/make.conf is superceeding the locally set options in the ports .. perhaps?

It makes me no difference either way, but I got to thinking, what if I didn't want IPv6 built. Why is the --disable-ipv6 option there if it is not going to be obeyed?
 
The order for pulling in and setting options is:
  1. /etc/make.conf
  2. port Makefile
  3. port OPTIONS
  4. command-line

How did you set "--disable-ipv6"?
 
phoenix said:
The order for pulling in and setting options is:
So does that mean that last option to set wins?
phoenix said:
How did you set "--disable-ipv6"?
The options menu for Dovecot has IPv6 automatically selected and I deselected it.
 

Attachments

  • Dovecot Options.PNG
    Dovecot Options.PNG
    7.8 KB · Views: 268
Looks like those options are no-op now. dovecot's configure doesn't list ipv6 and deliver as something optional. Try contacting maintainer of the port (make -V MAINTAINER -C /usr/ports/mail/dovecot).
 
crsd said:
Looks like those options are no-op now. dovecot's configure doesn't list ipv6 and deliver as something optional.
Thanks for posting, but I don't understand what 'no-op' means or how you figured that out. If you could elaborate some that would be nice.

:)

When I read the Makefile for Dovecot I saw:
Code:
OPTIONS=        KQUEUE          "kqueue(2) support"     on  \
                SSL             "SSL support"           on  \
                IPV6            "IPv6 support"          on  \
                LDA             "LDA support"           on  \
                MANAGESIEVE     "ManageSieve support"   on  \
                GSSAPI          "GSSAPI support"        off \
                VPOPMAIL        "VPopMail support"      off \
                BDB             "BerkleyDB support"     off \
                LDAP            "OpenLDAP support"      off \
                PGSQL           "PostgreSQL support"    off \
                MYSQL           "MySQL support"         off \
                SQLITE          "SQLite support"        off
... and this was in there for IPv6:
Code:
## IPv6 support
#
.if defined(WITHOUT_IPV6)
CONFIGURE_ARGS+=        --disable-ipv6
.endif
 
I mean that if you run [cmd=""]./configure --help[/cmd] in /usr/ports/mail/dovecot/work/dovecot-.../, ipv6 and deliver options aren't listed, looks like they were made non-optional by dovecot's author.
 
Thanks to phoenix and crsd for your posts! It sure helps me get my head wrapped around this stuff.
 
Back
Top