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

Collapse All | Expand All

(-)Mk/Scripts/qa.sh (+9 lines)
Lines 98-103 shebang() { Link Here
98
98
99
baselibs() {
99
baselibs() {
100
	local rc
100
	local rc
101
	local found_openssl
101
	[ "${PKGBASE}" = "pkg" -o "${PKGBASE}" = "pkg-devel" ] && return
102
	[ "${PKGBASE}" = "pkg" -o "${PKGBASE}" = "pkg-devel" ] && return
102
	while read f; do
103
	while read f; do
103
		case ${f} in
104
		case ${f} in
Lines 109-120 baselibs() { Link Here
109
			err "Bad linking on ${f##* } please add USES=libedit"
110
			err "Bad linking on ${f##* } please add USES=libedit"
110
			rc=1
111
			rc=1
111
			;;
112
			;;
113
		*NEEDED*\[libcrypto.so.*]|*NEEDED*\[libssl.so.*])
114
			found_openssl=1
115
			;;
112
		esac
116
		esac
113
	done <<-EOF
117
	done <<-EOF
114
	$(find ${STAGEDIR}${PREFIX}/bin ${STAGEDIR}${PREFIX}/sbin \
118
	$(find ${STAGEDIR}${PREFIX}/bin ${STAGEDIR}${PREFIX}/sbin \
115
		${STAGEDIR}${PREFIX}/lib ${STAGEDIR}${PREFIX}/libexec \
119
		${STAGEDIR}${PREFIX}/lib ${STAGEDIR}${PREFIX}/libexec \
116
		-type f -exec readelf -d {} + 2>/dev/null)
120
		-type f -exec readelf -d {} + 2>/dev/null)
117
	EOF
121
	EOF
122
	if [ -z "${USESSSL}" -a -n "${found_openssl}" ]; then
123
		warn "you need USES=nssl"
124
	elif [ -n "${USESSSL}" -a -z "${found_openssl}" ]; then
125
		warn "you may not need USES=ssl"
126
	fi
118
	return ${rc}
127
	return ${rc}
119
}
128
}
120
129
(-)Mk/Uses/ssl.mk (+114 lines)
Added Link Here
1
# $FreeBSD$
2
#
3
# Handle dependency on *ssl ports.
4
#
5
# Feature:	SSL_DEFAULT
6
# Usage:	USES=ssl
7
# Valid ARGS:	none
8
#
9
# The use can choose which ssl library he wants with:
10
#
11
# DEFAULT_VERSIONS+=	ssl=openssl
12
#
13
# valid values are base, openssl, openssl-devel, libressl,
14
# and libressl-devel.
15
#
16
# The Makefile sets these variables:
17
# OPENSSLBASE		- "/usr" or ${LOCALBASE}
18
# OPENSSLDIR		- path to openssl
19
# OPENSSLLIB		- path to the libs
20
# OPENSSLINC		- path to the matching includes
21
# OPENSSLRPATH		- rpath for dynamic linker
22
#
23
# MAKE_ENV		- extended with the variables above
24
# CONFIGURE_ENV		- extended with LDFLAGS
25
# BUILD_DEPENDS		- are added if needed
26
# RUN_DEPENDS		- are added if needed
27
#
28
# MAINTAINER:	portmgr@FreeBSD.org
29
#
30
.if !defined(_INCLUDE_USES_SSL_MK)
31
_INCLUDE_USES_SSL_MK=	yes
32
33
.include "${PORTSDIR}/Mk/bsd.default-versions.mk"
34
35
.if ${SSL_DEFAULT} == base
36
OPENSSLBASE=		/usr
37
OPENSSLDIR?=		/etc/ssl
38
39
.  if !exists(${DESTDIR}/usr/lib/libcrypto.so)
40
check-depends::
41
	@${ECHO_CMD} "Dependency error: This port requires the OpenSSL library, which is part of"
42
	@${ECHO_CMD} "the FreeBSD crypto distribution, but not installed on your"
43
	@${ECHO_CMD} "machine. Please see the \"OpenSSL\" section in the handbook"
44
	@${ECHO_CMD} "(at \"http://www.FreeBSD.org/doc/en_US.ISO8859-1/books/handbook/openssl.html\", for instance)"
45
	@${ECHO_CMD} "for instructions on how to obtain and install the FreeBSD"
46
	@${ECHO_CMD} "OpenSSL distribution."
47
	@${FALSE}
48
.  endif
49
.  if exists(${LOCALBASE}/lib/libcrypto.so)
50
check-depends::
51
	@${ECHO_CMD} "Dependency error: This port wants the OpenSSL library from the FreeBSD"
52
	@${ECHO_CMD} "base system. You can't build against it, while a newer"
53
	@${ECHO_CMD} "version is installed by a port."
54
	@${ECHO_CMD} "Please deinstall the port, remove DEFAULT_VERSIONS=ssl=base or undefine WITH_OPENSSL_BASE."
55
	@${FALSE}
56
.  endif
57
58
# OpenSSL in the base system may not include IDEA for patent licensing reasons.
59
.  if defined(MAKE_IDEA) && !defined(OPENSSL_IDEA)
60
OPENSSL_IDEA=		${MAKE_IDEA}
61
.  else
62
OPENSSL_IDEA?=		NO
63
.  endif
64
65
.  if ${OPENSSL_IDEA} == "NO"
66
# XXX This is a hack to work around the fact that /etc/make.conf clobbers
67
#     our CFLAGS. It might not be enough for all future ports.
68
.    if defined(HAS_CONFIGURE)
69
CFLAGS+=		-DNO_IDEA
70
.    else
71
OPENSSL_CFLAGS+=	-DNO_IDEA
72
.    endif
73
MAKE_ARGS+=		OPENSSL_CFLAGS="${OPENSSL_CFLAGS}"
74
.  endif
75
76
.else # ${SSL_DEFAULT} != base
77
78
OPENSSLBASE=		${LOCALBASE}
79
80
OPENSSL_PORT=		security/${SSL_DEFAULT}
81
82
# Get OPENSSL_SHLIBVER from the port
83
.sinclude <${PORTSDIR}/${OPENSSL_PORT}/version.mk>
84
85
.  if !defined(OPENSSL_SHLIBVER)
86
.error You are using an unsupported SSL provider ${SSL_DEFAULT}
87
.  endif
88
89
OPENSSLDIR?=		${OPENSSLBASE}/openssl
90
BUILD_DEPENDS+=		${LOCALBASE}/lib/libcrypto.so.${OPENSSL_SHLIBVER}:${OPENSSL_PORT}
91
RUN_DEPENDS+=		${LOCALBASE}/lib/libcrypto.so.${OPENSSL_SHLIBVER}:${OPENSSL_PORT}
92
OPENSSLRPATH=		${LOCALBASE}/lib
93
94
.endif
95
96
OPENSSLLIB=		${OPENSSLBASE}/lib
97
OPENSSLINC=		${OPENSSLBASE}/include
98
99
MAKE_ENV+=		OPENSSLBASE=${OPENSSLBASE}
100
MAKE_ENV+=		OPENSSLDIR=${OPENSSLDIR}
101
MAKE_ENV+=		OPENSSLINC=${OPENSSLINC}
102
MAKE_ENV+=		OPENSSLLIB=${OPENSSLLIB}
103
104
.if defined(OPENSSLRPATH)
105
.  if defined(USE_OPENSSL_RPATH)
106
CFLAGS+=		-Wl,-rpath,${OPENSSLRPATH}
107
.  endif
108
MAKE_ENV+=		OPENSSLRPATH=${OPENSSLRPATH}
109
OPENSSL_LDFLAGS+=	-Wl,-rpath,${OPENSSLRPATH}
110
.endif
111
112
LDFLAGS+=		${OPENSSL_LDFLAGS}
113
114
.endif
(-)Mk/bsd.openssl.mk (-116 lines)
Removed Link Here
1
#
2
# $FreeBSD$
3
# bsd.openssl.mk - Support for OpenSSL based ports.
4
#
5
# Use of 'USE_OPENSSL=yes' includes this Makefile after bsd.ports.pre.mk
6
#
7
# The user/port can now set these options in the Makefiles.
8
#
9
# WITH_OPENSSL_BASE=yes	- Use the version in the base system.
10
# WITH_OPENSSL_PORT=yes	- Use the OpenSSL port, even if base is up to date.
11
#
12
# USE_OPENSSL_RPATH=yes	- Pass RFLAGS options in CFLAGS,
13
#			  needed for ports who don't use LDFLAGS.
14
#
15
# Overrideable defaults:
16
#
17
# OPENSSL_SHLIBVER=	8
18
# OPENSSL_PORT=		security/openssl
19
#
20
# The Makefile sets these variables:
21
# OPENSSLBASE		- "/usr" or ${LOCALBASE}
22
# OPENSSLDIR		- path to openssl
23
# OPENSSLLIB		- path to the libs
24
# OPENSSLINC		- path to the matching includes
25
# OPENSSLRPATH		- rpath for dynamic linker
26
#
27
# MAKE_ENV		- extended with the variables above
28
# CONFIGURE_ENV		- extended with LDFLAGS
29
# BUILD_DEPENDS		- are added if needed
30
# RUN_DEPENDS		- are added if needed
31
32
OpenSSL_Include_MAINTAINER=	dinoex@FreeBSD.org
33
34
.include "${PORTSDIR}/Mk/bsd.default-versions.mk"
35
36
.if ${SSL_DEFAULT} == base
37
OPENSSLBASE=		/usr
38
OPENSSLDIR?=		/etc/ssl
39
40
.  if !exists(${DESTDIR}/usr/lib/libcrypto.so)
41
check-depends::
42
	@${ECHO_CMD} "Dependency error: This port requires the OpenSSL library, which is part of"
43
	@${ECHO_CMD} "the FreeBSD crypto distribution, but not installed on your"
44
	@${ECHO_CMD} "machine. Please see the \"OpenSSL\" section in the handbook"
45
	@${ECHO_CMD} "(at \"http://www.FreeBSD.org/doc/en_US.ISO8859-1/books/handbook/openssl.html\", for instance)"
46
	@${ECHO_CMD} "for instructions on how to obtain and install the FreeBSD"
47
	@${ECHO_CMD} "OpenSSL distribution."
48
	@${FALSE}
49
.  endif
50
.  if exists(${LOCALBASE}/lib/libcrypto.so)
51
check-depends::
52
	@${ECHO_CMD} "Dependency error: This port wants the OpenSSL library from the FreeBSD"
53
	@${ECHO_CMD} "base system. You can't build against it, while a newer"
54
	@${ECHO_CMD} "version is installed by a port."
55
	@${ECHO_CMD} "Please deinstall the port, remove DEFAULT_VERSIONS=ssl=base or undefine WITH_OPENSSL_BASE."
56
	@${FALSE}
57
.  endif
58
59
# OpenSSL in the base system may not include IDEA for patent licensing reasons.
60
.  if defined(MAKE_IDEA) && !defined(OPENSSL_IDEA)
61
OPENSSL_IDEA=		${MAKE_IDEA}
62
.  else
63
OPENSSL_IDEA?=		NO
64
.  endif
65
66
.  if ${OPENSSL_IDEA} == "NO"
67
# XXX This is a hack to work around the fact that /etc/make.conf clobbers
68
#     our CFLAGS. It might not be enough for all future ports.
69
.    if defined(HAS_CONFIGURE)
70
CFLAGS+=		-DNO_IDEA
71
.    else
72
OPENSSL_CFLAGS+=	-DNO_IDEA
73
.    endif
74
MAKE_ARGS+=		OPENSSL_CFLAGS="${OPENSSL_CFLAGS}"
75
.  endif
76
77
.else # ${SSL_DEFAULT} != base
78
79
OPENSSLBASE=		${LOCALBASE}
80
81
OPENSSL_PORT=		security/${SSL_DEFAULT}
82
83
# Get OPENSSL_SHLIBVER from the port
84
.sinclude <${PORTSDIR}/${OPENSSL_PORT}/version.mk>
85
86
.  if !defined(OPENSSL_SHLIBVER)
87
.error You are using an unsupported SSL provider ${SSL_DEFAULT}
88
.  endif
89
90
OPENSSLDIR?=		${OPENSSLBASE}/openssl
91
BUILD_DEPENDS+=		${LOCALBASE}/lib/libcrypto.so.${OPENSSL_SHLIBVER}:${OPENSSL_PORT}
92
RUN_DEPENDS+=		${LOCALBASE}/lib/libcrypto.so.${OPENSSL_SHLIBVER}:${OPENSSL_PORT}
93
OPENSSLRPATH=		${LOCALBASE}/lib
94
95
.endif
96
97
OPENSSLLIB=		${OPENSSLBASE}/lib
98
OPENSSLINC=		${OPENSSLBASE}/include
99
100
MAKE_ENV+=		OPENSSLBASE=${OPENSSLBASE}
101
MAKE_ENV+=		OPENSSLDIR=${OPENSSLDIR}
102
MAKE_ENV+=		OPENSSLINC=${OPENSSLINC}
103
MAKE_ENV+=		OPENSSLLIB=${OPENSSLLIB}
104
105
.if defined(OPENSSLRPATH)
106
.  if defined(USE_OPENSSL_RPATH)
107
CFLAGS+=		-Wl,-rpath,${OPENSSLRPATH}
108
.  endif
109
MAKE_ENV+=		OPENSSLRPATH=${OPENSSLRPATH}
110
OPENSSL_LDFLAGS+=	-Wl,-rpath,${OPENSSLRPATH}
111
.endif
112
113
LDFLAGS+=		${OPENSSL_LDFLAGS}
114
115
### crypto
116
#RESTRICTED=		"Contains cryptography."
(-)Mk/bsd.port.mk (-1 / +4 lines)
Lines 1352-1358 PKGCOMPATDIR?= ${LOCALBASE}/lib/compat/pkg Link Here
1352
.endif
1352
.endif
1353
1353
1354
.if defined(USE_OPENSSL)
1354
.if defined(USE_OPENSSL)
1355
.include "${PORTSDIR}/Mk/bsd.openssl.mk"
1355
USES+=	ssl
1356
.endif
1356
.endif
1357
1357
1358
.if defined(USE_EMACS)
1358
.if defined(USE_EMACS)
Lines 1524-1529 QA_ENV+= STAGEDIR=${STAGEDIR} \ Link Here
1524
				PKGORIGIN=${PKGORIGIN} \
1524
				PKGORIGIN=${PKGORIGIN} \
1525
				LIB_RUN_DEPENDS='${_LIB_RUN_DEPENDS:C,[^:]*:([^:]*):?.*,\1,}' \
1525
				LIB_RUN_DEPENDS='${_LIB_RUN_DEPENDS:C,[^:]*:([^:]*):?.*,\1,}' \
1526
				PKGBASE=${PKGBASE}
1526
				PKGBASE=${PKGBASE}
1527
.if !empty(USES:Mssl)
1528
QA_ENV+=		USESSSL=yes
1529
.endif
1527
.if !empty(USES:Mdesktop-file-utils)
1530
.if !empty(USES:Mdesktop-file-utils)
1528
QA_ENV+=		USESDESKTOPFILEUTILS=yes
1531
QA_ENV+=		USESDESKTOPFILEUTILS=yes
1529
.endif
1532
.endif
(-)Mk/bsd.sanity.mk (-1 / +3 lines)
Lines 177-183 SANITY_UNSUPPORTED= USE_OPENAL USE_FAM USE_MAKESELF USE_ZIP USE_LHA USE_CMAKE \ Link Here
177
		PYDISTUTILS_AUTOPLIST PYTHON_PY3K_PLIST_HACK PYDISTUTILS_NOEGGINFO \
177
		PYDISTUTILS_AUTOPLIST PYTHON_PY3K_PLIST_HACK PYDISTUTILS_NOEGGINFO \
178
		USE_PYTHON_PREFIX USE_BZIP2 USE_XZ USE_PGSQL NEED_ROOT \
178
		USE_PYTHON_PREFIX USE_BZIP2 USE_XZ USE_PGSQL NEED_ROOT \
179
		UNIQUENAME LATEST_LINK USE_SQLITE USE_FIREBIRD
179
		UNIQUENAME LATEST_LINK USE_SQLITE USE_FIREBIRD
180
SANITY_DEPRECATED=	PYTHON_PKGNAMESUFFIX USE_AUTOTOOLS PLIST_DIRSTRY USE_BDB USE_MYSQL WANT_MYSQL_VER
180
SANITY_DEPRECATED=	PYTHON_PKGNAMESUFFIX USE_AUTOTOOLS PLIST_DIRSTRY \
181
			USE_BDB USE_MYSQL WANT_MYSQL_VER USE_OPENSSL
181
SANITY_NOTNEEDED=	WX_UNICODE
182
SANITY_NOTNEEDED=	WX_UNICODE
182
183
183
USE_AUTOTOOLS_ALT=	USES=autoreconf and GNU_CONFIGURE=yes
184
USE_AUTOTOOLS_ALT=	USES=autoreconf and GNU_CONFIGURE=yes
Lines 221-226 USE_FIREBIRD_ALT= USES=firebird Link Here
221
USE_BDB_ALT=		USES=bdb:${USE_BDB}
222
USE_BDB_ALT=		USES=bdb:${USE_BDB}
222
USE_MYSQL_ALT=		USES=mysql:${USE_MYSQL}
223
USE_MYSQL_ALT=		USES=mysql:${USE_MYSQL}
223
WANT_MYSQL_VER_ALT=	USES=mysql:${WANT_MYSQL_VER}
224
WANT_MYSQL_VER_ALT=	USES=mysql:${WANT_MYSQL_VER}
225
USE_OPENSSL_ALT=	USES=ssl
224
226
225
.for a in ${SANITY_DEPRECATED}
227
.for a in ${SANITY_DEPRECATED}
226
.if defined(${a})
228
.if defined(${a})

Return to bug 210322