From: "William Hubbs" <williamh@gentoo.org>
To: gentoo-commits@lists.gentoo.org
Subject: [gentoo-commits] proj/openrc:master commit in: sh/, man/
Date: Thu, 3 Dec 2015 23:45:58 +0000 (UTC) [thread overview]
Message-ID: <1449183135.627e925463068e754ffd869f99a43634d6d9631e.williamh@OpenRC> (raw)
commit: 627e925463068e754ffd869f99a43634d6d9631e
Author: William Hubbs <w.d.hubbs <AT> gmail <DOT> com>
AuthorDate: Thu Dec 3 20:09:38 2015 +0000
Commit: William Hubbs <williamh <AT> gentoo <DOT> org>
CommitDate: Thu Dec 3 22:52:15 2015 +0000
URL: https://gitweb.gentoo.org/proj/openrc.git/commit/?id=627e9254
add support for -containers keyword
man/openrc-run.8 | 3 +++
sh/gendepends.sh.in | 13 ++++++++++++-
sh/openrc-run.sh.in | 13 ++++++++++++-
sh/rc-functions.sh.in | 21 +++++++++++++++++++++
4 files changed, 48 insertions(+), 2 deletions(-)
diff --git a/man/openrc-run.8 b/man/openrc-run.8
index 6aab067..5d18fe5 100644
--- a/man/openrc-run.8
+++ b/man/openrc-run.8
@@ -227,6 +227,9 @@ Same as -jail, but for Xen DOM0 systems.
Same as -jail, but for Xen DOMU systems.
.It Dv -docker
Same as -jail, but for docker systems.
+.It Dv -containers
+Same as -jail, but for all relevant container types on the operating
+system.
.El
.El
.Pp
diff --git a/sh/gendepends.sh.in b/sh/gendepends.sh.in
index 36caeb7..2ab798d 100644
--- a/sh/gendepends.sh.in
+++ b/sh/gendepends.sh.in
@@ -29,7 +29,18 @@ provide() {
[ -n "$*" ] && echo "$RC_SVCNAME iprovide $*" >&3
}
keyword() {
- [ -n "$*" ] && echo "$RC_SVCNAME keyword $*" >&3
+ local c x
+ set -- $*
+ while [ -n "$*" ]; do
+ case "$1" in
+ -containers) x="$(_get_containers)" ;;
+ !-containers) x="$(_get_containers_remove)" ;;
+ *) x=$1 ;;
+ esac
+ c="${c}${x} "
+ shift
+ done
+ [ -n "$c" ] && echo "$RC_SVCNAME keyword $c" >&3
}
depend() {
:
diff --git a/sh/openrc-run.sh.in b/sh/openrc-run.sh.in
index c169204..5018cee 100644
--- a/sh/openrc-run.sh.in
+++ b/sh/openrc-run.sh.in
@@ -79,7 +79,18 @@ provide() {
[ -n "$*" ] && echo "provide $*"
}
keyword() {
- [ -n "$*" ] && echo "keyword $*"
+ local c x
+ set -- $*
+ while [ -n "$*" ]; do
+ case "$1" in
+ -containers) x="$(_get_containers)" ;;
+ !-containers) x="$(_get_containers_remove)" ;;
+ *) x=$1 ;;
+ esac
+ c="${c}${x} "
+ shift
+ done
+ [ -n "$c" ] && echo "keyword $c"
}
# Describe the init script to the user
diff --git a/sh/rc-functions.sh.in b/sh/rc-functions.sh.in
index c854876..12eb4e2 100644
--- a/sh/rc-functions.sh.in
+++ b/sh/rc-functions.sh.in
@@ -86,6 +86,27 @@ get_bootparam()
}
# Called from openrc-run.sh or gendepends.sh
+_get_containers() {
+ local c
+ case "${RC_UNAME}" in
+ FreeBSD)
+ c="-jail"
+ ;;
+ Linux)
+ c="-docker -lxc -openvz -rkt -systemd-nspawn -uml -vserver"
+ ;;
+ esac
+ echo $c
+}
+
+_get_containers_remove() {
+ local c
+ for x in $(_get_containers); do
+ c="${c}!${x} "
+ done
+ echo $c
+}
+
_depend() {
depend
local _rc_svcname=$(shell_var "$RC_SVCNAME") _deptype= _depends=
next reply other threads:[~2015-12-03 23:46 UTC|newest]
Thread overview: 4+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-12-03 23:45 William Hubbs [this message]
-- strict thread matches above, loose matches on Subject: below --
2018-05-31 21:54 [gentoo-commits] proj/openrc:master commit in: sh/, man/ William Hubbs
2017-11-29 21:12 William Hubbs
2014-10-20 20:59 William Hubbs
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1449183135.627e925463068e754ffd869f99a43634d6d9631e.williamh@OpenRC \
--to=williamh@gentoo.org \
--cc=gentoo-commits@lists.gentoo.org \
--cc=gentoo-dev@lists.gentoo.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox