View | Details | Raw Unified | Return to bug 255809 | Differences between
and this patch

Collapse All | Expand All

(-)b/mail/postfix35/Makefile (-91 / +110 lines)
Lines 15-85 MASTER_SITES:= ${MASTER_SITES:S|$|official/|} Link Here
15
DIST_SUBDIR=	${PORTNAME}
15
DIST_SUBDIR=	${PORTNAME}
16
16
17
MAINTAINER=	otis@FreeBSD.org
17
MAINTAINER=	otis@FreeBSD.org
18
COMMENT=	Secure alternative to widely-used Sendmail
18
COMMENT=	Secure alternative to widely-used Sendmaill ${COMMENT_${FLAVOR}}
19
19
20
LICENSE=	EPL IPL10
20
LICENSE=	EPL IPL10
21
LICENSE_COMB=	multi
21
LICENSE_COMB=	multi
22
LICENSE_FILE=	${WRKSRC}/LICENSE
23
LICENSE_NAME_IPL10=	IBM PUBLIC LICENSE VERSION 1.0
22
LICENSE_NAME_IPL10=	IBM PUBLIC LICENSE VERSION 1.0
23
LICENSE_FILE=	${WRKSRC}/LICENSE
24
LICENSE_PERMS_IPL10=	dist-mirror dist-sell pkg-mirror pkg-sell auto-accept
24
LICENSE_PERMS_IPL10=	dist-mirror dist-sell pkg-mirror pkg-sell auto-accept
25
25
26
DEPRECATED=	It is only here until FreeBSD 11 is EoL (Postfix >= 3.6 requires OpenSSL >= 1.1.x)
26
DEPRECATED=	It is only here until FreeBSD 11 is EoL (Postfix >= 3.6 requires OpenSSL >= 1.1.x)
27
EXPIRATION_DATE=2021-09-30
27
EXPIRATION_DATE=	2021-09-30
28
28
29
PORTSCOUT=	limit:^3\.5\.
29
FLAVORS=			default ldap_sasl sasl
30
30
default_PKGNAMESUFFIX=		35
31
CONFLICTS_INSTALL?=	courier-0.* opensmtpd-[0-9]* sendmail-8.* sendmail+*-8.* \
31
default_CONFLICTS_INSTALL=	postfix35-base-ldap-sasl-* \
32
		postfix-* postfix-current-*
32
				postfix35-base-sasl-* postfix35-ldap-sasl-* \
33
				postfix35-sasl-*
34
ldap_sasl_PKGNAMESUFFIX=	35-ldap-sasl
35
ldap_sasl_CONFLICTS_INSTALL=	postfix35-[0-9] postfix35-base-[0-9] \
36
				postfix35-base-sasl postfix35-sasl-*
37
sasl_PKGNAMESUFFIX=		35-sasl
38
sasl_CONFLICTS_INSTALL=		postfix35-[0-9] postfix35-base-[0-9] \
39
				postfix35-base-ldap-sasl-* \
40
				postfix35-ldap-sasl-*
41
42
COMMENT_ldap_sasl=	(with OpenLDAP and Cyrus SASL support)
43
COMMENT_sasl=		(with Cyrus SASL support)
44
45
USES=		cpe shebangfix
46
USE_RC_SUBR=	postfix
47
USE_SUBMAKE=	yes
33
48
34
USERS=		postfix
35
GROUPS=		mail maildrop postfix
36
USES=		shebangfix cpe
37
SHEBANG_FILES=	auxiliary/qshape/qshape.pl
49
SHEBANG_FILES=	auxiliary/qshape/qshape.pl
38
50
39
USE_RC_SUBR=	postfix
40
USE_SUBMAKE=	yes
41
SCRIPTS_ENV+=	POSTFIX_DEFAULT_MTA="${POSTFIX_DEFAULT_MTA}"
51
SCRIPTS_ENV+=	POSTFIX_DEFAULT_MTA="${POSTFIX_DEFAULT_MTA}"
42
52
43
OPTIONS_SUB=	yes
53
CONFLICTS_INSTALL=	courier-0.* opensmtpd-[0-9]* opensmtpd-devel-* \
44
OPTIONS_DEFINE=	BDB BLACKLISTD CDB DOCS EAI INST_BASE LDAP LDAP_SASL \
54
			postfix-[0-9]* postfix-base-* postfix-current-* \
45
		LMDB MYSQL NIS PCRE PGSQL SASL SQLITE TEST TLS
55
			sendmail-[0-9]* sendmail-devel-*
