ports/100917: [MAINTAINER] security/openvpn: install plugin + minor polish
Matthias Andree
matthias.andree at gmx.de
Thu Jul 27 13:10:16 UTC 2006
>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:
More information about the freebsd-ports-bugs
mailing list