ports/115157: [maintainer update] update net/freeradius to 1.1.7

David Wood david at wood2.org.uk
Thu Aug 2 21:30:08 UTC 2007


>Number:         115157
>Category:       ports
>Synopsis:       [maintainer update] update net/freeradius to 1.1.7
>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 Aug 02 21:30:07 GMT 2007
>Closed-Date:
>Last-Modified:
>Originator:     David Wood
>Release:        6.2-RELEASE
>Organization:
>Environment:
FreeBSD titanium.wood2.org.uk 6.2-RELEASE-p6 FreeBSD 6.2-RELEASE-p6 #0: Tue Jul 17 17:06:04 BST 2007     david at titanium.wood2.org.uk:/usr/obj/usr/src/sys/TITANIUM  i386
>Description:
Update to FreeRADIUS 1.1.7

This release aims to improve stability, and contains tidying up and bug 
fixing.



New in this version of the FreeBSD port are fixes to various configure.in
files to stop -lpthread mistakenly being used.

There is also a fix to the configure.in of rlm_python to cope with the
libpython being threaded (as seems to be the case for Python 2.5.1, at least
on my machine).

I intend to submit all these patches upstream in due course.
>How-To-Repeat:

>Fix:


Patch attached with submission follows:

Index: distinfo
===================================================================
--- distinfo	(.../tags/1.1.6-FreeBSD-20070703/freeradius)	(revision 70)
+++ distinfo	(.../trunk/freeradius)	(revision 70)
@@ -1,3 +1,3 @@
-MD5 (freeradius-1.1.6.tar.bz2) = 2c29ab90cc30aa3b92fbd78030ccc198
-SHA256 (freeradius-1.1.6.tar.bz2) = 942917ed1002e2bf4ac023f379daa70e517ca2510753955e3754eb8a2d0e76ce
-SIZE (freeradius-1.1.6.tar.bz2) = 2059399
+MD5 (freeradius-1.1.7.tar.bz2) = d95d303adccdaa065e4bb1d5038b2452
+SHA256 (freeradius-1.1.7.tar.bz2) = 4fa180d5afa4ae957efbad541be8408fc4f6837933793d4b30910802a1ea2cf0
+SIZE (freeradius-1.1.7.tar.bz2) = 2063278
Index: files/patch-pthread
===================================================================
--- files/patch-pthread	(.../tags/1.1.6-FreeBSD-20070703/freeradius)	(revision 0)
+++ files/patch-pthread	(.../trunk/freeradius)	(revision 70)
@@ -0,0 +1,157 @@
+--- configure.in	Tue May 15 13:48:04 2007
++++ configure.in	Fri Jul 27 18:43:56 2007
+@@ -475,14 +475,25 @@
+ dnl # On Some systems, we need extra pre-processor flags, to get them to
+ dnl # to do the threading properly.
+ dnl # 
+-  AC_CHECK_LIB(pthread, pthread_create,
+-		[ CFLAGS="$CFLAGS -D_REENTRANT -D_POSIX_PTHREAD_SEMANTICS"
+-                  LIBS="$LIBS -lpthread" ],
+-		AC_CHECK_LIB(c_r, pthread_create,
+-			    [ CFLAGS="$CFLAGS -pthread -D_THREAD_SAFE" ],
+-			    [ WITH_THREADS="no" ]
+-			    )
+-		)
++dnl # On FreeBSD, check the pthread_create function with -pthread in $CFLAGS
++dnl # but WITHOUT -lpthread (see FreeBSD Porter's Handbook, section 12.12
++dnl # at http://tinyurl.com/34cya8 )
++  case "$host" in
++  *-freebsd*)
++    CFLAGS="$CFLAGS -pthread"
++    AC_CHECK_FUNC(pthread_create, , [ WITH_THREADS="no" ])
++  ;;
++  *)
++    AC_CHECK_LIB(pthread, pthread_create,
++		  [ CFLAGS="$CFLAGS -D_REENTRANT -D_POSIX_PTHREAD_SEMANTICS"
++                    LIBS="$LIBS -lpthread" ],
++		  AC_CHECK_LIB(c_r, pthread_create,
++			      [ CFLAGS="$CFLAGS -pthread -D_THREAD_SAFE" ],
++			      [ WITH_THREADS="no" ]
++			      )
++		  )
++  ;;
++  esac
+ fi
+ 
+ dnl # 
+--- src/modules/rlm_ldap/configure.in	Fri Jul 27 17:51:33 2007
++++ src/modules/rlm_ldap/configure.in	Fri Jul 27 18:10:51 2007
+@@ -77,14 +77,27 @@
+ 
+ 	dnl pthread stuff is usually in -lpthread
+ 	dnl or in -lc_r, on *BSD
++	dnl FreeBSD uses -pthread
+ 	if test "x$rlm_ldap_with_threads" = "xyes"; then
+-	    AC_CHECK_LIB(pthread, pthread_create,
+-			 [ LIBS="-lpthread $LIBS" ],
+-			 AC_CHECK_LIB(c_r, pthread_create,
+-				      [ LIBS="-lc_r $LIBS" ],
+-				      [ rlm_ldap_with_threads="no" ]
+-				      )
+-			 )
++	    case "$host" in
++	    *-freebsd*)
++	        old_CFLAGS=$CFLAGS
++	        CFLAGS="$CFLAGS -pthread"
++	        AC_CHECK_FUNC(pthread_create, , [ rlm_ldap_with_threads="no" ])
++	        if test "x$rlm_ldap_with_threads" = "xno"; then
++	            CFLAGS=$old_CFLAGS
++	        fi
++	    ;;
++	    *)
++	        AC_CHECK_LIB(pthread, pthread_create,
++			     [ LIBS="-lpthread $LIBS" ],
++			     AC_CHECK_LIB(c_r, pthread_create,
++				          [ LIBS="-lc_r $LIBS" ],
++				          [ rlm_ldap_with_threads="no" ]
++				          )
++			     )
++	    ;;
++	    esac
+ 	fi
+ 
+ 	dnl Try only "-lldap_r" or "-lldap"
+--- src/modules/rlm_sql/drivers/rlm_sql_mysql/configure.in	Fri Nov 25 20:31:54 2005
++++ src/modules/rlm_sql/drivers/rlm_sql_mysql/configure.in	Fri Jul 27 19:11:33 2007
+@@ -61,14 +61,27 @@
+ 
+     dnl pthread stuff is usually in -lpthread
+     dnl or in -lc_r, on *BSD
++    dnl FreeBSD uses -pthread
+     if test "x$mysql_with_threads" = "xyes"; then
+-	AC_CHECK_LIB(pthread, pthread_create,
+-		     [ LIBS="-lpthread $LIBS" ],
+-		     AC_CHECK_LIB(c_r, pthread_create,
+-				  [ LIBS="-lc_r $LIBS" ],
+-				  [ mysql_with_threads=no ]
+-				  )
+-		     )
++	case "$host" in
++	*-freebsd*)
++	    old_CFLAGS=$CFLAGS
++	    CFLAGS="$CFLAGS -pthread"
++	    AC_CHECK_FUNC(pthread_create, , [ mysql_with_threads="no" ])
++	    if test "x$mysql_with_threads" = "xno"; then
++	        CFLAGS=$old_CFLAGS
++	    fi
++	;;
++	*)
++	    AC_CHECK_LIB(pthread, pthread_create,
++		         [ LIBS="-lpthread $LIBS" ],
++		         AC_CHECK_LIB(c_r, pthread_create,
++				      [ LIBS="-lc_r $LIBS" ],
++				      [ mysql_with_threads=no ]
++				      )
++		         )
++	;;
++	esac
+     fi
+ 
+     if test "x$mysql_with_threads" = "xyes"; then
+--- src/modules/rlm_python/configure.in	Thu May 15 15:52:02 2003
++++ src/modules/rlm_python/configure.in	Thu Aug  2 12:43:47 2007
+@@ -84,6 +84,44 @@
+ 		AC_SMART_CHECK_LIB(python${PY_VERSION}, Py_Initialize)
+ 		LIBS=$old_LIBS
+ 
++dnl # If that check fails, try it again having identified threading libraries
++dnl # in case libpython is threaded
++
++		if test "x$smart_lib" = "x"; then
++		    AC_MSG_NOTICE([Checking to see if libpython may be threaded.])
++		    dnl pthread stuff is usually in -lpthread
++		    dnl or in -lc_r, on *BSD
++		    dnl FreeBSD uses -pthread
++		    libpython_with_threads="yes"
++		    case "$host" in
++		    *-freebsd*)
++		        old_CFLAGS=$CFLAGS
++		        CFLAGS="$CFLAGS -pthread"
++		        AC_CHECK_FUNC(pthread_create, , [ libpython_with_threads="no" ])
++		        if test "x$libpython_with_threads" = "xno"; then
++		            CFLAGS=$old_CFLAGS
++		        fi
++		    ;;
++		    *)
++		        AC_CHECK_LIB(pthread, pthread_create,
++				     [ LIBS="-lpthread $LIBS" ],
++				     AC_CHECK_LIB(c_r, pthread_create,
++					          [ LIBS="-lc_r $LIBS" ],
++					          [ libpython_with_threads="no" ]
++					          )
++				     )
++		    ;;
++		    esac
++
++		    if test "x$libpython_with_threads" = "xyes"; then
++		        old_LIBS=$LIBS
++		        LIBS="$LIBS $PY_LIB_LOC $PY_EXTRA_LIBS -lm"
++		        smart_try_dir=$PY_LIB_DIR
++		        AC_SMART_CHECK_LIB(python${PY_VERSION}, Py_Initialize)
++		        LIBS=$old_LIBS
++		    fi
++		fi
++
+ 		eval t=\${ac_cv_lib_${sm_lib_safe}_${sm_func_safe}}
+ 		if test "x$t" = "xyes"; then
+ 			python_ldflags="$PY_LIB_LOC $PY_EXTRA_LIBS -lpython${PY_VERSION} -lm"
Index: pkg-plist
===================================================================
--- pkg-plist	(.../tags/1.1.6-FreeBSD-20070703/freeradius)	(revision 70)
+++ pkg-plist	(.../trunk/freeradius)	(revision 70)
@@ -50,6 +50,7 @@
 %%EXAMPLESDIR%%/raddb/oraclesql.conf
 %%EXAMPLESDIR%%/raddb/otp.conf
 %%EXAMPLESDIR%%/raddb/postgresql.conf
