diff options
| author | Laurent Bercot <ska-skaware@skarnet.org> | 2025-11-04 21:55:42 +0000 |
|---|---|---|
| committer | Laurent Bercot <ska-skaware@skarnet.org> | 2025-11-04 21:55:42 +0000 |
| commit | 1667855c0c05f26b378ed8a011336770485321e5 (patch) | |
| tree | e2b040143458aef7d3c4b4e64f9cda98ff543e64 /package | |
| parent | 2b61e7fa65bdae911e33fa415c4925fb2aabfeb1 (diff) | |
| download | s6-1667855c0c05f26b378ed8a011336770485321e5.tar.gz | |
Move daemontools/runit wrapper support here
Diffstat (limited to 'package')
| -rw-r--r-- | package/configure-snippets/configure_case_lines | 6 | ||||
| -rw-r--r-- | package/configure-snippets/configure_generate_configh | 11 | ||||
| -rw-r--r-- | package/configure-snippets/configure_generate_make | 16 | ||||
| -rw-r--r-- | package/configure-snippets/configure_help_options | 3 | ||||
| -rw-r--r-- | package/configure-snippets/configure_init_vars | 3 | ||||
| -rw-r--r-- | package/deps.mak | 9 | ||||
| -rw-r--r-- | package/modes | 3 | ||||
| -rw-r--r-- | package/targets.mak | 88 |
8 files changed, 139 insertions, 0 deletions
diff --git a/package/configure-snippets/configure_case_lines b/package/configure-snippets/configure_case_lines index edd57ae..237460b 100644 --- a/package/configure-snippets/configure_case_lines +++ b/package/configure-snippets/configure_case_lines @@ -2,3 +2,9 @@ --disable-nsss|--enable-nsss=no) usensss=false ;; --enable-execline|--enable-execline=yes) useexecline=true ;; --disable-execline|--enable-execline=no) useexecline=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 ;; + --disable-aliases-runit|--enable-aliases-runit=no) arunit=false ;; + --enable-aliases-symlinks|--enable-aliases-symlinks=yes) asymlinks=true ;; + --disable-aliases-symlinks|--enable-aliases-symlinks=no) asymlinks=false ;; diff --git a/package/configure-snippets/configure_generate_configh b/package/configure-snippets/configure_generate_configh index 3c4a1e8..51b89a4 100644 --- a/package/configure-snippets/configure_generate_configh +++ b/package/configure-snippets/configure_generate_configh @@ -2,3 +2,14 @@ echo "#undef ${package_macro_name}_USE_EXECLINE" if $useexecline ; then echo "#define ${package_macro_name}_USE_EXECLINE" fi + +echo "#undef ${package_macro_name}_WRAP_DAEMONTOOLS" +if $adaemontools ; then + echo "#define ${package_macro_name}_WRAP_DAEMONTOOLS" +fi + +echo "#undef ${package_macro_name}_WRAP_RUNIT" +if $arunit ; then + echo "#define ${package_macro_name}_WRAP_RUNIT" +fi + diff --git a/package/configure-snippets/configure_generate_make b/package/configure-snippets/configure_generate_make index b0d2474..3dc8e91 100644 --- a/package/configure-snippets/configure_generate_make +++ b/package/configure-snippets/configure_generate_make @@ -10,3 +10,19 @@ if $useexecline ; then else echo "EXECLINE_LIB :=" fi + +if $adaemontools ; then + echo "WRAP_DAEMONTOOLS := 1" +else + echo "WRAP_DAEMONTOOLS :=" +fi +if $arunit ; then + echo "WRAP_RUNIT := 1" +else + echo "WRAP_RUNIT :=" +fi +if $asymlinks ; then + echo "WRAP_SYMLINKS := 1" +else + echo "WRAP_SYMLINKS :=" +fi diff --git a/package/configure-snippets/configure_help_options b/package/configure-snippets/configure_help_options index 96e9e51..09360fe 100644 --- a/package/configure-snippets/configure_help_options +++ b/package/configure-snippets/configure_help_options @@ -1,3 +1,6 @@ --enable-nsss use the nsss library for user information [disabled] --disable-execline don't use the execline library [enabled] + --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 68c268b..64ff7fe 100644 --- a/package/configure-snippets/configure_init_vars +++ b/package/configure-snippets/configure_init_vars @@ -1,2 +1,5 @@ usensss=false useexecline=true +adaemontools=false +arunit=false +asymlinks=true diff --git a/package/deps.mak b/package/deps.mak index bad353e..9a44562 100644 --- a/package/deps.mak +++ b/package/deps.mak @@ -7,6 +7,9 @@ src/include/s6/ftrigr.h: src/include/s6/config.h src/include/s6/lock.h: src/include/s6/config.h src/include/s6/s6.h: src/include/s6/accessrules.h src/include/s6/auto.h src/include/s6/compat.h src/include/s6/ftrigr.h src/include/s6/ftrigw.h src/include/s6/lock.h src/include/s6/supervise.h src/supervision/s6-svlisten.h: src/include/s6/ftrigr.h +src/alias/s6-alias-chpst.o src/alias/s6-alias-chpst.lo: src/alias/s6-alias-chpst.c src/include/s6/config.h +src/alias/s6-alias-sv.o src/alias/s6-alias-sv.lo: src/alias/s6-alias-sv.c src/include/s6/config.h src/include/s6/supervise.h +src/alias/s6-alias.o src/alias/s6-alias.lo: src/alias/s6-alias.c src/include/s6/config.h src/conn-tools/s6-accessrules-cdb-from-fs.o src/conn-tools/s6-accessrules-cdb-from-fs.lo: src/conn-tools/s6-accessrules-cdb-from-fs.c src/conn-tools/s6-accessrules-fs-from-cdb.o src/conn-tools/s6-accessrules-fs-from-cdb.lo: src/conn-tools/s6-accessrules-fs-from-cdb.c src/conn-tools/s6-connlimit.o src/conn-tools/s6-connlimit.lo: src/conn-tools/s6-connlimit.c @@ -145,6 +148,12 @@ src/supervision/s6_svlisten_loop.o src/supervision/s6_svlisten_loop.lo: src/supe src/supervision/s6_svlisten_signal_handler.o src/supervision/s6_svlisten_signal_handler.lo: src/supervision/s6_svlisten_signal_handler.c src/supervision/s6-svlisten.h src/usertree/s6-usertree-maker.o src/usertree/s6-usertree-maker.lo: src/usertree/s6-usertree-maker.c src/include/s6/auto.h src/include/s6/config.h +s6-alias: EXTRA_LIBS := +s6-alias: src/alias/s6-alias.o -lskarnet +s6-alias-chpst: EXTRA_LIBS := ${MAYBEPTHREAD_LIB} +s6-alias-chpst: src/alias/s6-alias-chpst.o ${LIBNSSS} -lskarnet +s6-alias-sv: EXTRA_LIBS := ${SPAWN_LIB} +s6-alias-sv: src/alias/s6-alias-sv.o ${LIBS6} -lskarnet s6-accessrules-cdb-from-fs: EXTRA_LIBS := ${SOCKET_LIB} ${SYSCLOCK_LIB} s6-accessrules-cdb-from-fs: src/conn-tools/s6-accessrules-cdb-from-fs.o -lskarnet s6-accessrules-fs-from-cdb: EXTRA_LIBS := diff --git a/package/modes b/package/modes index dc5b2c3..007d9dd 100644 --- a/package/modes +++ b/package/modes @@ -1,4 +1,7 @@ ucspilogd 0755 +s6-alias 0755 +s6-alias-chpst 0755 +s6-alias-sv 0755 s6-ftrigrd 0755 s6-ftrig-listen1 0755 s6-ftrig-listen 0755 diff --git a/package/targets.mak b/package/targets.mak index b784325..d281923 100644 --- a/package/targets.mak +++ b/package/targets.mak @@ -78,3 +78,91 @@ LIB_DEFS += S6AUTO=s6auto S6AUTO_DESCRIPTION := The s6auto library (C helpers to create service directories) BIN_TARGETS += s6-usertree-maker s6-instance-maker endif + +WRAP_ANY := + +ifdef WRAP_DAEMONTOOLS + +WRAP_ANY := 1 + +ifdef WRAP_SYMLINKS + +DAEMONTOOLS_TARGETS := \ +envdir \ +envuidgid \ +fghack \ +multilog \ +pgrphack \ +readproctitle \ +setlock \ +setuidgid \ +softlimit \ +supervise \ +svc \ +svok \ +svscan \ +svscanboot \ +svstat \ +tai64n \ +tai64nlocal \ + +else + +DAEMONTOOLS_TARGETS := + +endif + +install-bin: $(DAEMONTOOLS_TARGETS:%=$(DESTDIR)$(bindir)/%) + +ifneq ($(exthome),) +global-links: $(DAEMONTOOLS_TARGETS:%=$(DESTDIR)$(sproot)/command/%) +endif + +endif + +ifdef WRAP_RUNIT + +WRAP_ANY := 1 + +ifdef WRAP_SYMLINKS + +RUNIT_TARGETS := \ +runit \ +runit-init \ +runsv \ +runsvchdir \ +runsvdir \ +svlogd \ +utmpset +RUNIT_SPECIAL_TARGETS := chpst sv + +else + +RUNIT_TARGETS := +RUNIT_SPECIAL_TARGETS := + +endif + +BIN_TARGETS += s6-alias-sv s6-alias-chpst + +install-bin: $(RUNIT_TARGETS:%=$(DESTDIR)$(bindir)/%) $(RUNIT_SPECIAL_TARGETS:%=$(DESTDIR)$(bindir)/%) + +ifneq ($(exthome),) +global-links: $(RUNIT_TARGETS:%=$(DESTDIR)$(sproot)/command/%) $(RUNIT_SPECIAL_TARGETS:%=$(DESTDIR)$(sproot)/command/%) +endif + +$(DESTDIR)$(bindir)/chpst: $(DESTDIR)$(bindir)/s6-alias-chpst + exec $(INSTALL) -D -l s6-alias-chpst $@ +$(DESTDIR)$(bindir)/sv: $(DESTDIR)$(bindir)/s6-alias-sv + exec $(INSTALL) -D -l s6-alias-sv $@ + +endif + +ifdef WRAP_ANY + +BIN_TARGETS += s6-alias + +$(DAEMONTOOLS_TARGETS:%=$(DESTDIR)$(bindir)/%) $(RUNIT_TARGETS:%=$(DESTDIR)$(bindir)/%): $(DESTDIR)$(bindir)/s6-alias + exec $(INSTALL) -D -l s6-alias $@ + +endif |
