aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/s6-frontend/live_install.c7
-rw-r--r--src/s6-frontend/set_apply.c7
2 files changed, 13 insertions, 1 deletions
diff --git a/src/s6-frontend/live_install.c b/src/s6-frontend/live_install.c
index 49dab81..ec99707 100644
--- a/src/s6-frontend/live_install.c
+++ b/src/s6-frontend/live_install.c
@@ -14,6 +14,7 @@ enum golb_e
GOLB_KEEPOLD = 0x02,
GOLB_INIT = 0x04,
GOLB_NOFORCEESSENTIALS = 0x08,
+ GOLB_NOSNAP = 0x10,
} ;
enum gola_e
@@ -32,6 +33,8 @@ void live_install (char const *const *argv)
{ .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 },
+ { .so = 0, .lo = "snapshot", .clear = GOLB_NOSNAP, .set = 0 },
+ { .so = 0, .lo = "no-snapshot", .clear = 0, .set = GOLB_NOSNAP },
} ;
static gol_arg const rgola[] =
{
@@ -74,6 +77,10 @@ void live_install (char const *const *argv)
newargv[m++] = "--no-update" ;
newargv[m++] = "--no-snapshot" ;
}
+ else if (wgolb & GOLB_NOSNAP)
+ {
+ newargv[m++] = "--no-snapshot" ;
+ }
newargv[m++] = "--" ;
newargv[m++] = wgola[GOLA_SET] ;
newargv[m++] = 0 ;
diff --git a/src/s6-frontend/set_apply.c b/src/s6-frontend/set_apply.c
index e88f002..9de9e01 100644
--- a/src/s6-frontend/set_apply.c
+++ b/src/s6-frontend/set_apply.c
@@ -12,6 +12,7 @@
enum golb_e
{
GOLB_BLOCK = 0x01,
+ GOLB_NOSNAP = 0x02,
} ;
enum gola_e
@@ -27,6 +28,8 @@ void set_apply (char const *const *argv)
static gol_bool const rgolb[] =
{
{ .so = 'b', .lo = "block", .clear = 0, .set = GOLB_BLOCK },
+ { .so = 0, .lo = "snapshot", .clear = GOLB_NOSNAP, .set = 0 },
+ { .so = 0, .lo = "no-snapshot", .clear = 0, .set = GOLB_NOSNAP },
} ;
static gol_arg const rgola[] =
{
@@ -42,7 +45,7 @@ void set_apply (char const *const *argv)
char const *wgola[GOLA_N] = { 0 } ;
size_t slen = strlen(g->dirs.scan) ;
char const *set ;
- char const *newargv[17] ;
+ char const *newargv[16] ;
char fmtv[UINT_FMT] ;
char fmtt[UINT_FMT] ;
char catchall[slen + 15] ;
@@ -83,6 +86,7 @@ void set_apply (char const *const *argv)
}
newargv[m++] = "-L" ;
newargv[m++] = catchall ;
+ if (wgolb & GOLB_NOSNAP) newargv[m++] = "--no-snapshot" ;
newargv[m++] = "--" ;
newargv[m++] = set ;
newargv[m++] = 0 ;
@@ -114,6 +118,7 @@ void set_apply (char const *const *argv)
newargv[m++] = "-f" ;
newargv[m++] = wgola[GOLA_CONVFILE] ;
}
+ if (wgolb & GOLB_NOSNAP) newargv[m++] = "--no-snapshot" ;
newargv[m++] = "--" ;
newargv[m++] = set ;
newargv[m++] = 0 ;