From d318862a0b7843b09fd029a9ed5c00c86b0ea6bc Mon Sep 17 00:00:00 2001 From: Laurent Bercot Date: Tue, 31 Mar 2026 01:00:52 +0000 Subject: Add support for disabling rpath; prepare for 0.0.1.2 --- CONTRIBUTING | 2 +- INSTALL | 12 ++++++------ Makefile | 2 +- NEWS | 8 ++++++++ configure | 9 +++++++++ doc/index.html | 18 +++++++++--------- doc/upgrade.html | 18 ++++++++++++++++++ package/info | 2 +- tools/configure.template | 9 +++++++++ 9 files changed, 62 insertions(+), 18 deletions(-) diff --git a/CONTRIBUTING b/CONTRIBUTING index 3173998..bc10b3c 100644 --- a/CONTRIBUTING +++ b/CONTRIBUTING @@ -10,7 +10,7 @@ * I, the contributor, am the copyright owner of these changes * I submit these changes according to the project's license -with no additionam requirements +with no additional requirements * I understand these changes in full and will be able to respond to review comments. diff --git a/INSTALL b/INSTALL index 035dd52..620edd7 100644 --- a/INSTALL +++ b/INSTALL @@ -6,12 +6,12 @@ Build Instructions - A POSIX compatible system with a standard C development environment - GNU make version 3.81 or later - - skalibs version 2.14.5.1 or later: https://skarnet.org/software/skalibs/ - - execline version 2.9.8.1 or later: https://skarnet.org/software/execline/ - - s6 version 2.14.0.1 or later: https://skarnet.org/software/s6/ - - s6-rc version 0.6.0.0 or later: https://skarnet.org/software/s6-rc/ - - optional: s6-linux-init version 1.2.0.0 or later: https://skarnet.org/software/s6-linux-init/ - - optional: nsss version 0.2.1.1 or later: https://skarnet.org/software/nsss/ + - skalibs version 2.15.0.0 or later: https://skarnet.org/software/skalibs/ + - execline version 2.9.8.2 or later: https://skarnet.org/software/execline/ + - s6 version 2.15.0.0 or later: https://skarnet.org/software/s6/ + - s6-rc version 0.6.0.1 or later: https://skarnet.org/software/s6-rc/ + - optional: s6-linux-init version 1.2.0.1 or later: https://skarnet.org/software/s6-linux-init/ + - optional: nsss version 0.2.1.2 or later: https://skarnet.org/software/nsss/ - optional: util-linux version 2.41.2 or later: https://en.wikipedia.org/wiki/Util-linux 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 c4409bc..23ca448 100644 --- a/NEWS +++ b/NEWS @@ -1,5 +1,13 @@ Changelog for s6-frontend. +In 0.0.1.2 +---------- + + - Documentation updates. + - Adaptation to skalibs-2.15.0.0. + - Support for disabling RPATH at configure time. + + In 0.0.1.1 ---------- diff --git a/configure b/configure index d17753f..1849435 100755 --- a/configure +++ b/configure @@ -50,6 +50,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] @@ -162,6 +163,7 @@ shlibext=so shared=false static=true allpic=true +rpath=true slashpackage=false abspath=false pcw=false @@ -221,6 +223,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 ; ;; @@ -537,6 +541,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 9a6a2f5..78ee68a 100644 --- a/doc/index.html +++ b/doc/index.html @@ -54,7 +54,7 @@ is often used on its own, in environments that already have an init system (no need for s6-linux-init) and a service manager (no need for s6-rc). For the same purpose of modularity, s6 follows an approach of "one functionality, one tool", sometimes to the extreme: the s6-supervision package, as of -2.14.0.1, hosts 75 binaries. +2.15.0.0, hosts 75 binaries.

@@ -87,17 +87,17 @@ parts of an s6-based system.

  • A Linux-based system with a standard C development environment
  • GNU make, version 3.81 or later
  • skalibs version -2.14.5.1 or later
  • +2.15.0.0 or later
  • execline version -2.9.8.1 or later
  • +2.9.8.2 or later
  • s6 version -2.14.0.1 or later
  • +2.15.0.0 or later
  • s6-rc version -0.6.0.0 or later
  • +0.6.0.1 or later
  • Optional: nsss version -0.2.1.1 or later
  • +0.2.1.2 or later
  • Optional: s6-linux-init version -1.2.0.0 or later
  • +1.2.0.1 or later
  • Optional: util-linux version 2.41.2 or later
  • @@ -126,8 +126,8 @@ across operating systems.