diff options
| author | Laurent Bercot <ska-skaware@skarnet.org> | 2025-04-27 21:53:35 +0000 |
|---|---|---|
| committer | Laurent Bercot <ska@appnovation.com> | 2025-04-27 21:53:35 +0000 |
| commit | 1a24089c821b7ab71af9733a58ffc762accd84dd (patch) | |
| tree | 790ebe40aa8da93d76e974921c18f4434cddea90 /package | |
| parent | e850b94f5e796ad12b994ea664d3ecfd2d176620 (diff) | |
| download | s6-linux-init-1a24089c821b7ab71af9733a58ffc762accd84dd.tar.gz | |
Prepare for 1.1.3.0, templated configure, pkg-config support, etc.
Signed-off-by: Laurent Bercot <ska@appnovation.com>
Diffstat (limited to 'package')
| -rw-r--r-- | package/configure-snippets/configure_case_lines | 7 | ||||
| -rw-r--r-- | package/configure-snippets/configure_expand_dirs | 1 | ||||
| -rw-r--r-- | package/configure-snippets/configure_extra_checks | 28 | ||||
| -rw-r--r-- | package/configure-snippets/configure_generate_configh | 10 | ||||
| -rw-r--r-- | package/configure-snippets/configure_generate_make | 12 | ||||
| -rw-r--r-- | package/configure-snippets/configure_help_dependencies | 1 | ||||
| -rw-r--r-- | package/configure-snippets/configure_help_install | 4 | ||||
| -rw-r--r-- | package/configure-snippets/configure_help_options | 3 | ||||
| -rw-r--r-- | package/configure-snippets/configure_init_vars | 5 | ||||
| -rw-r--r-- | package/configure-snippets/configure_slashpackage_other | 1 | ||||
| -rw-r--r-- | package/deps-build | 10 | ||||
| -rw-r--r-- | package/deps.mak | 43 | ||||
| -rw-r--r-- | package/info | 2 | ||||
| -rw-r--r-- | package/targets.mak | 1 |
14 files changed, 101 insertions, 27 deletions
diff --git a/package/configure-snippets/configure_case_lines b/package/configure-snippets/configure_case_lines new file mode 100644 index 0000000..27ef208 --- /dev/null +++ b/package/configure-snippets/configure_case_lines @@ -0,0 +1,7 @@ + --skeldir=*) skeldir=${arg#*=} ;; + --tmpfsdir=*) tmpfsdir=${arg#*=} ;; + --scandir=*) scandir=${arg#*=} ;; + --enable-nsss|--enable-nsss=yes) usensss=true ;; + --disable-nsss|--enable-nsss=no) usensss=false ;; + --enable-utmps|--enable-utmps=yes) utmps=true ;; + --disable-utmps|--enable-utmps=no) utmps=false ;; diff --git a/package/configure-snippets/configure_expand_dirs b/package/configure-snippets/configure_expand_dirs new file mode 100644 index 0000000..9eab6de --- /dev/null +++ b/package/configure-snippets/configure_expand_dirs @@ -0,0 +1 @@ +tmpfsdir skeldir diff --git a/package/configure-snippets/configure_extra_checks b/package/configure-snippets/configure_extra_checks new file mode 100644 index 0000000..eeb117e --- /dev/null +++ b/package/configure-snippets/configure_extra_checks @@ -0,0 +1,28 @@ +isprefix () { + case "$1" in "$2"*) return 0 ;; *) return 1 ;; esac ; +} + +getmacro () { + echo "#include <$1>" | $CC_AUTO $CPPFLAGS_AUTO $CPPFLAGS $CPPFLAGS_POST $CFLAGS_AUTO $CFLAGS $CFLAGS_POST -E -dM - | grep -F -- "$2" | cut -d' ' -f3- +} + +getmacrostring () { + getmacro "$1" "$2" | sed -e 's/^"//' -e 's/"$//' +} + +if $utmps ; then + echo "Sanity checking cross-package configuration..." + p=`getmacrostring utmps/config.h UTMPS_UTMPD_PATH` + if isprefix "$p" "$tmpfsdir"/ ; then : ; else + echo "UTMPS_UTMPD_PATH has been configured as $p which is not located under $tmpfsdir" + exit 1 + fi + utmpd_path=${p##${tmpfsdir}/} + p=`getmacrostring utmps/config.h UTMPS_WTMPD_PATH` + if isprefix "$p" "$tmpfsdir"/ ; then : ; else + echo "UTMPS_WTMPD_PATH has been configured as $p which is not located under $tmpfsdir" + exit 1 + fi + wtmpd_path=${p##${tmpfsdir}/} + echo " ... ok" +fi diff --git a/package/configure-snippets/configure_generate_configh b/package/configure-snippets/configure_generate_configh new file mode 100644 index 0000000..33d9db9 --- /dev/null +++ b/package/configure-snippets/configure_generate_configh @@ -0,0 +1,10 @@ +echo "#define ${package_macro_name}_SKELDIR \"$skeldir\"" +echo "#define ${package_macro_name}_TMPFS \"$tmpfsdir\"" +echo "#define ${package_macro_name}_SCANDIR \"$scandir\"" +echo +echo "#undef ${package_macro_name}_UTMPD_PATH" +echo "#undef ${package_macro_name}_WTMPD_PATH" +if $utmps ; then + echo "#define ${package_macro_name}_UTMPD_PATH \"$utmpd_path\"" + echo "#define ${package_macro_name}_WTMPD_PATH \"$wtmpd_path\"" +fi diff --git a/package/configure-snippets/configure_generate_make b/package/configure-snippets/configure_generate_make new file mode 100644 index 0000000..8fe274d --- /dev/null +++ b/package/configure-snippets/configure_generate_make @@ -0,0 +1,12 @@ +if $usensss ; then + echo "LIBNSSS := -lnsss" + echo "MAYBEPTHREAD_LIB := -lpthread" +else + echo "LIBNSSS :=" + echo "MAYBEPTHREAD_LIB :=" +fi +if $utmps ; then + echo "LIBUTMPS := -lutmps" +else + echo "LIBUTMPS :=" +fi diff --git a/package/configure-snippets/configure_help_dependencies b/package/configure-snippets/configure_help_dependencies new file mode 100644 index 0000000..8b13789 --- /dev/null +++ b/package/configure-snippets/configure_help_dependencies @@ -0,0 +1 @@ + diff --git a/package/configure-snippets/configure_help_install b/package/configure-snippets/configure_help_install new file mode 100644 index 0000000..8b4a2b5 --- /dev/null +++ b/package/configure-snippets/configure_help_install @@ -0,0 +1,4 @@ + --skeldir=DIR script skeleton files [PREFIX/etc/s6-linux-init/skel] + --tmpfsdir=DIR assume the initial tmpfs will be mounted on DIR [/run] + --scandir=DIR use tmpfsdir/DIR as the s6-svscan directory [service] + diff --git a/package/configure-snippets/configure_help_options b/package/configure-snippets/configure_help_options new file mode 100644 index 0000000..169a3b4 --- /dev/null +++ b/package/configure-snippets/configure_help_options @@ -0,0 +1,3 @@ + --enable-nsss use the nsss library for user information [disabled] + --enable-utmps link against the utmps library [disabled] + diff --git a/package/configure-snippets/configure_init_vars b/package/configure-snippets/configure_init_vars new file mode 100644 index 0000000..3cecc5b --- /dev/null +++ b/package/configure-snippets/configure_init_vars @@ -0,0 +1,5 @@ +skeldir='$prefix/etc/s6-linux-init/skel' +tmpfsdir=/run +scandir=service +usensss=false +utmps=false diff --git a/package/configure-snippets/configure_slashpackage_other b/package/configure-snippets/configure_slashpackage_other new file mode 100644 index 0000000..8b13789 --- /dev/null +++ b/package/configure-snippets/configure_slashpackage_other @@ -0,0 +1 @@ + diff --git a/package/deps-build b/package/deps-build index f622849..1f008dc 100644 --- a/package/deps-build +++ b/package/deps-build @@ -1,5 +1,5 @@ -/package/prog/skalibs -/package/admin/nsss $usensss -/package/admin/utmps $utmps -/package/admin/execline -/package/admin/s6 +true true /package/prog/skalibs 2.14.4.0 libskarnet +$usensss false /package/admin/nsss 0.2.1.0 libnsss +$utmps false /package/admin/utmps 0.1.3.0 libutmps +true false /package/admin/execline 2.9.7.0 libexecline +true false /package/admin/s6 2.13.2.0 libs6 diff --git a/package/deps.mak b/package/deps.mak index 4d1a9d5..def02f5 100644 --- a/package/deps.mak +++ b/package/deps.mak @@ -20,36 +20,37 @@ src/shutdown/s6-linux-init-hpr.o src/shutdown/s6-linux-init-hpr.lo: src/shutdown src/shutdown/s6-linux-init-shutdown.o src/shutdown/s6-linux-init-shutdown.lo: src/shutdown/s6-linux-init-shutdown.c src/include-local/defaults.h src/shutdown/hpr.h src/include-local/initctl.h src/shutdown/s6-linux-init-shutdownd.o src/shutdown/s6-linux-init-shutdownd.lo: src/shutdown/s6-linux-init-shutdownd.c src/include-local/defaults.h src/include-local/initctl.h src/include/s6-linux-init/config.h -s6-linux-init: EXTRA_LIBS := -lskarnet -s6-linux-init: src/init/s6-linux-init.o -s6-linux-init-maker: EXTRA_LIBS := -lskarnet ${MAYBEPTHREAD_LIB} -s6-linux-init-maker: src/init/s6-linux-init-maker.o ${LIBNSSS} -s6-linux-init-telinit: EXTRA_LIBS := -lskarnet -s6-linux-init-telinit: src/init/s6-linux-init-telinit.o +s6-linux-init: EXTRA_LIBS := +s6-linux-init: src/init/s6-linux-init.o -lskarnet +s6-linux-init-maker: EXTRA_LIBS := ${MAYBEPTHREAD_LIB} +s6-linux-init-maker: src/init/s6-linux-init-maker.o ${LIBNSSS} -lskarnet +s6-linux-init-telinit: EXTRA_LIBS := +s6-linux-init-telinit: src/init/s6-linux-init-telinit.o -lskarnet ifeq ($(strip $(STATIC_LIBS_ARE_PIC)),) libs6_linux_init.a.xyzzy: src/lib/s6_linux_init_logouthook.o else -libs6_linux_init.a.xyzzy: src/lib/s6_linux_init_logouthook.lo +libs6_linux_init.a.xyzzy:src/lib/s6_linux_init_logouthook.lo endif +libs6_linux_init.pc: EXTRA_LIBS := -lskarnet ${SOCKET_LIB} ${SYSCLOCK_LIB} libs6_linux_init.so.xyzzy: EXTRA_LIBS := -lskarnet ${SOCKET_LIB} ${SYSCLOCK_LIB} -libs6_linux_init.so.xyzzy: src/lib/s6_linux_init_logouthook.lo -s6-linux-init-echo: EXTRA_LIBS := -lskarnet -s6-linux-init-echo: src/misc/s6-linux-init-echo.o -s6-linux-init-logouthookd: EXTRA_LIBS := -lskarnet ${SYSCLOCK_LIB} ${SOCKET_LIB} -s6-linux-init-logouthookd: src/misc/s6-linux-init-logouthookd.o ${LIBUTMPS} +libs6_linux_init.so.xyzzy:src/lib/s6_linux_init_logouthook.lo +s6-linux-init-echo: EXTRA_LIBS := +s6-linux-init-echo: src/misc/s6-linux-init-echo.o -lskarnet +s6-linux-init-logouthookd: EXTRA_LIBS := ${SYSCLOCK_LIB} ${SOCKET_LIB} +s6-linux-init-logouthookd: src/misc/s6-linux-init-logouthookd.o ${LIBUTMPS} -lskarnet s6-linux-init-nuke: EXTRA_LIBS := s6-linux-init-nuke: src/misc/s6-linux-init-nuke.o -s6-linux-init-umountall: EXTRA_LIBS := -lskarnet -s6-linux-init-umountall: src/misc/s6-linux-init-umountall.o +s6-linux-init-umountall: EXTRA_LIBS := +s6-linux-init-umountall: src/misc/s6-linux-init-umountall.o -lskarnet ifeq ($(strip $(STATIC_LIBS_ARE_PIC)),) libhpr.a.xyzzy: src/shutdown/hpr_shutdown.o src/shutdown/hpr_wall.o src/shutdown/hpr_wallv.o src/shutdown/hpr_confirm_hostname.o else -libhpr.a.xyzzy: src/shutdown/hpr_shutdown.lo src/shutdown/hpr_wall.lo src/shutdown/hpr_wallv.lo src/shutdown/hpr_confirm_hostname.lo +libhpr.a.xyzzy:src/shutdown/hpr_shutdown.lo src/shutdown/hpr_wall.lo src/shutdown/hpr_wallv.lo src/shutdown/hpr_confirm_hostname.lo endif -s6-linux-init-hpr: EXTRA_LIBS := -lskarnet ${SYSCLOCK_LIB} ${SOCKET_LIB} -s6-linux-init-hpr: src/shutdown/s6-linux-init-hpr.o libhpr.a.xyzzy ${LIBUTMPS} -s6-linux-init-shutdown: EXTRA_LIBS := -lskarnet ${SYSCLOCK_LIB} ${SOCKET_LIB} -s6-linux-init-shutdown: src/shutdown/s6-linux-init-shutdown.o libhpr.a.xyzzy ${LIBUTMPS} -s6-linux-init-shutdownd: EXTRA_LIBS := -ls6 -lskarnet ${SYSCLOCK_LIB} ${SOCKET_LIB} -s6-linux-init-shutdownd: src/shutdown/s6-linux-init-shutdownd.o +s6-linux-init-hpr: EXTRA_LIBS := ${SYSCLOCK_LIB} ${SOCKET_LIB} +s6-linux-init-hpr: src/shutdown/s6-linux-init-hpr.o libhpr.a.xyzzy ${LIBUTMPS} -lskarnet +s6-linux-init-shutdown: EXTRA_LIBS := ${SYSCLOCK_LIB} ${SOCKET_LIB} +s6-linux-init-shutdown: src/shutdown/s6-linux-init-shutdown.o libhpr.a.xyzzy ${LIBUTMPS} -lskarnet +s6-linux-init-shutdownd: EXTRA_LIBS := ${SYSCLOCK_LIB} ${SOCKET_LIB} +s6-linux-init-shutdownd: src/shutdown/s6-linux-init-shutdownd.o -ls6 -lskarnet INTERNAL_LIBS := libhpr.a.xyzzy diff --git a/package/info b/package/info index 0341b11..5ed3a49 100644 --- a/package/info +++ b/package/info @@ -1,4 +1,4 @@ package=s6-linux-init -version=1.1.2.2 +version=1.1.3.0 category=admin package_macro_name=S6_LINUX_INIT diff --git a/package/targets.mak b/package/targets.mak index 04d940f..afe3b3e 100644 --- a/package/targets.mak +++ b/package/targets.mak @@ -11,6 +11,7 @@ s6-linux-init-umountall \ s6-linux-init-maker LIB_DEFS := S6_LINUX_INIT=s6_linux_init +S6_LINUX_INIT_DESCRIPTION := The s6-linux-init library (small helpers nothing uses at this moment) SKELFILES := $(wildcard skel/*) |
