From 6ea5ab49c076052f99d89fbec3b53211ce6850ae Mon Sep 17 00:00:00 2001 From: obarun <eric@obarun.org> Date: Sat, 2 Dec 2023 17:40:55 +1100 Subject: [PATCH] switch init command to tree command --- src/66/66.c | 9 ------- src/include/66/ssexec.h | 10 ++++---- src/lib66/exec/deps-lib/deps | 2 +- src/lib66/exec/ssexec_boot.c | 4 +-- src/lib66/exec/ssexec_help.c | 25 +++++++++---------- .../{ssexec_init.c => ssexec_tree_init.c} | 6 ++--- src/lib66/exec/ssexec_tree_wrapper.c | 13 ++++++++++ 7 files changed, 36 insertions(+), 33 deletions(-) rename src/lib66/exec/{ssexec_init.c => ssexec_tree_init.c} (97%) diff --git a/src/66/66.c b/src/66/66.c index f221ef76..481a0071 100644 --- a/src/66/66.c +++ b/src/66/66.c @@ -250,15 +250,6 @@ int main(int argc, char const *const *argv) info.usage = usage_env ; func = &ssexec_env ; - } else if (!strcmp(argv[0], "init")) { - - PROG = "init" ; - nargv[n++] = PROG ; - info.prog = PROG ; - info.help = help_init ; - info.usage = usage_init ; - func = &ssexec_init ; - } else if (!strcmp(argv[0], "parse")) { PROG = "parse" ; diff --git a/src/include/66/ssexec.h b/src/include/66/ssexec.h index 3d3b51eb..23c1e35d 100644 --- a/src/include/66/ssexec.h +++ b/src/include/66/ssexec.h @@ -91,7 +91,6 @@ extern ssexec_t const ssexec_zero ; /** main */ extern ssexec_func_t ssexec_parse ; -extern ssexec_func_t ssexec_init ; extern ssexec_func_t ssexec_enable ; extern ssexec_func_t ssexec_disable ; extern ssexec_func_t ssexec_start ; @@ -121,6 +120,7 @@ extern ssexec_func_t ssexec_tree_signal ; extern ssexec_func_t ssexec_tree_admin ; extern ssexec_func_t ssexec_tree_status ; extern ssexec_func_t ssexec_tree_resolve ; +extern ssexec_func_t ssexec_tree_init ; /** shutdown */ extern ssexec_func_t ssexec_shutdown_wrapper ; @@ -141,8 +141,6 @@ extern char const *usage_stop ; extern char const *help_stop ; extern char const *usage_env ; extern char const *help_env ; -extern char const *usage_init ; -extern char const *help_init ; extern char const *usage_parse ; extern char const *help_parse ; extern char const *usage_reconfigure ; @@ -182,6 +180,8 @@ extern char const *usage_tree_resolve ; extern char const *help_tree_resolve ; extern char const *usage_tree_status ; extern char const *help_tree_status ; +extern char const *usage_tree_init ; +extern char const *help_tree_init ; extern char const *usage_tree_start ; extern char const *help_tree_start ; extern char const *usage_tree_stop ; @@ -229,8 +229,6 @@ extern char const *help_halt ; #define OPTS_SUBSTART_LEN (sizeof OPTS_SUBSTART - 1) #define OPTS_PARSE "hfFcmCI" #define OPTS_PARSE_LEN (sizeof OPTS_PARSE - 1) -#define OPTS_INIT "h" -#define OPTS_INIT_LEN (sizeof OPTS_INIT - 1) #define OPTS_ENABLE "hSP" #define OPTS_ENABLE_LEN (sizeof OPTS_ENABLE - 1) #define OPTS_DISABLE "hSFRP" @@ -258,6 +256,8 @@ extern char const *help_halt ; #define OPTS_TREE_SIGNAL_LEN (sizeof OPTS_TREE_SIGNAL - 1) #define OPTS_TREE_ADMIN "co:EDRnadC:S:" #define OPTS_TREE_ADMIN_LEN (sizeof OPTS_TREE_ADMIN - 1) +#define OPTS_TREE_INIT "h" +#define OPTS_TREE_INIT_LEN (sizeof OPTS_TREE_INIT - 1) #define OPTS_BOOT "hms:e:d:b:l:" #define OPTS_BOOT_LEN (sizeof OPTS_BOOT - 1) diff --git a/src/lib66/exec/deps-lib/deps b/src/lib66/exec/deps-lib/deps index f2e2bf7d..f234672d 100644 --- a/src/lib66/exec/deps-lib/deps +++ b/src/lib66/exec/deps-lib/deps @@ -5,7 +5,6 @@ ssexec_enable.o ssexec_env.o ssexec_free.o ssexec_help.o -ssexec_init.o ssexec_parse.o ssexec_reconfigure.o ssexec_reload.o @@ -23,6 +22,7 @@ ssexec_state.o ssexec_status.o ssexec_stop.o ssexec_tree_admin.o +ssexec_tree_init.o ssexec_tree_resolve.o ssexec_tree_signal.o ssexec_tree_status.o diff --git a/src/lib66/exec/ssexec_boot.c b/src/lib66/exec/ssexec_boot.c index d1d16773..d9ada936 100644 --- a/src/lib66/exec/ssexec_boot.c +++ b/src/lib66/exec/ssexec_boot.c @@ -612,9 +612,9 @@ int ssexec_boot(int argc, char const *const *argv, ssexec_t *info) } /** initiate earlier service */ { - char const *t[] = { tree } ; + char const *t[] = { "init", tree } ; log_info("Initiate earlier service of tree: ",tree) ; - make_cmdline("init", t, 1, "initiate earlier service of tree: ", tree, genv) ; + make_cmdline("tree", t, 2, "initiate earlier service of tree: ", tree, genv) ; } if (envdir) { diff --git a/src/lib66/exec/ssexec_help.c b/src/lib66/exec/ssexec_help.c index 1ba8800b..4f2cc6b3 100644 --- a/src/lib66/exec/ssexec_help.c +++ b/src/lib66/exec/ssexec_help.c @@ -23,7 +23,7 @@ inline void info_help (char const *help,char const *usage) } -char const *usage_66 = "66 [ -h ] [ -z ] [ -v verbosity ] [ -l live ] [ -T timeout ] [ -t tree ] start|stop|reload|restart|free|reconfigure|enable|disable|configure|status|resolve|state|remove|signal|tree|init|parse|scandir|boot|poweroff|reboot|halt|version [<command options>] service...|tree" ; +char const *usage_66 = "66 [ -h ] [ -z ] [ -v verbosity ] [ -l live ] [ -T timeout ] [ -t tree ] start|stop|reload|restart|free|reconfigure|enable|disable|configure|status|resolve|state|remove|signal|tree|parse|scandir|boot|poweroff|reboot|halt|version [<command options>] service...|tree" ; char const *help_66 = "\nmain tool to init a system, control and manage services\n" @@ -52,7 +52,6 @@ char const *help_66 = " remove: remove services and cleanup all files belong to it from the system\n" " signal: send signal to service\n" " tree: manage/see tree information\n" -" init: initiate to scandir all services marked enabled at tree\n" " parse: parse the service frontend file\n" " scandir: manage scandir\n" " boot: boot the system\n" @@ -135,15 +134,6 @@ char const *help_env = " -e: edit the file with editor\n" ; -char const *usage_init = "66 init [ -h ] tree" ; - -char const *help_init = -"\ninitiate all services present in tree to a scandir already running\n" -"\n" -"options:\n" -" -h: print this help\n" -; - char const *usage_parse = "66 parse [ -h ] [ -f ] [ -I ] service..." ; char const *help_parse = @@ -294,7 +284,7 @@ char const *help_signal = " -r : restart service by sending it a signal(default SIGTERM)\n" ; -char const *usage_tree_wrapper = "66 tree [ -h ] create|admin|remove|enable|disable|current|status|resolve|start|stop|free [<subcommand options>] tree" ; +char const *usage_tree_wrapper = "66 tree [ -h ] create|admin|remove|enable|disable|current|status|resolve|init|start|stop|free [<subcommand options>] tree" ; char const *help_tree_wrapper = "\nmain subcommands to manages trees\n" @@ -311,6 +301,7 @@ char const *help_tree_wrapper = " current: mark tree as current\n" " status: displays information about tree\n" " resolve: displays resolve file of tree\n" +" init: initiate all services marked enabled from tree\n" " start: bring up all enabled services from tree\n" " stop: bring down all services from tree\n" " free: bring down and unsupervise all services from tree\n" @@ -355,7 +346,6 @@ char const *help_tree_admin = " allow=: comma separated list of account to allow at tree\n" " deny=: comma separated list of account to deny at tree\n" " clone=: make a clone of tree\n" -" noseed: do not use seed file to build the tree\n" ; char const *usage_tree_remove = "66 tree remove [ -h ] tree" ; @@ -430,6 +420,15 @@ char const *help_tree_status = "If no tree name are provided, it display all trees from the system\n" ; +char const *usage_tree_init = "66 tree init [ -h ] tree" ; + +char const *help_tree_init = +"\ninitiate all services present in tree to a scandir already running\n" +"\n" +"options:\n" +" -h: print this help\n" +; + char const *usage_tree_start = "66 tree start [ -h ] [ -f ] tree" ; char const *help_tree_start = diff --git a/src/lib66/exec/ssexec_init.c b/src/lib66/exec/ssexec_tree_init.c similarity index 97% rename from src/lib66/exec/ssexec_init.c rename to src/lib66/exec/ssexec_tree_init.c index b6fa7675..fd18baaa 100644 --- a/src/lib66/exec/ssexec_init.c +++ b/src/lib66/exec/ssexec_tree_init.c @@ -1,5 +1,5 @@ /* - * ssexec_init.c + * ssexec_tree_init.c * * Copyright (c) 2018-2023 Eric Vidal <eric@obarun.org> * @@ -140,7 +140,7 @@ static void doit(stralloc *sa, ssexec_t *info, uint8_t earlier) graph_free_all(&graph) ; } -int ssexec_init(int argc, char const *const *argv, ssexec_t *info) +int ssexec_tree_init(int argc, char const *const *argv, ssexec_t *info) { log_flow() ; @@ -155,7 +155,7 @@ int ssexec_init(int argc, char const *const *argv, ssexec_t *info) for (;;) { - int opt = subgetopt_r(argc, argv, OPTS_INIT, &l) ; + int opt = subgetopt_r(argc, argv, OPTS_TREE_INIT, &l) ; if (opt == -1) break ; switch (opt) { diff --git a/src/lib66/exec/ssexec_tree_wrapper.c b/src/lib66/exec/ssexec_tree_wrapper.c index 7272f6f7..05b1245f 100644 --- a/src/lib66/exec/ssexec_tree_wrapper.c +++ b/src/lib66/exec/ssexec_tree_wrapper.c @@ -139,6 +139,19 @@ int ssexec_tree_wrapper(int argc, char const *const *argv, ssexec_t *info) argc-- ; argv++ ; + } else if (!strcmp(argv[1], "init")) { + + nargv[n++] = PROG ; + + info->prog = PROG ; + info->help = help_tree_init ; + info->usage = usage_tree_init ; + + func = &ssexec_tree_init ; + + argc-- ; + argv++ ; + } else if (!strcmp(argv[1], "start")) { info->prog = PROG ; -- GitLab