Bug 194786 - mail/postfix-current 2.12-20141020 compiled with -DNO_EAI under poudriere
Summary: mail/postfix-current 2.12-20141020 compiled with -DNO_EAI under poudriere
Status: Closed FIXED
Alias: None
Product: Ports & Packages
Classification: Unclassified
Component: Individual Port(s) (show other bugs)
Version: Latest
Hardware: Any Any
: --- Affects Some People
Assignee: Olli Hauer
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2014-11-03 15:22 UTC by Mark.Martinec
Modified: 2014-11-09 18:50 UTC (History)
1 user (show)

See Also:
Mark.Martinec: maintainer-feedback? (sahil)


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Mark.Martinec 2014-11-03 15:22:07 UTC
The current version of mail/postfix-current 2.12-20141020 is supposed
to provide support for internationalized addresses (EAI) and SMTPUTF8
by default, yet in a package produced under poudriere the EAI feature
is disabled, postfix complains:
  warning: smtputf8_enable is true, but EAI support is not compiled in

Looking at a build log it can be seen that EAI is explicitly disabled.
Here is just one of several 'cc' commands from the log, showing
the -DNO_EAI :

cc -I. -I../../include -DDEF_CONFIG_DIR=\"/usr/local/etc/postfix\" -DDEF_DAEMON_DIR=\"/usr/local/libexec/postfix\" -DDEF_META_DIR=\"/usr/local/libexec/postfix\" -DDEF_COMMAND_DIR=\"/usr/local/sbin\" -DDEF_SENDMAIL_PATH=\"/usr/local/sbin/sendmail\" -DDEF_NEWALIAS_PATH=\"/usr/local/bin/newaliases\" -DDEF_MAILQ_PATH=\"/usr/local/bin/mailq\" -DDEF_MANPAGE_DIR=\"/usr/local/man\" -DDEF_README_DIR=\"/usr/local/share/doc/postfix\" -DDEF_HTML_DIR=\"/usr/local/share/doc/postfix\" -DDEF_QUEUE_DIR=\"/var/spool/postfix\" -DDEF_DATA_DIR=\"/var/db/postfix\" -DDEF_MAIL_OWNER=\"postfix\" -DDEF_SGID_GROUP=\"maildrop\" -Wmissing-prototypes -Wformat -Wno-comment -DHAS_PCRE -I/usr/local/include -DUSE_SASL_AUTH -DUSE_CYRUS_SASL -I/usr/local/include -I/usr/local/include/sasl -DUSE_TLS -I/usr/include -I/usr/local/include/db5 -DHAS_CDB -I/usr/local/include -DHAS_LMDB -I/usr/local/include -DNO_EAI -DSNAPSHOT -UUSE_DYNAMIC_LIBS -DDEF_SHLIB_DIR=\"no\" -UUSE_DYNAMIC_MAPS   -O2 -pipe -fno-omit-frame-pointer -fstack-protector -fno-strict-a--- argv.o ---


