[Midnightbsd-cvs] mports: freeradius/files: patches for 1.1.7.

laffer1 at midnightbsd.org laffer1 at midnightbsd.org
Wed Feb 27 19:36:04 EST 2008


Log Message:
-----------
patches for 1.1.7.

Added Files:
-----------
    mports/net/freeradius/files:
        patch-pthread (r1.1)
        patch-radiusd-no-pie (r1.1)
        patch-radsqlrelay (r1.1)

-------------- next part --------------
--- /dev/null
+++ net/freeradius/files/patch-pthread
@@ -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"
--- /dev/null
+++ net/freeradius/files/patch-radsqlrelay
@@ -0,0 +1,32 @@
+--- scripts/radsqlrelay	Sat Nov  4 12:58:14 2006
++++ scripts/radsqlrelay	Wed Jan 23 00:54:27 2008
+@@ -43,14 +43,13 @@
+ }
+ 
+ # /!\ OS-dependent structure
+-# Linux struct flock
+-#   short l_type;
+-#   short l_whence;
++# FreeBSD struct flock
+ #   off_t l_start;
+ #   off_t l_len;
+ #   pid_t l_pid;
+-# c2ph says: typedef='s2 l2 i', sizeof=16
+-my $FLOCK_STRUCT = 's2l2i';
++#   short l_type;
++#   short l_whence;
++my $FLOCK_STRUCT = 'q2is2';
+ 
+ sub setlock($;$$)
+ {
+@@ -58,8 +57,8 @@
+     $start = 0 unless defined $start;
+     $len = 0 unless defined $len;
+ 
+-                                    #type     whence    start   till  pid
+-    my $packed = pack($FLOCK_STRUCT, F_WRLCK, SEEK_SET, $start, $len, 0);
++                                    #start   till  pid type    whence
++    my $packed = pack($FLOCK_STRUCT, $start, $len, 0, F_WRLCK, SEEK_SET);
+     if (fcntl($fh, F_SETLKW, $packed)) { return 1 }
+     else { return 0 }
+ }
--- /dev/null
+++ net/freeradius/files/patch-radiusd-no-pie
@@ -0,0 +1,11 @@
+--- src/main/Makefile.in	Wed Feb 14 15:44:23 2007
++++ src/main/Makefile.in	Mon Dec  3 14:26:53 2007
+@@ -61,7 +61,7 @@
+ 
+ radiusd: $(SERVER_OBJS) $(MODULE_OBJS) ../lib/libradius.la
+ 	$(LIBTOOL) --mode=link $(CC) -export-dynamic -dlopen self \
+-		$(LDFLAGS) -pie $(LINK_MODE) -o $@ $(SERVER_OBJS)      \
++		$(LDFLAGS) $(LINK_MODE) -o $@ $(SERVER_OBJS)      \
+ 		$(MODULE_LIBS) $(LIBS) $(SNMP_LIBS) $(PTHREADLIB) \
+ 		$(LIBLTDL) $(OPENSSL_LIBS)
+ 


More information about the Midnightbsd-cvs mailing list