ports/118425: [maintainer update] net/freeradius - fix build on 7.x amd64 and 6.x with gcc 4.2, also various other fixes
David Wood
david at wood2.org.uk
Tue Dec 4 15:30:02 UTC 2007
>Number: 118425
>Category: ports
>Synopsis: [maintainer update] net/freeradius - fix build on 7.x amd64 and 6.x with gcc 4.2, also various other fixes
>Confidential: no
>Severity: non-critical
>Priority: high
>Responsible: freebsd-ports-bugs
>State: open
>Quarter:
>Keywords:
>Date-Required:
>Class: maintainer-update
>Submitter-Id: current-users
>Arrival-Date: Tue Dec 04 15:30:01 UTC 2007
>Closed-Date:
>Last-Modified:
>Originator: David Wood
>Release: 6.2-RELEASE i386
>Organization:
>Environment:
FreeBSD titanium.wood2.org.uk 6.2-RELEASE-p9 FreeBSD 6.2-RELEASE-p9 #0: Sat Dec 1 18:14:52 GMT 2007 david at titanium.wood2.org.uk:/usr/obj/usr/src/sys/TITANIUM i386
>Description:
- Patch src/main/Makefile to remove -pie for radiusd. [1]
This produces a runnable radiusd on:
* 6.2-RELEASE-p9 i386 with USE_GCC=4.2 and up to date lang/gcc42
* RELENG_7 i386 from a couple of days ago
* RELENG_7 amd64 (according to the report I received)
which were previously broken, and is a no-op on:
* 6.2-RELEASE-p9 i386
* RELENG_6_3 i386 from a couple of days ago.
- Chase heimdal shared version library bump (which was missed somehow). [2]
- Remove files/patch-src-modules-rlm_attr_rewrite-rlm_attr_rewrite.c. This is
4.x cruft which should have been removed as parts of ports/117160 but got
missed.
- Rework files/radiusd.sh.in, not least to address the bug reported in
ports/117262
- Bump PORTREVISION.
[1] Reported by: Sean McNeil <sean at mcneil.com>
[2] Reported by: Gioto Alves Lourenco <gioto at pop-ro.rnp.br>
Note: this affects the patch in ports/117161, which will not now apply
cleanly. The solution is to update files/patch-radiusd-no-pie for the 2.x
version of src/main/Makefile (the same change is needed as in 1.x).
******************************************************************************
PORTS FREEZE COMMENTS
******************************************************************************
- Item 1 fixes a build failure on RELENG_7 amd64.
- Item 2 fixes a build failure on all platforms (though not with
default options).
I believe that at least these two items may qualify for committing during the
current ports freeze (portmgr@ alerted).
If the deletion of
files/patch-src-modules-rlm_attr_rewrite-rlm_attr_rewrite.c
and the changes to
files/radiusd.sh.in
do not qualify for committing during ports freeze, ignore the patches to those
files, and I'll PR them separately. The other changes can stand alone (patch
to Makefile and new file files/patch-radiusd-no-pie).
******************************************************************************
FILES TO BE ADDED
******************************************************************************
files/patch-radiusd-no-pie
******************************************************************************
FILES TO BE REMOVED
******************************************************************************
files/patch-src-modules-rlm_attr_rewrite-rlm_attr_rewrite.c
>How-To-Repeat:
>Fix:
Apply the attached patch.
Patch attached with submission follows:
Index: files/patch-src-modules-rlm_attr_rewrite-rlm_attr_rewrite.c
===================================================================
--- files/patch-src-modules-rlm_attr_rewrite-rlm_attr_rewrite.c (.../branches/FreeBSD-ports-tree/freeradius) (revision 128)
+++ files/patch-src-modules-rlm_attr_rewrite-rlm_attr_rewrite.c (.../trunk/freeradius) (revision 128)
@@ -1,10 +0,0 @@
---- src/modules/rlm_attr_rewrite/rlm_attr_rewrite.c.orig Sat Jun 18 14:29:43 2005
-+++ src/modules/rlm_attr_rewrite/rlm_attr_rewrite.c Sat Jun 18 14:31:48 2005
-@@ -27,6 +27,7 @@
- #include <stdio.h>
- #include <stdlib.h>
- #include <string.h>
-+#include <sys/types.h>
- #ifdef HAVE_REGEX_H
- # include <regex.h>
- #endif
Index: files/radiusd.sh.in
===================================================================
--- files/radiusd.sh.in (.../branches/FreeBSD-ports-tree/freeradius) (revision 128)
+++ files/radiusd.sh.in (.../trunk/freeradius) (revision 128)
@@ -14,13 +14,19 @@
name=radiusd
rcvar=`set_rcvar`
+load_rc_config $name
command=%%PREFIX%%/sbin/radiusd
-radiusd_config=${radiusd_config:-"%%PREFIX%%/etc/raddb/radiusd.conf"}
-required_files=${radiusd_config}
pidfile=/var/run/radiusd/radiusd.pid
+# The radiusd_config parameter is now obsolete. Instead, derive the
+# configuration directory name from radiusd_flags if possible, otherwise
+# default to %%PREFIX%%/etc/raddb
+required_dirs=`echo ${radiusd_flags} | sed -Ee 's:.*\-[^[:space:]d]*d[[:space:]]*([^[:space:]]+).*:\1:'`
+required_dirs=${required_dirs:-"%%PREFIX%%/etc/raddb"}
+
+required_files="${required_dirs}/radiusd.conf"
+
radiusd_enable=${radiusd_enable-"NO"}
-load_rc_config $name
run_rc_command "$1"
Index: files/patch-radiusd-no-pie
===================================================================
--- files/patch-radiusd-no-pie (.../branches/FreeBSD-ports-tree/freeradius) (revision 0)
+++ files/patch-radiusd-no-pie (.../trunk/freeradius) (revision 128)
@@ -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)
+
Index: Makefile
===================================================================
--- Makefile (.../branches/FreeBSD-ports-tree/freeradius) (revision 128)
+++ Makefile (.../trunk/freeradius) (revision 128)
@@ -7,7 +7,7 @@
PORTNAME= freeradius
PORTVERSION?= 1.1.7
-PORTREVISION?= 1
+PORTREVISION?= 2
CATEGORIES= net
MASTER_SITES= ftp://ftp.freeradius.org/pub/radius/ \
ftp://ftp.ntua.gr/pub/net/radius/freeradius/ \
@@ -61,12 +61,6 @@
.include <bsd.port.pre.mk>
-.if ${OSVERSION} >= 700042
-.if ${ARCH} == "amd64"
-BROKEN= Does not compile with GCC 4.2
-.endif
-.endif
-
# Default requirements for rc script
_REQUIRE= NETWORKING SERVERS
@@ -110,7 +104,7 @@
.ifdef(WITH_KERBEROS)
.ifdef(WITH_HEIMDAL)
-LIB_DEPENDS+= krb5.21:${PORTSDIR}/security/heimdal
+LIB_DEPENDS+= krb5.23:${PORTSDIR}/security/heimdal
CONFIGURE_ARGS+=--enable-heimdal-krb5
.else
LIB_DEPENDS+= krb5.3:${PORTSDIR}/security/krb5
>Release-Note:
>Audit-Trail:
>Unformatted:
More information about the freebsd-ports-bugs
mailing list