The Postfix documentation ( http://www.postfix.org/INSTALL.html ) says:

  4.6 - Overriding other compile-time features

  -DNO_EAI  Do not build with EAI (SMTPUTF8) support. By default,
  EAI support is compiled in when the "icuuc" library and header
  files are found.

So my guess is that the "icuuc" library is not seen in a poudrirere
build environment.

Compiling (by portmaster) directly in a ports tree avoids the problem,
the resulting program is built with the EAI support.


Below is a beginning of my poudriere build log:

====>> Building mail/postfix-current
build started at Mon Nov  3 14:34:21 CET 2014
port directory: /usr/ports/mail/postfix-current
building for: FreeBSD 10amd64-srv-default-job-01 10.0-RELEASE FreeBSD 10.0-RELEASE amd64
maintained by: sahil@FreeBSD.org
Makefile ident:      $FreeBSD: head/mail/postfix-current/Makefile 372089 2014-11-02 21:09:26Z ohauer $
Poudriere version: 3.0.19
Host OSVERSION: 1001500
Jail OSVERSION: 1000510

---Begin Environment---
OSVERSION=1000510
UNAME_v=FreeBSD 10.0-RELEASE
UNAME_r=10.0-RELEASE
BLOCKSIZE=K
MAIL=/var/mail/root
STATUS=1
MASTERMNT=/big/poudriere/data/build/10amd64-srv-default/ref
PKG_EXT=txz
FORCE_PACKAGE=yes
PATH=/sbin:/bin:/usr/sbin:/usr/bin:/usr/games:/usr/local/sbin:/usr/local/bin:/root/bin
POUDRIERE_BUILD_TYPE=bulk
PKGNG=1
PKGNAME=postfix-current-2.12.20141020,4
PKG_DELETE=/usr/local/sbin/pkg-static delete -y -f
PKG_ADD=/usr/local/sbin/pkg-static add
PWD=/usr/local/jenkins/workspace/FreeBSD-10-amd64-server
MASTERNAME=10amd64-srv-default
USER=root
HOME=/root
POUDRIERE_VERSION=3.0.19
SKIPSANITY=0
LOCALBASE=/usr/local
PACKAGE_BUILDING=yes
PKG_BIN=/usr/local/sbin/pkg-static
---End Environment---

---Begin OPTIONS List---
===> The following configuration options are available for postfix-current-2.12.20141020,4:
     BDB=on: Berkeley DB (uses WITH_BDB_VER)
     CDB=on: CDB maps lookups
     DOCS=on: Build and/or install documentation
     INST_BASE=off: Install into /usr and /etc/postfix
     LDAP_SASL=off: OpenLDAP client-to-server SASL auth
     LMDB=on: LMDB maps
     MYSQL=off: MySQL maps (uses WITH_MYSQL_VER)
     NIS=off: NIS maps lookups
     OPENLDAP=off: OpenLDAP maps (uses WITH_OPENLDAP_VER)
     PCRE=on: Perl Compatible Regular Expressions
     PGSQL=off: PostgreSQL maps (uses DEFAULT_PGSQL_VER)
     SASL2=on: Cyrus SASLv2 (Simple Auth. and Sec. Layer)
     SPF=off: SPF support (via libspf2 1.2.x)
     SQLITE=off: SQLite maps
     TEST=on: SMTP/LMTP test server and generator
     TLS=on: SSL and TLS support
     VDA=off: VDA (Virtual Delivery Agent 32Bit)
====> Dovecot SASL authentication methods: you can only select none or one of them
     DOVECOT=off: Dovecot 1.x SASL authentication method
     DOVECOT2=off: Dovecot 2.x SASL authentication method
====> Kerberos network authentication protocol type: you can only select none or one of them
     SASLKRB5=off: If your SASL req. Kerberos5, select this
     SASLKMIT=off: If your SASL req. MIT Kerberos5, select this
===> Use 'make config' to modify these settings
---End OPTIONS List---
Comment 1 Bugzilla Automation freebsd_committer freebsd_triage 2014-11-03 15:22:07 UTC
Auto-assigned to maintainer sahil@FreeBSD.org
Comment 2 Olli Hauer freebsd_committer freebsd_triage 2014-11-09 17:17:11 UTC
Take it, as requested from sahil@ in PM, since he is busy at the moment.
Comment 3 commit-hook freebsd_committer freebsd_triage 2014-11-09 18:14:21 UTC
A commit references this bug:

Author: ohauer
Date: Sun Nov  9 18:13:20 UTC 2014
New revision: 372368
URL: https://svnweb.freebsd.org/changeset/ports/372368

Log:
  - update to 2.12-20141106
  - add OPTION for Email Address Internationalization
    (EAI, RFC 6531..6533) [1]
  - sort OPTIONS_DEFINE
  - fix build and install for non root users,
    (sgid and group for sbin/postdrop and sbin/postqueue was lost if build
     as non root and installed with sudo)
  - install /var/spool/postfix directories with correct owner/mode
  - use $WRKDIR instead of /tmp

  Changes:
  20141021
         Per IETF TLS WG consensus, the tls_session_ticket_cipher
         default setting was changed from aes-128-cbc to aes-256-cbc.
         Take that, you quantum computer attackers! Viktor Dukhovni.
         Files: proto/postconf.proto, global/mail_params.h.

  20141024
         Cleanup: added $smtpd_mumble_restrictions to the proxy_read_maps
         default setting. File: global/mail_params.h.

         Documentation: different header/body checks for MX service
         and SMTP submissions. File: proto/BUILTIN_FILTER_README.html.

         Cleanup: don't send "bare" original recipient in SMTP DSN
         attributes. File: cleanup/cleanup_addr.c.

         Feature: smtp-sink -N option to suppress DSN announcement.
         File: smtpstone/smtp-sink.c.

  20141025
         Bugfix (introduced: Postfix 2,11): core dump when
         smtp_policy_maps specifies an invalid TLS level. Viktor
         Dukhovni. File: smtp/smtp_tls_policy.c.

  20141103
         Logging: when a connection is closed, log the request counts
         for unimplemented STARTTLS or AUTH commands separately,
         instead of logging such commands as "unknown". File:
         smtpd/smtpd.c.

  20141106
         Cleanup: set errno to ETIMEDOUT after postscreen handshake
         timeout event, so that warnings report the correct error.
         File: tlsproxy/tlsproxy.c.

  PR:		194786 [1]
  Submitted by:	Mark Martinec
  Approved by:	sahil (imlicit)

Changes:
  head/mail/postfix-current/Makefile
  head/mail/postfix-current/distinfo
  head/mail/postfix-current/pkg-plist