From a0cf8f91246ff4487b36d6432dab787e5b10957d Mon Sep 17 00:00:00 2001 From: William Hubbs Date: Wed, 2 Dec 2015 09:19:45 -0600 Subject: [PATCH] Add detection for rkt containers --- man/openrc-run.8 | 2 ++ src/librc/librc.c | 4 ++++ src/librc/rc.h.in | 1 + 3 files changed, 7 insertions(+) diff --git a/man/openrc-run.8 b/man/openrc-run.8 index 9e0e7763..6aab067c 100644 --- a/man/openrc-run.8 +++ b/man/openrc-run.8 @@ -215,6 +215,8 @@ Same as -jail, but for Linux Resource Containers (LXC). Same as -jail, but for OpenVZ systems. .It Dv -prefix Same as -jail, but for Prefix systems. +.It Dv -rkt +Same as -jail, but for RKT systems. .It Dv -uml Same as -jail, but for UML systems. .It Dv -vserver diff --git a/src/librc/librc.c b/src/librc/librc.c index cad80333..c041647c 100644 --- a/src/librc/librc.c +++ b/src/librc/librc.c @@ -267,6 +267,8 @@ rc_sys(void) return RC_SYS_OPENVZ; if (strcmp(systype, RC_SYS_LXC) == 0) return RC_SYS_LXC; + if (strcmp(systype, RC_SYS_RKT) == 0) + return RC_SYS_RKT; if (strcmp(systype, RC_SYS_SYSTEMD_NSPAWN) == 0) return RC_SYS_SYSTEMD_NSPAWN; if (strcmp(systype, RC_SYS_DOCKER) == 0) @@ -288,6 +290,8 @@ rc_sys(void) return RC_SYS_OPENVZ; /* old test */ else if (file_regex("/proc/1/environ", "container=lxc")) return RC_SYS_LXC; + else if (file_regex("/proc/1/environ", "container=rkt")) + return RC_SYS_RKT; else if (file_regex("/proc/1/environ", "container=systemd-nspawn")) return RC_SYS_SYSTEMD_NSPAWN; else if (file_regex("/proc/1/environ", "container=docker")) diff --git a/src/librc/rc.h.in b/src/librc/rc.h.in index 360c26a1..30c0f8dc 100644 --- a/src/librc/rc.h.in +++ b/src/librc/rc.h.in @@ -334,6 +334,7 @@ bool rc_service_daemons_crashed(const char *); #define RC_SYS_OPENVZ "OPENVZ" #define RC_SYS_LXC "LXC" #define RC_SYS_PREFIX "PREFIX" +#define RC_SYS_RKT "RKT" #define RC_SYS_SYSTEMD_NSPAWN "SYSTEMD-NSPAWN" #define RC_SYS_UML "UML" #define RC_SYS_VSERVER "VSERVER"