Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 3 Aug 2006 15:59:31 -0500
From:      "Scot Hetzel" <swhetzel@gmail.com>
To:        "Beech Rintoul" <beech@alaskaparadise.com>
Cc:        roam@FreeBSD.org, freebsd-ports@freebsd.org
Subject:   Re: Makefile problem
Message-ID:  <790a9fff0608031359u4937ad98m528de3989a46ad59@mail.gmail.com>
In-Reply-To: <200608031217.24275.beech@alaskaparadise.com>
References:  <200608031217.24275.beech@alaskaparadise.com>

next in thread | previous in thread | raw e-mail | index | archive | help
On 8/3/06, Beech Rintoul <beech@alaskaparadise.com> wrote:
> I have an ongoing problem with the makefile for ftp/proftpd. This problem
> existed when I took over maintainership of the port and I'd like to fix it if
> possible before the next update.
>
> When I run portlint, I get the following:
>
> FATAL: Makefile: [131]: USE_OPENSSL is set after including bsd.port.pre.mk.
>
> I can cheat by adding a space instead of a tab after the line and turn it into
> a warning, but I'd really like to fix this properly. I've tried moving
> bsd.port.pre.mk to various places, but all I accomplish is changing the
> error.
>
> Can someone take a look at this and maybe give me a suggestion?
>
Since you include bsd.openssl.mk in the ports Makefile after the
include for bsd.port.pre.mk, you don't need to set the USE_OPENSSL
variable.

 .include <${PORTSDIR}/Mk/bsd.port.pre.mk>
 :
 .if defined(WITH_OPENSSL)
 CFLAGS+=	-DHAVE_OPENSSL
-USE_OPENSSL= YES
 .include <${PORTSDIR}/Mk/bsd.openssl.mk>
 PROFTPD_LIBS+=	-lssl -lcrypto -L${LOCALBASE}/lib
 MODULES:=${MODULES}:mod_tls
 .if defined(WITH_LDAP_TLS)
 EXTRA_PATCHES+=	${FILESDIR}/extra_patch-ldap-tls-mod_ldap.c
 .endif
 .endif


The same thing can be done to the ftp/curl port:

1. Get rid of USE_OPENSSL before bsd.port.pre.mk

-.if defined(WITHOUT_SSL)
-USE_OPENSSL= YES
-.endif

.include <bsd.port.pre.mk>

2. add a new option for OpenSSL that defaults to on

OPTIONS=	CARES "Asynchronous DNS resolution via c-ares" off \
		CURL_DEBUG "Enable curl diagnostic output" off \
+		SSL "OpenSSL Support" on \
+		GNUTLS "Use GNU TLS if OpenSSL is OFF" off \
-		GNUTLS "Use GNU TLS if WITHOUT_SSL is specified" off \
		IPV6 "IPv6 support" on \
		KERBEROS4 "Kerberos 4 authentication" off \
		LIBIDN "Internationalized Domain Names via libidn" off \
		NTLM "NTLM authentication" off


3. Change:

.if !defined(WITHOUT_SSL)
CONFIGURE_ARGS+=	--with-ssl=${OPENSSLBASE}
.else
CONFIGURE_ARGS+=	--without-ssl
.endif

to

.if !defined(WITHOUT_SSL)
 .include "${PORTSDIR}/Mk/bsd.openssl.mk"
.include <bsd.openssl.mk>
CONFIGURE_ARGS+=	--with-ssl=${OPENSSLBASE}
.else
CONFIGURE_ARGS+=	--without-ssl
.endif

Do we need to specify the full patch to bsd.openssl.mk, or can we
getaway with just:

.include <bsd.openssl.mk>

in the ports Makefile.

This should fix the ports that have an optional dependancy on OpenSSL.

Scot
-- 
DISCLAIMER:
No electrons were mamed while sending this message. Only slightly bruised.



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?790a9fff0608031359u4937ad98m528de3989a46ad59>