diff options
| author | Laurent Bercot <ska-skaware@skarnet.org> | 2025-10-24 16:46:58 +0000 |
|---|---|---|
| committer | Laurent Bercot <ska-skaware@skarnet.org> | 2025-10-24 16:46:58 +0000 |
| commit | 5f46f6f2d649b2bb8664f9c749e15acd8f529b6c (patch) | |
| tree | 3eb2a3f71488b932afd24a03b1dad909fa6e9c50 | |
| parent | ad3cffc4b2c3e43053aa914e19cd5649868a7d74 (diff) | |
| download | s6-frontend-5f46f6f2d649b2bb8664f9c749e15acd8f529b6c.tar.gz | |
Separate s6 from s6-frontend, fix configure for no-nsss build
29 files changed, 133 insertions, 43 deletions
@@ -5,4 +5,5 @@ /libs6f.a.xyzzy /src/include/s6-frontend/config.h /s6-frontend-* +/s6-frontend /s6 @@ -25,11 +25,12 @@ Fine tuning of the installation directories: --includedir=DIR C header files [PREFIX/include] --sysconfdir=DIR global configuration files [PREFIX/etc] --pkgconfdir=DIR pkg-config .pc files [PREFIX/lib/pkgconfig] - --scandir=DIR assume s6-svscan is running on DIR [s6li default|/run/service] - --livedir=DIR run s6-rc live directory in DIR [s6-rc default|/run/s6-rc] - --repodir=DIR s6-frontend working base [/var/lib/s6-frontend/repository] + --scandir=DIR assume s6-svscan is running on DIR [s6li default: /run/service] + --livedir=DIR run s6-rc live directory in DIR [s6-rc default: /run/s6-rc] + --repodir=DIR default s6-rc repository [s6-rc default: /var/lib/s6-frontend/repository] --bootdir=DIR location of the bootable s6-rc compiled db [/etc/s6-rc] --stmpdir=DIR secure location for temporary s6-frontend files [/run/s6-frontend] + --conffile=FILE default configuration file for s6 command [SYSCONFDIR/s6-frontend.conf] --with-def-path=PATH path to service files [LIBDIR/s6-frontend/s6-rc/source:SYSCONFDIR/s6-frontend/s6-rc/source] If no --prefix option is given, by default libdir (but not dynlibdir) will be /usr/lib, and includedir will be /usr/include. @@ -53,6 +54,7 @@ Optional features: --enable-pkgconfig Build and install .pc files for pkg-config [disabled] --enable-slashpackage[=ROOT] assume /package installation at ROOT [disabled] --enable-absolute-paths hardcode absolute BINDIR/foobar paths in binaries [disabled] + --enable-nsss use the nsss library for user information [disabled] --disable-s6li do not use s6-linux-init functionality [enabled] --enable-util-linux use util-linux functionality [disabled] --enable-aliases-daemontools build emulation of daemontools programs [disabled] @@ -183,7 +185,9 @@ livedir= repodir=/var/lib/s6-frontend/s6-rc/repository bootdir=/etc/s6-rc stmpdir=/run/s6-frontend +conffile='$sysconfdir/s6-frontend.conf' defpath='$libdir/s6-frontend/s6-rc/source:$sysconfdir/s6-frontend/s6-rc/source' +usensss=false uses6li=true useutillinux=false adaemontools=false @@ -231,7 +235,10 @@ for arg ; do --repodir=*) repodir=${arg#*=} ;; --bootdir=*) bootdir=${arg#*=} ;; --stmpdir=*) stmpdir=${arg#*=} ;; + --conffile=*) conffile=${arg#*=} ;; --with-def-path=*) defpath=${arg#*=} ;; + --enable-nsss|--enable-nsss=yes) usensss=true ;; + --disable-nsss|--enable-nsss=no) usensss=false ;; --enable-s6li|--enable-s6li=yes) uses6li=true ;; --disable-s6li|--enable-s6li=no) uses6li=false ;; --enable-util-linux|--enable-util-linux=yes) useutillinux=true ;; @@ -270,7 +277,7 @@ fi # Expand installation directories stripdir prefix -for i in exec_prefix dynlibdir libexecdir bindir libdir includedir sysconfdir pkgconfdir sysdeps sproot stmpdir defpath ; do +for i in exec_prefix dynlibdir libexecdir bindir libdir includedir sysconfdir pkgconfdir sysdeps sproot stmpdir conffile defpath ; do eval tmp=\${$i} eval $i=$tmp stripdir $i @@ -547,13 +554,18 @@ if $allpic ; then else echo "STATIC_LIBS_ARE_PIC :=" fi -echo "LIBNSSS := -lnsss" -echo "MAYBEPTHREAD_LIB := -lpthread" echo "REPODIR := $repodir" echo "BOOTDIR := $bootdir" echo "STMPDIR := $stmpdir" echo "DEFPATH := $defpath" +if $usensss ; then + echo "LIBNSSS := -lnsss" + echo "MAYBEPTHREAD_LIB := -lpthread" +else + echo "LIBNSSS :=" + echo "MAYBEPTHREAD_LIB :=" +fi if $adaemontools ; then echo "WRAP_DAEMONTOOLS := 1" else @@ -630,7 +642,14 @@ else fi echo "#undef ${package_macro_name}_REPODIR" -echo "#define ${package_macro_name}_REPODIR \"$repodir\"" +if test -n "$repodir" ; then + echo "#define ${package_macro_name}_REPODIR \"$repodir\"" +else + if test -n "$livedir" ; then + echo "#include <s6-rc/config.h>" + fi + echo "#define ${package_macro_name}_REPODIR S6RC_REPO_BASE" +fi echo "#undef ${package_macro_name}_BOOTDIR" echo "#define ${package_macro_name}_BOOTDIR \"$bootdir\"" @@ -638,6 +657,9 @@ echo "#define ${package_macro_name}_BOOTDIR \"$bootdir\"" echo "#undef ${package_macro_name}_STMPDIR" echo "#define ${package_macro_name}_STMPDIR \"$stmpdir\"" +echo "#undef ${package_macro_name}_CONFFILE" +echo "#define ${package_macro_name}_CONFFILE \"$conffile\"" + echo "#undef ${package_macro_name}_DEFPATH" echo "#define ${package_macro_name}_DEFPATH \"$defpath\"" diff --git a/package/configure-snippets/configure_case_lines b/package/configure-snippets/configure_case_lines index 702f462..2844a69 100644 --- a/package/configure-snippets/configure_case_lines +++ b/package/configure-snippets/configure_case_lines @@ -3,7 +3,10 @@ --repodir=*) repodir=${arg#*=} ;; --bootdir=*) bootdir=${arg#*=} ;; --stmpdir=*) stmpdir=${arg#*=} ;; + --conffile=*) conffile=${arg#*=} ;; --with-def-path=*) defpath=${arg#*=} ;; + --enable-nsss|--enable-nsss=yes) usensss=true ;; + --disable-nsss|--enable-nsss=no) usensss=false ;; --enable-s6li|--enable-s6li=yes) uses6li=true ;; --disable-s6li|--enable-s6li=no) uses6li=false ;; --enable-util-linux|--enable-util-linux=yes) useutillinux=true ;; diff --git a/package/configure-snippets/configure_expand_dirs b/package/configure-snippets/configure_expand_dirs index 60c0477..dcf795f 100644 --- a/package/configure-snippets/configure_expand_dirs +++ b/package/configure-snippets/configure_expand_dirs @@ -1 +1 @@ -stmpdir defpath +stmpdir conffile defpath diff --git a/package/configure-snippets/configure_generate_configh b/package/configure-snippets/configure_generate_configh index d93ea7a..23ce34c 100644 --- a/package/configure-snippets/configure_generate_configh +++ b/package/configure-snippets/configure_generate_configh @@ -28,7 +28,14 @@ else fi echo "#undef ${package_macro_name}_REPODIR" -echo "#define ${package_macro_name}_REPODIR \"$repodir\"" +if test -n "$repodir" ; then + echo "#define ${package_macro_name}_REPODIR \"$repodir\"" +else + if test -n "$livedir" ; then + echo "#include <s6-rc/config.h>" + fi + echo "#define ${package_macro_name}_REPODIR S6RC_REPO_BASE" +fi echo "#undef ${package_macro_name}_BOOTDIR" echo "#define ${package_macro_name}_BOOTDIR \"$bootdir\"" @@ -36,6 +43,9 @@ echo "#define ${package_macro_name}_BOOTDIR \"$bootdir\"" echo "#undef ${package_macro_name}_STMPDIR" echo "#define ${package_macro_name}_STMPDIR \"$stmpdir\"" +echo "#undef ${package_macro_name}_CONFFILE" +echo "#define ${package_macro_name}_CONFFILE \"$conffile\"" + echo "#undef ${package_macro_name}_DEFPATH" echo "#define ${package_macro_name}_DEFPATH \"$defpath\"" diff --git a/package/configure-snippets/configure_generate_make b/package/configure-snippets/configure_generate_make index 50b068c..3603f53 100644 --- a/package/configure-snippets/configure_generate_make +++ b/package/configure-snippets/configure_generate_make @@ -1,10 +1,15 @@ -echo "LIBNSSS := -lnsss" -echo "MAYBEPTHREAD_LIB := -lpthread" echo "REPODIR := $repodir" echo "BOOTDIR := $bootdir" echo "STMPDIR := $stmpdir" echo "DEFPATH := $defpath" +if $usensss ; then + echo "LIBNSSS := -lnsss" + echo "MAYBEPTHREAD_LIB := -lpthread" +else + echo "LIBNSSS :=" + echo "MAYBEPTHREAD_LIB :=" +fi if $adaemontools ; then echo "WRAP_DAEMONTOOLS := 1" else diff --git a/package/configure-snippets/configure_help_install b/package/configure-snippets/configure_help_install index e35e7e7..8be3412 100644 --- a/package/configure-snippets/configure_help_install +++ b/package/configure-snippets/configure_help_install @@ -1,6 +1,7 @@ - --scandir=DIR assume s6-svscan is running on DIR [s6li default|/run/service] - --livedir=DIR run s6-rc live directory in DIR [s6-rc default|/run/s6-rc] - --repodir=DIR s6-frontend working base [/var/lib/s6-frontend/repository] + --scandir=DIR assume s6-svscan is running on DIR [s6li default: /run/service] + --livedir=DIR run s6-rc live directory in DIR [s6-rc default: /run/s6-rc] + --repodir=DIR default s6-rc repository [s6-rc default: /var/lib/s6-frontend/repository] --bootdir=DIR location of the bootable s6-rc compiled db [/etc/s6-rc] --stmpdir=DIR secure location for temporary s6-frontend files [/run/s6-frontend] + --conffile=FILE default configuration file for s6 command [SYSCONFDIR/s6-frontend.conf] --with-def-path=PATH path to service files [LIBDIR/s6-frontend/s6-rc/source:SYSCONFDIR/s6-frontend/s6-rc/source] diff --git a/package/configure-snippets/configure_help_options b/package/configure-snippets/configure_help_options index c5d4e07..8ef4317 100644 --- a/package/configure-snippets/configure_help_options +++ b/package/configure-snippets/configure_help_options @@ -1,3 +1,4 @@ + --enable-nsss use the nsss library for user information [disabled] --disable-s6li do not use s6-linux-init functionality [enabled] --enable-util-linux use util-linux functionality [disabled] --enable-aliases-daemontools build emulation of daemontools programs [disabled] diff --git a/package/configure-snippets/configure_init_vars b/package/configure-snippets/configure_init_vars index 3413e00..e0b2853 100644 --- a/package/configure-snippets/configure_init_vars +++ b/package/configure-snippets/configure_init_vars @@ -3,7 +3,9 @@ livedir= repodir=/var/lib/s6-frontend/s6-rc/repository bootdir=/etc/s6-rc stmpdir=/run/s6-frontend +conffile='$sysconfdir/s6-frontend.conf' defpath='$libdir/s6-frontend/s6-rc/source:$sysconfdir/s6-frontend/s6-rc/source' +usensss=false uses6li=true useutillinux=false adaemontools=false diff --git a/package/deps-build b/package/deps-build index e850f9e..4298f5b 100644 --- a/package/deps-build +++ b/package/deps-build @@ -1,6 +1,6 @@ -true true /package/prog/skalibs 2.14.4.0 libskarnet -true true /package/admin/nsss 0.2.1.0 libnsss -true false /package/admin/execline 2.9.7.0 libexecline -true false /package/admin/s6 2.13.2.0 libs6 libs6auto -true false /package/admin/s6-rc 0.5.6.0 libs6rc -true false /package/admin/s6-linux-init 1.1.3.0 +true true /package/prog/skalibs 2.14.5.0 libskarnet +$usensss $usensss /package/admin/nsss 0.2.1.0 libnsss +true false /package/admin/execline 2.9.7.0 libexecline +true false /package/admin/s6 2.13.3.0 libs6 libs6auto +true false /package/admin/s6-rc 0.6.0.0 libs6rc +true false /package/admin/s6-linux-init 1.1.3.0 diff --git a/package/deps.mak b/package/deps.mak index 19272df..e28fdce 100644 --- a/package/deps.mak +++ b/package/deps.mak @@ -2,7 +2,7 @@ # This file has been generated by tools/gen-deps.sh # -src/s6/s6-internal.h: src/include/s6-frontend/config.h src/include-local/s6f.h +src/s6-frontend/s6-internal.h: src/include/s6-frontend/config.h src/include-local/s6f.h src/alias/s6-frontend-alias-chpst.o src/alias/s6-frontend-alias-chpst.lo: src/alias/s6-frontend-alias-chpst.c src/alias/s6-frontend-alias-sv.o src/alias/s6-frontend-alias-sv.lo: src/alias/s6-frontend-alias-sv.c src/alias/s6-frontend-alias.o src/alias/s6-frontend-alias.lo: src/alias/s6-frontend-alias.c src/include/s6-frontend/config.h @@ -11,17 +11,18 @@ src/libs6f/s6f_confdir_open.o src/libs6f/s6f_confdir_open.lo: src/libs6f/s6f_con src/libs6f/s6f_lock.o src/libs6f/s6f_lock.lo: src/libs6f/s6f_lock.c src/include-local/s6f.h src/libs6f/s6f_report_state_change.o src/libs6f/s6f_report_state_change.lo: src/libs6f/s6f_report_state_change.c src/include-local/s6f.h src/libs6f/s6f_user_get_confdirs.o src/libs6f/s6f_user_get_confdirs.lo: src/libs6f/s6f_user_get_confdirs.c src/include-local/s6f.h -src/s6/help.o src/s6/help.lo: src/s6/help.c src/s6/s6-internal.h -src/s6/process.o src/s6/process.lo: src/s6/process.c src/s6/s6-internal.h -src/s6/process_kill.o src/s6/process_kill.lo: src/s6/process_kill.c src/s6/s6-internal.h -src/s6/process_restart.o src/s6/process_restart.lo: src/s6/process_restart.c src/s6/s6-internal.h -src/s6/process_startstop.o src/s6/process_startstop.lo: src/s6/process_startstop.c src/s6/s6-internal.h -src/s6/process_status.o src/s6/process_status.lo: src/s6/process_status.c src/s6/s6-internal.h -src/s6/s6.o src/s6/s6.lo: src/s6/s6.c src/include/s6-frontend/config.h src/s6/s6-internal.h -src/s6/service.o src/s6/service.lo: src/s6/service.c src/s6/s6-internal.h -src/s6/service_startstop.o src/s6/service_startstop.lo: src/s6/service_startstop.c src/s6/s6-internal.h -src/s6/service_status.o src/s6/service_status.lo: src/s6/service_status.c src/s6/s6-internal.h -src/s6/util.o src/s6/util.lo: src/s6/util.c src/s6/s6-internal.h +src/s6-frontend/help.o src/s6-frontend/help.lo: src/s6-frontend/help.c src/s6-frontend/s6-internal.h +src/s6-frontend/process.o src/s6-frontend/process.lo: src/s6-frontend/process.c src/s6-frontend/s6-internal.h +src/s6-frontend/process_kill.o src/s6-frontend/process_kill.lo: src/s6-frontend/process_kill.c src/s6-frontend/s6-internal.h +src/s6-frontend/process_restart.o src/s6-frontend/process_restart.lo: src/s6-frontend/process_restart.c src/s6-frontend/s6-internal.h +src/s6-frontend/process_startstop.o src/s6-frontend/process_startstop.lo: src/s6-frontend/process_startstop.c src/s6-frontend/s6-internal.h +src/s6-frontend/process_status.o src/s6-frontend/process_status.lo: src/s6-frontend/process_status.c src/s6-frontend/s6-internal.h +src/s6-frontend/s6-frontend.o src/s6-frontend/s6-frontend.lo: src/s6-frontend/s6-frontend.c src/include/s6-frontend/config.h src/s6-frontend/s6-internal.h +src/s6-frontend/s6.o src/s6-frontend/s6.lo: src/s6-frontend/s6.c src/include/s6-frontend/config.h +src/s6-frontend/service.o src/s6-frontend/service.lo: src/s6-frontend/service.c src/s6-frontend/s6-internal.h +src/s6-frontend/service_startstop.o src/s6-frontend/service_startstop.lo: src/s6-frontend/service_startstop.c src/s6-frontend/s6-internal.h +src/s6-frontend/service_status.o src/s6-frontend/service_status.lo: src/s6-frontend/service_status.c src/s6-frontend/s6-internal.h +src/s6-frontend/util.o src/s6-frontend/util.lo: src/s6-frontend/util.c src/s6-frontend/s6-internal.h s6-frontend-alias: EXTRA_LIBS := s6-frontend-alias: src/alias/s6-frontend-alias.o -lskarnet @@ -32,10 +33,12 @@ s6-frontend-alias-sv: src/alias/s6-frontend-alias-sv.o -ls6 -lskarnet s6-frontend-config-preprocess: EXTRA_LIBS := s6-frontend-config-preprocess: src/config/s6-frontend-config-preprocess.o -lskarnet ifeq ($(strip $(STATIC_LIBS_ARE_PIC)),) -libs6f.a.xyzzy: src/libs6f/s6f_confdir_open.o src/libs6f/s6f_lock.o src/libs6f/s6f_report_state_change.o src/libs6f/s6f_user_get_confdirs.o ${LIBNSSS} +libs6f.a.xyzzy: src/libs6f/s6f_confdir_open.o src/libs6f/s6f_lock.o src/libs6f/s6f_report_state_change.o src/libs6f/s6f_user_get_confdirs.o else -libs6f.a.xyzzy:src/libs6f/s6f_confdir_open.lo src/libs6f/s6f_lock.lo src/libs6f/s6f_report_state_change.lo src/libs6f/s6f_user_get_confdirs.lo ${LIBNSSS} +libs6f.a.xyzzy:src/libs6f/s6f_confdir_open.lo src/libs6f/s6f_lock.lo src/libs6f/s6f_report_state_change.lo src/libs6f/s6f_user_get_confdirs.lo endif s6: EXTRA_LIBS := -s6: src/s6/s6.o src/s6/help.o src/s6/util.o src/s6/process.o src/s6/process_kill.o src/s6/process_restart.o src/s6/process_startstop.o src/s6/process_status.o src/s6/service.o src/s6/service_startstop.o src/s6/service_status.o libs6f.a.xyzzy -ls6rc -ls6 ${LIBNSSS} -lskarnet +s6: src/s6-frontend/s6.o -lskarnet +s6-frontend: EXTRA_LIBS := ${MAYBEPTHREAD_LIB} +s6-frontend: src/s6-frontend/s6-frontend.o src/s6-frontend/help.o src/s6-frontend/util.o src/s6-frontend/process.o src/s6-frontend/process_kill.o src/s6-frontend/process_restart.o src/s6-frontend/process_startstop.o src/s6-frontend/process_status.o src/s6-frontend/service.o src/s6-frontend/service_startstop.o src/s6-frontend/service_status.o libs6f.a.xyzzy ${LIBNSSS} -ls6rc -ls6 -lskarnet INTERNAL_LIBS := libs6f.a.xyzzy diff --git a/package/modes b/package/modes index 09fe6bb..2c9188f 100644 --- a/package/modes +++ b/package/modes @@ -1,4 +1,5 @@ s6 0755 +s6-frontend 0755 s6-frontend-config-preprocess 0755 s6-frontend-alias 0755 s6-frontend-alias-sv 0755 diff --git a/package/targets.mak b/package/targets.mak index 1dedd4a..2cdb392 100644 --- a/package/targets.mak +++ b/package/targets.mak @@ -1,5 +1,6 @@ BIN_TARGETS := \ -s6 +s6 \ +s6-frontend LIBEXEC_TARGETS := diff --git a/src/s6-frontend/deps-exe/s6 b/src/s6-frontend/deps-exe/s6 new file mode 100644 index 0000000..e7187fe --- /dev/null +++ b/src/s6-frontend/deps-exe/s6 @@ -0,0 +1 @@ +-lskarnet diff --git a/src/s6/deps-exe/s6 b/src/s6-frontend/deps-exe/s6-frontend index ad88372..e87e35a 100644 --- a/src/s6/deps-exe/s6 +++ b/src/s6-frontend/deps-exe/s6-frontend @@ -9,7 +9,8 @@ service.o service_startstop.o service_status.o libs6f.a.xyzzy +${LIBNSSS} -ls6rc -ls6 -${LIBNSSS} -lskarnet +${MAYBEPTHREAD_LIB} diff --git a/src/s6/help.c b/src/s6-frontend/help.c index ac2205c..ac2205c 100644 --- a/src/s6/help.c +++ b/src/s6-frontend/help.c diff --git a/src/s6/process.c b/src/s6-frontend/process.c index 1dca89d..1dca89d 100644 --- a/src/s6/process.c +++ b/src/s6-frontend/process.c diff --git a/src/s6/process_kill.c b/src/s6-frontend/process_kill.c index 64f7ffb..64f7ffb 100644 --- a/src/s6/process_kill.c +++ b/src/s6-frontend/process_kill.c diff --git a/src/s6/process_restart.c b/src/s6-frontend/process_restart.c index 73e66f3..73e66f3 100644 --- a/src/s6/process_restart.c +++ b/src/s6-frontend/process_restart.c diff --git a/src/s6/process_startstop.c b/src/s6-frontend/process_startstop.c index 8a5089e..8a5089e 100644 --- a/src/s6/process_startstop.c +++ b/src/s6-frontend/process_startstop.c diff --git a/src/s6/process_status.c b/src/s6-frontend/process_status.c index a13938d..a13938d 100644 --- a/src/s6/process_status.c +++ b/src/s6-frontend/process_status.c diff --git a/src/s6/s6.c b/src/s6-frontend/s6-frontend.c index e7ecd6f..ad55e8d 100644 --- a/src/s6/s6.c +++ b/src/s6-frontend/s6-frontend.c @@ -16,7 +16,7 @@ #include <s6-frontend/config.h> #include "s6-internal.h" -#define USAGE "s6 [ generic options ] command [ command options ] command_arguments... Type \"s6 help\" for details." +#define USAGE "s6-frontend [ generic options ] command [ command options ] command_arguments... Type \"s6 help\" for details." #define dieusage() strerr_dieusage(100, USAGE) @@ -79,11 +79,20 @@ static struct command_s const commands[] = int main (int argc, char const *const *argv, char const *const *envp) { struct global_s globals_in_the_stack = GLOBAL_ZERO ; - char const *wgola[GOLA_N] = { 0 } ; uint64_t wgolb = 0 ; unsigned int golc ; struct command_s *cmd ; - PROG = "s6" ; + char const *wgola[GOLA_N] = + { + [GOLA_SCANDIR] = getenv("scandir"), + [GOLA_LIVEDIR] = getenv("livedir"), + [GOLA_REPODIR] = getenv("repodir"), + [GOLA_BOOTDIR] = getenv("bootdir"), + [GOLA_STMPDIR] = getenv("stmpdir"), + [GOLA_VERBOSITY] = 0, + [GOLA_COLOR] = 0 + } ; + PROG = "s6-frontend" ; g = &globals_in_the_stack ; golc = gol_main(argc, argv, rgolb, GOLB_N, rgola, GOLA_N, &wgolb, wgola) ; diff --git a/src/s6/s6-internal.h b/src/s6-frontend/s6-internal.h index 6ee3939..6ee3939 100644 --- a/src/s6/s6-internal.h +++ b/src/s6-frontend/s6-internal.h diff --git a/src/s6-frontend/s6.c b/src/s6-frontend/s6.c new file mode 100644 index 0000000..9c9de9c --- /dev/null +++ b/src/s6-frontend/s6.c @@ -0,0 +1,31 @@ +/* ISC license. */ + +#include <stdlib.h> + +#include <skalibs/prog.h> +#include <skalibs/strerr.h> +#include <skalibs/exec.h> + +#include <execline/config.h> + +#include <s6-frontend/config.h> + +int main (int argc, char const *const *argv) +{ + char const *conffile = getenv("S6_FRONTEND_CONFFILE") ; + PROG = "s6 service" ; + if (!conffile) conffile = S6_FRONTEND_CONFFILE ; + if (!argc--) strerr_dief1x(103, "invalid argc/argv") ; + argv++ ; + + unsigned int m = 0 ; + char const *newargv[6 + argc] ; + newargv[m++] = EXECLINE_EXTBINPREFIX "envfile" ; + newargv[m++] = "-I" ; + newargv[m++] = "--" ; + newargv[m++] = conffile ; + newargv[m++] = S6_FRONTEND_BINPREFIX "s6-frontend" ; + while (argc--) newargv[m++] = *argv++ ; + newargv[m++] = 0 ; + xexec(newargv) ; +} diff --git a/src/s6/service.c b/src/s6-frontend/service.c index 5ac453b..5ac453b 100644 --- a/src/s6/service.c +++ b/src/s6-frontend/service.c diff --git a/src/s6/service_startstop.c b/src/s6-frontend/service_startstop.c index c4946fc..c4946fc 100644 --- a/src/s6/service_startstop.c +++ b/src/s6-frontend/service_startstop.c diff --git a/src/s6/service_status.c b/src/s6-frontend/service_status.c index 5bf71b5..5bf71b5 100644 --- a/src/s6/service_status.c +++ b/src/s6-frontend/service_status.c diff --git a/src/s6/util.c b/src/s6-frontend/util.c index 699f976..699f976 100644 --- a/src/s6/util.c +++ b/src/s6-frontend/util.c diff --git a/tools/gen-deps.sh b/tools/gen-deps.sh index aa84388..134484b 100755 --- a/tools/gen-deps.sh +++ b/tools/gen-deps.sh @@ -61,10 +61,8 @@ for dir in $(ls -1 src | grep -v ^include) ; do deps= libs= while read dep ; do - if echo $dep | grep -q -e '^-l' -e '^\${.*_LIB}' ; then + if echo $dep | grep -q -e '^\${LIB' -e '^-l' -e '^\${.*_LIB}' ; then libs="$libs $dep" - elif echo $dep | grep -q '^\${LIB' ; then - deps="$deps $dep" else deps="$deps src/$dir/$dep" fi |
