Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 25 Mar 2008 23:22:35 GMT
From:      David Wood <david@wood2.org.uk>
To:        freebsd-gnats-submit@FreeBSD.org
Subject:   ports/122097: net/freeradius2 - update to 2.0.3
Message-ID:  <200803252322.m2PNMZi3035756@www.freebsd.org>
Resent-Message-ID: <200803252330.m2PNU0Ws004561@freefall.freebsd.org>

next in thread | raw e-mail | index | archive | help

>Number:         122097
>Category:       ports
>Synopsis:       net/freeradius2 - update to 2.0.3
>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:   Tue Mar 25 23:30:00 UTC 2008
>Closed-Date:
>Last-Modified:
>Originator:     David Wood
>Release:        6.2-RELEASE i386
>Organization:
>Environment:
FreeBSD titanium.wood2.org.uk 6.2-RELEASE-p10 FreeBSD 6.2-RELEASE-p10 #0: Tue Jan 15 17:30:36 GMT 2008     david@titanium.wood2.org.uk:/usr/obj/usr/src/sys/TITANIUM  i386
>Description:
FreeBSD enhancements
====================

A new USER option has been added to run FreeRADIUS as the freeradius user and
freeradius group. Running as root is not recommended from a security point of
view. This option makes it easy to secure your FreeRADIUS server 'out of the
box'.

Some unnecessary code has been removed from the patch to rlm_python in
files/patch-pthread.


Release notes
=============

2.0.2:

	Feature improvements
	* Added notes on how to debug the server in radiusd.conf
	* Moved all "log_*" in radiusd.conf to log{} section.
	  The old configurations are still accepted, though.
	* Added ca.der target in raddb/certs/Makefile.  This is
	  needed for importing CA certs into Windows.
	* Added ability send raw attributes via
		"Raw-Attribute = 0x0102..."
	  This is available only debug builds.  It can be used
	  to create invalid packets! Use it with care.
	* Permit "unlang" policies inside of Auth-Type{} sub-sections
	  of the authenticate{} section.  This makes some policies
	  easier to implement.
	* "listen" sections can now have "type = proxy".  This lets you
	  control which IP is used for sending proxied requests.
	* Added note on SSL performance to raddb/certs/README

	Bug fixes
	* Fixed reading of "detail" files.
	* Allow inner EAP tunneled sessions to be proxied.
	* Corrected MySQL schemas
	* syslog now works in log{} section.
	* Corrected typo in raddb/certs/client.cnf
	* Updated raddb/sites-available/proxy-inner-tunnel to
	  permit authentication to work.
	* Ignore zero-length attributes in received packets.
	* Correct memcpy when dealing with unknown attributes.
	* Corrected debugging messages in attr_rewrite.
	* Corrected generation of State attribute in EAP.  This
	  fixes the "failed to remember handler" issues.
	* Fall back to DEFAULT realm if no realm was found.
	  Based on a patch from Vincent Magnin.
	* Updated example raddb/sites-available/proxy-inner-tunnel
	* Corrected behavior of attr_filter to match documentation.
	  This is NOT backwards compatible with previous versions!
	  See "man rlm_attr_filter" for details.


2.0.3:

        Feature improvements
        * Updated raddb/certs/ca.cnf with extensions to allow ca.der
          to be imported as a CA on Symbian and Windows Mobile devices.
          Closes bug #524
        * Enable multiple matches in "hints" via Fall-Through = Yes.
          Closes bug #477
        * Added preliminary SQLite driver, contibuted by Apple.
          Untested, with no sample configuration.  This address bug #470.
        * Updated logging sub-system so that log messages from libfreeradius
          can go to the log file, and not stdout.
        * Added dictionary.rfc5176
        * EAP module now checks for instance name, and uses that for
          authentication.  This avoids the need to set Auth-Type when
          there are multiple instances of the EAP module.
        * Added Module-Return-Code attribute, which contains the value
          returned by the previous module (ok/fail/update/etc.)

        Bug fixes
        * Corrected typos in rlm_dbm.  Closes bugs #521 and #522.
        * Detail file "listen" sections now work much better.
        * Don't allow old "log_*" to over-ride new format.  Closes bug #525
        * Initialize allocated memory in Oracle SQL driver.  This fixes
          occasional crashes on some systems.  Closes bug #518
        * Call correct function in rlm_protocol_filter.  This enables the
          module to build.  Closes bug #512.
        * Added deprecated flag to build for rlm_krb5.  This allows it to
          run on 64-bit systems.  Closes bug #491
        * Corrected error message when parsing invalid configurations
          so it doesn't crash.  Closes bug #527
        * Fix handling of timeouts in rlm_ldap that affected 64-bit systems.
        * Handle $INCLUDE's in "instantiate" section.  Closes #528.
        * Format updates to "man" pages from Stephen Gran.

