summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'app-emulation/lxc/files/lxc.initd.2')
-rw-r--r--app-emulation/lxc/files/lxc.initd.2132
1 files changed, 0 insertions, 132 deletions
diff --git a/app-emulation/lxc/files/lxc.initd.2 b/app-emulation/lxc/files/lxc.initd.2
deleted file mode 100644
index 72680d8f9476..000000000000
--- a/app-emulation/lxc/files/lxc.initd.2
+++ /dev/null
@@ -1,132 +0,0 @@
-#!/sbin/runscript
-# Copyright 1999-2012 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/app-emulation/lxc/files/lxc.initd.2,v 1.6 2012/11/14 02:15:10 flameeyes Exp $
-
-CONTAINER=${SVCNAME#*.}
-
-lxc_get_configfile() {
- if [ -f "/etc/lxc/${CONTAINER}.conf" ]; then
- echo "/etc/lxc/${CONTAINER}.conf"
- elif [ -f "/etc/lxc/${CONTAINER}/config" ]; then
- echo "/etc/lxc/${CONTAINER}/config"
- else
- eerror "Unable to find a suitable configuration file."
- eerror "If you set up the container in a non-standard"
- eerror "location, please set the CONFIGFILE variable."
- return 1
- fi
-}
-
-[ $CONTAINER != $SVCNAME ] && CONFIGFILE=${CONFIGFILE:-$(lxc_get_configfile)}
-
-lxc_get_var() {
- awk 'BEGIN { FS="[ \t]*=[ \t]*" } $1 == "'$1'" { print $2; exit }' ${CONFIGFILE}
-}
-
-checkconfig() {
- if [ ${CONTAINER} = ${SVCNAME} ]; then
- eerror "You have to create an init script for each container:"
- eerror " ln -s lxc /etc/init.d/lxc.container"
- return 1
- fi
-
- # no need to output anything, the function takes care of that.
- [ -z "${CONFIGFILE}" ] && return 1
-
- utsname=$(lxc_get_var lxc.utsname)
- if [ ${CONTAINER} != ${utsname} ]; then
- eerror "You should use the same name for the service and the"
- eerror "container. Right now the container is called ${utsname}"
- return 1
- fi
-}
-
-depend() {
- # be quiet, since we have to run depend() also for the
- # non-muxed init script, unfortunately.
- checkconfig 2>/dev/null || return 0
-
- config ${CONFIGFILE}
- need localmount
-
- # find out which network interface the container is linked to,
- # and then require that to be enabled, so that the
- # dependencies are correct.
- netif=$(lxc_get_var lxc.network.link)
-
- # when the network type is set to phys, we can make use of a
- # network service (for instance to set it up before we disable
- # the net_admin capability), but we might also not set it up
- # at all on the host and leave the net_admin capable service
- # to take care of it.
- nettype=$(lxc_get_var lxc.network.type)
-
- if [ -n "${netif}" ]; then
- case "${nettype}" in
- phys) use net.${netif} ;;
- *) need net.${netif} ;;
- esac
- fi
-}
-
-start() {
- checkconfig || return 1
- rm /var/log/lxc/${CONTAINER}.log
-
- rootpath=$(lxc_get_var lxc.rootfs)
-
- # Check the format of our init and the chroot's init, to see
- # if we have to use linux32 or linux64; always use setarch
- # when required, as that makes it easier to deal with
- # x32-based containers.
- case $(scanelf -BF '%a#f' ${rootpath}/sbin/init) in
- EM_X86_64) setarch=linux64;;
- EM_386) setarch=linux32;;
- esac
-
- ebegin "Starting ${CONTAINER}"
- env -i ${setarch} $(type -p lxc-start) -l WARN -n ${CONTAINER} -f ${CONFIGFILE} -d -o /var/log/lxc/${CONTAINER}.log
- sleep 0.5
-
- # lxc-start -d will _always_ report a correct startup, even if it
- # failed, so rather than trust that, check that the cgroup exists.
- [ -d /sys/fs/cgroup/cpuset/lxc/${CONTAINER} ]
- eend $?
-}
-
-stop() {
- checkconfig || return 1
-
-
- if ! [ -d /sys/fs/cgroup/cpuset/lxc/${CONTAINER} ]; then
- ewarn "${CONTAINER} doesn't seem to be started."
- return 0
- fi
-
- init_pid=$(lxc-info -n ${CONTAINER} --pid | awk '{ print $2 }')
-
- if [ "${init_pid}" = "-1" ]; then
- ewarn "${CONTAINER} doesn't seem to be running."
- return 0
- fi
-
- ebegin "Shutting down system in ${CONTAINER}"
- kill -PWR ${init_pid}
- eend $?
-
- TIMEOUT=${TIMEOUT:-30}
- i=0
- while [ -n "$(pgrep -P ${init_pid})" -a $i -lt ${TIMEOUT} ]; do
- sleep 1
- i=$(expr $i + 1)
- done
-
- if [ -n "${missingprocs}" ]; then
- ewarn "Something failed to properly shut down in ${CONTAINER}"
- fi
-
- ebegin "Stopping ${CONTAINER}"
- lxc-stop -n ${CONTAINER}
- eend $?
-}