aboutsummaryrefslogtreecommitdiffstats
path: root/package
diff options
context:
space:
mode:
authorLaurent Bercot <ska-skaware@skarnet.org>2025-04-27 21:53:35 +0000
committerLaurent Bercot <ska@appnovation.com>2025-04-27 21:53:35 +0000
commit1a24089c821b7ab71af9733a58ffc762accd84dd (patch)
tree790ebe40aa8da93d76e974921c18f4434cddea90 /package
parente850b94f5e796ad12b994ea664d3ecfd2d176620 (diff)
downloads6-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_lines7
-rw-r--r--package/configure-snippets/configure_expand_dirs1
-rw-r--r--package/configure-snippets/configure_extra_checks28
-rw-r--r--package/configure-snippets/configure_generate_configh10
-rw-r--r--package/configure-snippets/configure_generate_make12
-rw-r--r--package/configure-snippets/configure_help_dependencies1
-rw-r--r--package/configure-snippets/configure_help_install4
-rw-r--r--package/configure-snippets/configure_help_options3
-rw-r--r--package/configure-snippets/configure_init_vars5
-rw-r--r--package/configure-snippets/configure_slashpackage_other1
-rw-r--r--package/deps-build10
-rw-r--r--package/deps.mak43
-rw-r--r--package/info2
-rw-r--r--package/targets.mak1
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/*)