>How-To-Repeat:

>Fix:
Files added: files/patch-sites-available, files/pkg-deinstall.in, files/pkg-install.in
Files deleted: <none>


Add the following line to /usr/ports/UIDs:
freeradius:*:133:133:FreeRADIUS Daemon:/nonexistent:/usr/sbin/nologin

Add the following line to /usr/ports/GIDs:
freeradius:*:133:

(if UID / GID 133 have been taken by the time this is committed, use the next
free UID / GID)


Patch attached with submission follows:

Index: distinfo
===================================================================
--- distinfo	(.../branches/FreeBSD-ports-tree/freeradius2)	(revision 181)
+++ distinfo	(.../trunk/freeradius2)	(revision 181)
@@ -1,3 +1,3 @@
-MD5 (freeradius-server-2.0.1.tar.bz2) = 670810d0ee7e80999fcd753cfdcecdb4
-SHA256 (freeradius-server-2.0.1.tar.bz2) = d5e1cd96762cc2091d64198bc50d03690f94dfd4d96b36a042dda1490b8143df
-SIZE (freeradius-server-2.0.1.tar.bz2) = 2270018
+MD5 (freeradius-server-2.0.3.tar.bz2) = 3cd647f40880dee8693f2e74ab5416e9
+SHA256 (freeradius-server-2.0.3.tar.bz2) = 3184e9be6d88df3cdf72a08a7e00222c17bc360289ecf14219df9c81d68d7f79
+SIZE (freeradius-server-2.0.3.tar.bz2) = 2298963
Index: files/patch-sites-available
===================================================================
--- files/patch-sites-available	(.../branches/FreeBSD-ports-tree/freeradius2)	(revision 0)
+++ files/patch-sites-available	(.../trunk/freeradius2)	(revision 181)
@@ -0,0 +1,31 @@
+--- raddb/Makefile	Tue Feb 26 09:32:29 2008
++++ raddb/Makefile	Tue Mar 18 13:13:41 2008
+@@ -1,7 +1,7 @@
+ #
+ # Makefile
+ #
+-# Version:      $Id: Makefile,v 1.37 2008/02/26 09:32:29 aland Exp $
++# Version:      $Id: Makefile,v 1.38 2008/03/18 06:33:03 aland Exp $
+ #
+ 
+ include ../Make.inc
+@@ -13,9 +13,7 @@
+ 	attrs.pre-proxy clients.conf dictionary eap.conf templates.conf	\
+ 	experimental.conf hints huntgroups ldap.attrmap otp.conf	\
+ 	policy.txt preproxy_users proxy.conf radiusd.conf		\
+-	snmp.conf sql.conf sqlippool.conf users	policy.conf	\
+-	sites-available/default sites-available/example \
+-	sites-available/README
++	snmp.conf sql.conf sqlippool.conf users	policy.conf
+ 
+ #
+ #	This target is here for local debugging
+@@ -33,7 +31,7 @@
+ 	$(INSTALL) -d -m 750	$(R)$(raddbdir)/sites-available
+ 	$(INSTALL) -d -m 750	$(R)$(raddbdir)/sites-enabled
+ 	@echo "Creating/updating files in $(R)$(raddbdir)"; \
+-	for i in $(FILES); do \
++	for i in $(FILES) `ls sites-available/* | sed 's/CVS//'`; do \
+ 		[ ! -f $(R)$(raddbdir)/$$i ] && $(INSTALL) -m 640 $$i $(R)$(raddbdir)/$$i; \
+ 		if [ "`find $$i -newer $(R)$(raddbdir)/$$i`" ]; then \
+ 			echo "** $(R)$(raddbdir)/$$i"; \
Index: files/pkg-deinstall.in
===================================================================
--- files/pkg-deinstall.in	(.../branches/FreeBSD-ports-tree/freeradius2)	(revision 0)
+++ files/pkg-deinstall.in	(.../trunk/freeradius2)	(revision 181)
@@ -0,0 +1,32 @@
+#!/bin/sh
+
+if [ %%RUN_AS_USER%% != "yes" ]; then exit 0; fi
+
+case $2 in
+    POST-DEINSTALL)
+	cat <<EOMSG
+
+If you are not upgrading and don't intend to use
+FreeRADIUS any more then you may wish to delete
+the %%GROUP%% group, which can be done with the
+following command:
+
+    # pw groupdel %%GROUP%%
+
+
+You may also wish to delete the %%USER%% user,
+which can be done with the following command:
+
+    # pw userdel %%USER%%
+EOMSG
+        ;;
+esac
+
+
+# Emacs variables
+
+# Local Variables:
+# mode: sh
+# sh-basic-offset: 4
+# sh-indent-comment: nil
+# End:
Index: files/patch-pthread
===================================================================
--- files/patch-pthread	(.../branches/FreeBSD-ports-tree/freeradius2)	(revision 181)
+++ files/patch-pthread	(.../trunk/freeradius2)	(revision 181)
@@ -108,9 +108,9 @@
      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 @@
