aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorLaurent Bercot <ska-skaware@skarnet.org>2026-01-24 08:30:57 +0000
committerLaurent Bercot <ska-skaware@skarnet.org>2026-01-24 08:30:57 +0000
commitd22d77590c8d7eae813913d868654fad787498f4 (patch)
tree0cd73417cb0aa28d8e4c1062595ff98abfbc669b
parentd0a817b998b32149e13a50e93f94fd1261fc4976 (diff)
downloads6-frontend-d22d77590c8d7eae813913d868654fad787498f4.tar.gz
Add -E | -e options to live install; fix configure
-rwxr-xr-xconfigure3
-rw-r--r--doc/index.html4
-rw-r--r--package/configure-snippets/configure_case_lines2
-rw-r--r--package/configure-snippets/configure_help_options1
-rw-r--r--src/s6-frontend/live.help.txt4
-rw-r--r--src/s6-frontend/live_install.c6
6 files changed, 12 insertions, 8 deletions
diff --git a/configure b/configure
index 1b19145..40ead18 100755
--- a/configure
+++ b/configure
@@ -57,7 +57,6 @@ Optional features:
--disable-s6li do not use s6-linux-init functionality [enabled]
--enable-util-linux use util-linux functionality [disabled]
- --with-conf-file=FILE default configuration file for s6 command [SYSCONFDIR/s6-frontend.conf]
--with-store-list=LIST list of service stores [PREFIX/share/s6-frontend/s6-rc/sources:SYSCONFDIR/s6-frontend/s6-rc/sources]
--with-default-bundle=NAME name of the bundle started at boot [s6-rc default: default]
@@ -234,7 +233,7 @@ for arg ; do
--repodir=*) repodir=${arg#*=} ;;
--bootdb=*) bootdb=${arg#*=} ;;
--stmpdir=*) stmpdir=${arg#*=} ;;
- --with-conf-file=*) conffile=${arg#*=} ;;
+ --conffile=*) conffile=${arg#*=} ;;
--with-store-list=*) storelist=${arg#*=} ;;
--with-default-bundle=*) defbundle=${arg#*=} ;;
--enable-nsss|--enable-nsss=yes) usensss=true ;;
diff --git a/doc/index.html b/doc/index.html
index 6213b68..18df7e8 100644
--- a/doc/index.html
+++ b/doc/index.html
@@ -91,7 +91,7 @@ parts of an s6-based system.
<li> <a href="//skarnet.org/software/execline/">execline</a> version
2.9.8.1 or later </li>
<li> <a href="//skarnet.org/software/s6/">s6</a> version
-2.14.0.0 or later </li>
+2.14.0.1 or later </li>
<li> <a href="//skarnet.org/software/s6-rc/">s6-rc</a> version
0.6.0.0 or later </li>
<li> Optional: <a href="//skarnet.org/software/nsss/">nsss</a> version
@@ -122,7 +122,7 @@ the shared version of the skarnet library. </li>
<ul>
<li> The current released version of s6-frontend is
-<a href="s6-frontend-0.0.1.0.tar.gz">0.0.1.0</a>. <strong><red>(unavailable while in development)</red></strong>
+<a href="s6-frontend-0.0.1.0.tar.gz">0.0.1.0</a>.
You can access its checksum <a href="s6-frontend-0.0.1.0.tar.gz.sha256">here</a>. </li>
<li> Alternatively, you can checkout a copy of the
<a href="//git.skarnet.org/cgi-bin/cgit.cgi/s6-frontend/">s6-frontend
diff --git a/package/configure-snippets/configure_case_lines b/package/configure-snippets/configure_case_lines
index 94c1202..96ded94 100644
--- a/package/configure-snippets/configure_case_lines
+++ b/package/configure-snippets/configure_case_lines
@@ -3,7 +3,7 @@
--repodir=*) repodir=${arg#*=} ;;
--bootdb=*) bootdb=${arg#*=} ;;
--stmpdir=*) stmpdir=${arg#*=} ;;
- --with-conf-file=*) conffile=${arg#*=} ;;
+ --conffile=*) conffile=${arg#*=} ;;
--with-store-list=*) storelist=${arg#*=} ;;
--with-default-bundle=*) defbundle=${arg#*=} ;;
--enable-nsss|--enable-nsss=yes) usensss=true ;;
diff --git a/package/configure-snippets/configure_help_options b/package/configure-snippets/configure_help_options
index c36b3ed..1f4150d 100644
--- a/package/configure-snippets/configure_help_options
+++ b/package/configure-snippets/configure_help_options
@@ -2,7 +2,6 @@
--disable-s6li do not use s6-linux-init functionality [enabled]
--enable-util-linux use util-linux functionality [disabled]
- --with-conf-file=FILE default configuration file for s6 command [SYSCONFDIR/s6-frontend.conf]
--with-store-list=LIST list of service stores [PREFIX/share/s6-frontend/s6-rc/sources:SYSCONFDIR/s6-frontend/s6-rc/sources]
--with-default-bundle=NAME name of the bundle started at boot [s6-rc default: default]
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" ;