From owner-freebsd-ports-bugs@FreeBSD.ORG Thu Jul 2 19:00:21 2009 Return-Path: Delivered-To: freebsd-ports-bugs@hub.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 73B98106568F for ; Thu, 2 Jul 2009 19:00:21 +0000 (UTC) (envelope-from gnats@FreeBSD.org) Received: from freefall.freebsd.org (freefall.freebsd.org [IPv6:2001:4f8:fff6::28]) by mx1.freebsd.org (Postfix) with ESMTP id 020E68FC20 for ; Thu, 2 Jul 2009 19:00:16 +0000 (UTC) (envelope-from gnats@FreeBSD.org) Received: from freefall.freebsd.org (gnats@localhost [127.0.0.1]) by freefall.freebsd.org (8.14.3/8.14.3) with ESMTP id n62J0FM1069098 for ; Thu, 2 Jul 2009 19:00:15 GMT (envelope-from gnats@freefall.freebsd.org) Received: (from gnats@localhost) by freefall.freebsd.org (8.14.3/8.14.3/Submit) id n62J0FeA069097; Thu, 2 Jul 2009 19:00:15 GMT (envelope-from gnats) Resent-Date: Thu, 2 Jul 2009 19:00:15 GMT Resent-Message-Id: <200907021900.n62J0FeA069097@freefall.freebsd.org> Resent-From: FreeBSD-gnats-submit@FreeBSD.org (GNATS Filer) Resent-To: freebsd-ports-bugs@FreeBSD.org Resent-Reply-To: FreeBSD-gnats-submit@FreeBSD.org, David Wood Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 1152710656AD for ; Thu, 2 Jul 2009 18:52:42 +0000 (UTC) (envelope-from nobody@FreeBSD.org) Received: from www.freebsd.org (www.freebsd.org [IPv6:2001:4f8:fff6::21]) by mx1.freebsd.org (Postfix) with ESMTP id F33028FC15 for ; Thu, 2 Jul 2009 18:52:41 +0000 (UTC) (envelope-from nobody@FreeBSD.org) Received: from www.freebsd.org (localhost [127.0.0.1]) by www.freebsd.org (8.14.3/8.14.3) with ESMTP id n62Iqf9a026407 for ; Thu, 2 Jul 2009 18:52:41 GMT (envelope-from nobody@www.freebsd.org) Received: (from nobody@localhost) by www.freebsd.org (8.14.3/8.14.3/Submit) id n62Iqfxq026406; Thu, 2 Jul 2009 18:52:41 GMT (envelope-from nobody) Message-Id: <200907021852.n62Iqfxq026406@www.freebsd.org> Date: Thu, 2 Jul 2009 18:52:41 GMT From: David Wood To: freebsd-gnats-submit@FreeBSD.org X-Send-Pr-Version: www-3.1 Cc: Subject: ports/136254: [maintainer update] update net/freeradius2 to 2.1.6 X-BeenThere: freebsd-ports-bugs@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Ports bug reports List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 02 Jul 2009 19:00:22 -0000 >Number: 136254 >Category: ports >Synopsis: [maintainer update] update net/freeradius2 to 2.1.6 >Confidential: no >Severity: non-critical >Priority: low >Responsible: freebsd-ports-bugs >State: open >Quarter: >Keywords: >Date-Required: >Class: maintainer-update >Submitter-Id: current-users >Arrival-Date: Thu Jul 02 19:00:15 UTC 2009 >Closed-Date: >Last-Modified: >Originator: David Wood >Release: 7.2-RELEASE amd64 >Organization: >Environment: FreeBSD manganese.wood2.org.uk 7.2-RELEASE-p2 FreeBSD 7.2-RELEASE-p2 #0: Sun Jun 28 19:36:41 BST 2009 david@manganese.wood2.org.uk:/scratch/usr/obj/usr/src/sys/MANGANESE amd64 >Description: Update to FreeRADIUS 2.1.6. There was no version 2.1.5; internally, 2.1.4 declared itself to be 2.1.5 so that version was skipped. FreeBSD notes ============= The Makefile has been refactored to use bsd.port.options.mk now that it is available for use. The extensive diff against Makefile is mostly re-ordering existing lines. The dependencies on Perl and Python have been made optional via the PERL and PYTHON OPTIONs. The main and rlm_perl configure.in files are patched in files/patch-perl to add a --without-perl option so that the dependency on Perl can be properly disabled. This deals with the request in ports/131595 that these dependencies become optional; only now that bsd.port.options.mk is available can this be done without kludges. [Possibly incompatible change] The NOPERL knob, which was never a complete solution, has been retired. Those who used to compile the port -DWITH_NOPERL should disable the PERL option before building this version. A RUBY OPTION has been introduced for the experimental rlm_ruby. [Possibly incompatible change] DHCP support now has its own DHCP OPTION and is not included in EXPERIMENTAL. unixODBC support has been added (mirroring the change in PR ports/133746 for net/freeradius). I do not believe that the two possibly incompatible changes necessarily need mentioning in UPDATING. The first deletes a knob that was deprecated in all versions of net/freeradius2. The second gives each of the two functions previously assigned to the EXPERIMENTAL OPTION their own OPTION. In most if not all cases, the change in OPTIONS= will mean an automatic 'make config' before the port is built. The new OPTIONs do not change the default features, so the feature set of the package is unchanged. rlm_perl and rlm_python remain on by default, following the upstream defaults. Release notes ============= Feature Improvements * radclient exits with 0 on successful (accept / ack), and 1 otherwise (no response / reject) * Added support for %{sql:UPDATE ..}, and insert/delete. Patch from Arran Cudbard-Bell * Added sample "do not respond" policy. See raddb/policy.conf and raddb/sites-available/do_not_respond * Cleanups to Suse spec file from Norbert Wegener * New VSAs for Juniper from Bjorn Mork * Include more RFC dictionaries in the default install * More documentation for the WiMAX module * Added "chase_referrals" and "rebind" configuration to rlm_ldap. This helps with Active Directory. See raddb/modules/ldap * Don't load pre/post-proxy if proxying is disabled. * Added %{md5:...}, which returns MD5 hash in hex. * Added configurable "retry_interval" and "poll_interval" for "detail" listeners. * Added "delete_mppe_keys" configuration option to rlm_wimax. Apparently some WiMAX clients misbehave when they see those keys. * Added experimental rlm_ruby from http://github.com/Antti/freeradius-server/tree/master * Add Tunnel attributes to ldap.attrmap * Enable virtual servers to be reloaded on HUP. For now, only the "authorize", "authenticate", etc. processing sections are reloaded. Clients and "listen" sections are NOT reloaded. * Updated "radwatch" script to be more robust. See scripts/radwatch * Added certificate compatibility notes in raddb/certs/README, for compatibility with different operating systems. (i.e. Windows) Bug Fixes * Minor changes to allow building without VQP. * Minor fixes from John Center * Fixed raddebug example * Don't crash when deleting attributes via unlang * Be friendlier to very fast clients * Updated the "detail" listener so that it only polls once, and not many times in a row, leaking memory each time... * Update comparison for Packet-Src-IP-Address (etc.) so that the operators other than '==' work. * Did autoconf magic to work around weird libtool bug * Make rlm_perl keep tags for tagged attributes in more situations * Update UID checking for radmin * Added "include_length" field for TTLS. It's needed for RFC compliance, but not (apparently) for interoperability. INSTRUCTIONS ============ files/patch-version and files/patch-bootstrap have been been deleted. files/patch-perl and files/patch-bootstrap have been added. Please note: portlint seems not to understand bsd.port.options.mk and throws up a whole bunch of new FATAL errors that are bogus. >How-To-Repeat: >Fix: Patch attached with submission follows: Index: distinfo =================================================================== --- distinfo (.../branches/FreeBSD-ports-tree/freeradius2) (revision 279) +++ distinfo (.../trunk/freeradius2) (revision 279) @@ -1,3 +1,3 @@ -MD5 (freeradius-server-2.1.4.tar.bz2) = ba1fd573222ed5c8bead1cce1383a7a9 -SHA256 (freeradius-server-2.1.4.tar.bz2) = d509191a2a0cd556f23639547d176c662c0fc0de09fc625e1afc62ed84cbd2de -SIZE (freeradius-server-2.1.4.tar.bz2) = 2405962 +MD5 (freeradius-server-2.1.6.tar.bz2) = 645ac631505cde46e93c47e273bdec19 +SHA256 (freeradius-server-2.1.6.tar.bz2) = a3bb9ead594a612442a4ce1d7c6930002486055c3be8f20320634c7f2743cb9e +SIZE (freeradius-server-2.1.6.tar.bz2) = 2512340 Index: files/patch-version =================================================================== --- files/patch-version (.../branches/FreeBSD-ports-tree/freeradius2) (revision 279) +++ files/patch-version (.../trunk/freeradius2) (revision 279) @@ -1,5 +0,0 @@ ---- VERSION 2009-03-19 13:59:05.000000000 +0000 -+++ VERSION 2009-03-19 13:59:14.000000000 +0000 -@@ -1 +1 @@ --2.1.5 -+2.1.4 Index: files/patch-bootstrap =================================================================== --- files/patch-bootstrap (.../branches/FreeBSD-ports-tree/freeradius2) (revision 279) +++ files/patch-bootstrap (.../trunk/freeradius2) (revision 279) @@ -1,11 +0,0 @@ ---- raddb/certs/bootstrap 2009-03-18 20:20:41.000000000 +0000 -+++ raddb/certs/bootstrap 2009-03-18 21:20:25.000000000 +0000 -@@ -17,7 +17,7 @@ - # - # If that worked, exit. Otherwise, run the commands manually. - # --if [ "$?" == "0" ] -+if [ $? -eq 0 ] - then - exit 0 - fi Index: files/patch-perl =================================================================== --- files/patch-perl (.../branches/FreeBSD-ports-tree/freeradius2) (revision 0) +++ files/patch-perl (.../trunk/freeradius2) (revision 279) @@ -0,0 +1,61 @@ +--- configure.in 2009-07-01 17:32:17.000000000 +0100 ++++ configure.in 2009-07-01 17:45:44.000000000 +0100 +@@ -409,6 +409,21 @@ + AC_DEFINE(WITH_UDPFROMTO, [], [define if you want udpfromto]) + fi + ++dnl extra argument: --with-perl ++WITH_PERL=yes ++AC_ARG_WITH(perl, ++[ --with-perl Enable Perl support. (default=yes)], ++[ case "$withval" in ++ yes) ++ ;; ++ *) ++ WITH_PERL=no ++ esac ] ++) ++if test "x$WITH_PERL" = "xno"; then ++ with_rlm_perl=no ++fi ++ + dnl ############################################################# + dnl # + dnl # 1. Checks for programs +@@ -416,10 +431,14 @@ + dnl ############################################################# + + CHECKRAD=checkrad.pl ++if test "x$WITH_PERL" = "xyes"; then + AC_PATH_PROG(PERL, perl, /usr/local/bin/perl) + if test "x$ac_cv_path_PERL" = "x"; then + AC_MSG_WARN(perl not found - Simultaneous-Use and checkrad.pl may not work) + fi ++else ++ AC_MSG_WARN(perl disabled - Simultaneous-Use and checkrad.pl may not work) ++fi + AC_PATH_PROG(SNMPGET, snmpget) + if test "x$ac_cv_path_SNMPGET" = "x"; then + AC_MSG_WARN(snmpget not found - Simultaneous-Use and checkrad.pl may not work) +--- src/modules/rlm_perl/configure.in 2009-07-01 17:58:23.000000000 +0100 ++++ src/modules/rlm_perl/configure.in 2009-07-01 20:09:39.000000000 +0100 +@@ -3,7 +3,18 @@ + AC_REVISION($Revision$) + AC_DEFUN(modname,[rlm_perl]) + +-if test x$with_[]modname != xno; then ++dnl extra argument: --with-perl ++WITH_PERL=yes ++AC_ARG_WITH(perl, ++[ --with-perl Enable Perl support. (default=yes)], ++[ case "$withval" in ++ yes) ++ ;; ++ *) ++ WITH_PERL=no ++ esac ] ++) ++if test x$with_[]modname != xno && test x$WITH_PERL != xno; then + + AC_PROG_CC + AC_PROG_CPP Index: pkg-plist =================================================================== --- pkg-plist (.../branches/FreeBSD-ports-tree/freeradius2) (revision 279) +++ pkg-plist (.../trunk/freeradius2) (revision 279) @@ -374,11 +374,11 @@ %%EXPM%%%%LIBDIR%%/rlm_protocol_filter.a %%EXPM%%%%LIBDIR%%/rlm_protocol_filter.la %%EXPM%%%%LIBDIR%%/rlm_protocol_filter.so -%%LIBDIR%%/rlm_python-%%PORTVERSION%%.la -%%LIBDIR%%/rlm_python-%%PORTVERSION%%.so -%%LIBDIR%%/rlm_python.a -%%LIBDIR%%/rlm_python.la -%%LIBDIR%%/rlm_python.so +%%RLMPYTHON%%%%LIBDIR%%/rlm_python-%%PORTVERSION%%.la +%%RLMPYTHON%%%%LIBDIR%%/rlm_python-%%PORTVERSION%%.so +%%RLMPYTHON%%%%LIBDIR%%/rlm_python.a +%%RLMPYTHON%%%%LIBDIR%%/rlm_python.la +%%RLMPYTHON%%%%LIBDIR%%/rlm_python.so %%LIBDIR%%/rlm_radutmp-%%PORTVERSION%%.la %%LIBDIR%%/rlm_radutmp-%%PORTVERSION%%.so %%LIBDIR%%/rlm_radutmp.a @@ -389,6 +389,11 @@ %%LIBDIR%%/rlm_realm.a %%LIBDIR%%/rlm_realm.la %%LIBDIR%%/rlm_realm.so +%%EXPM%%%%RLMRUBY%%%%LIBDIR%%/rlm_ruby-%%PORTVERSION%%.la +%%EXPM%%%%RLMRUBY%%%%LIBDIR%%/rlm_ruby-%%PORTVERSION%%.so +%%EXPM%%%%RLMRUBY%%%%LIBDIR%%/rlm_ruby.a +%%EXPM%%%%RLMRUBY%%%%LIBDIR%%/rlm_ruby.la +%%EXPM%%%%RLMRUBY%%%%LIBDIR%%/rlm_ruby.so %%EXPM%%%%LIBDIR%%/rlm_sim_files-%%PORTVERSION%%.la %%EXPM%%%%LIBDIR%%/rlm_sim_files-%%PORTVERSION%%.so %%EXPM%%%%LIBDIR%%/rlm_sim_files.a @@ -429,6 +434,11 @@ %%PGSQL%%%%LIBDIR%%/rlm_sql_postgresql.a %%PGSQL%%%%LIBDIR%%/rlm_sql_postgresql.la %%PGSQL%%%%LIBDIR%%/rlm_sql_postgresql.so +%%UNIXODBC%%%%LIBDIR%%/rlm_sql_unixodbc-%%PORTVERSION%%.la +%%UNIXODBC%%%%LIBDIR%%/rlm_sql_unixodbc-%%PORTVERSION%%.so +%%UNIXODBC%%%%LIBDIR%%/rlm_sql_unixodbc.a +%%UNIXODBC%%%%LIBDIR%%/rlm_sql_unixodbc.la +%%UNIXODBC%%%%LIBDIR%%/rlm_sql_unixodbc.so %%LIBDIR%%/rlm_sqlcounter-%%PORTVERSION%%.la %%LIBDIR%%/rlm_sqlcounter-%%PORTVERSION%%.so %%LIBDIR%%/rlm_sqlcounter.a @@ -460,18 +470,34 @@ sbin/radiusd sbin/radmin sbin/radwatch +include/freeradius/autoconf.h +include/freeradius/conf.h +include/freeradius/conffile.h +include/freeradius/detail.h +include/freeradius/dhcp.h +include/freeradius/event.h include/freeradius/hash.h +include/freeradius/heap.h include/freeradius/ident.h include/freeradius/libradius.h include/freeradius/md4.h include/freeradius/md5.h include/freeradius/missing.h +include/freeradius/modcall.h +include/freeradius/modules.h include/freeradius/packet.h +include/freeradius/rad_assert.h include/freeradius/radius.h +include/freeradius/radiusd.h include/freeradius/radpaths.h +include/freeradius/radutmp.h +include/freeradius/realms.h include/freeradius/sha1.h +include/freeradius/stats.h +include/freeradius/sysutmp.h include/freeradius/token.h include/freeradius/udpfromto.h +include/freeradius/vmps.h include/freeradius/vqp.h @dirrm include/freeradius %%PORTDOCS%%%%DOCSDIR%%/Acct-Type @@ -630,6 +656,7 @@ %%DATADIR%%/dictionary.h3c %%DATADIR%%/dictionary.hp %%DATADIR%%/dictionary.huawei +%%DATADIR%%/dictionary.infonet %%DATADIR%%/dictionary.ipunplugged %%DATADIR%%/dictionary.issanni %%DATADIR%%/dictionary.itk Index: Makefile =================================================================== --- Makefile (.../branches/FreeBSD-ports-tree/freeradius2) (revision 279) +++ Makefile (.../trunk/freeradius2) (revision 279) @@ -8,7 +8,7 @@ # PORTNAME= freeradius -DISTVERSION= 2.1.4 +DISTVERSION= 2.1.6 CATEGORIES= net MASTER_SITES= ftp://ftp.freeradius.org/pub/freeradius/%SUBDIR%/ \ ftp://ftp.ntua.gr/pub/net/radius/freeradius/%SUBDIR%/ \ @@ -25,7 +25,6 @@ LIB_DEPENDS= gdbm.3:${PORTSDIR}/databases/gdbm USE_BZIP2= yes -WANT_PERL= yes LOGDIR?= /var/log @@ -36,7 +35,6 @@ USE_AUTOTOOLS= libltdl:15 libtool:15 autoconf:262 USE_GMAKE= yes USE_OPENSSL= yes -USE_PYTHON= yes MAKE_ARGS+= LDFLAGS="-L${LOCALBASE}/lib ${PTHREAD_LIBS}" CFLAGS+= -I${LOCALBASE}/include -L${LOCALBASE}/lib MAKE_JOBS_UNSAFE= yes @@ -49,96 +47,19 @@ LDAP "With LDAP database support" off \ MYSQL "With MySQL database support" off \ PGSQL "With PostgreSQL database support" off \ + UNIXODBC "With unixODBC database support" off \ FIREBIRD "With Firebird database support (EXPERIMENTAL)" off \ - EXPERIMENTAL "Build experimental modules (including DHCP)" off + PERL "With Perl support" on \ + PYTHON "With Python support" on \ + RUBY "With Ruby support (EXPERIMENTAL)" off \ + DHCP "With DHCP support (EXPERIMENTAL)" off \ + EXPERIMENTAL "Build experimental modules" off -.include +.include -.if ${ARCH} == "sparc64" && ${OSVERSION} < 700000 -BROKEN= Does not build on sparc64-6 -.endif - # Default requirements for rc script _REQUIRE= NETWORKING SERVERS -# User and group to use if USER is set -USER= freeradius -GROUP= freeradius - -FREERADIUS_LIBDIR= lib/freeradius-${PORTVERSION} -PLIST_SUB+= LIBDIR="${FREERADIUS_LIBDIR}" -USE_LDCONFIG= ${PREFIX}/${FREERADIUS_LIBDIR} - -CONFIGURE_ARGS= --quiet \ - --prefix=${PREFIX} \ - --libdir=${PREFIX}/${FREERADIUS_LIBDIR} \ - --localstatedir=/var \ - --with-system-libtool -.ifdef(NOPORTDOCS) -CONFIGURE_ARGS+=--without-docdir -PLIST_SUB+= PORTDOCS="@comment " -SUB_LIST+= PORTDOCS="@comment " -.else -CONFIGURE_ARGS+=--with-docdir=${DOCSDIR} -PLIST_SUB+= PORTDOCS="" -SUB_LIST+= PORTDOCS="" -.endif -CONFIGURE_ARGS+=--with-logdir=${LOGDIR} \ - --with-openssl-includes=${OPENSSLINC} -# This conditionality avoids -L/usr/lib in the radiusd build step when -# building with base system OpenSSL -.if ${OPENSSLLIB} != "/usr/lib" -CONFIGURE_ARGS+=--with-openssl-libraries=${OPENSSLLIB} -.endif -CONFIGURE_ARGS+=--with-rlm-python-lib-dir=${PYTHON_LIBDIR} \ - --with-rlm-python-include-dir=${PYTHON_INCLUDEDIR} \ - --without-rlm_eap_ikev2 \ - --without-rlm_eap_tnc \ - --without-rlm_eap2 \ - --without-rlm_opendirectory \ - --without-rlm_sql_db2 \ - --without-rlm_sql_iodbc \ - --without-rlm_sql_oracle \ - --without-rlm_sql_sqlite \ - --without-rlm_sql_sybase \ - --without-rlm_sql_unixodbc \ - --with-vmps - -.if ${ARCH} == amd64 -CONFIGURE_ARGS+= --with-pic -.endif - -# Credentials for WITH_USER are RADIUS_USER, RADIUS_UID, RADIUS_GECOS, -# RADIUS_HOME, RADIUS_SHELL, RADIUS_GROUP and RADIUS_GID. - -# Parse ${PORTSDIR}/UIDs and GIDs for the defaults -USER!= ${GREP} -E '^${USER}:' ${PORTSDIR}/UIDs | \ - ${SED} -Ee 's/^([^:]*):([^:]*):([^:]*):([^:]*)::0:0:([^:]*):([^:]*):([^:]*)$$/USER="\1" UID="\3" GECOS="\5" HOME="\6" SHELL="\7"/' -GROUP!= ${GREP} -E '^${GROUP}:' ${PORTSDIR}/GIDs | \ - ${SED} -Ee 's/^([^:]*):([^:]*):([^:]*):$$/GROUP="\1" GID="\3"/' - -# Apply the defaults where necessary -RADIUS_USER?= ${USER:MUSER*:C/^[^=]*=\"([^\"]*)\"$/\1/} -RADIUS_UID?= ${USER:MUID*:C/^[^=]*=\"([^\"]*)\"$/\1/} -RADIUS_GECOS?= ${USER:MGECOS*:C/^[^=]*=\"([^\"]*)\"$/\1/} -RADIUS_HOME?= ${USER:MHOME*:C/^[^=]*=\"([^\"]*)\"$/\1/} -RADIUS_SHELL?= ${USER:MSHELL*:C/^[^=]*=\"([^\"]*)\"$/\1/} -RADIUS_GROUP?= ${GROUP:MGROUP*:C/^[^=]*=\"([^\"]*)\"$/\1/} -RADIUS_GID?= ${GROUP:MGID*:C/^[^=]*=\"([^\"]*)\"$/\1/} - -SUB_LIST+= USER="${RADIUS_USER}" \ - UID="${RADIUS_UID}" \ - GECOS="${RADIUS_GECOS}" \ - HOME="${RADIUS_HOME}" \ - SHELL="${RADIUS_SHELL}" \ - GROUP="${RADIUS_GROUP}" \ - GID="${RADIUS_GID}" \ - RADDB_WORK="${WRKSRC}/raddb" \ - RADDB="${PREFIX}/etc/raddb" \ - LOGDIR="${LOGDIR}" \ - LIBDIR="${PREFIX}/${FREERADIUS_LIBDIR}" \ - RC_SUBR_SUFFIX="${RC_SUBR_SUFFIX}" -SUB_FILES+= pkg-install pkg-deinstall pkg-message .ifdef(WITH_USER) SUB_LIST+= RUN_AS_USER="yes" .else @@ -195,6 +116,15 @@ PLIST_SUB+= PGSQL="@comment " .endif +.ifdef(WITH_UNIXODBC) +CONFIGURE_ARGS+=--with-rlm_sql_unixodbc +PLIST_SUB+= UNIXODBC="" +LIB_DEPENDS+= odbc.1:${PORTSDIR}/databases/unixODBC +.else +CONFIGURE_ARGS+=--without-rlm_sql_unixodbc +PLIST_SUB+= UNIXODBC="@comment " +.endif + .ifdef(WITH_FIREBIRD) USE_FIREBIRD= YES CONFIGURE_ARGS+=--with-rlm_sql_firebird @@ -209,6 +139,51 @@ WITH_EXPERIMENTAL= yes .endif +.ifdef(WITH_PERL) +USE_PERL5= yes +CONFIGURE_ARGS+=--with-rlm_perl +PLIST_SUB+= RLMPERL="" +.else +CONFIGURE_ARGS+=--without-perl --without-rlm_perl +PLIST_SUB+= RLMPERL="@comment " +.endif + +.ifdef(WITH_PYTHON) +USE_PYTHON= yes +CONFIGURE_ARGS+=--with-rlm_python \ + --with-rlm-python-lib-dir=${PYTHON_LIBDIR} \ + --with-rlm-python-include-dir=${PYTHON_INCLUDEDIR} +PLIST_SUB+= RLMPYTHON="" +.else +CONFIGURE_ARGS+=--without-rlm_python +PLIST_SUB+= RLMPYTHON="@comment " +.endif + +.ifdef(WITH_RUBY) +USE_RUBY= yes +CONFIGURE_ARGS+=--with-rlm_ruby +PLIST_SUB+= RLMRUBY="" +.else +CONFIGURE_ARGS+=--without-rlm_ruby +PLIST_SUB+= RLMRUBY="@comment " +.endif + +# rlm_ruby module is still experimental +.if defined(WITH_RUBY) && !defined(WITH_EXPERIMENTAL) +WITH_EXPERIMENTAL= yes +.endif + +.ifdef(WITH_DHCP) +CONFIGURE_ARGS+=--with-dhcp +.else +CONFIGURE_ARGS+=--without-dhcp +.endif + +# DHCP is still experimental +.if defined(WITH_DHCP) && !defined(WITH_EXPERIMENTAL) +WITH_EXPERIMENTAL= yes +.endif + # No SMB option yet; rlm_smb is still unbuildable .ifdef(WITH_SMB) LIB_DEPENDS= smbclient.0:${PORTSDIR}/net/samba-libsmbclient @@ -227,7 +202,7 @@ .endif .ifdef(WITH_EXPERIMENTAL) -CONFIGURE_ARGS+=--with-experimental-modules --with-dhcp +CONFIGURE_ARGS+=--with-experimental-modules PLIST_SUB+= EXPM="" .else PLIST_SUB+= EXPM="@comment " @@ -239,23 +214,88 @@ CFLAGS!= ${ECHO} ${CFLAGS} | ${SED} -Ee 's:-O[0-9]?[[:space:]]*::g' .endif -# NOPERL has been removed from OPTIONS. It is a nasty hack as it doesn't -# properly remove the dependency on perl. The main configure.in should be -# patched so that the perl detection test fails to make this work properly, -# though that configure run (at least in 2.0.0) only looks for perl to issue -# a warning about Simultaneous-Use and checkrad.pl maybe not working without -# perl. -# Leave WITH_NOPERL as a knob for anyone that really wants it - or for -# a proper fix in the future. -.ifdef(WITH_NOPERL) -CONFIGURE_ARGS+=--without-rlm_perl -PLIST_SUB+= RLMPERL="@comment " +.include + +.if ${ARCH} == "sparc64" && ${OSVERSION} < 700000 +BROKEN= Does not build on sparc64-6 +.endif + +# User and group to use if USER option is chosen +USER= freeradius +GROUP= freeradius + +FREERADIUS_LIBDIR= lib/freeradius-${PORTVERSION} +PLIST_SUB+= LIBDIR="${FREERADIUS_LIBDIR}" +USE_LDCONFIG= ${PREFIX}/${FREERADIUS_LIBDIR} + +CONFIGURE_ARGS+=--quiet \ + --prefix=${PREFIX} \ + --libdir=${PREFIX}/${FREERADIUS_LIBDIR} \ + --localstatedir=/var \ + --with-system-libtool +.ifdef(NOPORTDOCS) +CONFIGURE_ARGS+=--without-docdir +PLIST_SUB+= PORTDOCS="@comment " +SUB_LIST+= PORTDOCS="@comment " .else -USE_PERL5= yes -CONFIGURE_ARGS+=--with-rlm_perl -PLIST_SUB+= RLMPERL="" +CONFIGURE_ARGS+=--with-docdir=${DOCSDIR} +PLIST_SUB+= PORTDOCS="" +SUB_LIST+= PORTDOCS="" .endif +CONFIGURE_ARGS+=--with-logdir=${LOGDIR} \ + --with-openssl-includes=${OPENSSLINC} +# This conditionality avoids -L/usr/lib in the radiusd build step when +# building with base system OpenSSL +.if ${OPENSSLLIB} != "/usr/lib" +CONFIGURE_ARGS+=--with-openssl-libraries=${OPENSSLLIB} +.endif +CONFIGURE_ARGS+=--without-rlm_eap_ikev2 \ + --without-rlm_eap_tnc \ + --without-rlm_eap2 \ + --without-rlm_opendirectory \ + --without-rlm_sql_db2 \ + --without-rlm_sql_iodbc \ + --without-rlm_sql_oracle \ + --without-rlm_sql_sqlite \ + --without-rlm_sql_sybase \ + --with-vmps +.if ${ARCH} == amd64 +CONFIGURE_ARGS+= --with-pic +.endif + +# Credentials for WITH_USER are RADIUS_USER, RADIUS_UID, RADIUS_GECOS, +# RADIUS_HOME, RADIUS_SHELL, RADIUS_GROUP and RADIUS_GID. + +# Parse ${PORTSDIR}/UIDs and GIDs for the defaults +USERCREDS!= ${GREP} -E '^${USER}:' ${PORTSDIR}/UIDs | \ + ${SED} -Ee 's/^([^:]*):([^:]*):([^:]*):([^:]*)::0:0:([^:]*):([^:]*):([^:]*)$$/USER="\1" UID="\3" GECOS="\5" HOME="\6" SHELL="\7"/' +GROUPCREDS!= ${GREP} -E '^${GROUP}:' ${PORTSDIR}/GIDs | \ + ${SED} -Ee 's/^([^:]*):([^:]*):([^:]*):$$/GROUP="\1" GID="\3"/' + +# Apply the defaults where necessary +RADIUS_USER?= ${USERCREDS:MUSER*:C/^[^=]*=\"([^\"]*)\"$/\1/} +RADIUS_UID?= ${USERCREDS:MUID*:C/^[^=]*=\"([^\"]*)\"$/\1/} +RADIUS_GECOS?= ${USERCREDS:MGECOS*:C/^[^=]*=\"([^\"]*)\"$/\1/} +RADIUS_HOME?= ${USERCREDS:MHOME*:C/^[^=]*=\"([^\"]*)\"$/\1/} +RADIUS_SHELL?= ${USERCREDS:MSHELL*:C/^[^=]*=\"([^\"]*)\"$/\1/} +RADIUS_GROUP?= ${GROUPCREDS:MGROUP*:C/^[^=]*=\"([^\"]*)\"$/\1/} +RADIUS_GID?= ${GROUPCREDS:MGID*:C/^[^=]*=\"([^\"]*)\"$/\1/} + +SUB_LIST+= USER="${RADIUS_USER}" \ + UID="${RADIUS_UID}" \ + GECOS="${RADIUS_GECOS}" \ + HOME="${RADIUS_HOME}" \ + SHELL="${RADIUS_SHELL}" \ + GROUP="${RADIUS_GROUP}" \ + GID="${RADIUS_GID}" \ + RADDB_WORK="${WRKSRC}/raddb" \ + RADDB="${PREFIX}/etc/raddb" \ + LOGDIR="${LOGDIR}" \ + LIBDIR="${PREFIX}/${FREERADIUS_LIBDIR}" \ + RC_SUBR_SUFFIX="${RC_SUBR_SUFFIX}" +SUB_FILES+= pkg-install pkg-deinstall pkg-message + MAN1= radclient.1 radeapclient.1 radlast.1 radtest.1 radwho.1 \ radzap.1 MAN5= acct_users.5 clients.conf.5 dictionary.5 radiusd.conf.5 \ @@ -289,8 +329,8 @@ @${FIND} -E ${WRKSRC}/raddb/certs \ -regex '.*/(bootstrap|Makefile)\.(orig|bak)$$' \ -delete -# If EXPERIMENTAL (and therefore DHCP) is enabled, enable the DHCP dictionary -.ifdef(WITH_EXPERIMENTAL) +# If DHCPis enabled, enable the DHCP dictionary +.ifdef(WITH_DHCP) @${REINPLACE_CMD} -Ee 's:^#(.+ dictionary\.dhcp)$$:\1:g' \ ${WRKSRC}/share/dictionary # Clean up (so as not to get an unwanted file in share) @@ -313,6 +353,7 @@ @cd ${WRKSRC}/src/modules/rlm_ldap && ${AUTOCONF} -I ${WRKSRC} @cd ${WRKSRC}/src/modules/rlm_sql/drivers/rlm_sql_mysql \ && ${AUTOCONF} -I ${WRKSRC} + @cd ${WRKSRC}/src/modules/rlm_perl && ${AUTOCONF} -I ${WRKSRC} @cd ${WRKSRC}/src/modules/rlm_python && ${AUTOCONF} -I ${WRKSRC} pre-install: Property changes on: Makefile ___________________________________________________________________ Added: svn:keywords + Id Property changes on: . ___________________________________________________________________ Added: svn:mergeinfo Merged /branches/FreeBSD-ports-tree/freeradius2:r96-270 Merged /trunk/freeradius:r266 >Release-Note: >Audit-Trail: >Unformatted: