dnl libblkid version
LIBBLKID_VERSION="$PACKAGE_VERSION_MAJOR.$PACKAGE_VERSION_MINOR.$PACKAGE_VERSION_RELEASE"
-LIBBLKID_DATE="17-May-2023"
+LIBBLKID_DATE="24-Jan-2024"
LIBBLKID_LT_MAJOR=1
LIBBLKID_LT_MINOR=1
LIBBLKID_LT_MICRO=0
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
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
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]),
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]),
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])
linux/falloc.h \
linux/fd.h \
linux/fiemap.h \
+ linux/landlock.h \
linux/kcmp.h \
linux/net_namespace.h \
linux/nsfs.h \
linux/pr.h \
linux/raw.h \
- linux/stat.h \
linux/securebits.h \
linux/tiocl.h \
linux/version.h \
paths.h \
pty.h \
security/pam_appl.h \
+ security/pam_modules.h \
shadow.h \
stdint.h \
stdio_ext.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
])
AC_CHECK_TYPES([struct mount_attr], [], [], [[#include <linux/mount.h>]])
-AC_CHECK_TYPES([struct statx], [], [], [[#include <linux/stat.h>]])
AC_CHECK_TYPES([enum fsconfig_command], [], [], [[#include <linux/mount.h>]])
AC_CHECK_MEMBERS([struct termios.c_line],,,
AC_CHECK_MEMBERS([struct stat.st_mtim.tv_nsec],,,
[[#include <sys/stat.h>]])
+AC_CHECK_TYPES([struct statx], [], [], [[#include <sys/stat.h>]])
AC_CHECK_MEMBERS([struct statx.stx_mnt_id],,,
- [[#include <linux/stat.h>]])
+ [[#include <sys/stat.h>]])
AC_CHECK_DECLS([_NL_TIME_WEEK_1STDAY],[],[],[[#include <langinfo.h>]])
getttynam \
inotify_init \
jrand48 \
+ landlock_create_ruleset \
+ landlock_add_rule \
+ landlock_restrict_self \
lchown \
lgetxattr \
llistxattr \
posix_fadvise \
prctl \
qsort_r \
+ reallocarray \
+ renameat2 \
rpmatch \
scandirat \
sched_setattr \
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])
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])
[AC_CHECK_LIB([rt], [timer_create], [
have_timer="yes"
REALTIME_LIBS="-lrt"
- AC_DEFINE_UNQUOTED([HAVE_TIMER_CREATE], [1], [Define if timer_create exist in -lrt])
+ AC_DEFINE([HAVE_TIMER_CREATE], [1], [Define if timer_create exist in -lrt])
],[
AC_SEARCH_LIBS([timer_create], [rt], [
AC_MSG_RESULT(yes)
have_timer="yes"
REALTIME_LIBS="-lrt -lpthread"
- AC_DEFINE_UNQUOTED([HAVE_TIMER_CREATE], [1], [Define if timer_create exist in -lrt -lpthread])
+ AC_DEFINE([HAVE_TIMER_CREATE], [1], [Define if timer_create exist in -lrt -lpthread])
],[], [-lpthread]
)
])]
AC_CHECK_LIB([rtas], [rtas_get_sysparm], [
RTAS_LIBS="-lrtas"
- AC_DEFINE_UNQUOTED([HAVE_LIBRTAS], [1], [Define if librtas exists]), [],
+ AC_DEFINE([HAVE_LIBRTAS], [1], [Define if librtas exists])
])
AC_SUBST([RTAS_LIBS])
AC_CHECK_MEMBER([struct sockaddr.sa_len],
- AC_DEFINE_UNQUOTED([HAVE_SA_LEN], [1], [Define if struct sockaddr contains sa_len]), [],
+ AC_DEFINE([HAVE_SA_LEN], [1], [Define if struct sockaddr contains sa_len]), [],
[#include <sys/types.h>
#include <sys/socket.h>])
AC_DEFINE(HAVE_LIBUUID, 1, [Define to 1 if you have the -luuid.])
])
+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([plymouth_support],
- AS_HELP_STRING([--disable-plymouth_support], [do not care about plymouth in sylogin(8) and agetty(8)]),
+ AS_HELP_STRING([--disable-plymouth_support], [do not care about plymouth in sulogin(8) and agetty(8)]),
[], [enable_plymouth_support=check]
)
UL_BUILD_INIT([plymouth_support])
UL_REQUIRES_HAVE([plymouth_support], [so_passcred], [SO_PASSCRED flag])
AM_CONDITIONAL([USE_PLYMOUTH_SUPPORT], [test "x$build_plymouth_support" = xyes])
AS_IF([test "x$build_plymouth_support" = xyes ], [
- AC_DEFINE([USE_PLYMOUTH_SUPPORT], [1], [Enable plymouth support feature for sulogin and aggety])
+ AC_DEFINE([USE_PLYMOUTH_SUPPORT], [1], [Enable plymouth support feature for sulogin and agetty])
])
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],
])
AM_CONDITIONAL([BUILD_ENOSYS], [test "x$build_enosys" = xyes])
-UL_BUILD_INIT([lsclocks], [yes])
+UL_BUILD_INIT([lsclocks], [check])
+UL_REQUIRES_LINUX([lsclocks])
AM_CONDITIONAL([BUILD_LSCLOCKS], [test "x$build_lsclocks" = xyes])
UL_BUILD_INIT([getopt], [yes])
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])
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])
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])
AC_DEFINE([LOGIN_STAT_MAIL], [1], [Should login stat() the mailbox?])
])
+AC_ARG_ENABLE([login-lastlog],
+ AS_HELP_STRING([--enable-login-lastlog], [program login writes lastlog entries]),
+ [], [enable_login_lastlogin=no]
+)
+
+AS_IF([test "x$enable_login_lastlogin" != xno], [
+ AC_DEFINE([USE_LOGIN_LASTLOG],
+ [1],
+ [Define if program login writes lastlog entries])
+])
AC_ARG_ENABLE([nologin],
AS_HELP_STRING([--disable-nologin], [do not build nologin]),
[*: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])
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]),
SAVE_LIBS="$LIBS"
LIBS="$CRYPTSETUP_LIBS $LIBS"
AC_CHECK_LIB([cryptsetup], [crypt_activate_by_signed_key], [
- AC_DEFINE_UNQUOTED([HAVE_CRYPT_ACTIVATE_BY_SIGNED_KEY], [1], [Define if crypt_activate_by_signed_key exist in -lcryptsetup])
+ AC_DEFINE([HAVE_CRYPT_ACTIVATE_BY_SIGNED_KEY], [1], [Define if crypt_activate_by_signed_key exist in -lcryptsetup])
])
AS_IF([test "x$with_cryptsetup" = xdlopen], [
LIBS="-ldl $LIBS"
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}