From 7eeae13b35343aa96f896521aefd4b784cb068db Mon Sep 17 00:00:00 2001 From: Laurent Bercot Date: Mon, 28 Apr 2025 08:43:51 +0000 Subject: Latest batch of fixes Signed-off-by: Laurent Bercot --- INSTALL | 4 ++-- doc/libutmps/index.html | 2 +- doc/overview.html | 6 +++--- doc/utmps-write.html | 2 +- package/configure-snippets/configure_extra_checks | 1 + tools/configure.template | 16 +++++++++++++--- tools/gen-configure.el | 1 + tools/gen-dotpc.sh | 2 +- 8 files changed, 23 insertions(+), 11 deletions(-) create mode 100644 package/configure-snippets/configure_extra_checks diff --git a/INSTALL b/INSTALL index 7ec4f45..4995b0b 100644 --- a/INSTALL +++ b/INSTALL @@ -11,8 +11,8 @@ Build Instructions (this is only a run-time requirement, not a build-time one) This software will run on any operating system that implements -POSIX.1-2008, available at: - https://pubs.opengroup.org/onlinepubs/9699919799/ +POSIX.1-2024, available at: + https://pubs.opengroup.org/onlinepubs/9799919799/ * Standard usage diff --git a/doc/libutmps/index.html b/doc/libutmps/index.html index dc41fda..2ecb62f 100644 --- a/doc/libutmps/index.html +++ b/doc/libutmps/index.html @@ -30,7 +30,7 @@ programs needing utmp functionality. It interacts with the

Application programs can use it directly, but most existing programs simply use the standard -utmpx.h +utmpx.h interface, which in utmps is implemented as a series of thin wrappers around the utmps library.

diff --git a/doc/overview.html b/doc/overview.html index 6c58a37..f6420a6 100644 --- a/doc/overview.html +++ b/doc/overview.html @@ -21,7 +21,7 @@

utmps is a secure implementation of the utmp functionality, i.e. user accounting on Unix systems. It includes full POSIX -utmpx.h +utmpx.h functionality, a few extensions created by GNU, and an underlying C client library with better error reporting than the POSIX interface specifies. @@ -48,7 +48,7 @@ programs allowed to access the utmp and wtmp databases respectively. It provides the utmps client library to communicate with those daemons; and it implements the -utmpx.h +utmpx.h interfaces, and the extensions, as wrappers for this client library.

@@ -66,7 +66,7 @@ a Unix domain superserver such as s6-ipcserver is required. s6-ipcserver listens to a socket, and spawns a utmps-utmpd process when a client -calls setutxent() +calls setutxent() for instance.

