aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorLaurent Bercot <ska-skaware@skarnet.org>2026-03-31 00:23:30 +0000
committerLaurent Bercot <ska-skaware@skarnet.org>2026-03-31 00:23:30 +0000
commite179eee278afc20b0e85fb3b954b98cf632b2afd (patch)
treed93368f08be953e648e737d03b08ccf4ed1214af
parent07f677df38e1aedfa2e7f24f7e63db757d3cb782 (diff)
downloads6-e179eee278afc20b0e85fb3b954b98cf632b2afd.tar.gz
Add support for disabling rpath; update deps
-rw-r--r--INSTALL6
-rw-r--r--Makefile2
-rw-r--r--NEWS1
-rwxr-xr-xconfigure9
-rw-r--r--doc/index.html6
-rw-r--r--doc/upgrade.html7
-rwxr-xr-xtools/configure.template9
7 files changed, 32 insertions, 8 deletions
diff --git a/INSTALL b/INSTALL
index 2cb405e..89fae31 100644
--- a/INSTALL
+++ b/INSTALL
@@ -6,11 +6,11 @@ Build Instructions
- A POSIX-compliant C development environment
- GNU make version 3.81 or later
- - skalibs version 2.14.6.0 or later: https://skarnet.org/software/skalibs/
- - Recommended: execline version 2.9.8.1 or later: https://skarnet.org/software/execline/
+ - skalibs version 2.15.0.0 or later: https://skarnet.org/software/skalibs/
+ - Recommended: execline version 2.9.8.2 or later: https://skarnet.org/software/execline/
(You can disable this requirement at configure time, but will
lose some functionality.)
- - Optional: nsss version 0.2.1.1 or later: https://skarnet.org/software/nsss/
+ - Optional: nsss version 0.2.1.2 or later: https://skarnet.org/software/nsss/
This software will run on any operating system that implements
POSIX.1-2024, available at:
diff --git a/Makefile b/Makefile
index f519a87..c1197b1 100644
--- a/Makefile
+++ b/Makefile
@@ -188,7 +188,7 @@ lib%.a.xyzzy:
exec $(RANLIB) $@
lib%.so.xyzzy:
- exec $(CC) -o $@ $(CFLAGS_ALL) $(CFLAGS_SHARED) $(LDFLAGS_ALL) $(LDFLAGS_SHARED) -Wl,-soname,$(patsubst lib%.so.xyzzy,lib%.so.$(version_M),$@) -Wl,-rpath=$(dynlibdir) $^ $(EXTRA_LIBS) $(LDLIBS)
+ exec $(CC) -o $@ $(CFLAGS_ALL) $(CFLAGS_SHARED) $(LDFLAGS_ALL) $(LDFLAGS_SHARED) -Wl,-soname,$(patsubst lib%.so.xyzzy,lib%.so.$(version_M),$@) $(LDFLAGS_RPATH) $^ $(EXTRA_LIBS) $(LDLIBS)
-lskarnet:
$(error Unable to link against skalibs. Check that you are using the correct --with-lib or --with-dynlib options; see ./configure --help)
diff --git a/NEWS b/NEWS
index a2f6592..c3959da 100644
--- a/NEWS
+++ b/NEWS
@@ -4,6 +4,7 @@ In 2.15.0.0
-----------
- Bugfixes.
+ - Adaptation to skalibs-2.15.0.0.
- s6-svscan's scandir argument is now mandatory.
- s6-setsid now autodetects its controlling terminal by default.
- Complete ftrigr refactor. This doesn't impact CLI programs,
diff --git a/configure b/configure
index db892dd..2316b79 100755
--- a/configure
+++ b/configure
@@ -45,6 +45,7 @@ Optional features:
--disable-allstatic do not prefer linking against static libraries [enabled]
--enable-static-libc make entirely static binaries [disabled]
--disable-all-pic do not build executables or static libs as PIC [enabled]
+ --disable-rpath do not embed RPATH in libraries [enabled]
--enable-pkgconfig Build and install .pc files for pkg-config [disabled]
--enable-slashpackage[=ROOT] assume /package installation at ROOT [disabled]
--enable-absolute-paths hardcode absolute BINDIR/foobar paths in binaries [disabled]
@@ -156,6 +157,7 @@ shlibext=so
shared=false
static=true
allpic=true
+rpath=true
slashpackage=false
abspath=false
pcw=false
@@ -208,6 +210,8 @@ for arg ; do
--disable-static-libc|--enable-static-libc=no) evenmorestatic=false ;;
--enable-all-pic|--enable-all-pic=yes) allpic=true ;;
--disable-all-pic|--enable-all-pic=no) allpic=false ;;
+ --enable-rpath|--enable-rpath=yes) rpath=true ;;
+ --disable-rpath|--enable-rpath=no) rpath=false ;;
--enable-pkgconfig|--enable-pkgconfig=yes) pcw=true ;;
--disable-pkgconfig|--enable-pkgconfig=no) pcw=false ;;
--enable-slashpackage=*) sproot=${arg#*=} ; slashpackage=true ; ;;
@@ -520,6 +524,11 @@ if $shared ; then
else
echo "DO_SHARED :="
fi
+if $rpath ; then
+ echo "LDFLAGS_RPATH := -Wl,-rpath=${dynlibdir}"
+else
+ echo "LDFLAGS_RPATH :="
+fi
if $pcw ; then
echo "DO_PKGCONFIG := 1"
else
diff --git a/doc/index.html b/doc/index.html
index 925661e..809a7a8 100644
--- a/doc/index.html
+++ b/doc/index.html
@@ -83,12 +83,12 @@ 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="//skarnet.org/software/skalibs/">skalibs</a> version
-2.14.6.0 or later. It's a build-time requirement. It's also a run-time
+2.15.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> (Optional, but really recommended for full functionality):
<a href="//skarnet.org/software/execline/">execline</a> version
-2.9.8.1 or later. When s6 is built with execline support (which is the default),
+2.9.8.2 or later. When s6 is built with execline support (which is the default),
execline is a build-time requirement, and also a run-time requirement for
certain binaries that spawn scripts interpreted with
<a href="//skarnet.org/software/execline/execlineb.html">execlineb</a>. </li>
@@ -102,7 +102,7 @@ certain binaries that spawn scripts interpreted with
<li> If you're using <a href="https://www.musl-libc.org/">musl</a> and
want nsswitch-like functionality:
<a href="//skarnet.org/software/nsss/">nsss</a> version
-0.2.1.1 or later (build-time and boot-time) </li>
+0.2.1.2 or later (build-time and boot-time) </li>
</ul>
<h3> Licensing </h3>
diff --git a/doc/upgrade.html b/doc/upgrade.html
index 8ae86f5..b7bc033 100644
--- a/doc/upgrade.html
+++ b/doc/upgrade.html
@@ -21,8 +21,13 @@
<h2> in 2.15.0.0 </h2>
<ul>
+ <li> Support for disabling RPATH at configure time. </li>
<li> <a href="//skarnet.org/software/skalibs/">skalibs</a>
-dependency bumped to 2.14.6.0 </li>
+dependency bumped to 2.15.0.0 </li>
+ <li> <a href="//skarnet.org/software/nsss/">nsss</a>
+optional dependency bumped to 0.2.1.2. </li>
+ <li> <a href="//skarnet.org/software/execline/">execline</a>
+recommended dependency bumped to 2.9.8.2. </li>
<li> Large changes around the <a href="libs6/ftrigr.html">ftrigr library</a>:
<ul>
<li> <a href="s6-ftrigrd.html">s6-ftrigrd</a> is now an
diff --git a/tools/configure.template b/tools/configure.template
index ac8ac86..b693f5c 100755
--- a/tools/configure.template
+++ b/tools/configure.template
@@ -45,6 +45,7 @@ Optional features:
--disable-allstatic do not prefer linking against static libraries [enabled]
--enable-static-libc make entirely static binaries [disabled]
--disable-all-pic do not build executables or static libs as PIC [enabled]
+ --disable-rpath do not embed RPATH in libraries [enabled]
--enable-pkgconfig Build and install .pc files for pkg-config [disabled]
--enable-slashpackage[=ROOT] assume /package installation at ROOT [disabled]
--enable-absolute-paths hardcode absolute BINDIR/foobar paths in binaries [disabled]
@@ -151,6 +152,7 @@ shlibext=so
shared=false
static=true
allpic=true
+rpath=true
slashpackage=false
abspath=false
pcw=false
@@ -199,6 +201,8 @@ for arg ; do
--disable-static-libc|--enable-static-libc=no) evenmorestatic=false ;;
--enable-all-pic|--enable-all-pic=yes) allpic=true ;;
--disable-all-pic|--enable-all-pic=no) allpic=false ;;
+ --enable-rpath|--enable-rpath=yes) rpath=true ;;
+ --disable-rpath|--enable-rpath=no) rpath=false ;;
--enable-pkgconfig|--enable-pkgconfig=yes) pcw=true ;;
--disable-pkgconfig|--enable-pkgconfig=no) pcw=false ;;
--enable-slashpackage=*) sproot=${arg#*=} ; slashpackage=true ; ;;
@@ -502,6 +506,11 @@ if $shared ; then
else
echo "DO_SHARED :="
fi
+if $rpath ; then
+ echo "LDFLAGS_RPATH := -Wl,-rpath=${dynlibdir}"
+else
+ echo "LDFLAGS_RPATH :="
+fi
if $pcw ; then
echo "DO_PKGCONFIG := 1"
else