Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 27 Jul 2006 15:06:38 +0200 (CEST)
From:      Matthias Andree <matthias.andree@gmx.de>
To:        FreeBSD-gnats-submit@FreeBSD.org
Subject:   ports/100917: [MAINTAINER] security/openvpn: install plugin + minor polish
Message-ID:  <20060727130638.C7430C2B1@merlin.emma.line.org>
Resent-Message-ID: <200607271310.k6RDAFwp034251@freefall.freebsd.org>

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

>Number:         100917
>Category:       ports
>Synopsis:       [MAINTAINER] security/openvpn: install plugin + minor polish
>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 27 13:10:14 GMT 2006
>Closed-Date:
>Last-Modified:
>Originator:     Matthias Andree
>Release:        FreeBSD 6.1-STABLE i386
>Organization:
>Environment:
System: FreeBSD merlin.emma.line.org 6.1-STABLE FreeBSD 6.1-STABLE #8: Thu Jul 27 10:38:12 CEST 2006
>Description:
1 - build and install lib/openvpn-down-root.so plugin (see --plugin option in
    the man page) and README.openvpn-down-root
2 - match rc.d filename as printed post install in pkg-message to actual file
    name on newer systems (which use openvpn rather than openvpn.sh)
Reporter: Jean-Baptiste Quenot (Bcc'd)

The maintainer wishes to thank Jean-Baptiste for his report and patience.

3 - add a pkg-req script to prevent installation of 6.1 packages on older
    machines, which is a frequent source of "rc.d script doesn't work"
    complaints.

Added file(s):
- files/pkg-req.in

Generated with FreeBSD Port Tools 0.77
>How-To-Repeat:
>Fix:

--- openvpn-2.0.6_1.patch begins here ---
diff -ruN --exclude=CVS /usr/ports/security/openvpn/Makefile /usr/home/emma/ports/security/openvpn/Makefile
--- /usr/ports/security/openvpn/Makefile	Thu Apr 27 14:53:55 2006
+++ /usr/home/emma/ports/security/openvpn/Makefile	Thu Jul 27 13:16:24 2006
@@ -13,6 +13,7 @@
 # WILL BE DROPPED.       -- Matthias Andree, 2006-04-26
 # -----------------------------------------------------
 PORTVERSION=	2.0.6
+PORTREVISION=	1
 CATEGORIES=	security net
 # MASTER_SITES points to hosts in distinct data centers,
 # so just one MASTER_SITES entry should be OK.
@@ -32,11 +33,20 @@
 OPTIONS=	PW_SAVE "Interactive passwords may be read from a file" off
 
 USE_RC_SUBR=	openvpn.sh
+USE_LDCONFIG=	${PREFIX}/lib
 
-SUB_FILES=	pkg-message
+SUB_FILES=	pkg-message pkg-req
+SUB_LIST+=	OSVERSION=${OSVERSION}
 
 .include <bsd.port.pre.mk>
 
+.if (${OSVERSION} >= 700007 || ( ${OSVERSION} < 700000 && ${OSVERSION} >= 600101))
+rcsuffix=
+.else
+rcsuffix=	.sh
+.endif
+SUB_LIST+=	RCSFX=${rcsuffix}
+
 # NOTE: there is no way to explicitly specify the LZO version to OpenVPN,
 # if LZO2 and LZO1 are installed, OpenVPN will pick LZO2.
 # So depend on LZO1 only if it's already there and LZO2 isn't.
@@ -51,13 +61,24 @@
 CONFIGURE_ARGS+=	--enable-password-save
 .endif
 
-# self-tests here
 post-build:
+	cd ${WRKSRC}/plugin/down-root && ${MAKE}
+	@# self-tests here
+.if !defined(WITHOUT_CHECK)
 	cd ${WRKSRC} && ${MAKE} check
+.endif
+
+pre-install:
+	PKG_PREFIX=${PREFIX} ${SH} ${PKGREQ} ${PKGNAME} INSTALL
 
 post-install:
+	${MKDIR} ${PREFIX}/lib
+	${INSTALL_PROGRAM} ${WRKSRC}/plugin/down-root/openvpn-down-root.so \
+		${PREFIX}/lib
 .if !defined(NOPORTDOCS)
 	${MKDIR} ${DOCSDIR}
+	${INSTALL_DATA} ${WRKSRC}/plugin/down-root/README \
+		${DOCSDIR}/README.openvpn-down-root
 .for docs in AUTHORS COPYING COPYRIGHT.GPL ChangeLog INSTALL NEWS \
 	PORTS README
 	${INSTALL_DATA} ${WRKSRC}/${docs} ${DOCSDIR}
diff -ruN --exclude=CVS /usr/ports/security/openvpn/files/pkg-message.in /usr/home/emma/ports/security/openvpn/files/pkg-message.in
--- /usr/ports/security/openvpn/files/pkg-message.in	Thu Nov 10 16:05:42 2005
+++ /usr/home/emma/ports/security/openvpn/files/pkg-message.in	Thu Jul 27 12:35:01 2006
@@ -1,7 +1,7 @@
 ### ------------------------------------------------------------------------
 ###  The OpenVPN FreeBSD port, since v2.0.1, uses rcNG to start OpenVPN.
 ###  Edit /etc/rc.conf to start OpenVPN automatically at system startup.
-###  See %%PREFIX%%/etc/rc.d/openvpn.sh for details.
+###  See %%PREFIX%%/etc/rc.d/openvpn%%RCSFX%% for details.
 ### ------------------------------------------------------------------------
 ###  To get OpenVPN 1.X to talk with the new 2.0 version, you may need to
 ###  edit the 1.X configuration file by adding these lines:
diff -ruN --exclude=CVS /usr/ports/security/openvpn/files/pkg-req.in /usr/home/emma/ports/security/openvpn/files/pkg-req.in
--- /usr/ports/security/openvpn/files/pkg-req.in	Thu Jan  1 01:00:00 1970
+++ /usr/home/emma/ports/security/openvpn/files/pkg-req.in	Thu Jul 27 13:20:57 2006
@@ -0,0 +1,29 @@
+set -e
+
+rcvers() {
+	# determine if we have "old" or "new" (rcorder integration) scheme
+	# for %%PREFIX%%/etc/rc.d/* files
+	if test $1 -ge 700007 || test $1 -lt 700000 -a $1 -ge 600101 ; then
+		echo 2
+	else
+		echo 1
+	fi
+}
+
+if [ "$2" = INSTALL ] ; then
+	# check if the base system is new enough for us,
+	# which should only matter for package installs.
+	buildrc=$(rcvers %%OSVERSION%%)
+	execrc=$(rcvers $(sysctl -n kern.osreldate) )
+	if test $buildrc -gt $execrc ; then
+		cat <<EOF
+
+Error:   this package, $1, was compiled for a newer FreeBSD
+======   version that uses different boot scripts.
+         Therefore, the rc.d script WILL NOT WORK.
+         Please update your ports tree and install security/openvpn from there.
+
+EOF
+		exit 1
+	fi
+fi
diff -ruN --exclude=CVS /usr/ports/security/openvpn/pkg-plist /usr/home/emma/ports/security/openvpn/pkg-plist
--- /usr/ports/security/openvpn/pkg-plist	Thu Nov  3 16:22:44 2005
+++ /usr/home/emma/ports/security/openvpn/pkg-plist	Thu Jul 27 11:09:01 2006
@@ -1,4 +1,5 @@
 sbin/openvpn
+lib/openvpn-down-root.so
 %%PORTDOCS%%%%DOCSDIR%%/AUTHORS
 %%PORTDOCS%%%%DOCSDIR%%/COPYING
 %%PORTDOCS%%%%DOCSDIR%%/COPYRIGHT.GPL
@@ -7,6 +8,7 @@
 %%PORTDOCS%%%%DOCSDIR%%/NEWS
 %%PORTDOCS%%%%DOCSDIR%%/PORTS
 %%PORTDOCS%%%%DOCSDIR%%/README
+%%PORTDOCS%%%%DOCSDIR%%/README.openvpn-down-root
 %%PORTDOCS%%%%DOCSDIR%%/easy-rsa/README
 %%PORTDOCS%%%%DOCSDIR%%/easy-rsa/build-ca
 %%PORTDOCS%%%%DOCSDIR%%/easy-rsa/build-dh
--- openvpn-2.0.6_1.patch ends here ---

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



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