+--- src/modules/rlm_python/configure.in	Mon May 14 23:27:21 2007
++++ src/modules/rlm_python/configure.in	Tue Mar 18 13:52:32 2008
+@@ -85,6 +85,34 @@
  		FR_SMART_CHECK_LIB(python${PY_VERSION}, Py_Initialize)
  		LIBS=$old_LIBS
  
@@ -118,10 +118,7 @@
 +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
++		    AC_MSG_NOTICE([Checking to see if libpython needs -pthread.])
 +		    libpython_with_threads="yes"
 +		    case "$host" in
 +		    *-freebsd*)
@@ -133,13 +130,6 @@
 +		        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
 +
Index: files/pkg-install.in
===================================================================
--- files/pkg-install.in	(.../branches/FreeBSD-ports-tree/freeradius2)	(revision 0)
+++ files/pkg-install.in	(.../trunk/freeradius2)	(revision 181)
@@ -0,0 +1,157 @@
+#!/bin/sh
+
+PATH=/usr/sbin:/usr/bin:/bin ; export PATH
+
+radius_user="%%USER%%"
+radius_uid="%%UID%%"
+radius_gecos="%%GECOS%%"
+radius_home="%%HOME%%"
+radius_shell="%%SHELL%%"
+
+radius_group="%%GROUP%%"
+radius_gid="%%GID%%"
+
+radius_raddb_work="%%RADDB_WORK%%"
+radius_raddb="%%RADDB%%"
+radius_logdir="%%LOGDIR%%"
+
+radius_run_as_user="%%RUN_AS_USER%%"
+
+
+create_group() {
+    local user uid group gid gecos home shell
+
+    user=$1
+    uid=$2
+    group=$3
+    gid=$4
+    gecos=$5
+    home=$6
+    shell=$7
+
+
+    if pw group show -n $group >/dev/null 2>&1 ; then
+        echo "===> Using pre-existing group $group"
+    else
+        if pw groupadd -n $group -g $gid ; then
+            echo "===> Group $group created"
+        else
+            cat <<-EOERRORMSG
+*** Failed to create the $group group.
+
+Please add the $user user and $group group
+manually with the commands:
+
+    pw groupadd -n $group -g $gid
+    pw useradd -n $user -u $uid -g $group -c "$gecos" \\
+        -d $home -s $shell -h -
+
+and retry installing this package.
+EOERRORMSG
+            exit 1
+        fi
+    fi
+
+}
+
+
+create_user() {
+    local user uid group gid gecos home shell
+
+    user=$1
+    uid=$2
+    group=$3
+    gid=$4
+    gecos=$5
+    home=$6
+    shell=$7
+
+    if pw user show -n $user >/dev/null 2>&1 ; then
+        echo "===> Using pre-existing user $user"
+    else
+        if pw useradd -n $user -u $uid -g $group -c "$gecos" \
+            -d $home -s $shell -h - ; then
+            echo "===> Created $user user"
+        else
+            cat <<-EOERRORMSG
+*** Failed to create the $user user.
+
+Please add the $user user manually with the command:
+
+    pw useradd -n $user -u $uid -g $group -c "$gecos" \\
+       -d $home -s $shell -h -
+
+and retry installing this package.
+EOERRORMSG
+            exit 1
+        fi
+    fi
+}
+
+
+if [ ${radius_run_as_user} != "yes" ]; then exit 0; fi
+
+case $2 in
+    PRE-INSTALL)
+        # Create the radius user and group if they do not already exist
+        create_group $radius_user $radius_uid $radius_group $radius_gid \
+                     "$radius_gecos" $radius_home $radius_shell
+        create_user  $radius_user $radius_uid $radius_group $radius_gid \
+                     "$radius_gecos" $radius_home $radius_shell
+
+        # Fix the user and group in raddb/radiusd.conf
+	echo "===> Setting user and group in radiusd.conf"
+	for file in ${radius_raddb_work}/radiusd.conf ${radius_raddb}/radiusd.conf; do
+	    if [ -f ${file} ]; then
+		if ! sed -Ee "s/^[[:space:]#](user[[:space:]]*=[[:space:]]*).*$/\1${radius_user}/" \
+		    -e "s/^[[:space:]#](group[[:space:]]*=[[:space:]]*).*$/\1${radius_group}/" \
+		    -i .orig ${file}; then
+		    echo "Failed to patch ${file}."
+		    exit 1
+		fi
+		if [ -f ${file}.orig ]; then
+                    if ! rm ${file}.orig; then
+			echo "Failed to delete backup file ${file}.orig."
+			exit 1
+		    fi
+                fi
+	    fi
+	done
+
+        ;;
+
+    POST-INSTALL)
+        # Change ownership of directories
+	for dir in $radius_raddb $radius_logdir/radacct \
+	    /var/run/radiusd ; do
+	    if [ -d $dir ] || [ -L $dir ]; then
+		echo "===> Adjusting ownership of the ${dir} directory."
+		if ! chown -HR $radius_user:$radius_group $dir; then
+		    echo "Failed to adjust ownership of ${dir}."
+		    exit 1
+		fi
+	    fi
+	done
+
+	for file in $radius_logdir/radius.log $radius_logdir/radutmp \
+	    $radius_logdir/radwtmp; do
+	    if [ -f $file ]; then
+		echo "===> Adjusting ownership of ${file}."
+		if ! chown $radius_user:$radius_group $file; then
+		    echo "Failed to adjust ownership of ${file}."
+		    exit 1
+		fi
+	    fi
+	done
+
+        ;;
+esac
+
+
+# Emacs variables
+
+# Local Variables:
+# mode: sh
+# sh-basic-offset: 4
+# sh-indent-comment: nil
+# End:
Index: pkg-plist
===================================================================
--- pkg-plist	(.../branches/FreeBSD-ports-tree/freeradius2)	(revision 181)
+++ pkg-plist	(.../trunk/freeradius2)	(revision 181)
@@ -48,9 +48,15 @@
 %%EXAMPLESDIR%%/raddb/proxy.conf
 %%EXAMPLESDIR%%/raddb/radiusd.conf
 %%EXAMPLESDIR%%/raddb/sites-available/README
