pkgsrc-Changes-HG archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

[pkgsrc/trunk]: pkgsrc/net/openvpn Add SMF manifest for openvpn.



details:   https://anonhg.NetBSD.org/pkgsrc/rev/1dc7adcbb07e
branches:  trunk
changeset: 639242:1dc7adcbb07e
user:      wiedi <wiedi%pkgsrc.org@localhost>
date:      Mon Sep 08 16:57:01 2014 +0000

description:
Add SMF manifest for openvpn.
Provided by Ernst Glatz in https://github.com/joyent/pkgsrc/pull/218

diffstat:

 net/openvpn/Makefile               |   5 +++-
 net/openvpn/files/smf/manifest.xml |  33 ++++++++++++++++++++++++++
 net/openvpn/files/smf/openvpn.sh   |  48 ++++++++++++++++++++++++++++++++++++++
 3 files changed, 85 insertions(+), 1 deletions(-)

diffs (110 lines):

diff -r 35f994f75259 -r 1dc7adcbb07e net/openvpn/Makefile
--- a/net/openvpn/Makefile      Mon Sep 08 16:02:35 2014 +0000
+++ b/net/openvpn/Makefile      Mon Sep 08 16:57:01 2014 +0000
@@ -1,6 +1,7 @@
-# $NetBSD: Makefile,v 1.53 2014/07/20 17:43:29 adam Exp $
+# $NetBSD: Makefile,v 1.54 2014/09/08 16:57:01 wiedi Exp $
 
 DISTNAME=      ${OPENVPN_DISTNAME}
+PKGREVISION=   1
 CATEGORIES=    net
 MASTER_SITES=  ${OPENVPN_MASTER_SITES}
 EXTRACT_SUFX=  .tar.xz
@@ -32,6 +33,8 @@
 INSTALLATION_DIRS+=    ${EGDIR}/keys
 INSTALLATION_DIRS+=    ${EGDIR}/scripts
 
+SMF_METHODS+=  openvpn
+
 .include "../../mk/bsd.prefs.mk"
 
 PKG_GROUPS=            ${OPENVPN_GROUP}
diff -r 35f994f75259 -r 1dc7adcbb07e net/openvpn/files/smf/manifest.xml
--- /dev/null   Thu Jan 01 00:00:00 1970 +0000
+++ b/net/openvpn/files/smf/manifest.xml        Mon Sep 08 16:57:01 2014 +0000
@@ -0,0 +1,33 @@
+<?xml version="1.0" ?>
+<!DOCTYPE service_bundle SYSTEM "/usr/share/lib/xml/dtd/service_bundle.dtd.1">
+<service_bundle type="manifest" name="export">
+       <service name='@SMF_PREFIX@/@SMF_NAME@' type="service" version="0">
+               <create_default_instance enabled="true"/>
+               <dependency name="fs" grouping="require_all" restart_on="none" type="service">
+                       <service_fmri value="svc:/system/filesystem/local"/>
+               </dependency>
+               <dependency name="net" grouping="require_all" restart_on="none" type="service">
+                       <service_fmri value="svc:/network/loopback"/>
+               </dependency>
+               <exec_method name="start"   type="method" exec="@PREFIX@/@SMF_METHOD_FILE.openvpn@ start %{config}" timeout_seconds="60" >
+               <method_context working_directory='@PKG_SYSCONFDIR@' />
+               </exec_method>
+               <exec_method name="stop"    type="method" exec="@PREFIX@/@SMF_METHOD_FILE.openvpn@ stop"      timeout_seconds="60" />
+               <property_group name="startd" type="framework">
+               <propval name="duration" type="astring" value="child"/>
+               </property_group>
+               <property_group name="application" type="application">
+                       <propval name="config" type="astring" value="@PKG_SYSCONFDIR@/openvpn.conf"/>
+               </property_group>
+               <stability value="External"/>
+               <template>
+                       <common_name>
+                               <loctext xml:lang="C">openvpn</loctext>
+                       </common_name>
+                       <documentation>
+                               <manpage title="openvpn" section="8" manpath="man"/>
+                               <doc_link name="openvpn.net" uri="http://openvpn.net/index.php/manuals"/>
+                       </documentation>
+               </template>
+       </service>
+</service_bundle>
diff -r 35f994f75259 -r 1dc7adcbb07e net/openvpn/files/smf/openvpn.sh
--- /dev/null   Thu Jan 01 00:00:00 1970 +0000
+++ b/net/openvpn/files/smf/openvpn.sh  Mon Sep 08 16:57:01 2014 +0000
@@ -0,0 +1,48 @@
+#!@SMF_METHOD_SHELL@
+#
+# $NetBSD: openvpn.sh,v 1.1 2014/09/08 16:57:01 wiedi Exp $
+#
+# Init script for openvpn (SMF).
+#
+. /lib/svc/share/smf_include.sh
+
+
+
+
+METHOD=$1
+CONFIG=$2
+PATH="@PREFIX@/sbin:@PREFIX@/bin:@PREFIX@/gnu/bin:/usr/bin:/usr/sbin"
+SCRIPTNAME=$(basename $0)
+INSTANCE=$(echo $SMF_FMRI | sed s_.*:__)
+PIDFILE="@VARBASE@/run/openvpn-$INSTANCE.pid"
+
+case $METHOD in
+start)
+       if [[ ! -f $CONFIG ]]
+       then
+               echo "ERROR: Openvpn config file \""$CONFIG"\" doesn't exist"
+               exit $SMF_EXIT_ERR_CONFIG
+       fi
+       @PREFIX@/sbin/openvpn --config ${CONFIG} --writepid ${PIDFILE}
+
+;;
+stop)
+       if [[ -s ${PIDFILE} ]]
+       then
+               kill $(cat ${PIDFILE}) 2>/dev/null
+               [[ $? -eq 0 ]] && rm -f ${PIDFILE}
+
+       else
+               echo "ERROR: \""$PIDFILE"\" pidfile  doesn't exist"
+               exit $SMF_EXIT_ERR_CONFIG
+       fi
+;;
+
+*)
+       echo "usage : "
+       echo "$SCRIPTNAME { start | stop } "
+       echo ""
+       exit $SMF_EXIT_ERR_CONFIG
+esac
+
+exit $SMF_EXIT_OK



Home | Main Index | Thread Index | Old Index