aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorLaurent Bercot <ska-skaware@skarnet.org>2026-06-19 03:57:56 +0000
committerLaurent Bercot <ska-skaware@skarnet.org>2026-06-19 03:57:56 +0000
commit29100ede694ef8500f2f63211fff3232d3254516 (patch)
tree7ae90fa5a5c13e648001c5ca22802c1d8e400748
parent8eb000d3d22fcf7850b43f75ed52068693430d3b (diff)
downloads6-frontend-29100ede694ef8500f2f63211fff3232d3254516.tar.gz
Make fdhuser a config variable and --fdholder-user a global option
And remove the -h|--fdholder-user from various subcommands.
-rw-r--r--NEWS4
-rwxr-xr-xconfigure15
-rw-r--r--doc/s6.conf.html6
-rw-r--r--doc/s6_repository.html15
-rw-r--r--doc/s6_set.html16
-rw-r--r--doc/upgrade.html1
-rw-r--r--package/configure-snippets/configure_case_lines1
-rw-r--r--package/configure-snippets/configure_generate_configh3
-rw-r--r--package/configure-snippets/configure_generate_make1
-rw-r--r--package/configure-snippets/configure_help_options1
-rw-r--r--package/configure-snippets/configure_init_vars1
-rw-r--r--src/s6-frontend/main.help.txt1
-rw-r--r--src/s6-frontend/repository.help.txt4
-rw-r--r--src/s6-frontend/repository_init.c17
-rw-r--r--src/s6-frontend/repository_sync.c17
-rw-r--r--src/s6-frontend/s6-frontend-internal.h2
-rw-r--r--src/s6-frontend/s6-frontend.c6
-rw-r--r--src/s6-frontend/set.help.txt2
-rw-r--r--src/s6-frontend/set_apply.c6
-rw-r--r--src/s6-frontend/set_commit.c6
20 files changed, 51 insertions, 74 deletions
diff --git a/NEWS b/NEWS
index f025c54..ab53bf7 100644
--- a/NEWS
+++ b/NEWS
@@ -5,6 +5,10 @@ In 0.1.0.0
- Bugfixes.
- Documentation updates.
+ - New option: s6 -u|--user, for user services.
+ - New commands: s6 live reset, s6 apply.
+ - New shortcuts: s6 enable,disable,start,stop,kill,apply.
+ - The fdholder user is now a configuration variable.
In 0.0.1.2
diff --git a/configure b/configure
index 1849435..ace7d40 100755
--- a/configure
+++ b/configure
@@ -30,7 +30,7 @@ Fine tuning of the installation directories:
--repodir=DIR default s6-rc repository [s6-rc default: /var/lib/s6-rc/repository]
--bootdb=LINK location of the bootable s6-rc compiled db [s6-rc default: /etc/s6-rc/compiled/current]
--stmpdir=DIR secure location for temporary s6-frontend files [/run/s6-frontend]
- --conffile=FILE default configuration file for s6 command [SYSCONFDIR/s6-frontend.conf]
+ --conffile=FILE default configuration file for s6 command [SYSCONFDIR/s6.conf]
If no --prefix option is given, by default libdir (but not dynlibdir) will be
/usr/lib, and includedir will be /usr/include.
@@ -58,8 +58,9 @@ Optional features:
--disable-s6li do not use s6-linux-init functionality [enabled]
--enable-util-linux use util-linux functionality [disabled]
- --with-store-list=LIST list of service stores [PREFIX/share/s6-frontend/s6-rc/sources:SYSCONFDIR/s6-frontend/s6-rc/sources]
+ --with-store-list=LIST list of service stores [PREFIX/share/s6/sources:SYSCONFDIR/s6/sources]
--with-default-bundle=NAME name of the bundle started at boot [s6-rc default: default]
+ --with-fdholder-user=USER s6-fdholderd user to embed in databases [s6-svscan user]
EOF
exit 0
@@ -186,9 +187,10 @@ livedir=
repodir=
bootdb=
stmpdir=/run/s6-frontend
-conffile='$sysconfdir/s6-frontend.conf'
-storelist='$prefix/share/s6-frontend/s6-rc/sources:$sysconfdir/s6-frontend/s6-rc/sources'
+conffile='$sysconfdir/s6.conf'
+storelist='$prefix/share/s6/sources:$sysconfdir/s6/sources'
defbundle=
+fdhuser=
usensss=false
uses6li=true
@@ -240,6 +242,7 @@ for arg ; do
--conffile=*) conffile=${arg#*=} ;;
--with-store-list=*) storelist=${arg#*=} ;;
--with-default-bundle=*) defbundle=${arg#*=} ;;
+ --with-fdholder-user=*) fdhuser=${arg#*=} ;;
--enable-nsss|--enable-nsss=yes) usensss=true ;;
--disable-nsss|--enable-nsss=no) usensss=false ;;
--enable-s6li|--enable-s6li=yes) uses6li=true ;;
@@ -562,6 +565,7 @@ echo "REPODIR := $repodir"
echo "BOOTDB := $bootdb"
echo "STMPDIR := $stmpdir"
echo "STORELIST := $storelist"
+echo "FDHUSER := $fdhuser"
if $usensss ; then
echo "LIBNSSS := -lnsss"
@@ -675,6 +679,9 @@ echo "#define ${package_macro_name}_CONF \"$conffile\""
echo "#undef ${package_macro_name}_STORELIST"
echo "#define ${package_macro_name}_STORELIST \"$storelist\""
+
+echo "#undef ${package_macro_name}_FDHUSER"
+echo "#define ${package_macro_name}_FDHUSER \"$fdhuser\""
echo
echo "#endif"
exec 1>&3 3>&-
diff --git a/doc/s6.conf.html b/doc/s6.conf.html
index 39b1e76..8120603 100644
--- a/doc/s6.conf.html
+++ b/doc/s6.conf.html
@@ -99,6 +99,12 @@ The default is <tt>/usr/share/s6/sources:/etc/s6/sources</tt>
terse (only print fatal error messages), 1 is normal (print error messages and warnings),
over 1 is increasingly verbose (print informational messages, up to tracing and debug
messages at level 4-5). The default is <strong>1</strong>. </dd>
+
+<dt> fdhuser </dt>
+<dd> The system user for the internal fd-holding process spawned by
+s6-rc. It must be a user defined in <tt>/etc/passwd</tt>.
+The default is <strong>root</strong> and that is fine, but distributions
+may want to set it to an unprivileged user. </dd>
</dl>
</body>
diff --git a/doc/s6_repository.html b/doc/s6_repository.html
index d9cfcc9..bda22b2 100644
--- a/doc/s6_repository.html
+++ b/doc/s6_repository.html
@@ -59,7 +59,7 @@ and usage of the <tt>s6 repository</tt> command. It is not as detailed as this p
<h4> Interface </h4>
<pre>
- s6 repository init [ -f ] [ -U ] [ -h <em>fdhuser</em> ]
+ s6 repository init [ -f ] [ -U ]
</pre>
<ul>
@@ -85,9 +85,6 @@ if the repository seems hopelessly broken. </dd>
of stores. This commands needs to be run when the storelist variable
has changed. </dd>
-<dt> -h <em>fdhuser</em>, --fdholder-user=<em>fdhuser</em> </dt>
-<dd> Specify the fdholder user for the reference database. This has
-no impact whatsoever and this option can safely be ignored. </dd>
</dl>
<h3 id="list"> list </h3>
@@ -154,7 +151,7 @@ change <tt>B</tt> to be unmasked or enabled as well. </dd>
<h4> Interface </h4>
<pre>
- s6 repository sync [ -h <em>fdhuser</em> ]
+ s6 repository sync
</pre>
<ul>
@@ -166,13 +163,5 @@ that defines a service. Ideally it should be added to a hook defined by
the package manager. </li>
</ul>
-<h4> Options </h4>
-
-<dl>
-<dt> -h <em>fdhuser</em>, --fdholder-user=<em>fdhuser</em> </dt>
-<dd> Specify the fdholder user for the reference database. This has
-no impact whatsoever and this option can safely be ignored. </dd>
-</dl>
-
</body>
</html>
diff --git a/doc/s6_set.html b/doc/s6_set.html
index a38a57d..683cbad 100644
--- a/doc/s6_set.html
+++ b/doc/s6_set.html
@@ -298,7 +298,7 @@ change <tt>B</tt> to be unmasked or enabled as well. </dd>
<h4> Interface </h4>
<pre>
- s6 set commit [ -f ] [ -K ] [ -D <em>defaultbundle</em> ] [ -h <em>fdhuser</em> ] [ -s <em>setname</em> ]
+ s6 set commit [ -f ] [ -K ] [ -D <em>defaultbundle</em> ] [ -s <em>setname</em> ]
</pre>
<ul>
@@ -333,12 +333,6 @@ services and that will be started at boot time. There is generally no reason
to change the default, which depends on the distribution and is probably called
<tt>default</tt>. </dd>
-<dt> -h <em>fdhuser</em>, --fdholder-user=<em>fdhuser</em> </dt>
-<dd> Specify the fdholder user for the compiled database built from
-the set. This must be a user name defined in the <tt>/etc/passwd</tt>
-file or whatever user database the system uses. The default is <tt>root</tt>
-and that is fine. </dd>
-
<dt> <tt>-s <em>setname</em></tt>, <tt>--set=<em>setname</em></tt> </dt>
<dd> Commit the set named <em>setname</em>, rather than <tt>current</tt>. </dd>
</dl>
@@ -348,7 +342,7 @@ and that is fine. </dd>
<h4> Interface </h4>
<pre>
- s6 set apply [ -b ] [ -D <em>defaultbundle</em> ] [ -h <em>fdhuser</em> ] [ -s <em>setname</em> ] [ -t <em>timeout</em> ]
+ s6 set apply [ -b ] [ -D <em>defaultbundle</em> ] [ -s <em>setname</em> ] [ -t <em>timeout</em> ]
</pre>
<ul>
@@ -378,12 +372,6 @@ database. The default is to fail with an error message instead. </dd>
services, which will be the ones running on the machine when the command ends.
The default depends on the distribution and is probably called <tt>default</tt>. </dd>
-<dt> -h <em>fdhuser</em>, --fdholder-user=<em>fdhuser</em> </dt>
-<dd> Specify the fdholder user for the compiled database built from
-the set. This must be a user name defined in the <tt>/etc/passwd</tt>
-file or whatever user database the system uses. The default is <tt>root</tt>
-and that is fine. </dd>
-
<dt> <tt>-f <em>convfile</em></tt>, <tt>--conversion-file=<em>convfile</em></tt> </dt>
<dd> Use <em>convfile</em> as a <a href="//skarnet.org/software/s6-rc/s6-rc-update.html#conversion">conversion file</a> for the underlying
<a href="//skarnet.org/software/s6-rc/s6-rc-update.html">s6-rc-update</a>
diff --git a/doc/upgrade.html b/doc/upgrade.html
index db8801b..545e2e9 100644
--- a/doc/upgrade.html
+++ b/doc/upgrade.html
@@ -22,7 +22,6 @@
<h2> in 0.1.0.0 </h2>
<ul>
- <li> Support for disabling RPATH at configure time. </li>
<li> <a href="//skarnet.org/software/skalibs/">skalibs</a>
dependency bumped to 2.15.0.1. </li>
<li> <a href="//skarnet.org/software/nsss/">nsss</a>
diff --git a/package/configure-snippets/configure_case_lines b/package/configure-snippets/configure_case_lines
index 96ded94..ed2aaea 100644
--- a/package/configure-snippets/configure_case_lines
+++ b/package/configure-snippets/configure_case_lines
@@ -6,6 +6,7 @@
--conffile=*) conffile=${arg#*=} ;;
--with-store-list=*) storelist=${arg#*=} ;;
--with-default-bundle=*) defbundle=${arg#*=} ;;
+ --with-fdholder-user=*) fdhuser=${arg#*=} ;;
--enable-nsss|--enable-nsss=yes) usensss=true ;;
--disable-nsss|--enable-nsss=no) usensss=false ;;
--enable-s6li|--enable-s6li=yes) uses6li=true ;;
diff --git a/package/configure-snippets/configure_generate_configh b/package/configure-snippets/configure_generate_configh
index 6fcb60a..3f99a88 100644
--- a/package/configure-snippets/configure_generate_configh
+++ b/package/configure-snippets/configure_generate_configh
@@ -72,3 +72,6 @@ echo "#define ${package_macro_name}_CONF \"$conffile\""
echo "#undef ${package_macro_name}_STORELIST"
echo "#define ${package_macro_name}_STORELIST \"$storelist\""
+
+echo "#undef ${package_macro_name}_FDHUSER"
+echo "#define ${package_macro_name}_FDHUSER \"$fdhuser\""
diff --git a/package/configure-snippets/configure_generate_make b/package/configure-snippets/configure_generate_make
index 1fa9ea2..d10c04a 100644
--- a/package/configure-snippets/configure_generate_make
+++ b/package/configure-snippets/configure_generate_make
@@ -4,6 +4,7 @@ echo "REPODIR := $repodir"
echo "BOOTDB := $bootdb"
echo "STMPDIR := $stmpdir"
echo "STORELIST := $storelist"
+echo "FDHUSER := $fdhuser"
if $usensss ; then
echo "LIBNSSS := -lnsss"
diff --git a/package/configure-snippets/configure_help_options b/package/configure-snippets/configure_help_options
index 1d79b20..8ce4586 100644
--- a/package/configure-snippets/configure_help_options
+++ b/package/configure-snippets/configure_help_options
@@ -4,4 +4,5 @@
--with-store-list=LIST list of service stores [PREFIX/share/s6/sources:SYSCONFDIR/s6/sources]
--with-default-bundle=NAME name of the bundle started at boot [s6-rc default: default]
+ --with-fdholder-user=USER s6-fdholderd user to embed in databases [s6-svscan user]
diff --git a/package/configure-snippets/configure_init_vars b/package/configure-snippets/configure_init_vars
index e9af35a..a156235 100644
--- a/package/configure-snippets/configure_init_vars
+++ b/package/configure-snippets/configure_init_vars
@@ -6,6 +6,7 @@ stmpdir=/run/s6-frontend
conffile='$sysconfdir/s6.conf'
storelist='$prefix/share/s6/sources:$sysconfdir/s6/sources'
defbundle=
+fdhuser=
usensss=false
uses6li=true
diff --git a/src/s6-frontend/main.help.txt b/src/s6-frontend/main.help.txt
index 7837152..2b7e920 100644
--- a/src/s6-frontend/main.help.txt
+++ b/src/s6-frontend/main.help.txt
@@ -34,4 +34,5 @@ Global options:
-c BOOTDB --bootdb=BOOTDB live database the system is booting on
--stmpdir=STMPDIR root-only temporary directory
--storelist=LIST list of service stores
+ --fdholder-user=USER the s6-fdholderd user embedded in service databases
diff --git a/src/s6-frontend/repository.help.txt b/src/s6-frontend/repository.help.txt
index 3a9ee1e..a418dbe 100644
--- a/src/s6-frontend/repository.help.txt
+++ b/src/s6-frontend/repository.help.txt
@@ -11,10 +11,8 @@ Subcommands:
s6 repository init options:
-f --force Overwrite existing repository
-U --update-stores Update existing repository with new stores
- -h USER --fdholder-user Set USER as reference fdholder owner
-s6 repository sync options:
- -h USER --fdholder-user Set USER as reference fdholder owner
+s6 repository sync options: none
s6 repository list options: none
diff --git a/src/s6-frontend/repository_init.c b/src/s6-frontend/repository_init.c
index 747c481..a4f6b8b 100644
--- a/src/s6-frontend/repository_init.c
+++ b/src/s6-frontend/repository_init.c
@@ -20,12 +20,6 @@ enum golb_e
GOLB_UPDATE = 0x02,
} ;
-enum gola_e
-{
- GOLA_FDHUSER,
- GOLA_N
-} ;
-
void repository_init (char const *const *argv)
{
static gol_bool const rgolb[] =
@@ -33,18 +27,13 @@ void repository_init (char const *const *argv)
{ .so = 'f', .lo = "force", .clear = 0, .set = GOLB_FORCE },
{ .so = 'U', .lo = "update-stores", .clear = 0, .set = GOLB_UPDATE },
} ;
- static gol_arg const rgola[] =
- {
- { .so = 'h', .lo = "fdholder-user", .i = GOLA_FDHUSER },
- } ;
uint64_t wgolb = 0 ;
unsigned int m = 0 ;
unsigned int n = 0 ;
- char const *wgola[GOLA_N] = { 0 } ;
size_t len ;
char fmtv[UINT_FMT] ;
- argv += GOL_argv(argv, rgolb, rgola, &wgolb, wgola) ;
+ argv += gol_argv(argv, rgolb, sizeof(rgolb) / sizeof(gol_bool), 0, 0, &wgolb, 0) ;
len = strlen(g->dirs.stol) ;
char storage[len+1] ;
@@ -64,10 +53,10 @@ void repository_init (char const *const *argv)
newargv[m++] = g->dirs.repo ;
if (wgolb & GOLB_FORCE) newargv[m++] = "-f" ;
if (wgolb & GOLB_UPDATE) newargv[m++] = "-U" ;
- if (wgola[GOLA_FDHUSER])
+ if (g->fdhuser && g->fdhuser[0])
{
newargv[m++] = "-h" ;
- newargv[m++] = wgola[GOLA_FDHUSER] ;
+ newargv[m++] = g->fdhuser ;
}
newargv[m++] = "--" ;
len = 0 ;
diff --git a/src/s6-frontend/repository_sync.c b/src/s6-frontend/repository_sync.c
index f3e25df..4f4fca3 100644
--- a/src/s6-frontend/repository_sync.c
+++ b/src/s6-frontend/repository_sync.c
@@ -7,23 +7,12 @@
#include "s6-frontend-internal.h"
-enum gola_e
-{
- GOLA_FDHUSER,
- GOLA_N
-} ;
-
void repository_sync (char const *const *argv)
{
- static gol_arg const rgola[] =
- {
- { .so = 'h', .lo = "fdholder-user", .i = GOLA_FDHUSER },
- } ;
unsigned int m = 0 ;
- char const *wgola[GOLA_N] = { 0 } ;
char fmtv[UINT_FMT] ;
- argv += gol_argv(argv, 0, 0, rgola, GOLA_N, 0, wgola) ;
+ argv += gol_argv(argv, 0, 0, 0, 0, 0, 0) ;
char const *newargv[9] ;
newargv[m++] = S6RC_EXTBINPREFIX "s6-rc-repo-sync" ;
@@ -35,10 +24,10 @@ void repository_sync (char const *const *argv)
}
newargv[m++] = "-r" ;
newargv[m++] = g->dirs.repo ;
- if (wgola[GOLA_FDHUSER])
+ if (g->fdhuser && g->fdhuser[0])
{
newargv[m++] = "-h" ;
- newargv[m++] = wgola[GOLA_FDHUSER] ;
+ newargv[m++] = g->fdhuser ;
}
newargv[m++] = "--" ;
newargv[m++] = 0 ;
diff --git a/src/s6-frontend/s6-frontend-internal.h b/src/s6-frontend/s6-frontend-internal.h
index 587b4e2..4089c15 100644
--- a/src/s6-frontend/s6-frontend-internal.h
+++ b/src/s6-frontend/s6-frontend-internal.h
@@ -119,6 +119,7 @@ struct global_s
{
unsigned int verbosity ;
s6f_confdirs dirs ;
+ char const *fdhuser ;
stralloc userstorage ;
uint8_t isuser : 1 ;
uint8_t istty : 1 ;
@@ -136,6 +137,7 @@ struct global_s
.stmp = S6_FRONTEND_STMPDIR, \
.stol = S6_FRONTEND_STORELIST, \
}, \
+ .fdhuser = S6_FRONTEND_FDHUSER, \
.userstorage = STRALLOC_ZERO, \
.isuser = 0, \
.istty = 0, \
diff --git a/src/s6-frontend/s6-frontend.c b/src/s6-frontend/s6-frontend.c
index 9e649a7..ff78f8b 100644
--- a/src/s6-frontend/s6-frontend.c
+++ b/src/s6-frontend/s6-frontend.c
@@ -22,7 +22,7 @@
#define USAGE "s6 [ generic options ] command [ command options ] command_arguments... Type \"s6 help\" for details."
#define dieusage() strerr_dieusage(100, USAGE)
-#define CLEANUP_MODIF "scandir\0livedir\0repodir\0bootdb\0stmpdir\0storelist\0verbosity"
+#define CLEANUP_MODIF "scandir\0livedir\0repodir\0bootdb\0stmpdir\0storelist\0verbosity\0fdhuser"
enum golb_e
{
@@ -40,6 +40,7 @@ enum gola_e
GOLA_STMPDIR,
GOLA_STORELIST,
GOLA_VERBOSITY,
+ GOLA_FDHUSER,
GOLA_COLOR,
GOLA_N
} ;
@@ -114,6 +115,7 @@ int main (int argc, char const *const *argv)
{ .so = 0, .lo = "stmpdir", .i = GOLA_STMPDIR },
{ .so = 0, .lo = "storelist", .i = GOLA_STORELIST },
{ .so = 'v', .lo = "verbosity", .i = GOLA_VERBOSITY },
+ { .so = 0, .lo = "fdholder-user", .i = GOLA_FDHUSER },
{ .so = 0, .lo = "color", .i = GOLA_COLOR },
} ;
static struct command_s const commands[] =
@@ -151,6 +153,7 @@ int main (int argc, char const *const *argv)
[GOLA_STMPDIR] = getenv("stmpdir"),
[GOLA_STORELIST] = getenv("storelist"),
[GOLA_VERBOSITY] = getenv("verbosity"),
+ [GOLA_FDHUSER] = getenv("fdhuser"),
[GOLA_COLOR] = 0
} ;
PROG = "s6-frontend" ;
@@ -173,6 +176,7 @@ int main (int argc, char const *const *argv)
if (wgola[GOLA_BOOTDB]) g->dirs.boot = wgola[GOLA_BOOTDB] ;
if (wgola[GOLA_STMPDIR]) g->dirs.stmp = wgola[GOLA_STMPDIR] ;
if (wgola[GOLA_STORELIST]) g->dirs.stol = wgola[GOLA_STORELIST] ;
+ if (wgola[GOLA_FDHUSER]) g->fdhuser = wgola[GOLA_FDHUSER] ;
{
int force_color = 0 ;
diff --git a/src/s6-frontend/set.help.txt b/src/s6-frontend/set.help.txt
index 9113f34..1da3a8a 100644
--- a/src/s6-frontend/set.help.txt
+++ b/src/s6-frontend/set.help.txt
@@ -49,13 +49,11 @@ s6 set commit options:
-f --force compile db even if up-to-date
-K --keep-old keep old db if any, print its path to stdout
-D BUN --default-bundle=BUN name of the bundle containing enabled+essential services
- -h USER --fdholder-user=USER user for the s6-fdholderd process (default: root - it's fine)
-s SET --set=SET commit set SET (default: current)
s6 set apply options:
-b --block block if another s6-rc is running (default: fail)
-D BUN --default-bundle=BUN name of the bundle containing enabled+essential services
- -h USER --fdholder-user=USER user for the s6-fdholderd process (default: root - it's fine)
-f CONVFILE --conversion-file=CONVFILE use CONVFILE when updating the service db (default: none)
-s SET --set=SET apply set SET (default: current)
-t TIMEOUT --timeout=TIMEOUT fail after TIMEOUT milliseconds (default: 0 (=infinite))
diff --git a/src/s6-frontend/set_apply.c b/src/s6-frontend/set_apply.c
index b017212..85078ec 100644
--- a/src/s6-frontend/set_apply.c
+++ b/src/s6-frontend/set_apply.c
@@ -17,7 +17,6 @@ enum golb_e
enum gola_e
{
GOLA_DEFBUNDLE,
- GOLA_FDHUSER,
GOLA_CONVFILE,
GOLA_SET,
GOLA_TIMEOUT,
@@ -33,7 +32,6 @@ void set_apply (char const *const *argv)
static gol_arg const rgola[] =
{
{ .so = 'D', .lo = "default-bundle", .i = GOLA_DEFBUNDLE },
- { .so = 'h', .lo = "fdholder-user", .i = GOLA_FDHUSER },
{ .so = 'f', .lo = "conversion-file", .i = GOLA_CONVFILE },
{ .so = 's', .lo = "set", .i = GOLA_SET },
{ .so = 't', .lo = "timeout", .i = GOLA_TIMEOUT },
@@ -71,10 +69,10 @@ void set_apply (char const *const *argv)
newargv[m++] = g->dirs.repo ;
newargv[m++] = "-D" ;
newargv[m++] = wgola[GOLA_DEFBUNDLE] ;
- if (wgola[GOLA_FDHUSER])
+ if (g->fdhuser && g->fdhuser[0])
{
newargv[m++] = "-h" ;
- newargv[m++] = wgola[GOLA_FDHUSER] ;
+ newargv[m++] = g->fdhuser ;
}
newargv[m++] = "--" ;
newargv[m++] = wgola[GOLA_SET] ;
diff --git a/src/s6-frontend/set_commit.c b/src/s6-frontend/set_commit.c
index 3e0fae2..eb98bd5 100644
--- a/src/s6-frontend/set_commit.c
+++ b/src/s6-frontend/set_commit.c
@@ -17,7 +17,6 @@ enum golb_e
enum gola_e
{
GOLA_DEFBUNDLE,
- GOLA_FDHUSER,
GOLA_SET,
GOLA_N
} ;
@@ -32,7 +31,6 @@ void set_commit (char const *const *argv)
static gol_arg const rgola[] =
{
{ .so = 'D', .lo = "default-bundle", .i = GOLA_DEFBUNDLE },
- { .so = 'h', .lo = "fdholder-user", .i = GOLA_FDHUSER },
{ .so = 's', .lo = "set", .i = GOLA_SET },
} ;
@@ -59,10 +57,10 @@ void set_commit (char const *const *argv)
newargv[m++] = wgola[GOLA_DEFBUNDLE] ;
if (wgolb & GOLB_FORCE) newargv[m++] = "-f" ;
if (wgolb & GOLB_KEEPOLD) newargv[m++] = "-K" ;
- if (wgola[GOLA_FDHUSER])
+ if (g->fdhuser && g->fdhuser[0])
{
newargv[m++] = "-h" ;
- newargv[m++] = wgola[GOLA_FDHUSER] ;
+ newargv[m++] = g->fdhuser ;
}
newargv[m++] = "--" ;
newargv[m++] = wgola[GOLA_SET] ;