+%%EXAMPLESDIR%%/raddb/postgresqlippool.conf
 %%EXAMPLESDIR%%/raddb/preproxy_users
 %%EXAMPLESDIR%%/raddb/proxy.conf
 %%EXAMPLESDIR%%/raddb/radiusd.conf
@@ -312,11 +313,11 @@
 %%EXPM%%lib/rlm_sqlhpwippool.a
 %%EXPM%%lib/rlm_sqlhpwippool.la
 %%EXPM%%lib/rlm_sqlhpwippool.so
-%%EXPM%%lib/rlm_sqlippool-%%PORTVERSION%%.la
-%%EXPM%%lib/rlm_sqlippool-%%PORTVERSION%%.so
-%%EXPM%%lib/rlm_sqlippool.a
-%%EXPM%%lib/rlm_sqlippool.la
-%%EXPM%%lib/rlm_sqlippool.so
+lib/rlm_sqlippool-%%PORTVERSION%%.la
+lib/rlm_sqlippool-%%PORTVERSION%%.so
+lib/rlm_sqlippool.a
+lib/rlm_sqlippool.la
+lib/rlm_sqlippool.so
 lib/rlm_unix-%%PORTVERSION%%.la
 lib/rlm_unix-%%PORTVERSION%%.so
 lib/rlm_unix.a
