diff options
Diffstat (limited to '')
-rwxr-xr-x | configure | 1332 | ||||
-rw-r--r-- | configure.ac | 134 |
2 files changed, 1364 insertions, 102 deletions
@@ -1,6 +1,6 @@ #! /bin/sh # Guess values for system-dependent variables and create Makefiles. -# Generated by GNU Autoconf 2.71 for util-linux 2.39.3. +# Generated by GNU Autoconf 2.71 for util-linux 2.40. # # Report bugs to <kzak@redhat.com>. # @@ -621,8 +621,8 @@ MAKEFLAGS= # Identity of this package. PACKAGE_NAME='util-linux' PACKAGE_TARNAME='util-linux' -PACKAGE_VERSION='2.39.3' -PACKAGE_STRING='util-linux 2.39.3' +PACKAGE_VERSION='2.40' +PACKAGE_STRING='util-linux 2.40' PACKAGE_BUGREPORT='kzak@redhat.com' PACKAGE_URL='https://www.kernel.org/pub/linux/utils/util-linux/' @@ -696,8 +696,11 @@ ac_c_werror_flag= ac_c_werror_flag= ac_c_werror_flag= ac_c_werror_flag= +ac_c_werror_flag= +ac_c_werror_flag= gt_needs= ac_c_werror_flag= +enable_year2038=yes ac_subst_vars='am__EXEEXT_FALSE am__EXEEXT_TRUE LTLIBOBJS @@ -747,6 +750,8 @@ HAVE_ECONF_FALSE HAVE_ECONF_TRUE ECONF_LIBS ECONF_CFLAGS +tmpfilesdir +with_tmpfilesdir systemdsystemunitdir with_systemdsystemunitdir HAVE_SYSTEMD_FALSE @@ -851,6 +856,8 @@ BUILD_FSFREEZE_FALSE BUILD_FSFREEZE_TRUE BUILD_FINCORE_FALSE BUILD_FINCORE_TRUE +BUILD_EXCH_FALSE +BUILD_EXCH_TRUE BUILD_CTRLALTDEL_FALSE BUILD_CTRLALTDEL_TRUE BUILD_DMESG_FALSE @@ -859,6 +866,8 @@ BUILD_READPROFILE_FALSE BUILD_READPROFILE_TRUE BUILD_SETSID_FALSE BUILD_SETSID_TRUE +BUILD_SETPGID_FALSE +BUILD_SETPGID_TRUE BUILD_RFKILL_FALSE BUILD_RFKILL_TRUE BUILD_RENICE_FALSE @@ -897,6 +906,10 @@ BUILD_BLOCKDEV_FALSE BUILD_BLOCKDEV_TRUE BUILD_GETOPT_FALSE BUILD_GETOPT_TRUE +BUILD_LSCLOCKS_FALSE +BUILD_LSCLOCKS_TRUE +BUILD_ENOSYS_FALSE +BUILD_ENOSYS_TRUE BUILD_WAITPID_FALSE BUILD_WAITPID_TRUE BUILD_FADVISE_FALSE @@ -1034,6 +1047,16 @@ BUILD_LIBBLKID_TRUE LIBBLKID_VERSION_INFO LIBBLKID_VERSION LIBBLKID_DATE +BUILD_PAM_LASTLOG2_FALSE +BUILD_PAM_LASTLOG2_TRUE +BUILD_LIBLASTLOG2_TESTS_FALSE +BUILD_LIBLASTLOG2_TESTS_TRUE +BUILD_LIBLASTLOG2_FALSE +BUILD_LIBLASTLOG2_TRUE +LIBLASTLOG2_VERSION_INFO +LIBLASTLOG2_VERSION +SQLITE3_LIBS +SQLITE3_CFLAGS BUILD_LIBUUID_FALSE BUILD_LIBUUID_TRUE LIBUUID_VERSION_INFO @@ -1106,12 +1129,15 @@ HAVE_STATIC_FDISK_FALSE HAVE_STATIC_FDISK_TRUE HAVE_STATIC_BLKID_FALSE HAVE_STATIC_BLKID_TRUE +MQ_LIBS HAVE_DIRFD_FALSE HAVE_DIRFD_TRUE SOCKET_LIBS RTAS_LIBS REALTIME_LIBS MATH_LIBS +HAVE_LINUX_LANDLOCK_H_FALSE +HAVE_LINUX_LANDLOCK_H_TRUE HAVE_OPENAT_FALSE HAVE_OPENAT_TRUE HAVE_LANGINFO_H_FALSE @@ -1197,6 +1223,9 @@ EGREP GREP SED LIBTOOL +WITH_COVERAGE_FALSE +WITH_COVERAGE_TRUE +COVERAGE_LDFLAGS OSS_FUZZ_FALSE OSS_FUZZ_TRUE FUZZING_ENGINE_FALSE @@ -1210,7 +1239,6 @@ CXX FUZZING_ENGINE_LDFLAGS UBSAN_LDFLAGS ASAN_LDFLAGS -NO_UNUSED_WARN_CFLAGS PYTHON_WARN_CFLAGS BSD_WARN_CFLAGS WARN_CFLAGS @@ -1223,6 +1251,8 @@ build_os build_vendor build_cpu build +BISON +FLEX YFLAGS YACC sysconfstaticdir @@ -1327,6 +1357,7 @@ enable_werror enable_asan enable_ubsan enable_fuzzing_engine +enable_coverage enable_shared enable_static with_pic @@ -1363,6 +1394,8 @@ with_readline with_utempter enable_libuuid enable_libuuid_force_uuidd +enable_liblastlog2 +enable_pam_lastlog2 enable_libblkid enable_libmount enable_libmount_mountfd_support @@ -1420,6 +1453,7 @@ enable_irqtop enable_lsirq enable_lsns enable_rfkill +enable_exch enable_scriptutils enable_tunelp enable_kill @@ -1452,6 +1486,7 @@ enable_write with_btrfs with_systemd with_systemdsystemunitdir +with_tmpfilesdir with_smack with_econf with_vendordir @@ -1472,6 +1507,7 @@ enable_makeinstall_chown enable_makeinstall_setuid enable_colors_default with_cryptsetup +enable_year2038 ' ac_precious_vars='build_alias host_alias @@ -1503,6 +1539,8 @@ TINFOW_CFLAGS TINFOW_LIBS TINFO_CFLAGS TINFO_LIBS +SQLITE3_CFLAGS +SQLITE3_LIBS LIBUSER_CFLAGS LIBUSER_LIBS SYSTEMD_CFLAGS @@ -1512,6 +1550,7 @@ SYSTEMD_DAEMON_LIBS SYSTEMD_JOURNAL_CFLAGS SYSTEMD_JOURNAL_LIBS with_systemdsystemunitdir +with_tmpfilesdir ECONF_CFLAGS ECONF_LIBS with_bashcompletiondir @@ -2075,7 +2114,7 @@ if test "$ac_init_help" = "long"; then # Omit some internal or obsolete options to make the list less imposing. # This message is too long to be a string in the A/UX 3.1 sh. cat <<_ACEOF -\`configure' configures util-linux 2.39.3 to adapt to many kinds of systems. +\`configure' configures util-linux 2.40 to adapt to many kinds of systems. Usage: $0 [OPTION]... [VAR=VALUE]... @@ -2146,7 +2185,7 @@ fi if test -n "$ac_init_help"; then case $ac_init_help in - short | recursive ) echo "Configuration of util-linux 2.39.3:";; + short | recursive ) echo "Configuration of util-linux 2.40:";; esac cat <<\_ACEOF @@ -2164,6 +2203,7 @@ Optional Features: --enable-asan compile with Address Sanitizer --enable-ubsan compile with UBsan --enable-fuzzing-engine compile with fuzzing engine + --enable-coverage compile with gcov --enable-shared[=PKGS] build shared libraries [default=yes] --enable-static[=PKGS] build static libraries [default=yes] --enable-fast-install[=PKGS] @@ -2188,6 +2228,8 @@ Optional Features: --disable-libuuid do not build libuuid and uuid utilities --enable-libuuid-force-uuidd support uuidd even though the daemon is not built + --disable-liblastlog2 do not build liblastlog2 and lastlog2 utilities + --disable-pam-lastlog2 do not build PAM lastlog2 module --disable-libblkid do not build libblkid and many related utilities --disable-libmount do not build libmount --disable-libmount-mountfd-support @@ -2245,6 +2287,7 @@ Optional Features: --disable-lsirq do not build lsirq --disable-lsns do not build lsns --disable-rfkill do not build rfkill + --disable-exch do not build exch --disable-scriptutils do not build script, scriptreplay and scriptlive --enable-tunelp build tunelp --disable-kill do not build kill @@ -2301,6 +2344,7 @@ Optional Features: install" --disable-colors-default do not colorize output from utils by default + --disable-year2038 don't support timestamps after 2038 Optional Packages: --with-PACKAGE[=ARG] use PACKAGE [ARG=yes] @@ -2340,6 +2384,8 @@ Optional Packages: --with-systemdsystemunitdir=DIR directory for systemd unit files (requires systemd support) + --with-tmpfilesdir=DIR directory for tmpfiles. See tmpfiles.d(5) for + details --with-smack build with SMACK support --without-econf do not use libeconf --with-vendordir=DIR Directory for distribution provided configuration @@ -2400,6 +2446,10 @@ Some influential environment variables: TINFO_CFLAGS C compiler flags for TINFO, overriding pkg-config TINFO_LIBS linker flags for TINFO, overriding pkg-config + SQLITE3_CFLAGS + C compiler flags for SQLITE3, overriding pkg-config + SQLITE3_LIBS + linker flags for SQLITE3, overriding pkg-config LIBUSER_CFLAGS C compiler flags for LIBUSER, overriding pkg-config LIBUSER_LIBS @@ -2418,6 +2468,8 @@ Some influential environment variables: linker flags for SYSTEMD_JOURNAL, overriding pkg-config with_systemdsystemunitdir value of systemdsystemunitdir for systemd, overriding pkg-config + with_tmpfilesdir + value of tmpfilesdir for systemd, overriding pkg-config ECONF_CFLAGS C compiler flags for ECONF, overriding pkg-config ECONF_LIBS linker flags for ECONF, overriding pkg-config @@ -2514,7 +2566,7 @@ fi test -n "$ac_init_help" && exit $ac_status if $ac_init_version; then cat <<\_ACEOF -util-linux configure 2.39.3 +util-linux configure 2.40 generated by GNU Autoconf 2.71 Copyright (C) 2021 Free Software Foundation, Inc. @@ -3106,7 +3158,7 @@ cat >config.log <<_ACEOF This file contains any messages produced by compilers while running configure, to aid debugging if configure makes a mistake. -It was created by util-linux $as_me 2.39.3, which was +It was created by util-linux $as_me 2.40, which was generated by GNU Autoconf 2.71. Invocation command line was $ $0$ac_configure_args_raw @@ -5891,7 +5943,7 @@ fi # Define the identity of the package. PACKAGE='util-linux' - VERSION='2.39.3' + VERSION='2.40' printf "%s\n" "#define PACKAGE \"$PACKAGE\"" >>confdefs.h @@ -6446,7 +6498,7 @@ PACKAGE_VERSION_RELEASE=$(echo $PACKAGE_VERSION | awk -F. '{ sub("-.*","",$3); print $3 ~ /^[0-9]+$/ ? $3 : 0}') LIBBLKID_VERSION="$PACKAGE_VERSION_MAJOR.$PACKAGE_VERSION_MINOR.$PACKAGE_VERSION_RELEASE" -LIBBLKID_DATE="04-Dec-2023" +LIBBLKID_DATE="27-Mar-2024" LIBBLKID_LT_MAJOR=1 LIBBLKID_LT_MINOR=1 LIBBLKID_LT_MICRO=0 @@ -6458,6 +6510,12 @@ LIBUUID_LT_MINOR=3 LIBUUID_LT_MICRO=0 LIBUUID_VERSION_INFO=`expr $LIBUUID_LT_MAJOR + $LIBUUID_LT_MINOR`:$LIBUUID_LT_MICRO:$LIBUUID_LT_MINOR +LIBLASTLOG2_VERSION="$PACKAGE_VERSION_MAJOR.$PACKAGE_VERSION_MINOR.$PACKAGE_VERSION_RELEASE" +LIBLASTLOG2_LT_MAJOR=2 +LIBLASTLOG2_LT_MINOR=0 +LIBLASTLOG2_LT_MICRO=0 +LIBLASTLOG2_VERSION_INFO=`expr $LIBLASTLOG2_LT_MAJOR + $LIBLASTLOG2_LT_MINOR`:$LIBLASTLOG2_LT_MICRO:$LIBLASTLOG2_LT_MINOR + LIBMOUNT_VERSION="$PACKAGE_VERSION_MAJOR.$PACKAGE_VERSION_MINOR.$PACKAGE_VERSION_RELEASE" LIBMOUNT_LT_MAJOR=1 LIBMOUNT_LT_MINOR=1 @@ -6541,6 +6599,8 @@ esac ;; esac + + # default for old versions without $runstatedir if test x"$runstatedir" = x then : @@ -6559,7 +6619,6 @@ esac - # The original default values of {bin,sbin,lib}dir usrbin_execdir='${exec_prefix}/bin' @@ -7429,6 +7488,99 @@ done test -n "$YACC" || YACC="yacc" +# Don't use autotools integrated LEX/YACC support for libsmartcols +# Extract the first word of "flex", so it can be a program name with args. +set dummy flex; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_path_FLEX+y} +then : + printf %s "(cached) " >&6 +else $as_nop + case $FLEX in + [\\/]* | ?:[\\/]*) + ac_cv_path_FLEX="$FLEX" # Let the user override the test with a path. + ;; + *) + as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then + ac_cv_path_FLEX="$as_dir$ac_word$ac_exec_ext" + printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + + ;; +esac +fi +FLEX=$ac_cv_path_FLEX +if test -n "$FLEX"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $FLEX" >&5 +printf "%s\n" "$FLEX" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + +# Extract the first word of "bison", so it can be a program name with args. +set dummy bison; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_path_BISON+y} +then : + printf %s "(cached) " >&6 +else $as_nop + case $BISON in + [\\/]* | ?:[\\/]*) + ac_cv_path_BISON="$BISON" # Let the user override the test with a path. + ;; + *) + as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then + ac_cv_path_BISON="$as_dir$ac_word$ac_exec_ext" + printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + + ;; +esac +fi +BISON=$ac_cv_path_BISON +if test -n "$BISON"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $BISON" >&5 +printf "%s\n" "$BISON" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + + + # Make sure we can run config.sub. $SHELL "${ac_aux_dir}config.sub" sun4 >/dev/null 2>&1 || @@ -8980,6 +9132,100 @@ then : fi + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether compiler handles -Wvla" >&5 +printf %s "checking whether compiler handles -Wvla... " >&6; } +if test ${ul_cv_warn__Wvla+y} +then : + printf %s "(cached) " >&6 +else $as_nop + + # store AC_LANG_WERROR status, then turn it on + save_ac_c_werror_flag="${ac_c_werror_flag}" + +ac_c_werror_flag=yes + + ul_save_CPPFLAGS="$CPPFLAGS" + CPPFLAGS="-Werror ${CPPFLAGS} -Wvla" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main (void) +{ + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_cpp "$LINENO" +then : + ul_cv_warn__Wvla=yes +else $as_nop + ul_cv_warn__Wvla=no +fi +rm -f conftest.err conftest.i conftest.$ac_ext + # restore AC_LANG_WERROR + ac_c_werror_flag="${save_ac_c_werror_flag}" + + CPPFLAGS="$ul_save_CPPFLAGS" + +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ul_cv_warn__Wvla" >&5 +printf "%s\n" "$ul_cv_warn__Wvla" >&6; } + if test "x$ul_cv_warn__Wvla" = xyes +then : + as_fn_append WARN_CFLAGS " -Wvla" +fi + + + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether compiler handles -Walloca" >&5 +printf %s "checking whether compiler handles -Walloca... " >&6; } +if test ${ul_cv_warn__Walloca+y} +then : + printf %s "(cached) " >&6 +else $as_nop + + # store AC_LANG_WERROR status, then turn it on + save_ac_c_werror_flag="${ac_c_werror_flag}" + +ac_c_werror_flag=yes + + ul_save_CPPFLAGS="$CPPFLAGS" + CPPFLAGS="-Werror ${CPPFLAGS} -Walloca" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main (void) +{ + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_cpp "$LINENO" +then : + ul_cv_warn__Walloca=yes +else $as_nop + ul_cv_warn__Walloca=no +fi +rm -f conftest.err conftest.i conftest.$ac_ext + # restore AC_LANG_WERROR + ac_c_werror_flag="${save_ac_c_werror_flag}" + + CPPFLAGS="$ul_save_CPPFLAGS" + +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ul_cv_warn__Walloca" >&5 +printf "%s\n" "$ul_cv_warn__Walloca" >&6; } + if test "x$ul_cv_warn__Walloca" = xyes +then : + as_fn_append WARN_CFLAGS " -Walloca" +fi + + # Check whether --enable-werror was given. if test ${enable_werror+y} then : @@ -9194,55 +9440,6 @@ fi - - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether compiler handles -Wno-unused-parameter" >&5 -printf %s "checking whether compiler handles -Wno-unused-parameter... " >&6; } -if test ${ul_cv_warn__Wno_unused_parameter+y} -then : - printf %s "(cached) " >&6 -else $as_nop - - # store AC_LANG_WERROR status, then turn it on - save_ac_c_werror_flag="${ac_c_werror_flag}" - -ac_c_werror_flag=yes - - ul_save_CPPFLAGS="$CPPFLAGS" - CPPFLAGS="-Werror ${CPPFLAGS} -Wno-unused-parameter" - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -int -main (void) -{ - - ; - return 0; -} -_ACEOF -if ac_fn_c_try_cpp "$LINENO" -then : - ul_cv_warn__Wno_unused_parameter=yes -else $as_nop - ul_cv_warn__Wno_unused_parameter=no -fi -rm -f conftest.err conftest.i conftest.$ac_ext - # restore AC_LANG_WERROR - ac_c_werror_flag="${save_ac_c_werror_flag}" - - CPPFLAGS="$ul_save_CPPFLAGS" - -fi -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ul_cv_warn__Wno_unused_parameter" >&5 -printf "%s\n" "$ul_cv_warn__Wno_unused_parameter" >&6; } - if test "x$ul_cv_warn__Wno_unused_parameter" = xyes -then : - as_fn_append NO_UNUSED_WARN_CFLAGS " -Wno-unused-parameter" -fi - - - - # Check whether --enable-asan was given. if test ${enable_asan+y} then : @@ -10049,6 +10246,78 @@ else fi +# Check whether --enable-coverage was given. +if test ${enable_coverage+y} +then : + enableval=$enable_coverage; +else $as_nop + enable_coverage=no + +fi + +if test "x$enable_coverage" = xyes +then : + + + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether compiler handles --coverage" >&5 +printf %s "checking whether compiler handles --coverage... " >&6; } +if test ${ul_cv_warn___coverage+y} +then : + printf %s "(cached) " >&6 +else $as_nop + + # store AC_LANG_WERROR status, then turn it on + save_ac_c_werror_flag="${ac_c_werror_flag}" + +ac_c_werror_flag=yes + + ul_save_CPPFLAGS="$CPPFLAGS" + CPPFLAGS="-Werror ${CPPFLAGS} --coverage" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main (void) +{ + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_cpp "$LINENO" +then : + ul_cv_warn___coverage=yes +else $as_nop + ul_cv_warn___coverage=no +fi +rm -f conftest.err conftest.i conftest.$ac_ext + # restore AC_LANG_WERROR + ac_c_werror_flag="${save_ac_c_werror_flag}" + + CPPFLAGS="$ul_save_CPPFLAGS" + +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ul_cv_warn___coverage" >&5 +printf "%s\n" "$ul_cv_warn___coverage" >&6; } + if test "x$ul_cv_warn___coverage" = xyes +then : + as_fn_append WARN_CFLAGS " --coverage" +fi + + COVERAGE_LDFLAGS="--coverage" + +fi + + if test "x$enable_coverage" = xyes; then + WITH_COVERAGE_TRUE= + WITH_COVERAGE_FALSE='#' +else + WITH_COVERAGE_TRUE='#' + WITH_COVERAGE_FALSE= +fi + + case `pwd` in *\ * | *\ *) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: Libtool does not cope well with whitespace in \`pwd\`" >&5 @@ -22610,6 +22879,120 @@ printf "%s\n" "#define HAVE_TZNAME 1" >>confdefs.h fi + if test "$enable_year2038" != no +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $CC option for timestamps after 2038" >&5 +printf %s "checking for $CC option for timestamps after 2038... " >&6; } +if test ${ac_cv_sys_year2038_opts+y} +then : + printf %s "(cached) " >&6 +else $as_nop + ac_save_CPPFLAGS="$CPPFLAGS" + ac_opt_found=no + for ac_opt in "none needed" "-D_TIME_BITS=64" "-D__MINGW_USE_VC2005_COMPAT" "-U_USE_32_BIT_TIME_T -D__MINGW_USE_VC2005_COMPAT"; do + if test x"$ac_opt" != x"none needed" +then : + CPPFLAGS="$ac_save_CPPFLAGS $ac_opt" +fi + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + + #include <time.h> + /* Check that time_t can represent 2**32 - 1 correctly. */ + #define LARGE_TIME_T \\ + ((time_t) (((time_t) 1 << 30) - 1 + 3 * ((time_t) 1 << 30))) + int verify_time_t_range[(LARGE_TIME_T / 65537 == 65535 + && LARGE_TIME_T % 65537 == 0) + ? 1 : -1]; + +int +main (void) +{ + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO" +then : + ac_cv_sys_year2038_opts="$ac_opt" + ac_opt_found=yes +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext + test $ac_opt_found = no || break + done + CPPFLAGS="$ac_save_CPPFLAGS" + test $ac_opt_found = yes || ac_cv_sys_year2038_opts="support not detected" +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sys_year2038_opts" >&5 +printf "%s\n" "$ac_cv_sys_year2038_opts" >&6; } + +ac_have_year2038=yes +case $ac_cv_sys_year2038_opts in #( + "none needed") : + ;; #( + "support not detected") : + ac_have_year2038=no ;; #( + "-D_TIME_BITS=64") : + +printf "%s\n" "#define _TIME_BITS 64" >>confdefs.h + ;; #( + "-D__MINGW_USE_VC2005_COMPAT") : + +printf "%s\n" "#define __MINGW_USE_VC2005_COMPAT 1" >>confdefs.h + ;; #( + "-U_USE_32_BIT_TIME_T"*) : + { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +printf "%s\n" "$as_me: error: in \`$ac_pwd':" >&2;} +as_fn_error $? "the 'time_t' type is currently forced to be 32-bit. It +will stop working after mid-January 2038. Remove +_USE_32BIT_TIME_T from the compiler flags. +See \`config.log' for more details" "$LINENO" 5; } ;; #( + *) : + as_fn_error $? "internal error: bad value for \$ac_cv_sys_year2038_opts" "$LINENO" 5 ;; +esac + +fi + +if test "$enable_year2038,$ac_have_year2038,$cross_compiling" = yes,no,no +then : + # If we're not cross compiling and 'touch' works with a large + # timestamp, then we can presume the system supports wider time_t + # *somehow* and we just weren't able to detect it. One common + # case that we deliberately *don't* probe for is a system that + # supports both 32- and 64-bit ABIs but only the 64-bit ABI offers + # wide time_t. (It would be inappropriate for us to override an + # intentional use of -m32.) Error out, demanding use of + # --disable-year2038 if this is intentional. + if TZ=UTC0 touch -t 210602070628.15 conftest.time 2>/dev/null +then : + case `TZ=UTC0 LC_ALL=C ls -l conftest.time 2>/dev/null` in #( + *'Feb 7 2106'* | *'Feb 7 17:10'*) : + { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +printf "%s\n" "$as_me: error: in \`$ac_pwd':" >&2;} +as_fn_error $? "this system appears to support timestamps after +mid-January 2038, but no mechanism for enabling wide +'time_t' was detected. Did you mean to build a 64-bit +binary? (E.g., 'CC=\"${CC} -m64\"'.) To proceed with +32-bit time_t, configure with '--disable-year2038'. +See \`config.log' for more details" "$LINENO" 5; } ;; #( + *) : + ;; +esac +fi +fi +if test "$enable_year2038,$ac_have_year2038" = yes,no +then : + { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +printf "%s\n" "$as_me: error: in \`$ac_pwd':" >&2;} +as_fn_error $? "could not enable timestamps after mid-January 2038. +This package recommends support for these later +timestamps. However, to proceed with signed 32-bit +time_t even though it will fail then, configure with +'--disable-year2038'. +See \`config.log' for more details" "$LINENO" 5; } +fi + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether NLS is requested" >&5 @@ -24876,6 +25259,12 @@ then : printf "%s\n" "#define HAVE_LINUX_FIEMAP_H 1" >>confdefs.h fi +ac_fn_c_check_header_compile "$LINENO" "linux/landlock.h" "ac_cv_header_linux_landlock_h" "$ac_includes_default" +if test "x$ac_cv_header_linux_landlock_h" = xyes +then : + printf "%s\n" "#define HAVE_LINUX_LANDLOCK_H 1" >>confdefs.h + +fi ac_fn_c_check_header_compile "$LINENO" "linux/kcmp.h" "ac_cv_header_linux_kcmp_h" "$ac_includes_default" if test "x$ac_cv_header_linux_kcmp_h" = xyes then : @@ -24984,6 +25373,12 @@ then : printf "%s\n" "#define HAVE_SECURITY_PAM_APPL_H 1" >>confdefs.h fi +ac_fn_c_check_header_compile "$LINENO" "security/pam_modules.h" "ac_cv_header_security_pam_modules_h" "$ac_includes_default" +if test "x$ac_cv_header_security_pam_modules_h" = xyes +then : + printf "%s\n" "#define HAVE_SECURITY_PAM_MODULES_H 1" >>confdefs.h + +fi ac_fn_c_check_header_compile "$LINENO" "shadow.h" "ac_cv_header_shadow_h" "$ac_includes_default" if test "x$ac_cv_header_shadow_h" = xyes then : @@ -25454,6 +25849,7 @@ have_pty_h=$ac_cv_header_pty_h have_security_openpam_h=$ac_cv_header_security_openpam_h have_security_pam_appl_h=$ac_cv_header_security_pam_appl_h have_security_pam_misc_h=$ac_cv_header_security_pam_misc_h +have_security_pam_modules_h=$ac_cv_header_security_pam_modules_h have_shadow_h=$ac_cv_header_shadow_h have_sys_signalfd_h=$ac_cv_header_sys_signalfd_h have_utmpx_h=$ac_cv_header_utmpx_h @@ -25622,6 +26018,12 @@ else $as_nop have_so_passcred=no fi +ac_fn_c_check_func "$LINENO" "cachestat" "ac_cv_func_cachestat" +if test "x$ac_cv_func_cachestat" = xyes +then : + printf "%s\n" "#define HAVE_CACHESTAT 1" >>confdefs.h + +fi ac_fn_c_check_func "$LINENO" "clearenv" "ac_cv_func_clearenv" if test "x$ac_cv_func_clearenv" = xyes then : @@ -25772,6 +26174,24 @@ then : printf "%s\n" "#define HAVE_JRAND48 1" >>confdefs.h fi +ac_fn_c_check_func "$LINENO" "landlock_create_ruleset" "ac_cv_func_landlock_create_ruleset" +if test "x$ac_cv_func_landlock_create_ruleset" = xyes +then : + printf "%s\n" "#define HAVE_LANDLOCK_CREATE_RULESET 1" >>confdefs.h + +fi +ac_fn_c_check_func "$LINENO" "landlock_add_rule" "ac_cv_func_landlock_add_rule" +if test "x$ac_cv_func_landlock_add_rule" = xyes +then : + printf "%s\n" "#define HAVE_LANDLOCK_ADD_RULE 1" >>confdefs.h + +fi +ac_fn_c_check_func "$LINENO" "landlock_restrict_self" "ac_cv_func_landlock_restrict_self" +if test "x$ac_cv_func_landlock_restrict_self" = xyes +then : + printf "%s\n" "#define HAVE_LANDLOCK_RESTRICT_SELF 1" >>confdefs.h + +fi ac_fn_c_check_func "$LINENO" "lchown" "ac_cv_func_lchown" if test "x$ac_cv_func_lchown" = xyes then : @@ -25880,6 +26300,18 @@ then : printf "%s\n" "#define HAVE_QSORT_R 1" >>confdefs.h fi +ac_fn_c_check_func "$LINENO" "reallocarray" "ac_cv_func_reallocarray" +if test "x$ac_cv_func_reallocarray" = xyes +then : + printf "%s\n" "#define HAVE_REALLOCARRAY 1" >>confdefs.h + +fi +ac_fn_c_check_func "$LINENO" "renameat2" "ac_cv_func_renameat2" +if test "x$ac_cv_func_renameat2" = xyes +then : + printf "%s\n" "#define HAVE_RENAMEAT2 1" >>confdefs.h + +fi ac_fn_c_check_func "$LINENO" "rpmatch" "ac_cv_func_rpmatch" if test "x$ac_cv_func_rpmatch" = xyes then : @@ -26223,6 +26655,14 @@ else HAVE_OPENAT_FALSE= fi + if test "x$ac_cv_header_linux_landlock_h" = xyes; then + HAVE_LINUX_LANDLOCK_H_TRUE= + HAVE_LINUX_LANDLOCK_H_FALSE='#' +else + HAVE_LINUX_LANDLOCK_H_TRUE='#' + HAVE_LINUX_LANDLOCK_H_FALSE= +fi + have_setns_syscall="yes" @@ -26526,7 +26966,6 @@ printf "%s\n" "#define SYS_close_range $ul_cv_syscall_close_range" >>confdefs.h - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for syscall fsconfig" >&5 printf %s "checking for syscall fsconfig... " >&6; } if test ${ul_cv_syscall_fsconfig+y} @@ -27554,6 +27993,48 @@ else fi +MQ_LIBS= +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for mq_open in -lrt" >&5 +printf %s "checking for mq_open in -lrt... " >&6; } +if test ${ac_cv_lib_rt_mq_open+y} +then : + printf %s "(cached) " >&6 +else $as_nop + ac_check_lib_save_LIBS=$LIBS +LIBS="-lrt $LIBS" +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +char mq_open (); +int +main (void) +{ +return mq_open (); + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO" +then : + ac_cv_lib_rt_mq_open=yes +else $as_nop + ac_cv_lib_rt_mq_open=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_rt_mq_open" >&5 +printf "%s\n" "$ac_cv_lib_rt_mq_open" >&6; } +if test "x$ac_cv_lib_rt_mq_open" = xyes +then : + MQ_LIBS="-lrt" +fi + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether program_invocation_short_name is defined" >&5 printf %s "checking whether program_invocation_short_name is defined... " >&6; } @@ -30779,6 +31260,241 @@ printf "%s\n" "#define HAVE_LIBUUID 1" >>confdefs.h fi +# Check whether --enable-liblastlog2 was given. +if test ${enable_liblastlog2+y} +then : + enableval=$enable_liblastlog2; +else $as_nop + + + if test "x$ul_default_estate" != x; then + enable_liblastlog2=$ul_default_estate + else + enable_liblastlog2=yes + fi + + +fi + + + + if test "x$enable_liblastlog2" = xno; then + build_liblastlog2=no +else + build_liblastlog2=yes +fi + + +have_sqlite3=no +if test "x$build_liblastlog2" = xyes +then : + + +pkg_failed=no +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for sqlite3" >&5 +printf %s "checking for sqlite3... " >&6; } + +if test -n "$SQLITE3_CFLAGS"; then + pkg_cv_SQLITE3_CFLAGS="$SQLITE3_CFLAGS" + elif test -n "$PKG_CONFIG"; then + if test -n "$PKG_CONFIG" && \ + { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"sqlite3\""; } >&5 + ($PKG_CONFIG --exists --print-errors "sqlite3") 2>&5 + ac_status=$? + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; }; then + pkg_cv_SQLITE3_CFLAGS=`$PKG_CONFIG --cflags "sqlite3" 2>/dev/null` + test "x$?" != "x0" && pkg_failed=yes +else + pkg_failed=yes +fi + else + pkg_failed=untried +fi +if test -n "$SQLITE3_LIBS"; then + pkg_cv_SQLITE3_LIBS="$SQLITE3_LIBS" + elif test -n "$PKG_CONFIG"; then + if test -n "$PKG_CONFIG" && \ + { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"sqlite3\""; } >&5 + ($PKG_CONFIG --exists --print-errors "sqlite3") 2>&5 + ac_status=$? + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; }; then + pkg_cv_SQLITE3_LIBS=`$PKG_CONFIG --libs "sqlite3" 2>/dev/null` + test "x$?" != "x0" && pkg_failed=yes +else + pkg_failed=yes +fi + else + pkg_failed=untried +fi + + + +if test $pkg_failed = yes; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } + +if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then + _pkg_short_errors_supported=yes +else + _pkg_short_errors_supported=no +fi + if test $_pkg_short_errors_supported = yes; then + SQLITE3_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors --cflags --libs "sqlite3" 2>&1` + else + SQLITE3_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs "sqlite3" 2>&1` + fi + # Put the nasty error message in config.log where it belongs + echo "$SQLITE3_PKG_ERRORS" >&5 + + have_sqlite3=no +elif test $pkg_failed = untried; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } + have_sqlite3=no +else + SQLITE3_CFLAGS=$pkg_cv_SQLITE3_CFLAGS + SQLITE3_LIBS=$pkg_cv_SQLITE3_LIBS + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +printf "%s\n" "yes" >&6; } + have_sqlite3=yes +fi + +fi + + + + if test "x$build_liblastlog2" != xno; then + + ul_haveone_liblastlog2=no + + if test "x$have_sqlite3" = xyes; then + ul_haveone_liblastlog2=yes + fi + + case $enable_liblastlog2:$ul_haveone_liblastlog2 in #( + no:*) + build_liblastlog2=no ;; + yes:yes) + build_liblastlog2=yes ;; + yes:*) + as_fn_error $? "liblastlog2 selected, but required sqlite3 library not available" "$LINENO" 5;; + check:yes) + build_liblastlog2=yes ;; + check:*) + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: sqlite3 library not found; not building liblastlog2" >&5 +printf "%s\n" "$as_me: WARNING: sqlite3 library not found; not building liblastlog2" >&2;} + build_liblastlog2=no ;; + esac + fi + + + + + + +printf "%s\n" "#define LIBLASTLOG2_VERSION \"$LIBLASTLOG2_VERSION\"" >>confdefs.h + + if test "x$build_liblastlog2" = xyes; then + BUILD_LIBLASTLOG2_TRUE= + BUILD_LIBLASTLOG2_FALSE='#' +else + BUILD_LIBLASTLOG2_TRUE='#' + BUILD_LIBLASTLOG2_FALSE= +fi + + if test "x$build_liblastlog2" = xyes && test "x$enable_static" = xyes; then + BUILD_LIBLASTLOG2_TESTS_TRUE= + BUILD_LIBLASTLOG2_TESTS_FALSE='#' +else + BUILD_LIBLASTLOG2_TESTS_TRUE='#' + BUILD_LIBLASTLOG2_TESTS_FALSE= +fi + + + +# Check whether --enable-pam_lastlog2 was given. +if test ${enable_pam_lastlog2+y} +then : + enableval=$enable_pam_lastlog2; +else $as_nop + + + if test "x$ul_default_estate" != x; then + enable_pam_lastlog2=$ul_default_estate + else + enable_pam_lastlog2=check + fi + + +fi + + + + if test "x$enable_pam_lastlog2" = xno; then + build_pam_lastlog2=no +else + build_pam_lastlog2=yes +fi + + + + + if test "x$build_pam_lastlog2" != xno; then + case $enable_pam_lastlog2:$build_liblastlog2 in #( + no:*) + build_pam_lastlog2=no ;; + yes:yes) + build_pam_lastlog2=yes ;; + yes:*) + as_fn_error $? "liblastlog2 is needed to build pam_lastlog2" "$LINENO" 5;; + check:yes) + build_pam_lastlog2=yes ;; + check:*) + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: liblastlog2 disabled; not building pam_lastlog2" >&5 +printf "%s\n" "$as_me: WARNING: liblastlog2 disabled; not building pam_lastlog2" >&2;} + build_pam_lastlog2=no ;; + esac + fi + + + + + if test "x$build_pam_lastlog2" != xno; then + + ul_haveone_pam_lastlog2=no + + if test "x$have_security_pam_modules_h" = xyes; then + ul_haveone_pam_lastlog2=yes + fi + + case $enable_pam_lastlog2:$ul_haveone_pam_lastlog2 in #( + no:*) + build_pam_lastlog2=no ;; + yes:yes) + build_pam_lastlog2=yes ;; + yes:*) + as_fn_error $? "pam_lastlog2 selected, but required pam_modules.h header file not available" "$LINENO" 5;; + check:yes) + build_pam_lastlog2=yes ;; + check:*) + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: pam_modules.h header file not found; not building pam_lastlog2" >&5 +printf "%s\n" "$as_me: WARNING: pam_modules.h header file not found; not building pam_lastlog2" >&2;} + build_pam_lastlog2=no ;; + esac + fi + + if test "x$build_pam_lastlog2" = xyes; then + BUILD_PAM_LASTLOG2_TRUE= + BUILD_PAM_LASTLOG2_FALSE='#' +else + BUILD_PAM_LASTLOG2_TRUE='#' + BUILD_PAM_LASTLOG2_FALSE= +fi + + + # Check whether --enable-libblkid was given. if test ${enable_libblkid+y} then : @@ -34944,33 +35660,6 @@ printf "%s\n" "$as_me: WARNING: libsmartcols disabled; not building lsfd" >&2;} esac fi - - - - if test "x$build_lsfd" != xno; then - - ul_haveone_lsfd=no - - if test "x$have_linux_kcmp_h" = xyes; then - ul_haveone_lsfd=yes - fi - - case $enable_lsfd:$ul_haveone_lsfd in #( - no:*) - build_lsfd=no ;; - yes:yes) - build_lsfd=yes ;; - yes:*) - as_fn_error $? "lsfd selected, but required linux/kcmp.h header file not available" "$LINENO" 5;; - check:yes) - build_lsfd=yes ;; - check:*) - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: linux/kcmp.h header file not found; not building lsfd" >&5 -printf "%s\n" "$as_me: WARNING: linux/kcmp.h header file not found; not building lsfd" >&2;} - build_lsfd=no ;; - esac - fi - if test "x$build_lsfd" = xyes; then BUILD_LSFD_TRUE= BUILD_LSFD_FALSE='#' @@ -35784,6 +36473,141 @@ fi if test "x$ul_default_estate" != x; then + enable_enosys=$ul_default_estate + build_enosys=yes + if test "x$ul_default_estate" = xno; then + build_enosys=no + fi +else + + build_enosys=yes + enable_enosys=check +fi + + + + if test "x$build_enosys" != xno; then + + case $enable_enosys:$linux_os in #( + no:*) + build_enosys=no ;; + yes:yes) + build_enosys=yes ;; + yes:*) + as_fn_error $? "enosys selected for non-linux system" "$LINENO" 5;; + check:yes) + build_enosys=yes ;; + check:*) + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: non-linux system; not building enosys" >&5 +printf "%s\n" "$as_me: WARNING: non-linux system; not building enosys" >&2;} + build_enosys=no ;; + esac + fi + +if test "x$build_enosys" = xyes +then : + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for valid audit arch" >&5 +printf %s "checking for valid audit arch... " >&6; } + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include "${srcdir}/include/audit-arch.h" +int +main (void) +{ + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO" +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +printf "%s\n" "yes" >&6; } +else $as_nop + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } + build_enosys=no + +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext + +fi + if test "x$build_enosys" = xyes; then + BUILD_ENOSYS_TRUE= + BUILD_ENOSYS_FALSE='#' +else + BUILD_ENOSYS_TRUE='#' + BUILD_ENOSYS_FALSE= +fi + + + + + if test "x$ul_default_estate" != x; then + enable_lsclocks=$ul_default_estate + build_lsclocks=yes + if test "x$ul_default_estate" = xno; then + build_lsclocks=no + fi +else + + build_lsclocks=yes + enable_lsclocks=check +fi + + + + if test "x$build_lsclocks" != xno; then + + case $enable_lsclocks:$linux_os in #( + no:*) + build_lsclocks=no ;; + yes:yes) + build_lsclocks=yes ;; + yes:*) + as_fn_error $? "lsclocks selected for non-linux system" "$LINENO" 5;; + check:yes) + build_lsclocks=yes ;; + check:*) + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: non-linux system; not building lsclocks" >&5 +printf "%s\n" "$as_me: WARNING: non-linux system; not building lsclocks" >&2;} + build_lsclocks=no ;; + esac + fi + + + + + if test "x$build_lsclocks" != xno; then + case $enable_lsclocks:$build_libsmartcols in #( + no:*) + build_lsclocks=no ;; + yes:yes) + build_lsclocks=yes ;; + yes:*) + as_fn_error $? "libsmartcols is needed to build lsclocks" "$LINENO" 5;; + check:yes) + build_lsclocks=yes ;; + check:*) + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: libsmartcols disabled; not building lsclocks" >&5 +printf "%s\n" "$as_me: WARNING: libsmartcols disabled; not building lsclocks" >&2;} + build_lsclocks=no ;; + esac + fi + + if test "x$build_lsclocks" = xyes; then + BUILD_LSCLOCKS_TRUE= + BUILD_LSCLOCKS_FALSE='#' +else + BUILD_LSCLOCKS_TRUE='#' + BUILD_LSCLOCKS_FALSE= +fi + + + + + if test "x$ul_default_estate" != x; then enable_getopt=$ul_default_estate build_getopt=yes if test "x$ul_default_estate" = xno; then @@ -37248,6 +38072,29 @@ fi if test "x$ul_default_estate" != x; then + enable_setpgid=$ul_default_estate + build_setpgid=yes + if test "x$ul_default_estate" = xno; then + build_setpgid=no + fi +else + + build_setpgid=yes + enable_setpgid=yes +fi + + if test "x$build_setpgid" = xyes; then + BUILD_SETPGID_TRUE= + BUILD_SETPGID_FALSE='#' +else + BUILD_SETPGID_TRUE='#' + BUILD_SETPGID_FALSE= +fi + + + + + if test "x$ul_default_estate" != x; then enable_setsid=$ul_default_estate build_setsid=yes if test "x$ul_default_estate" = xno; then @@ -37424,6 +38271,155 @@ else fi +# Check whether --enable-exch was given. +if test ${enable_exch+y} +then : + enableval=$enable_exch; +else $as_nop + + + if test "x$ul_default_estate" != x; then + enable_exch=$ul_default_estate + else + enable_exch=check + fi + + +fi + + + + if test "x$enable_exch" = xno; then + build_exch=no +else + build_exch=yes +fi + + + + if test "x$build_exch" != xno; then + + case $enable_exch:$linux_os in #( + no:*) + build_exch=no ;; + yes:yes) + build_exch=yes ;; + yes:*) + as_fn_error $? "exch selected for non-linux system" "$LINENO" 5;; + check:yes) + build_exch=yes ;; + check:*) + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: non-linux system; not building exch" >&5 +printf "%s\n" "$as_me: WARNING: non-linux system; not building exch" >&2;} + build_exch=no ;; + esac + fi + + + + + + if test "x$build_exch" != xno; then + if test "x$enable_exch" = xno; then + build_exch=no + else + + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for syscall renameat2" >&5 +printf %s "checking for syscall renameat2... " >&6; } +if test ${ul_cv_syscall_renameat2+y} +then : + printf %s "(cached) " >&6 +else $as_nop + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +#include <sys/syscall.h> +#include <unistd.h> + +int +main (void) +{ +int test = SYS_renameat2; + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO" +then : + syscall=SYS_renameat2 +else $as_nop + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +#include <sys/syscall.h> +#include <unistd.h> + +int +main (void) +{ +int test = __NR_renameat2; + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO" +then : + syscall=__NR_renameat2 +else $as_nop + + syscall=no + if test "x$linux_os" = xyes; then + case $host_cpu in + + esac + fi + +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext + + +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext + + ul_cv_syscall_renameat2=$syscall + +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ul_cv_syscall_renameat2" >&5 +printf "%s\n" "$ul_cv_syscall_renameat2" >&6; } + case $ul_cv_syscall_renameat2 in #( + no) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: Unable to detect syscall renameat2." >&5 +printf "%s\n" "$as_me: WARNING: Unable to detect syscall renameat2." >&2;} ;; + SYS_*) ;; + *) +printf "%s\n" "#define SYS_renameat2 $ul_cv_syscall_renameat2" >>confdefs.h + ;; + esac + + case $enable_exch:$ul_cv_syscall_exch in #( + no:*) + build_exch=no ;; + yes:no) + as_fn_error $? "exch selected but exch syscall not found" "$LINENO" 5 ;; + check:no) + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: exch syscall not found; not building exch" >&5 +printf "%s\n" "$as_me: WARNING: exch syscall not found; not building exch" >&2;} + build_exch=no ;; + *) + build_exch=yes ;; + esac + fi + fi + + if test "x$build_exch" = xyes; then + BUILD_EXCH_TRUE= + BUILD_EXCH_FALSE='#' +else + BUILD_EXCH_TRUE='#' + BUILD_EXCH_FALSE= +fi + + if test "x$ul_default_estate" != x; then @@ -37997,9 +38993,55 @@ fi else build_col=yes - enable_col=yes + enable_col=check fi + + + + if test "x$build_col" != xno; then + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking building for glibc" >&5 +printf %s "checking building for glibc... " >&6; } + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include <limits.h> +int +main (void) +{ +__GLIBC__ + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO" +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +printf "%s\n" "yes" >&6; } + ul_haveprogram_col=yes +else $as_nop + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } + ul_haveprogram_col=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext + + case $enable_col:$ul_haveprogram_col in #( + no:*) + build_col=no ;; + yes:yes) + build_col=yes ;; + yes:*) + as_fn_error $? "col selected, but required building for glibc not available" "$LINENO" 5;; + check:yes) + build_col=yes ;; + check:*) + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: building for glibc not found; not building col" >&5 +printf "%s\n" "$as_me: WARNING: building for glibc not found; not building col" >&2;} + build_col=no ;; + esac + fi + if test "x$build_col" = xyes; then BUILD_COL_TRUE= BUILD_COL_FALSE='#' @@ -40944,6 +41986,16 @@ printf "%s\n" "#define HAVE_LIBSYSTEMD 1" >>confdefs.h printf "%s\n" "#define USE_SYSTEMD 1" >>confdefs.h + ac_fn_check_decl "$LINENO" "sd_session_get_username" "ac_cv_have_decl_sd_session_get_username" "#include <systemd/sd-login.h> +" "$ac_c_undeclared_builtin_options" "CFLAGS" +if test "x$ac_cv_have_decl_sd_session_get_username" = xyes +then : + ac_have_decl=1 +else $as_nop + ac_have_decl=0 +fi +printf "%s\n" "#define HAVE_DECL_SD_SESSION_GET_USERNAME $ac_have_decl" >>confdefs.h + ;; #( *) : ;; @@ -41008,6 +42060,52 @@ then : fi +# Check whether --with-tmpfilesdir was given. +if test ${with_tmpfilesdir+y} +then : + withval=$with_tmpfilesdir; +else $as_nop + + if test "x$have_systemd" = xyes +then : + + +if test -n "$with_tmpfilesdir"; then + pkg_cv_with_tmpfilesdir="$with_tmpfilesdir" + elif test -n "$PKG_CONFIG"; then + if test -n "$PKG_CONFIG" && \ + { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"systemd\""; } >&5 + ($PKG_CONFIG --exists --print-errors "systemd") 2>&5 + ac_status=$? + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; }; then + pkg_cv_with_tmpfilesdir=`$PKG_CONFIG --variable="tmpfilesdir" "systemd" 2>/dev/null` + test "x$?" != "x0" && pkg_failed=yes +else + pkg_failed=yes +fi + else + pkg_failed=untried +fi +with_tmpfilesdir=$pkg_cv_with_tmpfilesdir + +if test "x$with_tmpfilesdir" = x"" +then : + with_tmpfilesdir=no +fi + +fi + +fi + +if test "x$with_tmpfilesdir" != "xno" +then : + + tmpfilesdir=$with_tmpfilesdir + + +fi + # Check whether --with-smack was given. if test ${with_smack+y} @@ -42606,6 +43704,10 @@ if test -z "${OSS_FUZZ_TRUE}" && test -z "${OSS_FUZZ_FALSE}"; then as_fn_error $? "conditional \"OSS_FUZZ\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 fi +if test -z "${WITH_COVERAGE_TRUE}" && test -z "${WITH_COVERAGE_FALSE}"; then + as_fn_error $? "conditional \"WITH_COVERAGE\" was never defined. +Usually this means the macro was only invoked conditionally." "$LINENO" 5 +fi if test -z "${HAVE_VSCRIPT_TRUE}" && test -z "${HAVE_VSCRIPT_FALSE}"; then as_fn_error $? "conditional \"HAVE_VSCRIPT\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 @@ -42670,6 +43772,12 @@ if test -z "${ARCH_HPPA_TRUE}" && test -z "${ARCH_HPPA_FALSE}"; then as_fn_error $? "conditional \"ARCH_HPPA\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 fi +# Check whether --enable-year2038 was given. +if test ${enable_year2038+y} +then : + enableval=$enable_year2038; +fi + if test -z "${HAVE_LINUXPAM_TRUE}" && test -z "${HAVE_LINUXPAM_FALSE}"; then as_fn_error $? "conditional \"HAVE_LINUXPAM\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 @@ -42690,6 +43798,10 @@ if test -z "${HAVE_OPENAT_TRUE}" && test -z "${HAVE_OPENAT_FALSE}"; then as_fn_error $? "conditional \"HAVE_OPENAT\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 fi +if test -z "${HAVE_LINUX_LANDLOCK_H_TRUE}" && test -z "${HAVE_LINUX_LANDLOCK_H_FALSE}"; then + as_fn_error $? "conditional \"HAVE_LINUX_LANDLOCK_H\" was never defined. +Usually this means the macro was only invoked conditionally." "$LINENO" 5 +fi if test -z "${HAVE_DIRFD_TRUE}" && test -z "${HAVE_DIRFD_FALSE}"; then as_fn_error $? "conditional \"HAVE_DIRFD\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 @@ -42822,6 +43934,18 @@ if test -z "${BUILD_LIBUUID_TRUE}" && test -z "${BUILD_LIBUUID_FALSE}"; then as_fn_error $? "conditional \"BUILD_LIBUUID\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 fi +if test -z "${BUILD_LIBLASTLOG2_TRUE}" && test -z "${BUILD_LIBLASTLOG2_FALSE}"; then + as_fn_error $? "conditional \"BUILD_LIBLASTLOG2\" was never defined. +Usually this means the macro was only invoked conditionally." "$LINENO" 5 +fi +if test -z "${BUILD_LIBLASTLOG2_TESTS_TRUE}" && test -z "${BUILD_LIBLASTLOG2_TESTS_FALSE}"; then + as_fn_error $? "conditional \"BUILD_LIBLASTLOG2_TESTS\" was never defined. +Usually this means the macro was only invoked conditionally." "$LINENO" 5 +fi +if test -z "${BUILD_PAM_LASTLOG2_TRUE}" && test -z "${BUILD_PAM_LASTLOG2_FALSE}"; then + as_fn_error $? "conditional \"BUILD_PAM_LASTLOG2\" was never defined. +Usually this means the macro was only invoked conditionally." "$LINENO" 5 +fi if test -z "${BUILD_LIBBLKID_TRUE}" && test -z "${BUILD_LIBBLKID_FALSE}"; then as_fn_error $? "conditional \"BUILD_LIBBLKID\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 @@ -43066,6 +44190,14 @@ if test -z "${BUILD_WAITPID_TRUE}" && test -z "${BUILD_WAITPID_FALSE}"; then as_fn_error $? "conditional \"BUILD_WAITPID\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 fi +if test -z "${BUILD_ENOSYS_TRUE}" && test -z "${BUILD_ENOSYS_FALSE}"; then + as_fn_error $? "conditional \"BUILD_ENOSYS\" was never defined. +Usually this means the macro was only invoked conditionally." "$LINENO" 5 +fi +if test -z "${BUILD_LSCLOCKS_TRUE}" && test -z "${BUILD_LSCLOCKS_FALSE}"; then + as_fn_error $? "conditional \"BUILD_LSCLOCKS\" was never defined. +Usually this means the macro was only invoked conditionally." "$LINENO" 5 +fi if test -z "${BUILD_GETOPT_TRUE}" && test -z "${BUILD_GETOPT_FALSE}"; then as_fn_error $? "conditional \"BUILD_GETOPT\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 @@ -43142,6 +44274,10 @@ if test -z "${BUILD_RFKILL_TRUE}" && test -z "${BUILD_RFKILL_FALSE}"; then as_fn_error $? "conditional \"BUILD_RFKILL\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 fi +if test -z "${BUILD_SETPGID_TRUE}" && test -z "${BUILD_SETPGID_FALSE}"; then + as_fn_error $? "conditional \"BUILD_SETPGID\" was never defined. +Usually this means the macro was only invoked conditionally." "$LINENO" 5 +fi if test -z "${BUILD_SETSID_TRUE}" && test -z "${BUILD_SETSID_FALSE}"; then as_fn_error $? "conditional \"BUILD_SETSID\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 @@ -43158,6 +44294,10 @@ if test -z "${BUILD_CTRLALTDEL_TRUE}" && test -z "${BUILD_CTRLALTDEL_FALSE}"; th as_fn_error $? "conditional \"BUILD_CTRLALTDEL\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 fi +if test -z "${BUILD_EXCH_TRUE}" && test -z "${BUILD_EXCH_FALSE}"; then + as_fn_error $? "conditional \"BUILD_EXCH\" was never defined. +Usually this means the macro was only invoked conditionally." "$LINENO" 5 +fi if test -z "${BUILD_FINCORE_TRUE}" && test -z "${BUILD_FINCORE_FALSE}"; then as_fn_error $? "conditional \"BUILD_FINCORE\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 @@ -43800,7 +44940,7 @@ cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 # report actual input values of CONFIG_FILES etc. instead of their # values after options handling. ac_log=" -This file was extended by util-linux $as_me 2.39.3, which was +This file was extended by util-linux $as_me 2.40, which was generated by GNU Autoconf 2.71. Invocation command line was CONFIG_FILES = $CONFIG_FILES @@ -43869,7 +45009,7 @@ ac_cs_config_escaped=`printf "%s\n" "$ac_cs_config" | sed "s/^ //; s/'/'\\\\\\\\ cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 ac_cs_config='$ac_cs_config_escaped' ac_cs_version="\\ -util-linux config.status 2.39.3 +util-linux config.status 2.40 configured by $0, generated by GNU Autoconf 2.71, with options \\"\$ac_cs_config\\" @@ -45996,8 +47136,10 @@ fi Bash completions: ${with_bashcompletiondir} Systemd support: ${have_systemd} Systemd unitdir: ${with_systemdsystemunitdir} + tmpfilesdir: ${with_tmpfilesdir} libeconf support: ${have_econf} Btrfs support: ${have_btrfs} + lastlog2 support: ${build_liblastlog2} Wide-char support: ${build_widechar} libcryptsetup support: ${have_cryptsetup} @@ -46009,7 +47151,8 @@ fi ldflags: ${LDFLAGS} suid ldflags: ${SUID_LDFLAGS} ASAN enabled: ${enable_asan} - Fuzzing enabled: ${enable_fuzzing_engine} + Fuzzing enabled: ${enable_fuzzing_engine} + Coverage enabled ${enable_coverage} cflags: ${CFLAGS} @@ -46047,8 +47190,10 @@ printf "%s\n" " Bash completions: ${with_bashcompletiondir} Systemd support: ${have_systemd} Systemd unitdir: ${with_systemdsystemunitdir} + tmpfilesdir: ${with_tmpfilesdir} libeconf support: ${have_econf} Btrfs support: ${have_btrfs} + lastlog2 support: ${build_liblastlog2} Wide-char support: ${build_widechar} libcryptsetup support: ${have_cryptsetup} @@ -46060,7 +47205,8 @@ printf "%s\n" " ldflags: ${LDFLAGS} suid ldflags: ${SUID_LDFLAGS} ASAN enabled: ${enable_asan} - Fuzzing enabled: ${enable_fuzzing_engine} + Fuzzing enabled: ${enable_fuzzing_engine} + Coverage enabled ${enable_coverage} cflags: ${CFLAGS} diff --git a/configure.ac b/configure.ac index 36c24b4..c338749 100644 --- a/configure.ac +++ b/configure.ac @@ -29,7 +29,7 @@ PACKAGE_VERSION_RELEASE=$(echo $PACKAGE_VERSION | awk -F. '{ dnl libblkid version LIBBLKID_VERSION="$PACKAGE_VERSION_MAJOR.$PACKAGE_VERSION_MINOR.$PACKAGE_VERSION_RELEASE" -LIBBLKID_DATE="04-Dec-2023" +LIBBLKID_DATE="27-Mar-2024" LIBBLKID_LT_MAJOR=1 LIBBLKID_LT_MINOR=1 LIBBLKID_LT_MICRO=0 @@ -42,6 +42,13 @@ LIBUUID_LT_MINOR=3 LIBUUID_LT_MICRO=0 LIBUUID_VERSION_INFO=`expr $LIBUUID_LT_MAJOR + $LIBUUID_LT_MINOR`:$LIBUUID_LT_MICRO:$LIBUUID_LT_MINOR +dnl liblastlog2 version +LIBLASTLOG2_VERSION="$PACKAGE_VERSION_MAJOR.$PACKAGE_VERSION_MINOR.$PACKAGE_VERSION_RELEASE" +LIBLASTLOG2_LT_MAJOR=2 +LIBLASTLOG2_LT_MINOR=0 +LIBLASTLOG2_LT_MICRO=0 +LIBLASTLOG2_VERSION_INFO=`expr $LIBLASTLOG2_LT_MAJOR + $LIBLASTLOG2_LT_MINOR`:$LIBLASTLOG2_LT_MICRO:$LIBLASTLOG2_LT_MINOR + dnl libmount version LIBMOUNT_VERSION="$PACKAGE_VERSION_MAJOR.$PACKAGE_VERSION_MINOR.$PACKAGE_VERSION_RELEASE" LIBMOUNT_LT_MAJOR=1 @@ -85,6 +92,8 @@ AS_CASE([$prefix], ] ) +AC_SUBST([localstatedir]) + # default for old versions without $runstatedir AS_IF([test x"$runstatedir" = x], [runstatedir='${localstatedir}/run']) @@ -94,7 +103,6 @@ AS_CASE([$localstatedir:$runstatedir], [NONE:'${localstatedir}/run' | /var:'${localstatedir}/run' | NONE:'/run' ], [runstatedir=/run; AC_MSG_NOTICE([ --runstatedir defaults to /run])] ) - AC_SUBST([runstatedir]) @@ -124,6 +132,11 @@ AC_PROG_CC AM_PROG_CC_C_O AC_PROG_MKDIR_P AC_PROG_YACC + +# Don't use autotools integrated LEX/YACC support for libsmartcols +AC_PATH_PROG([FLEX], [flex]) +AC_PATH_PROG([BISON], [bison]) + AC_CANONICAL_HOST AC_C_CONST AC_C_VOLATILE @@ -156,6 +169,8 @@ UL_WARN_ADD([-Wunused-but-set-variable]) UL_WARN_ADD([-Wunused-parameter]) UL_WARN_ADD([-Wunused-result]) UL_WARN_ADD([-Wunused-variable]) +UL_WARN_ADD([-Wvla]) +UL_WARN_ADD([-Walloca]) AC_ARG_ENABLE([werror], AS_HELP_STRING([--enable-werror], [make all compiler warnings into errors]), @@ -176,9 +191,6 @@ AC_SUBST([BSD_WARN_CFLAGS]) UL_WARN_ADD([-Wno-cast-function-type], [PYTHON_WARN_CFLAGS]) AC_SUBST([PYTHON_WARN_CFLAGS]) -UL_WARN_ADD([-Wno-unused-parameter], [NO_UNUSED_WARN_CFLAGS]) -AC_SUBST([NO_UNUSED_WARN_CFLAGS]) - AC_ARG_ENABLE([asan], AS_HELP_STRING([--enable-asan], [compile with Address Sanitizer]), @@ -215,6 +227,17 @@ AC_PROG_CXX AM_CONDITIONAL([FUZZING_ENGINE], [test "x$enable_fuzzing_engine" = xyes]) AM_CONDITIONAL([OSS_FUZZ], [test "x$LIB_FUZZING_ENGINE" != x]) +AC_ARG_ENABLE([coverage], + AS_HELP_STRING([--enable-coverage], [compile with gcov]), + [], [enable_coverage=no] +) +AS_IF([test "x$enable_coverage" = xyes], [ + UL_WARN_ADD([--coverage]) + COVERAGE_LDFLAGS="--coverage" +]) +AC_SUBST([COVERAGE_LDFLAGS]) +AM_CONDITIONAL([WITH_COVERAGE], [test "x$enable_coverage" = xyes]) + dnl libtool-2 LT_INIT @@ -265,6 +288,8 @@ UL_SET_ARCH([HPPA], [hppa*|parisc*]) AC_SYS_LARGEFILE AC_HEADER_ASSERT AC_STRUCT_TIMEZONE +UL_YEAR2038_INIT +AC_SYS_YEAR2038_RECOMMENDED dnl Don't forget to maintain alternatively allowed versions in autogen.sh! AM_GNU_GETTEXT_VERSION([0.18.3]) @@ -310,6 +335,7 @@ AC_CHECK_HEADERS([ \ linux/falloc.h \ linux/fd.h \ linux/fiemap.h \ + linux/landlock.h \ linux/kcmp.h \ linux/net_namespace.h \ linux/nsfs.h \ @@ -328,6 +354,7 @@ AC_CHECK_HEADERS([ \ paths.h \ pty.h \ security/pam_appl.h \ + security/pam_modules.h \ shadow.h \ stdint.h \ stdio_ext.h \ @@ -483,6 +510,7 @@ have_pty_h=$ac_cv_header_pty_h have_security_openpam_h=$ac_cv_header_security_openpam_h have_security_pam_appl_h=$ac_cv_header_security_pam_appl_h have_security_pam_misc_h=$ac_cv_header_security_pam_misc_h +have_security_pam_modules_h=$ac_cv_header_security_pam_modules_h have_shadow_h=$ac_cv_header_shadow_h have_sys_signalfd_h=$ac_cv_header_sys_signalfd_h have_utmpx_h=$ac_cv_header_utmpx_h @@ -547,6 +575,7 @@ AC_CHECK_DECL([SO_PASSCRED], #include <sys/socket.h>]) AC_CHECK_FUNCS([ \ + cachestat \ clearenv \ close_range \ eaccess \ @@ -572,6 +601,9 @@ AC_CHECK_FUNCS([ \ getttynam \ inotify_init \ jrand48 \ + landlock_create_ruleset \ + landlock_add_rule \ + landlock_restrict_self \ lchown \ lgetxattr \ llistxattr \ @@ -590,6 +622,8 @@ AC_CHECK_FUNCS([ \ posix_fadvise \ prctl \ qsort_r \ + reallocarray \ + renameat2 \ rpmatch \ scandirat \ sched_setattr \ @@ -629,6 +663,7 @@ AC_CHECK_FUNCS([reboot], [have_reboot=yes],[have_reboot=no]) AC_CHECK_FUNCS([updwtmpx updwtmpx], [have_gnu_utmpx=yes], [have_gnu_utmpx=no]) AM_CONDITIONAL([HAVE_OPENAT], [test "x$have_openat" = xyes]) +AM_CONDITIONAL([HAVE_LINUX_LANDLOCK_H], [test "x$ac_cv_header_linux_landlock_h" = xyes]) have_setns_syscall="yes" UL_CHECK_SYSCALL([setns]) @@ -639,7 +674,6 @@ AS_IF([test "x$ul_cv_syscall_setns" = xno], [ UL_CHECK_SYSCALL([pidfd_open]) UL_CHECK_SYSCALL([pidfd_send_signal]) UL_CHECK_SYSCALL([close_range]) - UL_CHECK_SYSCALL([fsconfig]) UL_CHECK_SYSCALL([fsmount]) UL_CHECK_SYSCALL([fsopen]) @@ -739,6 +773,9 @@ AS_IF([test x"$have_dirfd" = xno], [ AM_CONDITIONAL([HAVE_DIRFD], [test "x$have_dirfd" = xyes || test "x$have_ddfd" = xyes]) +MQ_LIBS= +AC_CHECK_LIB([rt], [mq_open], [MQ_LIBS="-lrt"]) +AC_SUBST([MQ_LIBS]) AC_MSG_CHECKING([whether program_invocation_short_name is defined]) AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[ @@ -1185,6 +1222,39 @@ AS_IF([test "x$build_libuuid" = xyes], [ ]) dnl +dnl liblastlog2 +dnl +AC_ARG_ENABLE([liblastlog2], + AS_HELP_STRING([--disable-liblastlog2], [do not build liblastlog2 and lastlog2 utilities]), + [], [UL_DEFAULT_ENABLE([liblastlog2], [yes])] +) +UL_BUILD_INIT([liblastlog2]) + +have_sqlite3=no +AS_IF([test "x$build_liblastlog2" = xyes], [ + PKG_CHECK_MODULES([SQLITE3], [sqlite3], [have_sqlite3=yes], [have_sqlite3=no]) +]) +UL_REQUIRES_HAVE([liblastlog2], [sqlite3], [sqlite3 library]) +AC_SUBST([SQLITE3_LIBS]) + +AC_SUBST([LIBLASTLOG2_VERSION]) +AC_SUBST([LIBLASTLOG2_VERSION_INFO]) +AC_DEFINE_UNQUOTED([LIBLASTLOG2_VERSION], ["$LIBLASTLOG2_VERSION"], [liblastlog2 version string]) +AM_CONDITIONAL([BUILD_LIBLASTLOG2], [test "x$build_liblastlog2" = xyes]) +AM_CONDITIONAL([BUILD_LIBLASTLOG2_TESTS], [test "x$build_liblastlog2" = xyes && test "x$enable_static" = xyes]) + + +AC_ARG_ENABLE([pam_lastlog2], + AS_HELP_STRING([--disable-pam-lastlog2], [do not build PAM lastlog2 module]), + [], [UL_DEFAULT_ENABLE([pam_lastlog2], [check])] +) +UL_BUILD_INIT([pam_lastlog2]) +UL_REQUIRES_BUILD([pam_lastlog2], [liblastlog2]) +UL_REQUIRES_HAVE([pam_lastlog2], [security_pam_modules_h], [pam_modules.h header file]) +AM_CONDITIONAL([BUILD_PAM_LASTLOG2], [test "x$build_pam_lastlog2" = xyes]) + + +dnl dnl libblkid dnl AC_ARG_ENABLE([libblkid], @@ -1778,7 +1848,6 @@ AC_ARG_ENABLE([lsfd], UL_BUILD_INIT([lsfd]) UL_REQUIRES_LINUX([lsfd]) UL_REQUIRES_BUILD([lsfd], [libsmartcols]) -UL_REQUIRES_HAVE([lsfd], [linux_kcmp_h], [linux/kcmp.h header file]) AM_CONDITIONAL([BUILD_LSFD], [test "x$build_lsfd" = xyes]) AC_ARG_ENABLE([lslogins], @@ -1878,6 +1947,24 @@ UL_REQUIRES_LINUX([waitpid]) UL_REQUIRES_SYSCALL_CHECK([waitpid], [UL_CHECK_SYSCALL([pidfd_open])], [pidfd_open]) AM_CONDITIONAL([BUILD_WAITPID], [test "x$build_waitpid" = xyes]) +UL_BUILD_INIT([enosys], [check]) +UL_REQUIRES_LINUX([enosys]) +AS_IF([test "x$build_enosys" = xyes], [ + AC_MSG_CHECKING([for valid audit arch]) + AC_COMPILE_IFELSE( + [AC_LANG_PROGRAM([[#include "${srcdir}/include/audit-arch.h"]])], + [AC_MSG_RESULT([yes])], + [AC_MSG_RESULT([no]) + build_enosys=no + ]) +]) +AM_CONDITIONAL([BUILD_ENOSYS], [test "x$build_enosys" = xyes]) + +UL_BUILD_INIT([lsclocks], [check]) +UL_REQUIRES_LINUX([lsclocks]) +UL_REQUIRES_BUILD([lsclocks], [libsmartcols]) +AM_CONDITIONAL([BUILD_LSCLOCKS], [test "x$build_lsclocks" = xyes]) + UL_BUILD_INIT([getopt], [yes]) AM_CONDITIONAL([BUILD_GETOPT], [test "x$build_getopt" = xyes]) @@ -2045,6 +2132,9 @@ UL_REQUIRES_BUILD([rfkill], [libsmartcols]) AM_CONDITIONAL([BUILD_RFKILL], [test "x$build_rfkill" = xyes]) +UL_BUILD_INIT([setpgid], [yes]) +AM_CONDITIONAL([BUILD_SETPGID], [test "x$build_setpgid" = xyes]) + UL_BUILD_INIT([setsid], [yes]) AM_CONDITIONAL([BUILD_SETSID], [test "x$build_setsid" = xyes]) @@ -2065,6 +2155,15 @@ dnl earlier than 2.x. UL_REQUIRES_HAVE([ctrlaltdel], [reboot], [reboot function]) AM_CONDITIONAL([BUILD_CTRLALTDEL], [test "x$build_ctrlaltdel" = xyes]) +AC_ARG_ENABLE([exch], + AS_HELP_STRING([--disable-exch], [do not build exch]), + [], [UL_DEFAULT_ENABLE([exch], [check])] +) +UL_BUILD_INIT([exch]) +UL_REQUIRES_LINUX([exch]) +UL_REQUIRES_SYSCALL_CHECK([exch], [UL_CHECK_SYSCALL([renameat2])]) +AM_CONDITIONAL([BUILD_EXCH], [test "x$build_exch" = xyes]) + UL_BUILD_INIT([fincore], [check]) UL_REQUIRES_LINUX([fincore]) UL_REQUIRES_BUILD([fincore], [libsmartcols]) @@ -2123,7 +2222,8 @@ UL_REQUIRES_HAVE([scriptlive], [pty], [openpty function (libutil)]) AM_CONDITIONAL([BUILD_SCRIPTLIVE], [test "x$build_scriptlive" = xyes]) -UL_BUILD_INIT([col], [yes]) +UL_BUILD_INIT([col], [check]) +UL_REQUIRES_COMPILE([col], [#include <limits.h>], [__GLIBC__], [building for glibc]) AM_CONDITIONAL([BUILD_COL], [test "x$build_col" = xyes]) UL_BUILD_INIT([colcrt], [yes]) @@ -2518,6 +2618,7 @@ AS_IF([test "x$with_systemd" != xno], [ [*:yes], AC_DEFINE([HAVE_LIBSYSTEMD], [1], [Define if libsystemd is available]) AC_DEFINE([USE_SYSTEMD], [1], [Define if systemd support is wanted ]) + AC_CHECK_DECLS([sd_session_get_username], [], [], [#include <systemd/sd-login.h>]) ) ]) AM_CONDITIONAL([HAVE_SYSTEMD], [test "x$have_systemd" = xyes]) @@ -2536,6 +2637,18 @@ AS_IF([test "x$with_systemdsystemunitdir" != "xno"], [ AC_SUBST([systemdsystemunitdir], [$with_systemdsystemunitdir]) ]) +AC_ARG_WITH([tmpfilesdir], + AS_HELP_STRING([--with-tmpfilesdir=DIR], [directory for tmpfiles. See tmpfiles.d(5) for details]), + [], [ + AS_IF([test "x$have_systemd" = xyes], [ + PKG_CHECK_VAR([with_tmpfilesdir], [systemd], [tmpfilesdir], + [], + [with_tmpfilesdir=no]) + ]) +]) +AS_IF([test "x$with_tmpfilesdir" != "xno"], [ + AC_SUBST([tmpfilesdir], [$with_tmpfilesdir]) +]) AC_ARG_WITH([smack], AS_HELP_STRING([--with-smack], [build with SMACK support]), @@ -2879,8 +2992,10 @@ AC_MSG_RESULT([ Bash completions: ${with_bashcompletiondir} Systemd support: ${have_systemd} Systemd unitdir: ${with_systemdsystemunitdir} + tmpfilesdir: ${with_tmpfilesdir} libeconf support: ${have_econf} Btrfs support: ${have_btrfs} + lastlog2 support: ${build_liblastlog2} Wide-char support: ${build_widechar} libcryptsetup support: ${have_cryptsetup} @@ -2892,7 +3007,8 @@ AC_MSG_RESULT([ ldflags: ${LDFLAGS} suid ldflags: ${SUID_LDFLAGS} ASAN enabled: ${enable_asan} - Fuzzing enabled: ${enable_fuzzing_engine} + Fuzzing enabled: ${enable_fuzzing_engine} + Coverage enabled ${enable_coverage} cflags: ${CFLAGS} |