Split VPS into VSERVER and OPENVZ

This commit is contained in:
Roy Marples
2008-03-03 17:19:56 +00:00
parent f3e90dddbf
commit 15cf41e713
20 changed files with 36 additions and 29 deletions

View File

@@ -207,8 +207,11 @@ const char *rc_sys (void)
} else if (file_regex ("/proc/cpuinfo", "UML"))
return (RC_SYS_UML);
else if (file_regex ("/proc/self/status",
"(s_context|VxID|envID):[[:space:]]*[1-9]"))
return (RC_SYS_VPS);
"(s_context|VxID):[[:space:]]*[1-9]"))
return (RC_SYS_VSERVER);
else if (file_regex ("/proc/self/status",
"envID:[[:space:]]*[1-9]"))
return (RC_SYS_OPENVZ);
#endif
return (NULL);

View File

@@ -232,9 +232,10 @@ bool rc_service_daemons_crashed (const char *service);
* OpenRC can support some special sub system types, normally virtualization.
* Some services cannot work in these systems, or we do something else. */
#define RC_SYS_JAIL "JAIL"
#define RC_SYS_OPENVZ "OPENVZ"
#define RC_SYS_PREFIX "PREFIX"
#define RC_SYS_UML "UML"
#define RC_SYS_VPS "VPS"
#define RC_SYS_VSERVER "VSERVER"
#define RC_SYS_XEN0 "XEN0"
#define RC_SYS_XENU "XENU"
const char *rc_sys (void);

View File

@@ -289,8 +289,8 @@ static void sulogin (bool cont)
#ifdef __linux__
char *e = getenv ("RC_SYS");
/* VPS systems cannot do a sulogin */
if (e && strcmp (e, "VPS") == 0) {
/* VSERVER and OPENVZ systems cannot do a sulogin */
if (e && (strcmp (e, "VSERVER") == 0 || strcmp (e, "OPENVZ") == 0) {
execl ("/sbin/halt", "/sbin/halt", "-f", (char *) NULL);
eerrorx ("%s: unable to exec `/sbin/halt': %s", applet, strerror (errno));
}