+%%EXAMPLESDIR%%/raddb/sites-available/buffered-sql
+%%EXAMPLESDIR%%/raddb/sites-available/copy-acct-to-home-server
 %%EXAMPLESDIR%%/raddb/sites-available/default
 %%EXAMPLESDIR%%/raddb/sites-available/example
+%%EXAMPLESDIR%%/raddb/sites-available/inner-tunnel
+%%EXAMPLESDIR%%/raddb/sites-available/proxy-inner-tunnel
+%%EXAMPLESDIR%%/raddb/sites-available/vmps
 %%EXAMPLESDIR%%/raddb/sites-enabled/default
+%%EXAMPLESDIR%%/raddb/sites-enabled/inner-tunnel
 %%EXAMPLESDIR%%/raddb/snmp.conf
 %%EXAMPLESDIR%%/raddb/sql.conf
 %%EXAMPLESDIR%%/raddb/sql/mssql/dialup.conf
@@ -485,6 +491,7 @@
 %%PORTDOCS%%%%DOCSDIR%%/rfc/rfc4818.txt
 %%PORTDOCS%%%%DOCSDIR%%/rfc/rfc4849.txt
 %%PORTDOCS%%%%DOCSDIR%%/rfc/rfc5080.txt
+%%PORTDOCS%%%%DOCSDIR%%/rfc/rfc5176.txt
 %%PORTDOCS%%%%DOCSDIR%%/rlm_dbm
 %%PORTDOCS%%%%DOCSDIR%%/rlm_eap
 %%PORTDOCS%%%%DOCSDIR%%/rlm_expiration