46
56
47
OPTIONS_RADIO=		RG1
57
PORTSCOUT=	limit:^3\.5\.
48
OPTIONS_RADIO_RG1=	SASLKRB5 SASLKMIT
49
OPTIONS_DEFAULT?=	BLACKLISTD EAI PCRE TLS
50
58
51
BDB_USES=		bdb
59
USERS=		postfix
52
BLACKLISTD_EXTRA_PATCHES=	${FILESDIR}/extra-patch-blacklistd
60
GROUPS=		mail maildrop postfix
53
CDB_LIB_DEPENDS=	libcdb.so:databases/tinycdb
61
54
EAI_LIB_DEPENDS=	libicuuc.so:devel/icu
62
OPTIONS_DEFINE=		BDB BLACKLISTD CDB DOCS EAI INST_BASE LDAP LDAP_SASL \
55
LDAP_USE=		OPENLDAP=yes
63
			LMDB MYSQL NIS PCRE PGSQL SASL SQLITE TEST TLS
56
LMDB_LIB_DEPENDS=	liblmdb.so:databases/lmdb
64
OPTIONS_DEFAULT?=	BLACKLISTD EAI PCRE TLS
57
MYSQL_USES?=		mysql
65
OPTIONS_RADIO=		RG1
58
PCRE_LIB_DEPENDS=	libpcre.so:devel/pcre
66
OPTIONS_RADIO_RG1=	SASLKMIT SASLKRB5
59
PGSQL_USES=		pgsql
67
.if ${FLAVOR:U} == ldap_sasl
60
SASLKMIT_LIB_DEPENDS=	libkrb5.so:security/krb5
68
OPTIONS_SLAVE=		LDAP LDAP_SASL SASL
61
SASL_LIB_DEPENDS=	libsasl2.so:security/cyrus-sasl2
69
.elif ${FLAVOR:U} == sasl
62
SQLITE_USES=		sqlite
70
OPTIONS_SLAVE=		SASL
63
TLS_USES=		ssl
71
.endif
72
OPTIONS_SUB=		yes
64
73
65
BLACKLISTD_DESC=	Enable blacklistd support (FreeBSD 11.0 and later only)
74
BLACKLISTD_DESC=	Enable blacklistd support (FreeBSD 11.0 and later only)
66
CDB_DESC=	CDB maps lookups
75
CDB_DESC=		CDB maps lookups
67
EAI_DESC=	Email Address Internationalization (SMTPUTF8) support
76
EAI_DESC=		Email Address Internationalization (SMTPUTF8) support
68
INST_BASE_DESC=	Install into /usr and /etc/postfix
77
INST_BASE_DESC=		Install into /usr and /etc/postfix
69
LDAP_DESC=	LDAP maps (uses WITH_OPENLDAP_VER)
78
LDAP_DESC=		LDAP maps (uses WITH_OPENLDAP_VER)
70
LDAP_SASL_DESC=	LDAP client-to-server SASL auth
79
LDAP_SASL_DESC=		LDAP client-to-server SASL auth
71
LMDB_DESC=	LMDB maps
80
LMDB_DESC=		LMDB maps
72
TEST_DESC=	SMTP/LMTP test server and generator
81
RG1_DESC=		Kerberos network authentication protocol type
73
82
SASLKMIT_DESC=		If your SASL req. MIT Kerberos5, select this
74
SASL_DESC=	Cyrus SASL support (Dovecot SASL is always built in)
83
SASLKRB5_DESC=		If your SASL req. Kerberos5, select this
75
RG1_DESC=	Kerberos network authentication protocol type
84
SASL_DESC=		Cyrus SASL support (Dovecot SASL is always built in)
76
SASLKRB5_DESC=	If your SASL req. Kerberos5, select this
85
TEST_DESC=		SMTP/LMTP test server and generator
77
SASLKMIT_DESC=	If your SASL req. MIT Kerberos5, select this
86
87
BDB_USES=			bdb
88
BLACKLISTD_EXTRA_PATCHES=	${FILESDIR}/extra-patch-blacklistd
89
CDB_LIB_DEPENDS=		libcdb.so:databases/tinycdb
90
EAI_LIB_DEPENDS=		libicuuc.so:devel/icu
91
LDAP_USE=			OPENLDAP=yes
92
LMDB_LIB_DEPENDS=		liblmdb.so:databases/lmdb
93
MYSQL_USES?=			mysql
94
PCRE_LIB_DEPENDS=		libpcre.so:devel/pcre
95
PGSQL_USES=			pgsql
96
SASLKMIT_LIB_DEPENDS=		libkrb5.so:security/krb5
97
SASL_LIB_DEPENDS=		libsasl2.so:security/cyrus-sasl2
98
SQLITE_USES=			sqlite
99
TLS_USES=			ssl
78
100
79
.include <bsd.port.options.mk>
101
.include <bsd.port.options.mk>
80
102
81
HTML1=	body_checks.5.html bounce.5.html postfix-power.png \
103
HTML1=		body_checks.5.html bounce.5.html postfix-power.png \
82
	scache.8.html tlsmgr.8.html