diff --git a/doc/utmps-write.html b/doc/utmps-write.html index d456a00..2914c3f 100644 --- a/doc/utmps-write.html +++ b/doc/utmps-write.html @@ -75,7 +75,7 @@ characters).
  • -l user : spoof the ut_user field of the utmp entry. This can only be done by root, otherwise the utmp or wtmp daemon will refuse to add the entry. By default, the field contains the user's name as obtained by -getpwuid().
  • +getpwuid().
  • -p pid : spoof the ut_pid field of the utmp entry. By default, the field contains the pid of the utmps-write process.
  • diff --git a/package/configure-snippets/configure_extra_checks b/package/configure-snippets/configure_extra_checks new file mode 100644 index 0000000..8b13789 --- /dev/null +++ b/package/configure-snippets/configure_extra_checks @@ -0,0 +1 @@ + diff --git a/tools/configure.template b/tools/configure.template index dd449d0..54e5ea1 100755 --- a/tools/configure.template +++ b/tools/configure.template @@ -23,6 +23,7 @@ Fine tuning of the installation directories: --libexecdir=DIR package-scoped executables [EPREFIX/libexec] --libdir=DIR static library files [PREFIX/lib] --includedir=DIR C header files [PREFIX/include] + --sysconfdir=DIR global configuration files [PREFIX/etc] --pkgconfdir=DIR pkg-config .pc files [PREFIX/lib/pkgconfig] ${configure_help_install} If no --prefix option is given, by default libdir (but not dynlibdir) will be @@ -141,6 +142,7 @@ libexecdir='$exec_prefix/libexec' bindir='$exec_prefix/bin' libdir='$prefix/lib' includedir='$prefix/include' +sysconfdir='$prefix/etc' pkgconfdir='$prefix/lib/pkgconfig' shebangdir='$bindir' sysdeps='$prefix/lib/skalibs/sysdeps' @@ -177,10 +179,11 @@ for arg ; do --bindir=*) bindir=${arg#*=} ;; --libdir=*) libdir=${arg#*=} ;; --includedir=*) includedir=${arg#*=} ;; + --sysconfdir=*) sysconfdir=${arg#*=} ;; --pkgconfigdir=*) pkgconfigdir=${arg#*=} ;; --with-sysdeps=*) sysdeps=${arg#*=} manualsysdeps=true ;; --with-include=*) var=${arg#*=} ; stripdir var ; addincpath="$addincpath -I$var" ; depincpath="${depincpath}${depincpath:+ }-I$var" ;; - --with-lib=*) var=${arg#*=} ; stripdir var ; addlibspath="$addlibspath -L$var" ; deplibpath="${deplibpath}${deplibpath:+ }-I$var" ; vpaths="$vpaths $var" ;; + --with-lib=*) var=${arg#*=} ; stripdir var ; addlibspath="$addlibspath -L$var" ; deplibpath="${deplibpath}${deplibpath:+ }-L$var" ; vpaths="$vpaths $var" ;; --with-dynlib=*) var=${arg#*=} ; stripdir var ; addlibdpath="$addlibdpath -L$var" ; vpathd="$vpathd $var" ;; --with-pkgconfig=*) pkgconf=${arg#*=} ;; --with-pkgconfig) pkgconf=${PKG_CONFIG:-pkg-config} ;; @@ -231,7 +234,7 @@ fi # Expand installation directories stripdir prefix -for i in exec_prefix dynlibdir libexecdir bindir libdir includedir pkgconfdir sysdeps sproot ${configure_expand_dirs} ; do +for i in exec_prefix dynlibdir libexecdir bindir libdir includedir sysconfdir pkgconfdir sysdeps sproot ${configure_expand_dirs} ; do eval tmp=\${$i} eval $i=$tmp stripdir $i @@ -240,7 +243,7 @@ done # Process deps-build if test -n "$pkgconf" || $pcw || $slashpackage ; then oldifs="$IFS" - while IFS=" " read cond usedinlibs pkg ver libs ; do + while IFS=" " read cond usedinlibs pkg ver libs ; do IFS="$oldifs" eval "cond=$cond; usedinlibs=$usedinlibs" if $cond ; then @@ -418,6 +421,8 @@ else LDFLAGS_NOSHARED="${LDFLAGS_NOSHARED}${addlibdpath}" fi +${configure_extra_checks} + echo "Creating config.mak..." cmdline=$(quote "$0") for i ; do cmdline="$cmdline $(quote "$i")" ; done @@ -436,6 +441,7 @@ libexecdir := $libexecdir bindir := $bindir libdir := $libdir includedir := $includedir +sysconfdir := $sysconfdir pkgconfdir := $pkgconfdir sysdeps := $sysdeps slashpackage := $slashpackage @@ -513,14 +519,18 @@ EOF if $slashpackage ; then echo "#define ${package_macro_name}_BINPREFIX \"$bindir/\"" echo "#define ${package_macro_name}_EXTBINPREFIX \"$extbinprefix/\"" + echo "#define ${package_macro_name}_EXTLIBEXECPREFIX \"$extbinprefix/\"" elif $abspath ; then echo "#define ${package_macro_name}_BINPREFIX \"$bindir/\"" echo "#define ${package_macro_name}_EXTBINPREFIX \"$bindir/\"" + echo "#define ${package_macro_name}_EXTLIBEXECPREFIX \"$libexecdir/\"" else echo "#define ${package_macro_name}_BINPREFIX \"\"" echo "#define ${package_macro_name}_EXTBINPREFIX \"\"" + echo "#define ${package_macro_name}_EXTLIBEXECPREFIX \"$libexecdir/\"" fi echo "#define ${package_macro_name}_LIBEXECPREFIX \"$libexecdir/\"" +echo "#define ${package_macro_name}_SYSCONFPREFIX \"$sysconfdir/\"" ${configure_generate_configh} echo echo "#endif" diff --git a/tools/gen-configure.el b/tools/gen-configure.el index 2017dc2..577d86f 100755 --- a/tools/gen-configure.el +++ b/tools/gen-configure.el @@ -16,6 +16,7 @@ multisubstitute importas -uS configure_case_lines importas -uS configure_expand_dirs importas -uS configure_slashpackage_other + importas -uS configure_extra_checks importas -uS configure_generate_make importas -uS configure_generate_configh } diff --git a/tools/gen-dotpc.sh b/tools/gen-dotpc.sh index 63c8929..802c78e 100755 --- a/tools/gen-dotpc.sh +++ b/tools/gen-dotpc.sh @@ -85,7 +85,7 @@ echo "includedir=${includedir}" echo "libdir=${libdir}" echo "dynlibdir=${dynlibdir}" echo -echo "Name: ${library}" +echo "Name: lib${library}" echo "Version: ${version}" echo "Description: ${description:-The ${library} library.}" echo "URL: ${url:-https://skarnet.org/software/${package}/}" -- cgit v1.3.1