aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorLaurent Bercot <ska-skaware@skarnet.org>2025-10-24 16:46:58 +0000
committerLaurent Bercot <ska-skaware@skarnet.org>2025-10-24 16:46:58 +0000
commit5f46f6f2d649b2bb8664f9c749e15acd8f529b6c (patch)
tree3eb2a3f71488b932afd24a03b1dad909fa6e9c50
parentad3cffc4b2c3e43053aa914e19cd5649868a7d74 (diff)
downloads6-frontend-5f46f6f2d649b2bb8664f9c749e15acd8f529b6c.tar.gz
Separate s6 from s6-frontend, fix configure for no-nsss build
-rw-r--r--.gitignore1
-rwxr-xr-xconfigure36
-rw-r--r--package/configure-snippets/configure_case_lines3
-rw-r--r--package/configure-snippets/configure_expand_dirs2
-rw-r--r--package/configure-snippets/configure_generate_configh12
-rw-r--r--package/configure-snippets/configure_generate_make9
-rw-r--r--package/configure-snippets/configure_help_install7
-rw-r--r--package/configure-snippets/configure_help_options1
-rw-r--r--package/configure-snippets/configure_init_vars2
-rw-r--r--package/deps-build12
-rw-r--r--package/deps.mak33
-rw-r--r--package/modes1
-rw-r--r--package/targets.mak3
-rw-r--r--src/s6-frontend/deps-exe/s61
-rw-r--r--src/s6-frontend/deps-exe/s6-frontend (renamed from src/s6/deps-exe/s6)3
-rw-r--r--src/s6-frontend/help.c (renamed from src/s6/help.c)0
-rw-r--r--src/s6-frontend/process.c (renamed from src/s6/process.c)0
-rw-r--r--src/s6-frontend/process_kill.c (renamed from src/s6/process_kill.c)0
-rw-r--r--src/s6-frontend/process_restart.c (renamed from src/s6/process_restart.c)0
-rw-r--r--src/s6-frontend/process_startstop.c (renamed from src/s6/process_startstop.c)0
-rw-r--r--src/s6-frontend/process_status.c (renamed from src/s6/process_status.c)0
-rw-r--r--src/s6-frontend/s6-frontend.c (renamed from src/s6/s6.c)15
-rw-r--r--src/s6-frontend/s6-internal.h (renamed from src/s6/s6-internal.h)0
-rw-r--r--src/s6-frontend/s6.c31
-rw-r--r--src/s6-frontend/service.c (renamed from src/s6/service.c)0
-rw-r--r--src/s6-frontend/service_startstop.c (renamed from src/s6/service_startstop.c)0
-rw-r--r--src/s6-frontend/service_status.c (renamed from src/s6/service_status.c)0
-rw-r--r--src/s6-frontend/util.c (renamed from src/s6/util.c)0
-rwxr-xr-xtools/gen-deps.sh4
29 files changed, 133 insertions, 43 deletions
diff --git a/.gitignore b/.gitignore
index 43a26ca..c872bb1 100644
--- a/.gitignore
+++ b/.gitignore
@@ -5,4 +5,5 @@
/libs6f.a.xyzzy
/src/include/s6-frontend/config.h
/s6-frontend-*
+/s6-frontend
/s6
diff --git a/configure b/configure
index 311eaaa..ffd610d 100755
--- a/configure
+++ b/configure
@@ -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