From 3d250f476048f8bd281a82dd4f29f3cc3f72117a Mon Sep 17 00:00:00 2001 From: Laurent Bercot Date: Tue, 31 Mar 2026 00:34:12 +0000 Subject: Add support for disabling rpath; prepare for 1.2.0.1 --- CONTRIBUTING | 2 +- COPYING | 2 +- INSTALL | 10 +++++----- Makefile | 2 +- NEWS | 7 +++++++ configure | 9 +++++++++ doc/index.html | 14 +++++++------- doc/upgrade.html | 16 ++++++++++++++++ package/info | 2 +- tools/configure.template | 9 +++++++++ 10 files changed, 57 insertions(+), 16 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/COPYING b/COPYING index 36345a5..74ed807 100644 --- a/COPYING +++ b/COPYING @@ -1,4 +1,4 @@ -Copyright (c) 2015-2025 Laurent Bercot +Copyright (c) 2015-2026 Laurent Bercot Permission to use, copy, modify, and distribute this software for any purpose with or without fee is hereby granted, provided that the above diff --git a/INSTALL b/INSTALL index 8b19a9d..ed26e58 100644 --- a/INSTALL +++ b/INSTALL @@ -6,11 +6,11 @@ Build Instructions - A Linux-based system with a standard C development environment - GNU make version 3.81 or later - - skalibs version 2.14.5.0 or later: https://skarnet.org/software/skalibs/ - - Optional: nsss version 0.2.1.1 or later: https://skarnet.org/software/nsss/ - - Optional: utmps version 0.1.3.2 or later: https://skarnet.org/software/utmps/ - - execline version 2.9.8.0 or later: https://skarnet.org/software/execline/ - - s6 version 2.14.0.0 or later: https://skarnet.org/software/s6/ + - skalibs version 2.15.0.0 or later: https://skarnet.org/software/skalibs/ + - Optional: nsss version 0.2.1.2 or later: https://skarnet.org/software/nsss/ + - Optional: utmps version 0.1.3.3 or later: https://skarnet.org/software/utmps/ + - 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/ This software is Linux-specific. It will run on a Linux kernel, version 2.6.32 or later. However, it should not be too hard to port to 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 8f32bff..bac348b 100644 --- a/NEWS +++ b/NEWS @@ -1,5 +1,12 @@ Changelog for s6-linux-init. +In 1.2.0.1 +---------- + + - Support for disabling RPATH at configure time. + - Adaptation to skalibs-2.15.0.0. + + In 1.2.0.0 ---------- diff --git a/configure b/configure index d25ad27..4203b4e 100755 --- a/configure +++ b/configure @@ -48,6 +48,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 ; ;; @@ -544,6 +548,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 df1e561..b99cdc6 100644 --- a/doc/index.html +++ b/doc/index.html @@ -73,16 +73,16 @@ kernel command line
  • A Linux-based system with a standard C development environment
  • GNU make, version 3.81 or later
  • skalibs version -2.14.5.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 (for s6-linux-init-maker) as well as a boot-time requirement (i.e. a run-time requirement for the programs used when you boot a system created with s6-linux-init-maker) if you link against the shared version of the skalibs library.
  • execline version -2.9.8.0 or later. It is a build-time and boot-time requirement.
  • +2.9.8.2 or later. It is a build-time and boot-time requirement.
  • s6 version -2.14.0.0 or later. It is a build-time and boot-time requirement.
  • +2.15.0.0 or later. It is a build-time and boot-time requirement.

    @@ -93,10 +93,10 @@ against the shared version of the skalibs library.

  • If you're using musl and want nsswitch-like functionality: nsss version -0.2.1.1 or later (build-time and boot-time)
  • +0.2.1.2 or later (build-time and boot-time)
  • If you want secure utmp functionality: utmps version -0.1.3.2 or later (build-time and boot-time)
  • +0.1.3.3 or later (build-time and boot-time)

    Licensing

    @@ -110,8 +110,8 @@ want nsswitch-like functionality:
    • The current released version of s6-linux-init is -1.2.0.0. -You can access its checksum here.
    • +1.2.0.1. +You can access its checksum here.
    • Alternatively, you can checkout a copy of the s6-linux-init git repository: diff --git a/doc/upgrade.html b/doc/upgrade.html index df249c2..b5c8311 100644 --- a/doc/upgrade.html +++ b/doc/upgrade.html @@ -18,6 +18,22 @@

      What has changed in s6-linux-init

      +

      in 1.2.0.1

      + +
        +
      • Support for disabling RPATH at configure time.
      • +
      • skalibs +dependency bumped to 2.15.0.0.
      • +
      • nsss +optional dependency bumped to 0.2.1.2.
      • +
      • utmps +optional dependency bumped to 0.1.3.3.
      • +
      • execline +dependency bumped to 2.9.8.2.
      • +
      • s6 +dependency bumped to 2.15.0.0.
      • +
      +

      in 1.2.0.0

        diff --git a/package/info b/package/info index 436fc35..273d78e 100644 --- a/package/info +++ b/package/info @@ -1,4 +1,4 @@ package=s6-linux-init -version=1.2.0.0 +version=1.2.0.1 category=admin package_macro_name=S6_LINUX_INIT 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 -- cgit v1.3.1