Thomas Weißschuh [Sun, 21 Apr 2024 18:00:31 +0000 (20:00 +0200)]
findmnt: always zero-terminate SOURCES data
libsmartcols expects it's data fields to be zero terminated.
See the call to strlen() in scols_column_greatest_wrap().
ul_buffer however does not guarantee that termination,
ul_buffer_append_strings() discard the zero-termination.
Always zero-terminate in get_data_col_sources() and drop the now
unnecessary variable "i".
Closes: https://github.com/util-linux/util-linux/issues/2980 Signed-off-by: Thomas Weißschuh <thomas@t-8ch.de>
Karel Zak [Thu, 18 Apr 2024 07:42:25 +0000 (09:42 +0200)]
Merge branch 'meson-fix-build-ipcrm-option' of https://github.com/jwillikers/util-linux
* 'meson-fix-build-ipcrm-option' of https://github.com/jwillikers/util-linux:
meson: Require the seminfo type for ipcmk, ipcrm, and ipcs
meson: Add build-ipcmk option
meson: Add missing check for build-ipcrm option
Karel Zak [Wed, 17 Apr 2024 07:50:52 +0000 (09:50 +0200)]
Merge branch 'PR/libsmartcols-fix-wrap' of github.com:karelzak/util-linux-work
* 'PR/libsmartcols-fix-wrap' of github.com:karelzak/util-linux-work:
libsmartcols: (sample) add wrap repeating example
libsmartcols: reset wrap after calculation
Karel Zak [Tue, 16 Apr 2024 11:31:55 +0000 (13:31 +0200)]
libfdisk: add fdisk_ask_menu()
Currently, only libfdisk has the ability to prompt the user with a
menu. However, this functionality is not accessible through the public
library API. This commit exports this functionality through the use of
a simple function, fdisk_ask_menu().
Karel Zak [Tue, 16 Apr 2024 09:28:53 +0000 (11:28 +0200)]
Merge branch 'getwc' of https://github.com/t-8ch/util-linux
* 'getwc' of https://github.com/t-8ch/util-linux:
textutils: introduce and use fgetwc_or_err
treewide: use fgetc() instead of getc()
textutils: use fgetwc() instead of getwc()
Karel Zak [Tue, 16 Apr 2024 09:21:56 +0000 (11:21 +0200)]
Merge branch 'awk' of https://github.com/t-8ch/util-linux
* 'awk' of https://github.com/t-8ch/util-linux:
all_errnos/all_syscalls: don't hardcode AWK invocation
all_errnos/all_syscalls: don't warn during cleanup
all_errnos/all_syscalls: fail if any step fails
Karel Zak [Mon, 15 Apr 2024 07:07:12 +0000 (09:07 +0200)]
Merge branch 'lslocks--no-sleep-in-test-case' of https://github.com/masatake/util-linux
* 'lslocks--no-sleep-in-test-case' of https://github.com/masatake/util-linux:
lslocks: remove a unused local variable
lslocks: don't abort gathering per-process information even if opening a /proc/[0-9]* fails
Karel Zak [Mon, 15 Apr 2024 07:04:38 +0000 (09:04 +0200)]
Merge branch 'PR/autotools' of github.com:karelzak/util-linux-work
* 'PR/autotools' of github.com:karelzak/util-linux-work:
autotools: add --disable-enosys, check for linux/audit.h
autotools: check for sys/vfs.h and linux/bpf.h
Karel Zak [Mon, 15 Apr 2024 06:55:47 +0000 (08:55 +0200)]
Merge branch 'tinfo-disabler' of https://github.com/jwillikers/util-linux
* 'tinfo-disabler' of https://github.com/jwillikers/util-linux:
meson: Make ncurses dependency a disabler when not found
meson: Make tinfo dependency a disabler when not found
lsns: tolerate lsns_ioctl(fd, NS_GET_{PARENT,USERNS}) failing with ENOSYS
With the original code, "lsns/filedesc" test case failed on
"build (qemu-user, s390x)" and "build (qemu-user, riscv64)".
On the platforms, lsns_ioctl(fd, NS_GET_{PARENT,USERNS}) failed
with ENOSYS. The error stoped the iteration for gathering
information from /proc/[0-9]+. As a result, lsns printed
nothing. We don't expect this behavior.
Thomas Weißschuh [Sat, 13 Apr 2024 08:34:32 +0000 (10:34 +0200)]
textutils: introduce and use fgetwc_or_err
A return value of WEOF of fgetwc() can either mean end-of-file or an
error in errno. The error was ignored and interpreted as end-of-file.
Introduce a new helper that aborts on error and use it in text-utils.
This replaces all calls to plain fgetwc().
Closes #2909 Signed-off-by: Thomas Weißschuh <thomas@t-8ch.de>
Thomas Weißschuh [Sat, 13 Apr 2024 07:42:39 +0000 (09:42 +0200)]
Revert "lib/pager: Apply pager-specific fixes only when needed"
Less is not always detectable, as it can be hidden behind symlinks or
wrapper as for example in a default Debian installation.
Also testing for the literal string "less" does not match full path
specifications like "/usr/bin/less".
lslocks: don't abort gathering per-process information even if opening a /proc/[0-9]* fails
If a process ($pid) taking a lock is gone while running lslocks,
gathering per-process information for the process may fail in opening
/proc/$pid. Though lslocks should work with incomplete information,
the original code stopped gathering per-process information for the
other processes.
As a result of the original behavior, tests/ts/lslocks/lslocks really
failed in an environment where multiple test cases ran simultaneously.
Jordan Williams [Mon, 8 Apr 2024 16:37:01 +0000 (11:37 -0500)]
meson: Remove libblkid dependency on libmount
I added this incorrect dependency between libblkid and libmount.
The option to build libblkid should be allowed whether or not the
build-libmount feature is allowed.
Signed-off-by: Jordan Williams <jordan@jwillikers.com>
Jordan Williams [Mon, 8 Apr 2024 16:17:12 +0000 (11:17 -0500)]
meson: Require the sys/vfs.h header for libmount and fstrim
libmount and fstrim both include sys/vfs.h unconditionally.
To avoid an error at compile time, require this header for their
respective feature options to be enabled.
This avoids building them on systems without sys/vfs.h, such as macOS.
Fixes #2932.
Signed-off-by: Jordan Williams <jordan@jwillikers.com>
John Paul Adrian Glaubitz points out that libseccomp needs to release 2.6.0,
too.
Reviewed-by: John Paul Adrian Glaubitz <glaubitz@physik.fu-berlin.de> Reviewed-by: Thomas Weißschuh <thomas@t-8ch.de> Signed-off-by: Chris Hofstaedtler <zeha@debian.org>
Karel Zak [Tue, 9 Apr 2024 10:16:21 +0000 (12:16 +0200)]
Merge branch 'logger/fixes' of https://github.com/t-8ch/util-linux
* 'logger/fixes' of https://github.com/t-8ch/util-linux:
logger: correctly format tv_usec
logger: rework error handling in logger_gettimeofday()
logger: handle failures of gettimeofday()
Karel Zak [Tue, 9 Apr 2024 10:07:12 +0000 (12:07 +0200)]
Merge branch 'lsfd--verify-proc-syscall-for-master' of https://github.com/masatake/util-linux
* 'lsfd--verify-proc-syscall-for-master' of https://github.com/masatake/util-linux:
tests: (lsfd::mkfds-multiplexing) skip if /proc/$pid/syscall is broken
tv_usec is an unspecified signed integer type.
The format string %u assumes an unsigned int, which is incorrect.
Especially on 32bit big-endian, where it can lead to invalid values.
3dd79293b5b655da9d913dedd8facb08959a7826 added -I option.
However, the code used bit flags (FL_DF and FL_DF_INODES) wrongly;
the code broke the output of -D option.
Jordan Williams [Mon, 8 Apr 2024 15:12:17 +0000 (10:12 -0500)]
meson: Disable targets requiring pam when it is missing
Several executables require the pam library.
The current behavior in Meson only requires this library when these
executables are explicitly enabled.
Unfortunately, by default, Meson will not throw an error when the
required pam library is missing while still trying to build these
executables.
To fix this, make the pam library a disabler which automatically
disables these executables if it is not found.
Signed-off-by: Jordan Williams <jordan@jwillikers.com>