diff options
author | William Hubbs <w.d.hubbs@gmail.com> | 2015-12-07 17:56:02 -0600 |
---|---|---|
committer | William Hubbs <w.d.hubbs@gmail.com> | 2015-12-08 12:09:33 -0600 |
commit | 9f6e05671d6d48faa7b83aec05a637bcdfcb3f82 (patch) | |
tree | 9bd6a120ddac1c57eda065dac7d98e6280ec8996 /src/rc | |
parent | 8addd7913a743b75ef3854ab4a96fea81cc5245d (diff) |
Convert rc_sys() calls to detect_container() and detect_vm()
Diffstat (limited to 'src/rc')
-rw-r--r-- | src/rc/_usage.c | 5 | ||||
-rw-r--r-- | src/rc/rc-misc.c | 6 | ||||
-rw-r--r-- | src/rc/rc.c | 20 |
3 files changed, 24 insertions, 7 deletions
diff --git a/src/rc/_usage.c b/src/rc/_usage.c index 2ab0fa6d..a6bad4db 100644 --- a/src/rc/_usage.c +++ b/src/rc/_usage.c @@ -56,7 +56,10 @@ show_version(void) const char *systype = NULL; printf("%s (OpenRC", applet); - if ((systype = rc_sys())) + systype = detect_container(); + if (!systype) + systype = detect_vm(); + if (systype) printf(" [%s]", systype); printf(") %s", VERSION); #ifdef BRANDING diff --git a/src/rc/rc-misc.c b/src/rc/rc-misc.c index 1e2af0ab..263c0eda 100644 --- a/src/rc/rc-misc.c +++ b/src/rc/rc-misc.c @@ -139,7 +139,7 @@ env_config(void) char *np; char *npp; char *tok; - const char *sys = rc_sys(); + const char *sys = NULL; char buffer[PATH_MAX]; /* Ensure our PATH is prefixed with the system locations first @@ -190,7 +190,9 @@ env_config(void) } else setenv("RC_DEFAULTLEVEL", RC_LEVEL_DEFAULT, 1); - if (sys) + sys = detect_container(); + if (!sys) + sys = detect_vm(); setenv("RC_SYS", sys, 1); #ifdef PREFIX diff --git a/src/rc/rc.c b/src/rc/rc.c index 8f69333c..ddc3c789 100644 --- a/src/rc/rc.c +++ b/src/rc/rc.c @@ -274,7 +274,11 @@ open_shell(void) struct passwd *pw; #ifdef __linux__ - const char *sys = rc_sys(); + const char *sys = NULL; + + sys = detect_container(); + if (!sys) + sys = detect_vm(); /* VSERVER and OPENVZ systems cannot really drop to shells */ if (sys && @@ -480,7 +484,10 @@ do_sysinit() uts.machine); #endif - if ((sys = rc_sys())) + sys = detect_container(); + if (!sys) + sys = detect_vm(); + if (sys) printf(" [%s]", sys); printf("%s\n\n", ecolor(ECOLOR_NORMAL)); @@ -495,7 +502,10 @@ do_sysinit() /* init may have mounted /proc so we can now detect or real * sys */ - if ((sys = rc_sys())) + sys = detect_container(); + if (!sys) + sys = detect_vm(); + if (sys) setenv("RC_SYS", sys, 1); } @@ -846,7 +856,9 @@ main(int argc, char **argv) eerrorx("%s: %s", applet, strerror(errno)); /* NOTREACHED */ case 'S': - systype = rc_sys(); + systype = detect_container(); + if (!systype) + systype = detect_vm(); if (systype) printf("%s\n", systype); exit(EXIT_SUCCESS); |