aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/s6-frontend/live.help.txt4
-rw-r--r--src/s6-frontend/live_install.c6
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" ;