diff --git a/CHANGES b/CHANGES index d87bebf0e052..fc8b7328d802 100644 --- a/CHANGES +++ b/CHANGES @@ -10,6 +10,11 @@ in the release notes and/or placed into UPDATING. All ports committers are allowed to commit to this file. +20160627: +AUTHOR: mat@FreeBSD.org + + USE_OPENSSL has been replaced by USES=ssl. + 20160625: AUTHOR: adamw@FreeBSD.org diff --git a/Mk/Scripts/qa.sh b/Mk/Scripts/qa.sh index 3462295ee290..e23e1c1c01a5 100644 --- a/Mk/Scripts/qa.sh +++ b/Mk/Scripts/qa.sh @@ -98,6 +98,7 @@ shebang() { baselibs() { local rc + local found_openssl [ "${PKGBASE}" = "pkg" -o "${PKGBASE}" = "pkg-devel" ] && return while read f; do case ${f} in @@ -109,12 +110,20 @@ baselibs() { err "Bad linking on ${f##* } please add USES=libedit" rc=1 ;; + *NEEDED*\[libcrypto.so.*]|*NEEDED*\[libssl.so.*]) + found_openssl=1 + ;; esac done <<-EOF $(find ${STAGEDIR}${PREFIX}/bin ${STAGEDIR}${PREFIX}/sbin \ ${STAGEDIR}${PREFIX}/lib ${STAGEDIR}${PREFIX}/libexec \ -type f -exec readelf -d {} + 2>/dev/null) EOF + if [ -z "${USESSSL}" -a -n "${found_openssl}" ]; then + warn "you need USES=nssl" + elif [ -n "${USESSSL}" -a -z "${found_openssl}" ]; then + warn "you may not need USES=ssl" + fi return ${rc} } diff --git a/Mk/bsd.openssl.mk b/Mk/Uses/ssl.mk similarity index 85% rename from Mk/bsd.openssl.mk rename to Mk/Uses/ssl.mk index 8017be85c06d..821b8db52c49 100644 --- a/Mk/bsd.openssl.mk +++ b/Mk/Uses/ssl.mk @@ -1,18 +1,12 @@ -# # $FreeBSD$ -# bsd.openssl.mk - Support for OpenSSL based ports. # -# Use of 'USE_OPENSSL=yes' includes this Makefile after bsd.ports.pre.mk +# Handle dependency on *ssl ports. # -# The port can now set these options in the Makefiles. +# Feature: SSL_DEFAULT +# Usage: USES=ssl +# Valid ARGS: none # -# WITH_OPENSSL_BASE=yes - Use the version in the base system. -# WITH_OPENSSL_PORT=yes - Use the OpenSSL port, even if base is up to date. -# -# USE_OPENSSL_RPATH=yes - Pass RFLAGS options in CFLAGS, -# needed for ports who don't use LDFLAGS. -# -# Overrideable defaults: +# The use can choose which ssl library he wants with: # # DEFAULT_VERSIONS+= ssl= # @@ -29,8 +23,11 @@ # CONFIGURE_ENV - extended with LDFLAGS # BUILD_DEPENDS - are added if needed # RUN_DEPENDS - are added if needed - -OpenSSL_Include_MAINTAINER= dinoex@FreeBSD.org +# +# MAINTAINER: portmgr@FreeBSD.org +# +.if !defined(_INCLUDE_USES_SSL_MK) +_INCLUDE_USES_SSL_MK= yes .include "${PORTSDIR}/Mk/bsd.default-versions.mk" @@ -113,5 +110,4 @@ OPENSSL_LDFLAGS+= -Wl,-rpath,${OPENSSLRPATH} LDFLAGS+= ${OPENSSL_LDFLAGS} -### crypto -#RESTRICTED= "Contains cryptography." +.endif diff --git a/Mk/bsd.port.mk b/Mk/bsd.port.mk index 3c493fa3eca2..bfbc80a22e18 100644 --- a/Mk/bsd.port.mk +++ b/Mk/bsd.port.mk @@ -1352,7 +1352,7 @@ PKGCOMPATDIR?= ${LOCALBASE}/lib/compat/pkg .endif .if defined(USE_OPENSSL) -.include "${PORTSDIR}/Mk/bsd.openssl.mk" +USES+= ssl .endif .if defined(USE_EMACS) @@ -1525,6 +1525,9 @@ QA_ENV+= STAGEDIR=${STAGEDIR} \ PKGORIGIN=${PKGORIGIN} \ LIB_RUN_DEPENDS='${_LIB_RUN_DEPENDS:C,[^:]*:([^:]*):?.*,\1,}' \ PKGBASE=${PKGBASE} +.if !empty(USES:Mssl) +QA_ENV+= USESSSL=yes +.endif .if !empty(USES:Mdesktop-file-utils) QA_ENV+= USESDESKTOPFILEUTILS=yes .endif diff --git a/Mk/bsd.sanity.mk b/Mk/bsd.sanity.mk index dddeea76708d..015ba37ea493 100644 --- a/Mk/bsd.sanity.mk +++ b/Mk/bsd.sanity.mk @@ -177,7 +177,8 @@ SANITY_UNSUPPORTED= USE_OPENAL USE_FAM USE_MAKESELF USE_ZIP USE_LHA USE_CMAKE \ PYDISTUTILS_AUTOPLIST PYTHON_PY3K_PLIST_HACK PYDISTUTILS_NOEGGINFO \ USE_PYTHON_PREFIX USE_BZIP2 USE_XZ USE_PGSQL NEED_ROOT \ UNIQUENAME LATEST_LINK USE_SQLITE USE_FIREBIRD -SANITY_DEPRECATED= PYTHON_PKGNAMESUFFIX USE_AUTOTOOLS PLIST_DIRSTRY USE_BDB USE_MYSQL WANT_MYSQL_VER +SANITY_DEPRECATED= PYTHON_PKGNAMESUFFIX USE_AUTOTOOLS PLIST_DIRSTRY \ + USE_BDB USE_MYSQL WANT_MYSQL_VER USE_OPENSSL SANITY_NOTNEEDED= WX_UNICODE USE_AUTOTOOLS_ALT= USES=autoreconf and GNU_CONFIGURE=yes @@ -221,6 +222,7 @@ USE_FIREBIRD_ALT= USES=firebird USE_BDB_ALT= USES=bdb:${USE_BDB} USE_MYSQL_ALT= USES=mysql:${USE_MYSQL} WANT_MYSQL_VER_ALT= USES=mysql:${WANT_MYSQL_VER} +USE_OPENSSL_ALT= USES=ssl .for a in ${SANITY_DEPRECATED} .if defined(${a}) diff --git a/devel/libopkele/Makefile b/devel/libopkele/Makefile index 938ac8192843..e92551a09a53 100644 --- a/devel/libopkele/Makefile +++ b/devel/libopkele/Makefile @@ -19,7 +19,7 @@ LIB_DEPENDS= libcurl.so:ftp/curl \ libxslt.so:textproc/libxslt USE_LDCONFIG= yes -USES= libtool gmake pkgconfig compiler:c++11-lang +USES= libtool gmake pkgconfig compiler:c++11-lang ssl GNU_CONFIGURE= yes CONFIGURE_ENV= "OPENSSL_CFLAGS=${CFLAGS} -l${OPENSSLINC}" \ OPENSSL_LIBS=-L${OPENSSLLIB} @@ -27,13 +27,8 @@ CPPFLAGS+= -I${LOCALBASE}/include CFLAGS+= -I${LOCALBASE}/include LDFLAGS+= -L${LOCALBASE}/lib -# This port needs OpenSSL 0.9.8b which is present in 7.0 and up -USE_OPENSSL= yes - .include -.include "${PORTSDIR}/Mk/bsd.openssl.mk" - # If we use the base OpenSSL either by default or # by design, we need to remove the openssl dependency # in pkgconfig/libopkele.pc. diff --git a/devel/p5-Event-RPC/Makefile b/devel/p5-Event-RPC/Makefile index d79c121d3875..5c4e5b66297c 100644 --- a/devel/p5-Event-RPC/Makefile +++ b/devel/p5-Event-RPC/Makefile @@ -26,7 +26,6 @@ SSL_DESC= Dependency to SSL lib OPTIONS_DEFAULT= EVENT ANYEVENT SSL .include -.include BUILD_DEPENDS= p5-Storable>=0:devel/p5-Storable @@ -43,11 +42,10 @@ BUILD_DEPENDS+= p5-Glib2>=0:devel/p5-Glib2 .endif .if ${PORT_OPTIONS:MSSL} -# we can't use USE_OPENSSL=yes after including bsd.port.pre.mk -.include "${PORTSDIR}/Mk/bsd.openssl.mk" +USES+= ssl BUILD_DEPENDS+= p5-IO-Socket-SSL>=0:security/p5-IO-Socket-SSL .endif RUN_DEPENDS:= ${BUILD_DEPENDS} -.include +.include diff --git a/dns/opendd/Makefile b/dns/opendd/Makefile index 24a142b2cca6..2401a0eadbc2 100644 --- a/dns/opendd/Makefile +++ b/dns/opendd/Makefile @@ -30,7 +30,7 @@ USE_RC_SUBR= ${PORTNAME} .endif .if ${PORT_OPTIONS:MOPENSSL} -.include "${PORTSDIR}/Mk/bsd.openssl.mk" +USES+= ssl CFLAGS+= -I${OPENSSLINC} LDFLAGS+= -L${OPENSSLLIB} MAKE_ENV+= "USE_SOCKET_SSL=yes" diff --git a/ftp/vsftpd-ext/Makefile b/ftp/vsftpd-ext/Makefile index e893ac94faf3..64f9d426d8ee 100644 --- a/ftp/vsftpd-ext/Makefile +++ b/ftp/vsftpd-ext/Makefile @@ -57,7 +57,7 @@ VSFTPD_NO_OPTIMIZED= -e "s|-O2 ||" .endif .if ${PORT_OPTIONS:MVSFTPD_SSL} && !defined(WITHOUT_SSL) -.include "${PORTSDIR}/Mk/bsd.openssl.mk" +USES+= ssl SSL_SUFFIX= -ssl CFLAGS+= -I${OPENSSLINC} LDFLAGS+= -L${OPENSSLLIB} diff --git a/ftp/vsftpd/Makefile b/ftp/vsftpd/Makefile index 790cded898d2..d6a2e8e14570 100644 --- a/ftp/vsftpd/Makefile +++ b/ftp/vsftpd/Makefile @@ -33,7 +33,7 @@ STACKPROTECTOR_DESC= Build with stack-protector .include .if ${PORT_OPTIONS:MVSFTPD_SSL} && !defined(WITHOUT_SSL) -.include "${PORTSDIR}/Mk/bsd.openssl.mk" +USES+= ssl SSL_SUFFIX= -ssl CFLAGS+= -I${OPENSSLINC} LDFLAGS+= -L${OPENSSLLIB} diff --git a/net/isc-dhcp43-server/Makefile b/net/isc-dhcp43-server/Makefile index 71e4e27b2c4e..07fa00e63b5c 100644 --- a/net/isc-dhcp43-server/Makefile +++ b/net/isc-dhcp43-server/Makefile @@ -108,10 +108,9 @@ PLIST_SUB+= LDAP="@comment " .endif .if ${PORT_OPTIONS:MLDAP_SSL} && ${PORT_OPTIONS:MLDAP} -USE_OPENSSL= yes +USES+= ssl CONFIGURE_ARGS+=--with-ldapcrypto LIBS+= -lssl -.include "${PORTSDIR}/Mk/bsd.openssl.mk" .endif .if ${PORT_OPTIONS:MIPV6} diff --git a/security/R-cran-openssl/Makefile b/security/R-cran-openssl/Makefile index f058add67d95..6893d01475fb 100644 --- a/security/R-cran-openssl/Makefile +++ b/security/R-cran-openssl/Makefile @@ -18,7 +18,7 @@ USES= cran:auto-plist .if ${OSVERSION} < 1000015 WITH_OPENSSL_PORT= yes R_POSTCMD_INSTALL_OPTIONS+= --configure-vars="INCLUDE_DIR=${OPENSSLINC} LIB_DIR=${OPENSSLLIB}" -.include "${PORTSDIR}/Mk/bsd.openssl.mk" +USES+= ssl .endif .include diff --git a/security/ftimes/Makefile b/security/ftimes/Makefile index 607bc64dc290..54271ba662cc 100644 --- a/security/ftimes/Makefile +++ b/security/ftimes/Makefile @@ -61,6 +61,8 @@ HASHDIG_TOOLS_DESC= Install hashdig tools MAP_TOOLS_DESC= Install map tools XMAGIC_DESC= XMagic support +SSL_USES= ssl + .include LIB_DEPENDS+= libpcre.so:devel/pcre @@ -110,8 +112,6 @@ PLIST_SUB+= MAP_TOOLS="@comment " .endif .if ${PORT_OPTIONS:MSSL} -# we can't use USE_OPENSSL=yes after including bsd.port.pre.mk -.include "${PORTSDIR}/Mk/bsd.openssl.mk" CONFIGURE_ARGS+= --with-ssl=${OPENSSLBASE} .else CONFIGURE_ARGS+= --without-ssl