@@ -355,6 +356,7 @@
 %%PORTDOCS%%%%DOCSDIR%%/examples/openldap.schema
 %%PORTDOCS%%%%DOCSDIR%%/examples/oracle.sql
 %%PORTDOCS%%%%DOCSDIR%%/examples/postgresql.sql
+%%PORTDOCS%%%%DOCSDIR%%/examples/postgresql.sql.extra
 %%PORTDOCS%%%%DOCSDIR%%/ldap_howto.txt
 %%PORTDOCS%%%%DOCSDIR%%/load-balance.txt
 %%PORTDOCS%%%%DOCSDIR%%/misc-nas
Index: Makefile
===================================================================
--- Makefile	(.../tags/1.1.6-FreeBSD-20070703/freeradius)	(revision 70)
+++ Makefile	(.../trunk/freeradius)	(revision 70)
@@ -6,7 +6,7 @@
 #
 
 PORTNAME=	freeradius
-PORTVERSION?=	1.1.6
+PORTVERSION?=	1.1.7
 PORTREVISION?=	0
 CATEGORIES=	net
 MASTER_SITES=	ftp://ftp.freeradius.org/pub/radius/ \
@@ -37,7 +37,7 @@
 .endif
 
 USE_RC_SUBR=	radiusd.sh
-USE_AUTOTOOLS=	libltdl:15 libtool:15
+USE_AUTOTOOLS=	libltdl:15 libtool:15 autoconf:261
 USE_GMAKE=	yes
 USE_OPENSSL=	yes
 MAKE_ARGS+=	LDFLAGS="-L${LOCALBASE}/lib ${PTHREAD_LIBS}"
@@ -220,9 +220,19 @@
 # Clean up after the last operation (so as not to get unwanted files when installing doc/)
 	@${FIND} -E ${WRKSRC} -regex '.*/Makefile(\.in)?\.(orig|bak)$$' -delete
 .if ${OSVERSION} < 500000
-	@${REINPLACE_CMD} -e 's/-DNO_OPENSSL//' ${WRKSRC}/configure
+	@${REINPLACE_CMD} -e 's/-DNO_OPENSSL//' ${WRKSRC}/configure.in
 .endif
 
+pre-configure:
+# Force the rebuild of some configures from configure.in, as we're patching
+# the configure.in
+# NOTE: ${WRKSRC}/configure is rebuilt automatically once autoconf:261 is
+# added to USE_AUTOTOOLS
+	@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_python && ${AUTOCONF} -I ${WRKSRC}
+
 post-install:
 # Create (if necessary) ${PREFIX}/etc/raddb and subdirectories using
 # ${EXAMPLESDIR}/raddb as the model layout


>Release-Note:
>Audit-Trail:
>Unformatted:



More information about the freebsd-ports-bugs mailing list