104
		scache.8.html tlsmgr.8.html
83
105
84
STRIP_LIBEXEC=	anvil bounce cleanup discard dnsblog error flush lmtp local \
106
STRIP_LIBEXEC=	anvil bounce cleanup discard dnsblog error flush lmtp local \
85
		master nqmgr oqmgr pickup pipe postlogd postscreen proxymap \
107
		master nqmgr oqmgr pickup pipe postlogd postscreen proxymap \
Lines 93-99 MAKEFILEFLAGS+= DEBUG= Link Here
93
MAKEFILEFLAGS+=	pie=yes CC="${CC}" OPT="${CFLAGS}"
115
MAKEFILEFLAGS+=	pie=yes CC="${CC}" OPT="${CFLAGS}"
94
116
95
.if ${PORT_OPTIONS:MINST_BASE}
117
.if ${PORT_OPTIONS:MINST_BASE}
118
.if ${FLAVOR:U} == ldap_sasl
119
PKGNAMESUFFIX=	35-base-ldap-sasl
120
.elif ${FLAVOR:U} == sasl
121
PKGNAMESUFFIX=	35-base-sasl
122
.else
96
PKGNAMESUFFIX=	35-base
123
PKGNAMESUFFIX=	35-base
124
.endif
97
PREFIX=		/usr
125
PREFIX=		/usr
98
ETCDIR=		/etc/postfix
126
ETCDIR=		/etc/postfix
99
PLIST_SUB+=	BMAN="share/"
127
PLIST_SUB+=	BMAN="share/"
Lines 106-114 PLIST_SUB+= PFETC=${ETCDIR} Link Here
106
134
107
# check if mailwrapper supports $LOCALBASE
135
# check if mailwrapper supports $LOCALBASE
108
.if ${OPSYS} == FreeBSD
136
.if ${OPSYS} == FreeBSD
109
SUB_LIST+=	USE_LOCALBASE_MAILER_CONF="yes" MC_PREFIX="${LOCALBASE}"
137
SUB_LIST+=	MC_PREFIX="${LOCALBASE}" \
138
		USE_LOCALBASE_MAILER_CONF="yes"
110
.else
139
.else
111
SUB_LIST+=	USE_LOCALBASE_MAILER_CONF="no" MC_PREFIX=""
140
SUB_LIST+=	MC_PREFIX="" \
141
		USE_LOCALBASE_MAILER_CONF="no"
112
.endif
142
.endif
113
143
114
.if ${PORT_OPTIONS:MDOCS}
144
.if ${PORT_OPTIONS:MDOCS}
Lines 119-152 READMEDIR= no Link Here
119
.endif
149
.endif
120
150
121
# dynamic direcory location
151
# dynamic direcory location
122
DAEMONDIR=	${PREFIX}/libexec/postfix
152
DAEMONDIR=		${PREFIX}/libexec/postfix
123
SHLIB_DIRECTORY=${PREFIX}/lib/postfix
153
SHLIB_DIRECTORY=	${PREFIX}/lib/postfix
124
# new proposed location is ETCDIR (see README_FILES/INSTALL)
154
# new proposed location is ETCDIR (see README_FILES/INSTALL)
125
# keep compatiblity with Postfix 2.6 .. 2.11 and use DAEMOMDIR
155
# keep compatiblity with Postfix 2.6 .. 2.11 and use DAEMOMDIR
126
META_DIRECTORY=	${DAEMONDIR}
156
META_DIRECTORY=		${DAEMONDIR}
127
157
128
SUB_LIST+=	REQUIRE="${_REQUIRE}" READMEDIR="${READMEDIR}" \
158
SUB_LIST+=	DAEMONDIR="${DAEMONDIR}" \
129
		DAEMONDIR="${DAEMONDIR}" META_DIRECTORY="${META_DIRECTORY}"
159
		META_DIRECTORY="${META_DIRECTORY}" \
130
SUB_FILES+=	pkg-install pkg-message mailer.conf.postfix
160
		READMEDIR="${READMEDIR}" \
131
161
		REQUIRE="${_REQUIRE}"
