diff options
Diffstat (limited to 'src')
| -rw-r--r-- | src/s6-frontend/live.help.txt | 4 | ||||
| -rw-r--r-- | src/s6-frontend/live_install.c | 6 |
2 files changed, 8 insertions, 2 deletions
diff --git a/src/s6-frontend/live.help.txt b/src/s6-frontend/live.help.txt index 3d4a9aa..4fb8e95 100644 --- a/src/s6-frontend/live.help.txt +++ b/src/s6-frontend/live.help.txt @@ -21,11 +21,13 @@ s6 live start, s6 live stop, s6 live restart, s6 live stop-everything options: s6 live install options: -b --block on contention, wait rather than fail -K --keep-old keep the old db and write its path to stdout + -e --force-essentials stop old essential services if needed (default) + -E --no-force-essentials keep obsolete essential services up -f FILE --conversion-file=FILE use a conversion file from current to new set --init install the initial db. DO NOT USE WHEN LIVE. s6 live start-everything options: -n --dry-run only show what would be done, don't do it -t TIMEOUT --timeout=TIMEOUT if not done after TIMEOUT milliseconds, abort - -D BUN --default-bundle=BUN name of the bundle to start + -D BUN --default-bundle=BUN name of the bundle to start ("default") diff --git a/src/s6-frontend/live_install.c b/src/s6-frontend/live_install.c index e83be20..6ab0780 100644 --- a/src/s6-frontend/live_install.c +++ b/src/s6-frontend/live_install.c @@ -13,6 +13,7 @@ enum golb_e GOLB_BLOCK = 0x01, GOLB_KEEPOLD = 0x02, GOLB_INIT = 0x04, + GOLB_NOFORCEESSENTIALS = 0x08, } ; enum gola_e @@ -28,6 +29,8 @@ void live_install (char const *const *argv) { .so = 'b', .lo = "block", .clear = 0, .set = GOLB_BLOCK }, { .so = 'K', .lo = "keep-old", .clear = 0, .set = GOLB_KEEPOLD }, { .so = 0, .lo = "init", .clear = 0, .set = GOLB_INIT }, + { .so = 'e', .lo = "force-essentials", .clear = GOLB_NOFORCEESSENTIALS, .set = 0 }, + { .so = 'E', .lo = "no-force-essentials", .clear = 0, .set = GOLB_NOFORCEESSENTIALS }, } ; static gol_arg const rgola[] = { @@ -36,7 +39,7 @@ void live_install (char const *const *argv) uint64_t wgolb = 0 ; unsigned int m = 0 ; char const *wgola[GOLA_N] = { 0 } ; - char const *newargv[17] ; + char const *newargv[18] ; char fmtv[UINT_FMT] ; argv += GOL_argv(argv, rgolb, rgola, &wgolb, wgola) ; @@ -57,6 +60,7 @@ void live_install (char const *const *argv) if (wgolb & GOLB_BLOCK) newargv[m++] = "-b" ; if (wgolb & GOLB_KEEPOLD) newargv[m++] = "-K" ; + newargv[m++] = wgolb & GOLB_NOFORCEESSENTIALS ? "-E" : "-e" ; if (wgola[GOLA_CONVFILE]) { newargv[m++] = "-f" ; |
