commit 3d8ca76a025a4a2cf410e041ff0fba9de48747b9
parent 6962ad430c59ad1873c95387208cda58491d3095
Author: Laurent Bercot <ska-skaware@skarnet.org>
Date: Fri, 12 Aug 2016 13:06:58 +0000
Add spawn_lib support
Diffstat:
14 files changed, 40 insertions(+), 25 deletions(-)
diff --git a/INSTALL b/INSTALL
@@ -6,8 +6,8 @@ Build Instructions
- A POSIX-compliant C development environment
- GNU make version 3.81 or later
- - skalibs version 2.3.10.0 or later: http://skarnet.org/software/skalibs/
- - execline version 2.1.5.0 or later: http://skarnet.org/software/execline/
+ - skalibs version 2.4.0.0 or later: http://skarnet.org/software/skalibs/
+ - execline version 2.2.0.0 or later: http://skarnet.org/software/execline/
This software will run on any operating system that implements
POSIX.1-2008, available at:
diff --git a/configure b/configure
@@ -18,12 +18,12 @@ Installation directories:
Fine tuning of the installation directories:
--dynlibdir=DIR shared library files [PREFIX/lib]
- --bindir=DIR user executables [EPREFIX/bin]
+ --bindir=BINDIR user executables [EPREFIX/bin]
--sbindir=DIR admin executables [EPREFIX/sbin]
--libexecdir=DIR package-scoped executables [EPREFIX/libexec]
--libdir=DIR static library files [PREFIX/lib/$package]
--includedir=DIR C header files [PREFIX/include]
- --datadir=DIR global configuration files [PREFIX/etc]
+ --shebangdir=DIR absolute path for #! invocations [BINDIR]
If no --prefix option is given, by default libdir (but not dynlibdir) will be
/usr/lib/$package, and includedir will be /usr/include.
@@ -133,7 +133,7 @@ bindir='$exec_prefix/bin'
sbindir='$exec_prefix/sbin'
libdir='$prefix/lib/$package'
includedir='$prefix/include'
-datadir='$prefix/etc'
+shebangdir='$bindir'
sysdeps='$prefix/lib/skalibs/sysdeps'
manualsysdeps=false
shared=false
@@ -162,7 +162,7 @@ for arg ; do
--sbindir=*) sbindir=${arg#*=} ;;
--libdir=*) libdir=${arg#*=} ;;
--includedir=*) includedir=${arg#*=} ;;
- --datadir=*) datadir=${arg#*=} ;;
+ --shebangdir=*) shebangdir=${arg#*=} ;;
--with-sysdeps=*) sysdeps=${arg#*=} manualsysdeps=true ;;
--with-include=*) var=${arg#*=} ; stripdir var ; addincpath="$addincpath -I$var" ;;
--with-lib=*) var=${arg#*=} ; stripdir var ; addlibspath="$addlibspath -L$var" ; vpaths="$vpaths $var" ;;
@@ -202,7 +202,7 @@ fi
# Expand installation directories
stripdir prefix
-for i in exec_prefix dynlibdir libexecdir bindir sbindir libdir includedir datadir sysdeps sproot ; do
+for i in exec_prefix dynlibdir libexecdir bindir sbindir libdir includedir shebangdir sysdeps sproot ; do
eval tmp=\${$i}
eval $i=$tmp
stripdir $i
@@ -289,7 +289,7 @@ if [ "x$target" != "x$(cat $sysdeps/target)" ] ; then
exit 1
fi
-rt_lib=$(cat $sysdeps/rt.lib)
+spawn_lib=$(cat $sysdeps/spawn.lib)
socket_lib=$(cat $sysdeps/socket.lib)
sysclock_lib=$(cat $sysdeps/sysclock.lib)
tainnow_lib=$(cat $sysdeps/tainnow.lib)
@@ -312,6 +312,8 @@ tryflag CFLAGS_AUTO -fdata-sections
tryldflag LDFLAGS_AUTO -Wl,--sort-section=alignment
tryldflag LDFLAGS_AUTO -Wl,--sort-common
+CPPFLAGS_AUTO="${CPPFLAGS_AUTO}${addincpath}"
+
if $evenmorestatic ; then
LDFLAGS_NOSHARED=-static
fi
@@ -337,8 +339,6 @@ if test -z "$vpaths" ; then
done < package/deps-build
fi
-CPPFLAGS_AUTO="$CPPFLAGS_AUTO $addincpath"
-
echo "creating config.mak..."
cmdline=$(quote "$0")
for i ; do cmdline="$cmdline $(quote "$i")" ; done
@@ -358,14 +358,13 @@ bindir := $bindir
sbindir := $sbindir
libdir := $libdir
includedir := $includedir
-datadir := $datadir
sysdeps := $sysdeps
slashpackage := $slashpackage
sproot := $sproot
version := $version
home := $home
exthome := $exthome
-RT_LIB := ${rt_lib}
+SPAWN_LIB := ${spawn_lib}
SOCKET_LIB := ${socket_lib}
SYSCLOCK_LIB := ${sysclock_lib}
TAINNOW_LIB := ${tainnow_lib}
@@ -414,16 +413,17 @@ cat <<EOF
#define ${package_macro_name}_CONFIG_H
#define ${package_macro_name}_VERSION "$version"
-#define ${package_macro_name}_ETC "$datadir"
EOF
if $slashpackage ; then
echo "#define ${package_macro_name}_BINPREFIX \"$binprefix/\""
echo "#define ${package_macro_name}_EXTBINPREFIX \"$extbinprefix/\""
echo "#define ${package_macro_name}_LIBEXECPREFIX \"$binprefix/\""
+ echo "#define ${package_macro_name}_SHEBANGPREFIX \"$extbinprefix/\""
else
echo "#define ${package_macro_name}_BINPREFIX \"\""
echo "#define ${package_macro_name}_EXTBINPREFIX \"\""
echo "#define ${package_macro_name}_LIBEXECPREFIX \"$libexecdir/\""
+ echo "#define ${package_macro_name}_SHEBANGPREFIX \"$shebangdir/\""
fi
echo
echo "#endif"
diff --git a/doc/index.html b/doc/index.html
@@ -83,11 +83,11 @@ with s6</a> </li>
<li> A POSIX-compliant system with a standard C development environment </li>
<li> GNU make, version 3.81 or later </li>
<li> <a href="http://skarnet.org/software/skalibs/">skalibs</a> version
-2.3.10.0 or later. It's a build-time requirement. It's also a run-time
+2.4.0.0 or later. It's a build-time requirement. It's also a run-time
requirement if you link against the shared version of the skalibs
library. </li>
<li> <a href="http://skarnet.org/software/execline/">execline</a> version
-2.1.5.0 or later. It's a build-time and run-time requirement. </li>
+2.2.0.0 or later. It's a build-time and run-time requirement. </li>
</ul>
<h3> Licensing </h3>
@@ -100,7 +100,7 @@ library. </li>
<h3> Download </h3>
<ul>
- <li> The current released version of s6 is <a href="s6-2.3.0.0.tar.gz">2.3.0.0</a>. </li>
+ <li> The current released version of s6 is <a href="s6-2.4.0.0.tar.gz">2.4.0.0</a>. </li>
<li> Alternatively, you can checkout a copy of the
<a href="http://git.skarnet.org/cgi-bin/cgit.cgi/s6/">s6
git repository</a>:
diff --git a/doc/upgrade.html b/doc/upgrade.html
@@ -18,6 +18,13 @@
<h1> What has changed in s6 </h1>
+<h2> in 2.4.0.0 </h2>
+
+<ul>
+ <li> skalibs dependency bumped to 2.4.0.0. </li>
+ <li> execline dependency bumped to 2.2.0.0. </li>
+</ul>
+
<h2> in 2.3.0.0 </h2>
<ul>
diff --git a/package/deps.mak b/package/deps.mak
@@ -159,7 +159,7 @@ s6-fghack: EXTRA_LIBS :=
s6-fghack: src/daemontools-extras/s6-fghack.o -lskarnet
s6-log: EXTRA_LIBS := ${TAINNOW_LIB}
s6-log: src/daemontools-extras/s6-log.o -lskarnet
-s6-setlock: EXTRA_LIBS := ${TAINNOW_LIB}
+s6-setlock: EXTRA_LIBS := ${TAINNOW_LIB} ${SPAWN_LIB}
s6-setlock: src/daemontools-extras/s6-setlock.o -lskarnet
s6-setsid: EXTRA_LIBS :=
s6-setsid: src/daemontools-extras/s6-setsid.o -lskarnet
@@ -210,19 +210,19 @@ libs6.so.xyzzy: EXTRA_LIBS := -lskarnet
libs6.so.xyzzy: src/libs6/ftrigr1_zero.lo src/libs6/ftrigr_check.lo src/libs6/ftrigr_end.lo src/libs6/ftrigr_start.lo src/libs6/ftrigr_startf.lo src/libs6/ftrigr_subscribe.lo src/libs6/ftrigr_unsubscribe.lo src/libs6/ftrigr_update.lo src/libs6/ftrigr_wait_and.lo src/libs6/ftrigr_wait_or.lo src/libs6/ftrigr_zero.lo src/libs6/ftrigw_clean.lo src/libs6/ftrigw_fifodir_make.lo src/libs6/ftrigw_notify.lo src/libs6/ftrigw_notifyb.lo src/libs6/ftrigw_notifyb_nosig.lo src/libs6/s6_accessrules_backend_cdb.lo src/libs6/s6_accessrules_backend_fs.lo src/libs6/s6_accessrules_keycheck_ip4.lo src/libs6/s6_accessrules_keycheck_ip6.lo src/libs6/s6_accessrules_keycheck_reversedns.lo src/libs6/s6_accessrules_keycheck_uidgid.lo src/libs6/s6_accessrules_params_free.lo src/libs6/s6_accessrules_uidgid_cdb.lo src/libs6/s6_accessrules_uidgid_fs.lo src/libs6/s6_supervise_lock.lo src/libs6/s6_supervise_lock_mode.lo src/libs6/s6_svc_ok.lo src/libs6/s6_svc_write.lo src/libs6/s6_svc_writectl.lo src/libs6/s6_svstatus_pack.lo src/libs6/s6_svstatus_read.lo src/libs6/s6_svstatus_unpack.lo src/libs6/s6_svstatus_write.lo src/libs6/s6lock_acquire.lo src/libs6/s6lock_check.lo src/libs6/s6lock_end.lo src/libs6/s6lock_release.lo src/libs6/s6lock_start.lo src/libs6/s6lock_startf.lo src/libs6/s6lock_update.lo src/libs6/s6lock_wait_and.lo src/libs6/s6lock_wait_or.lo src/libs6/s6lock_zero.lo src/libs6/s6_fdholder_delete.lo src/libs6/s6_fdholder_delete_async.lo src/libs6/s6_fdholder_getdump.lo src/libs6/s6_fdholder_list.lo src/libs6/s6_fdholder_list_async.lo src/libs6/s6_fdholder_list_cb.lo src/libs6/s6_fdholder_retrieve.lo src/libs6/s6_fdholder_retrieve_async.lo src/libs6/s6_fdholder_retrieve_cb.lo src/libs6/s6_fdholder_setdump.lo src/libs6/s6_fdholder_store.lo src/libs6/s6_fdholder_store_async.lo
s6-ftrigrd: EXTRA_LIBS := ${SOCKET_LIB} ${TAINNOW_LIB}
s6-ftrigrd: src/libs6/s6-ftrigrd.o src/libs6/ftrig1_free.o src/libs6/ftrig1_make.o -lskarnet
-s6lockd: EXTRA_LIBS := ${SOCKET_LIB} ${TAINNOW_LIB}
+s6lockd: EXTRA_LIBS := ${SOCKET_LIB} ${TAINNOW_LIB} ${SPAWN_LIB}
s6lockd: src/libs6/s6lockd.o -lskarnet
s6lockd-helper: EXTRA_LIBS :=
s6lockd-helper: src/libs6/s6lockd-helper.o -lskarnet
s6-cleanfifodir: EXTRA_LIBS :=
s6-cleanfifodir: src/pipe-tools/s6-cleanfifodir.o ${LIBS6} -lskarnet
-s6-ftrig-listen: EXTRA_LIBS := ${SOCKET_LIB} ${TAINNOW_LIB}
+s6-ftrig-listen: EXTRA_LIBS := ${SOCKET_LIB} ${TAINNOW_LIB} ${SPAWN_LIB}
s6-ftrig-listen: src/pipe-tools/s6-ftrig-listen.o ${LIBS6} -lexecline -lskarnet
-s6-ftrig-listen1: EXTRA_LIBS := ${SOCKET_LIB} ${TAINNOW_LIB}
+s6-ftrig-listen1: EXTRA_LIBS := ${SOCKET_LIB} ${TAINNOW_LIB} ${SPAWN_LIB}
s6-ftrig-listen1: src/pipe-tools/s6-ftrig-listen1.o ${LIBS6} -lskarnet
s6-ftrig-notify: EXTRA_LIBS :=
s6-ftrig-notify: src/pipe-tools/s6-ftrig-notify.o ${LIBS6} -lskarnet
-s6-ftrig-wait: EXTRA_LIBS := ${SOCKET_LIB} ${TAINNOW_LIB}
+s6-ftrig-wait: EXTRA_LIBS := ${SOCKET_LIB} ${TAINNOW_LIB} ${SPAWN_LIB}
s6-ftrig-wait: src/pipe-tools/s6-ftrig-wait.o ${LIBS6} -lskarnet
s6-mkfifodir: EXTRA_LIBS :=
s6-mkfifodir: src/pipe-tools/s6-mkfifodir.o ${LIBS6} -lskarnet
@@ -230,13 +230,13 @@ s6-supervise: EXTRA_LIBS := ${TAINNOW_LIB}
s6-supervise: src/supervision/s6-supervise.o ${LIBS6} -lskarnet
s6-svc: EXTRA_LIBS :=
s6-svc: src/supervision/s6-svc.o ${LIBS6} -lskarnet
-s6-svlisten: EXTRA_LIBS := ${SOCKET_LIB} ${TAINNOW_LIB}
+s6-svlisten: EXTRA_LIBS := ${SOCKET_LIB} ${TAINNOW_LIB} ${SPAWN_LIB}
s6-svlisten: src/supervision/s6-svlisten.o src/supervision/s6_svlisten_signal_handler.o src/supervision/s6_svlisten_loop.o ${LIBS6} -lexecline -lskarnet
-s6-svlisten1: EXTRA_LIBS := ${SOCKET_LIB} ${TAINNOW_LIB}
+s6-svlisten1: EXTRA_LIBS := ${SOCKET_LIB} ${TAINNOW_LIB} ${SPAWN_LIB}
s6-svlisten1: src/supervision/s6-svlisten1.o src/supervision/s6_svlisten_signal_handler.o src/supervision/s6_svlisten_loop.o ${LIBS6} -lskarnet
s6-svok: EXTRA_LIBS :=
s6-svok: src/supervision/s6-svok.o ${LIBS6} -lskarnet
-s6-svscan: EXTRA_LIBS := ${TAINNOW_LIB}
+s6-svscan: EXTRA_LIBS := ${TAINNOW_LIB} ${SPAWN_LIB}
s6-svscan: src/supervision/s6-svscan.o ${LIBS6} -lskarnet
s6-svscanctl: EXTRA_LIBS :=
s6-svscanctl: src/supervision/s6-svscanctl.o ${LIBS6} -lskarnet
diff --git a/package/info b/package/info
@@ -1,4 +1,4 @@
package=s6
-version=2.3.0.0
+version=2.4.0.0
category=admin
package_macro_name=S6
diff --git a/src/daemontools-extras/deps-exe/s6-setlock b/src/daemontools-extras/deps-exe/s6-setlock
@@ -1,2 +1,3 @@
-lskarnet
${TAINNOW_LIB}
+${SPAWN_LIB}
diff --git a/src/libs6/deps-exe/s6lockd b/src/libs6/deps-exe/s6lockd
@@ -1,3 +1,4 @@
-lskarnet
${SOCKET_LIB}
${TAINNOW_LIB}
+${SPAWN_LIB}
diff --git a/src/pipe-tools/deps-exe/s6-ftrig-listen b/src/pipe-tools/deps-exe/s6-ftrig-listen
@@ -3,3 +3,4 @@ ${LIBS6}
-lskarnet
${SOCKET_LIB}
${TAINNOW_LIB}
+${SPAWN_LIB}
diff --git a/src/pipe-tools/deps-exe/s6-ftrig-listen1 b/src/pipe-tools/deps-exe/s6-ftrig-listen1
@@ -2,3 +2,4 @@ ${LIBS6}
-lskarnet
${SOCKET_LIB}
${TAINNOW_LIB}
+${SPAWN_LIB}
diff --git a/src/pipe-tools/deps-exe/s6-ftrig-wait b/src/pipe-tools/deps-exe/s6-ftrig-wait
@@ -2,3 +2,4 @@ ${LIBS6}
-lskarnet
${SOCKET_LIB}
${TAINNOW_LIB}
+${SPAWN_LIB}
diff --git a/src/supervision/deps-exe/s6-svlisten b/src/supervision/deps-exe/s6-svlisten
@@ -5,3 +5,4 @@ ${LIBS6}
-lskarnet
${SOCKET_LIB}
${TAINNOW_LIB}
+${SPAWN_LIB}
diff --git a/src/supervision/deps-exe/s6-svlisten1 b/src/supervision/deps-exe/s6-svlisten1
@@ -4,3 +4,4 @@ ${LIBS6}
-lskarnet
${SOCKET_LIB}
${TAINNOW_LIB}
+${SPAWN_LIB}
diff --git a/src/supervision/deps-exe/s6-svscan b/src/supervision/deps-exe/s6-svscan
@@ -1,3 +1,4 @@
${LIBS6}
-lskarnet
${TAINNOW_LIB}
+${SPAWN_LIB}