@@ -596,6 +603,7 @@
 %%DATADIR%%/dictionary.rfc4679
 %%DATADIR%%/dictionary.rfc4818
 %%DATADIR%%/dictionary.rfc4849
+%%DATADIR%%/dictionary.rfc5176
 %%DATADIR%%/dictionary.riverstone
 %%DATADIR%%/dictionary.roaringpenguin
 %%DATADIR%%/dictionary.shasta
@@ -622,7 +630,7 @@
 %%DATADIR%%/dictionary.xylan
 %%DATADIR%%/dictionary.zyxel
 @dirrm %%DATADIR%%
-@exec mkdir -p /var/log/raddb
-@exec chmod -R og= /var/log/raddb
+@exec if [ ! -d /var/log/radacct ]; then mkdir -p /var/log/radacct; chmod -R go= /var/log/radacct; fi
+@exec for i in /var/log/radius.log /var/log/radutmp /var/log/radwtmp; do if [ ! -f ${i} ]; then touch ${i}; chmod go= ${i}; fi; done
 @exec mkdir -p /var/run/radiusd
 @unexec rm -fr /var/run/radiusd
Index: Makefile
===================================================================
--- Makefile	(.../branches/FreeBSD-ports-tree/freeradius2)	(revision 181)
+++ Makefile	(.../trunk/freeradius2)	(revision 181)
@@ -6,7 +6,7 @@
 #
 
 PORTNAME=	freeradius
-DISTVERSION=	2.0.1
+DISTVERSION=	2.0.3
 CATEGORIES=	net
 MASTER_SITES=	ftp://ftp.freeradius.org/pub/freeradius/%SUBDIR%/ \
 		ftp://ftp.ntua.gr/pub/net/radius/freeradius/%SUBDIR%/ \
@@ -40,7 +40,8 @@
 
 PLIST_SUB=	PORTVERSION=${DISTVERSION}
 
-OPTIONS=	KERBEROS	"With Kerberos support" off \
+OPTIONS=	USER		"Run as user freeradius, group freeradius" on \
+		KERBEROS	"With Kerberos support" off \
 		HEIMDAL		"With Heimdal Kerberos support" off \
 		LDAP		"With LDAP database support" off \
 		MYSQL		"With MySQL database support" off \
@@ -54,6 +55,10 @@
 # Default requirements for rc script
 _REQUIRE=	NETWORKING SERVERS
 
+# User and group to use if USER is set
+USER=	freeradius
+GROUP=	freeradius
+
 CONFIGURE_ARGS=	--quiet \
 		--prefix=${PREFIX} \
 		--localstatedir=/var \
@@ -80,6 +85,7 @@
 		--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
@@ -88,6 +94,41 @@
 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/^([^:]*):([^:]*):([^:]*):([^:]*):([^:]*):([^:]*):([^:]*)$$/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}"
+SUB_FILES+=	pkg-install pkg-deinstall
+.ifdef(WITH_USER)
+SUB_LIST+=	RUN_AS_USER="yes"
+.else
+SUB_LIST+=	RUN_AS_USER="no"
+.endif
+
 .if defined(WITH_HEIMDAL) && !defined(WITH_KERBEROS)
 WITH_KERBEROS=	yes
 .endif
@@ -226,6 +267,11 @@
 		&& ${AUTOCONF} -I ${WRKSRC}
 	@cd ${WRKSRC}/src/modules/rlm_python && ${AUTOCONF} -I ${WRKSRC}
 
+pre-install:
+# Run pkg-install PRE-INSTALL
+	@${SETENV} PKG_PREFIX=${PREFIX} ${SH} ${PKGINSTALL} ${PKGNAME} \
+		PRE-INSTALL
+
 post-install:
 # Create (if necessary) ${PREFIX}/etc/raddb and subdirectories using
 # ${EXAMPLESDIR}/raddb as the model layout
@@ -247,5 +293,8 @@
 # Set ${PREFIX}/etc/raddb and all the files and folders in it to g-w,o-rwx
 # (FreeRADIUS will probably complain if this is not done)
 	@${CHMOD} -R g-w,o-rwx ${PREFIX}/etc/raddb
+# Run pkg-install POST-INSTALL
+	@${SETENV} PKG_PREFIX=${PREFIX} ${SH} ${PKGINSTALL} ${PKGNAME} \
+		POST-INSTALL
 
 .include <bsd.port.post.mk>


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



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