132
POSTFIX_CCARGS+=	-DDEF_CONFIG_DIR=\\\"${ETCDIR}\\\" \
162
SUB_FILES+=	mailer.conf.postfix pkg-install pkg-message
133
			-DDEF_DAEMON_DIR=\\\"${DAEMONDIR}\\\" \
163
134
			-DDEF_META_DIR=\\\"${META_DIRECTORY}\\\" \
164
POSTFIX_CCARGS+=	-DDEF_CONFIG_DIR=\\\"${ETCDIR}\\\" -DDEF_DAEMON_DIR=\\\"${DAEMONDIR}\\\" -DDEF_META_DIR=\\\"${META_DIRECTORY}\\\" -DDEF_COMMAND_DIR=\\\"${PREFIX}/sbin\\\" -DDEF_SENDMAIL_PATH=\\\"${PREFIX}/sbin/sendmail\\\" -DDEF_NEWALIAS_PATH=\\\"${PREFIX}/bin/newaliases\\\" -DDEF_MAILQ_PATH=\\\"${PREFIX}/bin/mailq\\\" -DDEF_MANPAGE_DIR=\\\"${MANPREFIX}/man\\\" -DDEF_README_DIR=\\\"${READMEDIR}\\\" -DDEF_HTML_DIR=\\\"${READMEDIR}\\\" -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
135
			-DDEF_COMMAND_DIR=\\\"${PREFIX}/sbin\\\" \
136
			-DDEF_SENDMAIL_PATH=\\\"${PREFIX}/sbin/sendmail\\\" \
137
			-DDEF_NEWALIAS_PATH=\\\"${PREFIX}/bin/newaliases\\\" \
138
			-DDEF_MAILQ_PATH=\\\"${PREFIX}/bin/mailq\\\" \
139
			-DDEF_MANPAGE_DIR=\\\"${MANPREFIX}/man\\\" \
140
			-DDEF_README_DIR=\\\"${READMEDIR}\\\" \
141
			-DDEF_HTML_DIR=\\\"${READMEDIR}\\\" \
142
			-DDEF_QUEUE_DIR=\\\"/var/spool/postfix\\\" \
143
			-DDEF_DATA_DIR=\\\"/var/db/postfix\\\" \
144
			-DDEF_MAIL_OWNER=\\\"postfix\\\" \
145
			-DDEF_SGID_GROUP=\\\"maildrop\\\" \
146
			-Wmissing-prototypes -Wformat -Wno-comment
147
165
148
# Default requirement for postfix rc script
166
# Default requirement for postfix rc script
149
_REQUIRE=		LOGIN cleanvar dovecot
167
_REQUIRE=	LOGIN cleanvar dovecot
150
168
151
# always build with Dovecot SASL support, Cyrus is optional
169
# always build with Dovecot SASL support, Cyrus is optional
152
# see Postfix HISTORY 20051222
170
# see Postfix HISTORY 20051222
Lines 169-186 POSTFIX_CCARGS+= -DNO_PCRE Link Here
169
.endif
187
.endif
170
188
171
.if ${PORT_OPTIONS:MSASL}
189
.if ${PORT_OPTIONS:MSASL}
172
POSTFIX_CCARGS+=	-DUSE_CYRUS_SASL -I${LOCALBASE}/include -I${LOCALBASE}/include/sasl
190
POSTFIX_CCARGS+=	-DUSE_CYRUS_SASL -I${LOCALBASE}/include \
191
			-I${LOCALBASE}/include/sasl
173
POSTFIX_AUXLIBS+=	-L${LOCALBASE}/lib -lsasl2 -lpam -lcrypt
192
POSTFIX_AUXLIBS+=	-L${LOCALBASE}/lib -lsasl2 -lpam -lcrypt
174
.else
193
.else
175
POSTFIX_CCARGS+=	-DDEF_SERVER_SASL_TYPE=\\\"dovecot\\\"
194
POSTFIX_CCARGS+=	-DDEF_SERVER_SASL_TYPE=\\\"dovecot\\\"
176
.endif
195
.endif
177
196
178
.if ${PORT_OPTIONS:MSASLKRB5}
197
.if ${PORT_OPTIONS:MSASLKRB5}
179
POSTFIX_AUXLIBS+=	-lkrb5 -lhx509 -lcrypto -lcrypt -lcom_err -lasn1 -lroken
198
POSTFIX_AUXLIBS+=	-lkrb5 -lhx509 -lcrypto -lcrypt -lcom_err -lasn1 \
199
			-lroken
