diff options
author | Karel Kočí <cynerd@email.cz> | 2018-02-05 18:35:20 +0100 |
---|---|---|
committer | Karel Kočí <cynerd@email.cz> | 2018-02-05 18:35:20 +0100 |
commit | c737fb227929d5b0d5f01d61464d965bd9d2b0fc (patch) | |
tree | a1c79f0f4eb4539c6316b9025f565da33909e296 /net-misc/vde/files/vde.init-r1 | |
parent | 5f30c47548e72fc9608ba3237c2cfba1647231d7 (diff) | |
download | gentoo-personal-overlay-c737fb227929d5b0d5f01d61464d965bd9d2b0fc.tar.gz gentoo-personal-overlay-c737fb227929d5b0d5f01d61464d965bd9d2b0fc.tar.bz2 gentoo-personal-overlay-c737fb227929d5b0d5f01d61464d965bd9d2b0fc.zip |
Try to fix vde compilation
Diffstat (limited to 'net-misc/vde/files/vde.init-r1')
-rw-r--r-- | net-misc/vde/files/vde.init-r1 | 44 |
1 files changed, 44 insertions, 0 deletions
diff --git a/net-misc/vde/files/vde.init-r1 b/net-misc/vde/files/vde.init-r1 new file mode 100644 index 0000000..0934c51 --- /dev/null +++ b/net-misc/vde/files/vde.init-r1 @@ -0,0 +1,44 @@ +#!/sbin/openrc-run +# Copyright 1999-2017 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +command="/usr/bin/vde_switch" +pidfile="/run/${RC_SVCNAME}.pid" + +depend() { + after net.${VDE_TAP} +} + +start_pre() { + [ "${VDE_MODPROBE_TUN}" = "yes" ] || return 0 + modprobe tun +} + +# We have to use start() because the shortform uses --pidfile for s-s-d --start +# which causes s-s-d to check the pid file before it exists +start() { + VDE_SOCKET="${VDE_SOCKET:-/run/${RC_SVCNAME}.ctl}" + + ebegin "Starting ${SVC_NAME}" + + start-stop-daemon --start --exec ${command} -- \ + --pidfile=${pidfile} \ + --tap=${VDE_TAP} \ + --group=${VDE_GROUP} \ + --mode=660 \ + --dirmode=770 \ + --sock=${VDE_SOCKET} \ + --daemon \ + ${VDE_OPTS} + ewaitfile 10 "${VDE_SOCKET}" + + eend $? "Failed to start ${RC_SVCNAME}" +} + +stop_post() { + [ "${VDE_MODPROBE_TUN}" = "yes" ] && modprobe --quiet --remove tun + + # Don't fail to stop the service if the "tun" module in use + # and the above "modprobe -r" command fails. + return 0 +} |