aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorLaurent Bercot <ska-skaware@skarnet.org>2025-06-08 09:50:07 +0000
committerLaurent Bercot <ska@appnovation.com>2025-06-08 09:50:07 +0000
commit1ede5e54c796f37114004b2ded0071cb54a8e2a7 (patch)
tree1afadd07e4b85802597ce3548b8949aa9266a252
parent0db2f82a71f627be6b0feff3541862072653181e (diff)
downloads6-frontend-1ede5e54c796f37114004b2ded0071cb54a8e2a7.tar.gz
Include s6 service skeleton; add boilerplate for s6li and util-linux
Signed-off-by: Laurent Bercot <ska@appnovation.com>
-rw-r--r--.gitignore1
-rwxr-xr-xconfigure19
-rw-r--r--package/configure-snippets/configure_case_lines4
-rw-r--r--package/configure-snippets/configure_generate_configh10
-rw-r--r--package/configure-snippets/configure_generate_make1
-rw-r--r--package/configure-snippets/configure_help_options2
-rw-r--r--package/configure-snippets/configure_init_vars2
-rw-r--r--package/targets.mak3
-rw-r--r--src/s6/s6.c1
9 files changed, 41 insertions, 2 deletions
diff --git a/.gitignore b/.gitignore
index f1ede08..85d2767 100644
--- a/.gitignore
+++ b/.gitignore
@@ -4,3 +4,4 @@
/config.mak
/src/include/s6-frontend/config.h
/s6-frontend-*
+/s6
diff --git a/configure b/configure
index ea5374a..398a075 100755
--- a/configure
+++ b/configure
@@ -49,6 +49,8 @@ Optional features:
--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]
--enable-aliases-runit build emulation of runit programs [disabled]
--disable-aliases-symlinks do not create daemontools/runit multicall symlinks [enabled]
@@ -173,6 +175,8 @@ vpaths=''
vpathd=''
build=
usensss=false
+uses6li=true
+useutillinux=false
adaemontools=false
arunit=false
asymlinks=true
@@ -215,6 +219,10 @@ for arg ; do
--disable-absolute-paths|--enable-absolute-paths=no) abspath=false ;;
--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 ;;
+ --disable-util-linux|--enable-util-linux=no) useutillinux=false ;;
--enable-aliases-daemontools|--enable-aliases-daemontools=yes) adaemontools=true ;;
--disable-aliases-daemontools|--enable-aliases-daemontools=no) adaemontools=false ;;
--enable-aliases-runit|--enable-aliases-runit=yes) arunit=true ;;
@@ -533,6 +541,7 @@ else
echo "LIBNSSS :="
echo "MAYBEPTHREAD_LIB :="
fi
+
if $adaemontools ; then
echo "WRAP_DAEMONTOOLS := 1"
else
@@ -579,6 +588,16 @@ else
fi
echo "#define ${package_macro_name}_LIBEXECPREFIX \"$libexecdir/\""
echo "#define ${package_macro_name}_SYSCONFPREFIX \"$sysconfdir/\""
+echo "#undef ${package_macro_name}_USE_S6LI"
+if $uses6li ; then
+ echo "#define ${package_macro_name}_USE_S6LI"
+ echo "#include <s6-linux-init/config.h>"
+fi
+echo "#undef ${package_macro_name}_USE_UTIL_LINUX"
+if $useutillinux ; then
+ echo "#define ${package_macro_name}_USE_UTIL_LINUX"
+fi
+
echo "#undef ${package_macro_name}_WRAP_DAEMONTOOLS"
if $adaemontools ; then
echo "#define ${package_macro_name}_WRAP_DAEMONTOOLS"
diff --git a/package/configure-snippets/configure_case_lines b/package/configure-snippets/configure_case_lines
index de46c9c..be1fcb4 100644
--- a/package/configure-snippets/configure_case_lines
+++ b/package/configure-snippets/configure_case_lines
@@ -1,5 +1,9 @@
--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 ;;
+ --disable-util-linux|--enable-util-linux=no) useutillinux=false ;;
--enable-aliases-daemontools|--enable-aliases-daemontools=yes) adaemontools=true ;;
--disable-aliases-daemontools|--enable-aliases-daemontools=no) adaemontools=false ;;
--enable-aliases-runit|--enable-aliases-runit=yes) arunit=true ;;
diff --git a/package/configure-snippets/configure_generate_configh b/package/configure-snippets/configure_generate_configh
index d5af459..8161153 100644
--- a/package/configure-snippets/configure_generate_configh
+++ b/package/configure-snippets/configure_generate_configh
@@ -1,3 +1,13 @@
+echo "#undef ${package_macro_name}_USE_S6LI"
+if $uses6li ; then
+ echo "#define ${package_macro_name}_USE_S6LI"
+ echo "#include <s6-linux-init/config.h>"
+fi
+echo "#undef ${package_macro_name}_USE_UTIL_LINUX"
+if $useutillinux ; then
+ echo "#define ${package_macro_name}_USE_UTIL_LINUX"
+fi
+
echo "#undef ${package_macro_name}_WRAP_DAEMONTOOLS"
if $adaemontools ; then
echo "#define ${package_macro_name}_WRAP_DAEMONTOOLS"
diff --git a/package/configure-snippets/configure_generate_make b/package/configure-snippets/configure_generate_make
index bbbe613..fc9bc0d 100644
--- a/package/configure-snippets/configure_generate_make
+++ b/package/configure-snippets/configure_generate_make
@@ -5,6 +5,7 @@ else
echo "LIBNSSS :="
echo "MAYBEPTHREAD_LIB :="
fi
+
if $adaemontools ; then
echo "WRAP_DAEMONTOOLS := 1"
else
diff --git a/package/configure-snippets/configure_help_options b/package/configure-snippets/configure_help_options
index ec1eb12..8ef4317 100644
--- a/package/configure-snippets/configure_help_options
+++ b/package/configure-snippets/configure_help_options
@@ -1,4 +1,6 @@
--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]
--enable-aliases-runit build emulation of runit programs [disabled]
--disable-aliases-symlinks do not create daemontools/runit multicall symlinks [enabled]
diff --git a/package/configure-snippets/configure_init_vars b/package/configure-snippets/configure_init_vars
index ec51f80..20675cd 100644
--- a/package/configure-snippets/configure_init_vars
+++ b/package/configure-snippets/configure_init_vars
@@ -1,4 +1,6 @@
usensss=false
+uses6li=true
+useutillinux=false
adaemontools=false
arunit=false
asymlinks=true
diff --git a/package/targets.mak b/package/targets.mak
index 6ef7d37..1dedd4a 100644
--- a/package/targets.mak
+++ b/package/targets.mak
@@ -1,6 +1,5 @@
BIN_TARGETS := \
-s6 \
-s6-frontend-config-preprocess
+s6
LIBEXEC_TARGETS :=
diff --git a/src/s6/s6.c b/src/s6/s6.c
index c811b1a..6a28448 100644
--- a/src/s6/s6.c
+++ b/src/s6/s6.c
@@ -66,6 +66,7 @@ static struct command_s const main_commands[] =
{
{ .s = "help", .f = &help },
{ .s = "process", .f = &process },
+ { .s = "service", .f = &service },
{ .s = "version", .f = &version },
} ;