180
.endif
200
.endif
181
201
182
.if ${PORT_OPTIONS:MSASLKMIT}
202
.if ${PORT_OPTIONS:MSASLKMIT}
183
POSTFIX_AUXLIBS+=	-Wl,--rpath,$${KRB5_HOME:-${LOCALBASE}}/lib -lkrb5 -lcrypto -lcrypt -lcom_err
203
POSTFIX_AUXLIBS+=	-Wl,--rpath,$${KRB5_HOME:-${LOCALBASE}}/lib -lkrb5 \
204
			-lcrypto -lcrypt -lcom_err
184
.endif
205
.endif
185
206
186
.if ${PORT_OPTIONS:MTLS}
207
.if ${PORT_OPTIONS:MTLS}
Lines 200-206 POSTFIX_AUXLIBS+= -L${BDB_LIB_DIR} -l${BDB_LIB_NAME} Link Here
200
. if ${OPSYS} == FreeBSD
221
. if ${OPSYS} == FreeBSD
201
POSTFIX_AUXLIBS+=	-lblacklist
222
POSTFIX_AUXLIBS+=	-lblacklist
202
. else
223
. else
203
IGNORE=	blacklistd is only supported on FreeBSD >= 11.0
224
IGNORE=		blacklistd is only supported on FreeBSD >= 11.0
204
. endif
225
. endif
205
.endif
226
.endif
206
227
Lines 264-283 POSTFIX_DYN_AUXLIBS+= "AUXLIBS_LMDB=-L${LOCALBASE}/lib -llmdb" Link Here
264
.endif
285
.endif
265
286
266
# sed script for files in ${WRKSRC}/README_FILES ${WRKSRC}/conf ${WRKSRC}/man
287
# sed script for files in ${WRKSRC}/README_FILES ${WRKSRC}/conf ${WRKSRC}/man
267
REINPLACE=	s!^PATH=.*!PATH=/bin:/sbin:/usr/bin:/usr/sbin:${PREFIX}/bin:${PREFIX}/sbin!;\
288
REINPLACE=	s!^PATH=.*!PATH=/bin:/sbin:/usr/bin:/usr/sbin:${PREFIX}/bin:${PREFIX}/sbin!; \
268
		s!(_directory = )/usr/!\1${PREFIX}/!g;\
289
		s!(_directory = )/usr/!\1${PREFIX}/!g; s!^(data_directory = \
269
		s!^(data_directory = /var/)lib/!\1db/!g;\
290
		/var/)lib/!\1db/!g; s!^\#(mynetworks_style = host)!\1!g; \
270
		s!^\#(mynetworks_style = host)!\1!g;\
291
		s!^(sendmail_path =)!\1 ${PREFIX}/sbin/sendmail!g; \
271
		s!^(sendmail_path =)!\1 ${PREFIX}/sbin/sendmail!g;\
292
		s!^(newaliases_path =)!\1 ${PREFIX}/bin/newaliases!g; \
272
		s!^(newaliases_path =)!\1 ${PREFIX}/bin/newaliases!g;\
293
		s!^(mailq_path =)!\1 ${PREFIX}/bin/mailq!g; s!^(setgid_group \
273
		s!^(mailq_path =)!\1 ${PREFIX}/bin/mailq!g;\
294
		=)!\1 maildrop!g; s!^(manpage_directory =)!\1 \
274
		s!^(setgid_group =)!\1 maildrop!g;\
295
		${MANPREFIX}/man!g; s!^((html|readme)_directory =)!\1 \
275
		s!^(manpage_directory =)!\1 ${MANPREFIX}/man!g;\
296
		${READMEDIR}!g; \!^\#alias_database = \
276
		s!^((html|readme)_directory =)!\1 ${READMEDIR}!g;\
297
		dbm:/etc/mail/aliases$$!d; s!(:|= \
277
		\!^\#alias_database = dbm:/etc/mail/aliases$$!d;\
298
		)/etc/postfix!\1$$config_directory!g; \
278
		s!(:|= )/etc/postfix!\1$$config_directory!g;\
299
		s!/etc/postfix!${ETCDIR}!g; s!^(sample_directory =)!\1 \
279
		s!/etc/postfix!${ETCDIR}!g;\
300
		${ETCDIR}!g; \
280
		s!^(sample_directory =)!\1 ${ETCDIR}!g;\
281
		s!($config_directory/(access|aliases|canonical|generic|header_checks|relocated|transport|virtual):f:root:-:644:)p1!\1o!;
301
		s!($config_directory/(access|aliases|canonical|generic|header_checks|relocated|transport|virtual):f:root:-:644:)p1!\1o!;
282
302
283
pre-patch:
303
pre-patch:
284
- 

Return to bug 255809