]> git.ipfire.org Git - thirdparty/util-linux.git/log
thirdparty/util-linux.git
3 days agobash-completion: add bits to dist tarball master
Karel Zak [Thu, 2 Oct 2025 11:38:13 +0000 (13:38 +0200)] 
bash-completion: add bits to dist tarball

The bits command was added in commit 6e1301d59 (text-utils: add bits
command) but the bash-completion file was not added to the autotools
Makemodule.am, causing it to be missing from release tarballs.

This resulted in meson build failures when using the tarball with
bash-completion installed, as meson.build references the file but
it doesn't exist in the tarball.

Fixes: https://github.com/util-linux/util-linux/issues/3766
Signed-off-by: Karel Zak <kzak@redhat.com>
3 days agoMerge remote-tracking branch 'github/dependabot/github_actions/actions/checkout-5'
Karel Zak [Thu, 2 Oct 2025 10:13:41 +0000 (12:13 +0200)] 
Merge remote-tracking branch 'github/dependabot/github_actions/actions/checkout-5'

3 days agoMerge branch 'master' of https://github.com/stanislav-brabec/util-linux
Karel Zak [Thu, 2 Oct 2025 09:57:12 +0000 (11:57 +0200)] 
Merge branch 'master' of https://github.com/stanislav-brabec/util-linux

* 'master' of https://github.com/stanislav-brabec/util-linux:
  agetty: Implement netlink based IP processing
  New netlink library

3 days agolib/configs: initialize FD to -1
Karel Zak [Thu, 2 Oct 2025 09:55:55 +0000 (11:55 +0200)] 
lib/configs: initialize FD to -1

Signed-off-by: Karel Zak <kzak@redhat.com>
3 days agoMerge branch 'PR/agetty-issue-read' of https://github.com/karelzak/util-linux-work
Karel Zak [Thu, 2 Oct 2025 09:52:52 +0000 (11:52 +0200)] 
Merge branch 'PR/agetty-issue-read' of https://github.com/karelzak/util-linux-work

* 'PR/agetty-issue-read' of https://github.com/karelzak/util-linux-work:
  lib/configs: improve readability
  agetty: use standard path macros
  build-sys: make sure _PATH_SYSCONFDIR is defined

3 days agoMerge branch 'PR/libsmartcols-uri-cleanup' of https://github.com/karelzak/util-linux...
Karel Zak [Thu, 2 Oct 2025 09:51:43 +0000 (11:51 +0200)] 
Merge branch 'PR/libsmartcols-uri-cleanup' of https://github.com/karelzak/util-linux-work

* 'PR/libsmartcols-uri-cleanup' of https://github.com/karelzak/util-linux-work:
  libsmartcols: small uri and annotation cleanup

3 days agoMerge remote-tracking branch 'github/dependabot/github_actions/actions/labeler-6'
Karel Zak [Thu, 2 Oct 2025 09:50:46 +0000 (11:50 +0200)] 
Merge remote-tracking branch 'github/dependabot/github_actions/actions/labeler-6'

3 days agoMerge branch 'lsfd--masked-map-files' of https://github.com/masatake/util-linux
Karel Zak [Thu, 2 Oct 2025 09:46:10 +0000 (11:46 +0200)] 
Merge branch 'lsfd--masked-map-files' of https://github.com/masatake/util-linux

* 'lsfd--masked-map-files' of https://github.com/masatake/util-linux:
  lsfd: refer to /proc/$pid/map_files if a mapped file is masked

4 days agoagetty: Implement netlink based IP processing
Stanislav Brabec [Wed, 9 Jul 2025 12:35:28 +0000 (14:35 +0200)] 
agetty: Implement netlink based IP processing

The current \4 and \6 issue file escapes implementation is inferior. It
uses get getifaddrs() to get a list of IP addresses. This function does not
provide enough information to discriminate between stable IP addresses and
ephemeral addresses. As a result, especially \6 often gives unreliable
results.

The code is actually unable to get list of all interfaces, so a proper out
of the box IP address reporting depends on external tools that generate
issue file with the interfaces list.

The netlink messages are already used, but only as a change notifier. The
contents is not used, even if it contains exact information about the
change. As a result, change processing is triggered even for unrelated
network changes like IPv6 router advertisement.

The new implementation uses the new netaddrq library. It reports more
reliable results especially for IPv6.

Additionally, two new escapes are implemented:

\a Report all interfaces and assigned addresses that are considered as
reliable.

\A Report all interfaces and all assigned addresses.

TODO:

To prevent overflooding of the console, the list is currently limited to 12
interfaces. It would be nice to make it configurable.

Two pass processing of issue files. First pass just collects IP protocols
and list of interfaces (in future interface patterns). Now it always
processes both IPv4 and IPv6 on all interfaces. Not so bad, as \a is smart
enough to display just the useful part.

Maybe implement more options and formatting support for \a and \A.

Maybe implement interface filter globs or regexps for \a and \A. Still not
so bad, as \a automatically skips interfaces without reliable addresses
(e. g. lo or TUN).

Signed-off-by: Stanislav Brabec <sbrabec@suse.cz>
4 days agoNew netlink library
Stanislav Brabec [Wed, 9 Jul 2025 12:29:10 +0000 (14:29 +0200)] 
New netlink library

To support netlink and IP address processing, two new library files were
added:

netlink: Generic netlink message processing code converting netlink
messages to calls of callbacks with a pre-processed data.

netaddrq: A code that gets and maintains linked list of the current
interfaces and assigned IP addresses. It also provides a rating of IP
addresses based on its "quality", i. e. type of address, validity, lifetime
etc.

Signed-off-by: Stanislav Brabec <sbrabec@suse.cz>
4 days agobuild(deps): bump actions/labeler from 5 to 6
dependabot[bot] [Wed, 1 Oct 2025 18:08:06 +0000 (18:08 +0000)] 
build(deps): bump actions/labeler from 5 to 6

Bumps [actions/labeler](https://github.com/actions/labeler) from 5 to 6.
- [Release notes](https://github.com/actions/labeler/releases)
- [Commits](https://github.com/actions/labeler/compare/v5...v6)

---
updated-dependencies:
- dependency-name: actions/labeler
  dependency-version: '6'
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
4 days agolibsmartcols: small uri and annotation cleanup
Karel Zak [Wed, 1 Oct 2025 13:37:31 +0000 (15:37 +0200)] 
libsmartcols: small uri and annotation cleanup

- use scols_column_get_uri() and scols_cell_get_uri()
- don't read annotation or URI when unnecessary

Signed-off-by: Karel Zak <kzak@redhat.com>
4 days agoMerge branch 'feat/swapon_translate_col_names' of https://github.com/cgoesche/util...
Karel Zak [Wed, 1 Oct 2025 13:13:02 +0000 (15:13 +0200)] 
Merge branch 'feat/swapon_translate_col_names' of https://github.com/cgoesche/util-linux-fork

* 'feat/swapon_translate_col_names' of https://github.com/cgoesche/util-linux-fork:
  bash-completion: (swapon) add --annotation option
  swapon: document --annotation option on the man page
  swapon: control column header tooltips with --annotation
  swapon: annotate column header names with OSC8 hyperlinks
  lib/strutils: add helper function for --annotation option
  libsmartcols: new scols_column_{refer,get}_annotation routines

4 days agofallocate: allow O_CREATE if mode is FALLOC_FL_WRITE_ZEROES
Lukas Herbolt [Wed, 1 Oct 2025 11:54:50 +0000 (13:54 +0200)] 
fallocate: allow O_CREATE if mode is FALLOC_FL_WRITE_ZEROES

With the new flag we can create the ZEROED allcoated files directly and not
in the two steps. Removing FALLOC_FL_WRITE_ZEROES from the flags of not using
O_CREATE on open().

Signed-off-by: Lukas Herbolt <lukas@herbolt.com>
4 days agolib/configs: improve readability
Karel Zak [Wed, 1 Oct 2025 12:53:41 +0000 (14:53 +0200)] 
lib/configs: improve readability

Signed-off-by: Karel Zak <kzak@redhat.com>
4 days agoagetty: use standard path macros
Karel Zak [Wed, 1 Oct 2025 12:42:39 +0000 (14:42 +0200)] 
agetty: use standard path macros

- remove unnecessary issuefile-related stuff from include/pathnames.h
- use standard _PATH_* macros

Signed-off-by: Karel Zak <kzak@redhat.com>
4 days agobuild-sys: make sure _PATH_SYSCONFDIR is defined
Karel Zak [Wed, 1 Oct 2025 12:39:01 +0000 (14:39 +0200)] 
build-sys: make sure _PATH_SYSCONFDIR is defined

The autotools and meson define $sysconfdir, but this variable is not
accessible for compiler. Fix it.

Signed-off-by: Karel Zak <kzak@redhat.com>
4 days agoMerge branch 'configs3' of https://github.com/schubi2/util-linux
Karel Zak [Wed, 1 Oct 2025 11:54:08 +0000 (13:54 +0200)] 
Merge branch 'configs3' of https://github.com/schubi2/util-linux

* 'configs3' of https://github.com/schubi2/util-linux:
  Using fix issue dir path "/usr/lib" for agetty
  agetty: using configs lib for parsing issue files
  libcommon: added lib "configs" for parsing configuration files in the correct order

4 days agoUsing fix issue dir path "/usr/lib" for agetty
Stefan Schubert [Wed, 1 Oct 2025 10:19:08 +0000 (12:19 +0200)] 
Using fix issue dir path "/usr/lib" for agetty

9 days agobash-completion: (swapon) add --annotation option
Christian Goeschel Ndjomouo [Fri, 26 Sep 2025 11:13:38 +0000 (07:13 -0400)] 
bash-completion: (swapon) add --annotation option

Signed-off-by: Christian Goeschel Ndjomouo <cgoesc2@wgu.edu>
10 days agolsfd: refer to /proc/$pid/map_files if a mapped file is masked
Masatake YAMATO [Sun, 31 Aug 2025 01:03:03 +0000 (10:03 +0900)] 
lsfd: refer to /proc/$pid/map_files if a mapped file is masked

To extract file information, lsfd called stat(2) on the the file name
found in /proc/$pid/maps. However, lsfd may retrieve information for
the wrong file if the file is bind-mount'ed after the process maps the
file.

To obtain the information about the originally mapped file, this
change makes lsfd call fstat(2) on the corresponding entry under
/proc/$pid/map_files avoiding the bind-mount ambiguity.

Signed-off-by: Masatake YAMATO <yamato@redhat.com>
11 days agoswapon: document --annotation option on the man page
Christian Goeschel Ndjomouo [Wed, 24 Sep 2025 16:39:40 +0000 (12:39 -0400)] 
swapon: document --annotation option on the man page

Signed-off-by: Christian Goeschel Ndjomouo <cgoesc2@wgu.edu>
11 days agoswapon: control column header tooltips with --annotation
Christian Goeschel Ndjomouo [Wed, 24 Sep 2025 14:48:11 +0000 (10:48 -0400)] 
swapon: control column header tooltips with --annotation

Whether column header names should be annotated can be specified
with the --annotation option which takes the following three
arguments: 'auto', 'never' and 'always', where the former is the
default and makes it so that annotations are only added when the
output device is a terminal. If the option is omitted the 'auto'
behavior should be expected.

Signed-off-by: Christian Goeschel Ndjomouo <cgoesc2@wgu.edu>
11 days agoswapon: annotate column header names with OSC8 hyperlinks
Christian Goeschel Ndjomouo [Sun, 21 Sep 2025 05:46:41 +0000 (01:46 -0400)] 
swapon: annotate column header names with OSC8 hyperlinks

Column header names are annotated with OSC8 hyperlinks to
provide tooltips with a description of the column.

This is mainly motivated by the fact that column headers
are currently not translated, so as an alternative we will
provide a column description translated according to the
environment locale setting.

Addresses: #1291
Signed-off-by: Christian Goeschel Ndjomouo <cgoesc2@wgu.edu>
11 days agolib/strutils: add helper function for --annotation option
Christian Goeschel Ndjomouo [Wed, 24 Sep 2025 14:44:57 +0000 (10:44 -0400)] 
lib/strutils: add helper function for --annotation option

This function helps evaluates the --annotation option argument
and determines whether annotations are enabled or not.
It is identical to the hyperlinkwanted() routine, and although
that forms some form of redundancy, it is intentionally kept
seperate for potential future changes.

Signed-off-by: Christian Goeschel Ndjomouo <cgoesc2@wgu.edu>
11 days agoMerge branch 'PR/Benno-23Sep' of https://github.com/karelzak/util-linux-work
Karel Zak [Wed, 24 Sep 2025 08:06:04 +0000 (10:06 +0200)] 
Merge branch 'PR/Benno-23Sep' of https://github.com/karelzak/util-linux-work

* 'PR/Benno-23Sep' of https://github.com/karelzak/util-linux-work:
  fallocate: (man,usage) correct the alphabetical sorting of the options
  fallocate: (man) slightly improve the grammar of two sentences
  fallocate: redo four tweaks that were accidentally undone
  column: (usage) wrap two descriptions, to make them fit within 80 columns
  column: (usage) correct the description of --wrap-separator
  getopt: (usage) make the description of -U fit within 80 columns

11 days agoMerge branch 'PR/liblastlog2-fix-operator-precedence' of https://github.com/karelzak...
Karel Zak [Wed, 24 Sep 2025 08:05:48 +0000 (10:05 +0200)] 
Merge branch 'PR/liblastlog2-fix-operator-precedence' of https://github.com/karelzak/util-linux-work

* 'PR/liblastlog2-fix-operator-precedence' of https://github.com/karelzak/util-linux-work:
  liblastlog2: refactor conditional assignments for better readability
  liblastlog2: fix operator precedence in conditional assignments

11 days agoMerge branch 'master' of https://github.com/wuguanghao3/util-linux
Karel Zak [Wed, 24 Sep 2025 08:05:26 +0000 (10:05 +0200)] 
Merge branch 'master' of https://github.com/wuguanghao3/util-linux

* 'master' of https://github.com/wuguanghao3/util-linux:
  losetup: Add the --remove/-R parameter to remove loop devices
  losetup: rename function *_delete_* to *_detach_*

11 days agoMerge branch 'PR/agetty-escape-tab-erase-fix' of https://github.com/karelzak/util...
Karel Zak [Wed, 24 Sep 2025 08:04:39 +0000 (10:04 +0200)] 
Merge branch 'PR/agetty-escape-tab-erase-fix' of https://github.com/karelzak/util-linux-work

* 'PR/agetty-escape-tab-erase-fix' of https://github.com/karelzak/util-linux-work:
  agetty: fix erasure of escape sequences and tab characters

11 days agolosetup: Add the --remove/-R parameter to remove loop devices
wguanghao [Mon, 22 Sep 2025 14:58:49 +0000 (22:58 +0800)] 
losetup: Add the --remove/-R parameter to remove loop devices

Signed-off-by: Wu Guanghao <wuguanghao3@huawei.com>
11 days agolosetup: rename function *_delete_* to *_detach_*
wguanghao [Mon, 22 Sep 2025 14:37:57 +0000 (22:37 +0800)] 
losetup: rename function *_delete_* to *_detach_*

Signed-off-by: Wu Guanghao <wuguanghao3@huawei.com>
11 days agolibsmartcols: new scols_column_{refer,get}_annotation routines
Christian Goeschel Ndjomouo [Sun, 21 Sep 2025 05:07:58 +0000 (01:07 -0400)] 
libsmartcols: new scols_column_{refer,get}_annotation routines

The new routines can be used to add an annotation to columns
which are intended to serve as descriptions for column headers.

These annotations are formatted with OSC8 escape sequences and
then sent to the output stream. A supporting terminal can then
display the formatted string as a tooltip.

This can be fairly useful when an application wants to provide
a translated description for a column header name, since the
latter is sometimes a mere abbreviation and not necessarily
telling enough.

Addresses: #1291
Signed-off-by: Christian Goeschel Ndjomouo <cgoesc2@wgu.edu>
12 days agofallocate: (man,usage) correct the alphabetical sorting of the options
Benno Schulenberg [Thu, 18 Sep 2025 08:57:07 +0000 (10:57 +0200)] 
fallocate: (man,usage) correct the alphabetical sorting of the options

Signed-off-by: Benno Schulenberg <bensberg@telfort.nl>
12 days agofallocate: (man) slightly improve the grammar of two sentences
Benno Schulenberg [Thu, 18 Sep 2025 08:57:06 +0000 (10:57 +0200)] 
fallocate: (man) slightly improve the grammar of two sentences

Signed-off-by: Benno Schulenberg <bensberg@telfort.nl>
12 days agofallocate: redo four tweaks that were accidentally undone
Benno Schulenberg [Thu, 18 Sep 2025 08:57:05 +0000 (10:57 +0200)] 
fallocate: redo four tweaks that were accidentally undone

Recent commit c407a13fc1 undid some changes that were made by
commits 762f295a02 and 325a269995.  Redo these changes.

Signed-off-by: Benno Schulenberg <bensberg@telfort.nl>
12 days agocolumn: (usage) wrap two descriptions, to make them fit within 80 columns
Benno Schulenberg [Thu, 18 Sep 2025 08:57:04 +0000 (10:57 +0200)] 
column: (usage) wrap two descriptions, to make them fit within 80 columns

Signed-off-by: Benno Schulenberg <bensberg@telfort.nl>
12 days agocolumn: (usage) correct the description of --wrap-separator
Benno Schulenberg [Thu, 18 Sep 2025 08:57:03 +0000 (10:57 +0200)] 
column: (usage) correct the description of --wrap-separator

Option --wrap-separator does not imply --table-wrap, but requires it
in order to have any effect.

Also, shorten the text a bit to fit within 80 columns.

Signed-off-by: Benno Schulenberg <bensberg@telfort.nl>
12 days agogetopt: (usage) make the description of -U fit within 80 columns
Benno Schulenberg [Thu, 18 Sep 2025 08:57:02 +0000 (10:57 +0200)] 
getopt: (usage) make the description of -U fit within 80 columns

(It is good practice to keep --help output from causing ugly
wrapped text when printed to a standard 80-column terminal.)

Signed-off-by: Benno Schulenberg <bensberg@telfort.nl>
12 days agoliblastlog2: refactor conditional assignments for better readability
Karel Zak [Tue, 23 Sep 2025 09:04:15 +0000 (11:04 +0200)] 
liblastlog2: refactor conditional assignments for better readability

Split conditional assignments like 'if ((ret = func()) != 0)' into
separate assignment and comparison statements for improved code clarity,
maintainability, and debugging.

Signed-off-by: Karel Zak <kzak@redhat.com>
12 days agoliblastlog2: fix operator precedence in conditional assignments
Karel Zak [Tue, 23 Sep 2025 08:46:59 +0000 (10:46 +0200)] 
liblastlog2: fix operator precedence in conditional assignments

Fix operator precedence in ll2_rename_user() where != comparison was
taking precedence over assignment, causing retval to be assigned 0 or 1
instead of the actual function return value.

Fixes: https://github.com/util-linux/util-linux/issues/3756
Signed-off-by: Karel Zak <kzak@redhat.com>
13 days agotools: improve git-version-bump with validation and help
Karel Zak [Mon, 22 Sep 2025 13:51:06 +0000 (15:51 +0200)] 
tools: improve git-version-bump with validation and help

- Add --help option with usage information
- Validate script runs only on stable/vX.Y branches
- Validate version format (X.Y, X.Y.Z, X.Y-rcN, X.Y.Z-rcN)

Signed-off-by: Karel Zak <kzak@redhat.com>
13 days agotools: improve git-version-next to always output version variables
Karel Zak [Mon, 22 Sep 2025 13:21:18 +0000 (15:21 +0200)] 
tools: improve git-version-next to always output version variables

- Always output UL_NEXT_FINAL_RELEASE (previously only for RC releases)
- Add UL_LAST_FINAL_RELEASE for last stable (non-RC) release
- Remove _RAW variables from output for cleaner interface

The UL_NEXT_FINAL_RELEASE now represents the version that will be
released after code stabilization, while UL_LAST_FINAL_RELEASE
represents the last stable release without -rc suffix.

Signed-off-by: Karel Zak <kzak@redhat.com>
13 days agotools: add git-version-next script release versioning
Karel Zak [Mon, 22 Sep 2025 09:59:49 +0000 (11:59 +0200)] 
tools: add git-version-next script release versioning

- Only works on stable/* branches (releases are generated from stable branches)
- Supports util-linux versioning: vX.Y (major), vX.Y.Z (maintenance)
- Command-line options: --rc, --release-master, --release-update
- Safety check prevents --release-master on branches with existing releases
- Testing support via --last-release and --last-xy-release overrides

Version Schema:
  Major releases:      vX.Y-rc1, vX.Y-rc2, [vX.Y-rc3], vX.Y
  Maintenance releases: vX.Y.Z-rc1, vX.Y.Z

Signed-off-by: Karel Zak <kzak@redhat.com>
2 weeks agolibblkid: Fix probe_ioctl_tp assigning BLKGETDISKSEQ as physical sector size
Sam Fink [Wed, 17 Sep 2025 14:04:51 +0000 (10:04 -0400)] 
libblkid: Fix probe_ioctl_tp assigning BLKGETDISKSEQ as physical sector size

Fix issue introduced by PR#2908 in probe_ioctl_tp where the BLKGETDISKSEQ ioctl
result is incorrectly assigned to the topology with
blkid_topology_set_physical_sector_size instead of blkid_topology_set_diskseq.

This issue was observed while using a Debian 13 container on a RHEL 9.4 host
attempting to format a volume. The physical sector size was incorrectly
reported as 3. This issue also presents with the fdisk command,
which also uses this library to resolve physical sector size of devices.

Example fdisk output:
root@r94p121-PA:~ # fdisk --list /dev/sdb
Disk /dev/sdb: 90 GiB, 96636764160 bytes, 188743680 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 3 bytes
I/O size (minimum/optimal): 512 bytes / 3 bytes

Strace of relevant ioctls:
ioctl(3, BLKALIGNOFF, [0])              = 0
ioctl(3, BLKIOMIN, [512])               = 0
ioctl(3, BLKIOOPT, [0])                 = 0
ioctl(3, BLKPBSZGET, [512])             = 0
ioctl(3, BLKGETDISKSEQ, [3])            = 0
ioctl(3, BLKSSZGET, [512])              = 0

2 weeks agoagetty: using configs lib for parsing issue files
Stefan Schubert [Wed, 17 Sep 2025 11:43:55 +0000 (13:43 +0200)] 
agetty: using configs lib for parsing issue files

2 weeks agolibcommon: added lib "configs" for parsing configuration files in the correct order
Stefan Schubert [Wed, 17 Sep 2025 11:40:29 +0000 (13:40 +0200)] 
libcommon: added lib "configs" for parsing configuration files in the correct order

2 weeks agoagetty: fix erasure of escape sequences and tab characters
Karel Zak [Wed, 17 Sep 2025 10:58:59 +0000 (12:58 +0200)] 
agetty: fix erasure of escape sequences and tab characters

When escape sequences (like arrow keys) or tab characters are entered
at the login prompt, they are properly visualized but only partially
erasable with backspace. This is because the erase logic assumes each
stored character corresponds to one visual character, but escape
sequences display as "^[" (2 chars) and tabs expand to multiple spaces.

Track visual character width for each stored byte in a parallel array.
When erasing, use the stored visual width to properly erase all
displayed characters for that input byte.

Fixes: https://github.com/util-linux/util-linux/issues/3624
Signed-off-by: Karel Zak <kzak@redhat.com>
2 weeks agoblkid: correct an erroneous error message
Benno Schulenberg [Tue, 16 Sep 2025 13:44:41 +0000 (15:44 +0200)] 
blkid: correct an erroneous error message

Running `blkid -p -n no /dev/sda2` would report:

  blkid: error: -u <list> argument is empty

(Mentioning -u instead of -n, and falsely claiming emptiness.)

Now the above command will report:

  blkid: invalid argument: no

(I don't think option -n needs to be mentioned, as it will be obvious
when inspecting the command line.  Not mentioning the option allows
reusing an existing error message, avoiding needless ballooning and
allowing the patch to be applied to the stable branch.)

Signed-off-by: Benno Schulenberg <bensberg@telfort.nl>
2 weeks agoMerge branch 'PR/column-wrap-separator' of https://github.com/karelzak/util-linux...
Karel Zak [Wed, 17 Sep 2025 08:14:15 +0000 (10:14 +0200)] 
Merge branch 'PR/column-wrap-separator' of https://github.com/karelzak/util-linux-work

* 'PR/column-wrap-separator' of https://github.com/karelzak/util-linux-work:
  column: add --wrap-separator option for custom text wrapping

2 weeks agoMerge branch 'namespace-man-pages' of https://github.com/masatake/util-linux
Karel Zak [Tue, 16 Sep 2025 11:11:05 +0000 (13:11 +0200)] 
Merge branch 'namespace-man-pages' of https://github.com/masatake/util-linux

* 'namespace-man-pages' of https://github.com/masatake/util-linux:
  nsenter,unshare: (man) add the NS-related commands to SEE ALSO

2 weeks agoMerge branch 'lsfd--test-use-stat-Ld' of https://github.com/masatake/util-linux
Karel Zak [Tue, 16 Sep 2025 11:09:55 +0000 (13:09 +0200)] 
Merge branch 'lsfd--test-use-stat-Ld' of https://github.com/masatake/util-linux

* 'lsfd--test-use-stat-Ld' of https://github.com/masatake/util-linux:
  tests: (lsfd/column-source-btrfs) extract a minor number in a more reliable way

2 weeks agocolumn: add --wrap-separator option for custom text wrapping
Karel Zak [Mon, 15 Sep 2025 14:14:08 +0000 (16:14 +0200)] 
column: add --wrap-separator option for custom text wrapping

Add a new --wrap-separator option that allows users to specify custom
separator characters for text wrapping within table columns. When used
with --table-wrap, the separator is replaced with newlines to enable
wrapping at specific points rather than just by column width.

The implementation:
- Processes wrap separator replacement in modify_table() after column
  wrap flags are set
- Uses scols_cell_refer_memory() for data containing embedded nulls
- Enables scols_wrapzero_nextchunk for columns with wrapping enabled
- Only applies to columns that have the wrap flag set via --table-wrap

Example usage:
  $ echo -e 'Name:Desc\nJohn:A|software|dev' | \
column --table --separator ':' \
                       --table-wrap 2 --wrap-separator '|'
  Name  Desc
  John  A
        software
        dev

Fixes: https://github.com/util-linux/util-linux/issues/3739
Signed-off-by: Karel Zak <kzak@redhat.com>
2 weeks agofindmnt: (usage) add a needed equals sign before an optional argument
Benno Schulenberg [Thu, 11 Sep 2025 13:48:07 +0000 (15:48 +0200)] 
findmnt: (usage) add a needed equals sign before an optional argument

The argument of --kernel is optional, so an '=' is required when an
argument is specified.

Also tweak the wording, and add a semicolon between two phrases.

Signed-off-by: Benno Schulenberg <bensberg@telfort.nl>
3 weeks agonsenter,unshare: (man) add the NS-related commands to SEE ALSO
Masatake YAMATO [Sat, 13 Sep 2025 12:33:12 +0000 (21:33 +0900)] 
nsenter,unshare: (man) add the NS-related commands to SEE ALSO

The NS-related commands in util-linux complement each other.
Users should know them.

Signed-off-by: Masatake YAMATO <yamato@redhat.com>
3 weeks agotests: (lsfd/column-source-btrfs) extract a minor number in a more reliable way
Masatake YAMATO [Sat, 13 Sep 2025 00:09:09 +0000 (09:09 +0900)] 
tests: (lsfd/column-source-btrfs) extract a minor number in a more reliable way

This change fixes a potential bug in the test case.

The original code used the %d of stat command to extract the device minor
number for a file based on a wrong assumption. Use %Ld instead.

Signed-off-by: Masatake YAMATO <yamato@redhat.com>
3 weeks agoMerge branch 'PR/libmount-fsconfig-nofail' of https://github.com/karelzak/util-linux...
Karel Zak [Thu, 11 Sep 2025 08:47:27 +0000 (10:47 +0200)] 
Merge branch 'PR/libmount-fsconfig-nofail' of https://github.com/karelzak/util-linux-work

* 'PR/libmount-fsconfig-nofail' of https://github.com/karelzak/util-linux-work:
  libmount: don't report fsconfig errors with "nofail"

3 weeks agoMerge branch 'PR/libfdisk-collision-report' of https://github.com/karelzak/util-linux...
Karel Zak [Thu, 11 Sep 2025 07:45:49 +0000 (09:45 +0200)] 
Merge branch 'PR/libfdisk-collision-report' of https://github.com/karelzak/util-linux-work

* 'PR/libfdisk-collision-report' of https://github.com/karelzak/util-linux-work:
  libfdisk: improve collision reporting

3 weeks agoMerge branch 'PR/logger-stdin-overflow' of https://github.com/karelzak/util-linux...
Karel Zak [Thu, 11 Sep 2025 07:45:22 +0000 (09:45 +0200)] 
Merge branch 'PR/logger-stdin-overflow' of https://github.com/karelzak/util-linux-work

* 'PR/logger-stdin-overflow' of https://github.com/karelzak/util-linux-work:
  logger: fix buffer overflow when read stdin

3 weeks agolibmount: don't report fsconfig errors with "nofail"
Karel Zak [Thu, 11 Sep 2025 07:35:58 +0000 (09:35 +0200)] 
libmount: don't report fsconfig errors with "nofail"

The new kernel API returns EINVAL on FSCONFIG_CMD_CREATE if the mount
source is inaccessible. We do not want to report this as an error when
the "nofail" mount option is specified.

Note that EINVAL may also be returned by other fsconfig() settings, so
we need to check whether a source is specified and whether it is really
inaccessible. This is just a heuristic (as with the old mount(2)).

Fixes: https://github.com/util-linux/util-linux/issues/3741
Signed-off-by: Karel Zak <kzak@redhat.com>
3 weeks agolscpu: New Arm C1 parts
Jeremy Linton [Wed, 10 Sep 2025 14:51:21 +0000 (09:51 -0500)] 
lscpu: New Arm C1 parts

Arm has announced the C1-Nano with a TRM here:
https://developer.arm.com/documentation/107753/latest

The C1-Pro with a TRM here:
https://developer.arm.com/documentation/107771/latest

The C1-Ultra with a TRM here:
https://developer.arm.com/documentation/108014/latest

The C1-Premium with a TRM here:
https://developer.arm.com/documentation/109416/latest

Signed-off-by: Jeremy Linton <jeremy.linton@arm.com>
3 weeks agosfdisk: (man) do not use the common 'include' for --help and --version
Benno Schulenberg [Tue, 9 Sep 2025 15:12:08 +0000 (17:12 +0200)] 
sfdisk: (man) do not use the common 'include' for --help and --version

Anomalously, `sfdisk` uses -v for --version instead of the standard
uppercase -V.  In `sfdisk` -V means --verify.

This effectively reverts commit 82d0bfe59a from last week, and
adds a comment to try and prevent the mistake in the future.

CC: Mario Blättermann <mario.blaettermann@gmail.com>
Signed-off-by: Benno Schulenberg <bensberg@telfort.nl>
3 weeks agologger: fix buffer overflow when read stdin
Karel Zak [Wed, 10 Sep 2025 08:31:23 +0000 (10:31 +0200)] 
logger: fix buffer overflow when read stdin

$ perl -e 'print "<" . "0"x10240' | logger --prio-prefix
Segmentation fault (core dumped)

Signed-off-by: Karel Zak <kzak@redhat.com>
3 weeks agoMerge branch 'PR/libfdisk-script-format' of https://github.com/karelzak/util-linux...
Karel Zak [Tue, 9 Sep 2025 09:12:04 +0000 (11:12 +0200)] 
Merge branch 'PR/libfdisk-script-format' of https://github.com/karelzak/util-linux-work

* 'PR/libfdisk-script-format' of https://github.com/karelzak/util-linux-work:
  libfdisk: (script) improve separator usage in named-fields dump
  libfdisk: (script) fix device name separator parsing

3 weeks agorev: add --zero option to --help output
Christian Goeschel Ndjomouo [Mon, 8 Sep 2025 19:48:01 +0000 (15:48 -0400)] 
rev: add --zero option to --help output

Signed-off-by: Christian Goeschel Ndjomouo <cgoesc2@wgu.edu>
3 weeks agoMerge branch 'fix/doc_list_columns_lscpu_man' of https://github.com/cgoesche/util...
Karel Zak [Mon, 8 Sep 2025 10:04:43 +0000 (12:04 +0200)] 
Merge branch 'fix/doc_list_columns_lscpu_man' of https://github.com/cgoesche/util-linux-fork

* 'fix/doc_list_columns_lscpu_man' of https://github.com/cgoesche/util-linux-fork:
  lscpu: (man) add description of the --list-columns option

3 weeks agoMerge branch 'master' of https://github.com/mariobl/util-linux
Karel Zak [Mon, 8 Sep 2025 10:03:32 +0000 (12:03 +0200)] 
Merge branch 'master' of https://github.com/mariobl/util-linux

* 'master' of https://github.com/mariobl/util-linux:
  Fix another issue in login.1.adoc
  sfdisk.8.adoc: Replace --help and --version with external entity
  Fix markup in pam_lastlog2.8.adoc
  Fix markup in column.1.adoc
  Fix markup in mount.8.adoc
  Fix typo and markup in getopt.1.adoc
  Fix markup in lsfd.1.adoc
  Fix markup, grammar and spelling in scols-filter.5.adoc
  Fix login.1.adoc

3 weeks agolscpu: Add NVIDIA Olympus arm64 core
Matthew R. Ochs [Tue, 2 Sep 2025 20:28:36 +0000 (13:28 -0700)] 
lscpu: Add NVIDIA Olympus arm64 core

Add an entry for NVIDIA Olympus arm64 core.

Signed-off-by: Matthew R. Ochs <mochs@nvidia.com>
3 weeks agolibfdisk: improve collision reporting
Karel Zak [Mon, 8 Sep 2025 09:44:16 +0000 (11:44 +0200)] 
libfdisk: improve collision reporting

In some cases, a collision occurs in the first sector. Creating a new
partition table overwrites this sector, but updating an existing table
does not. In the latter case, promising to wipe the collision is a
bug.

Because we cannot know whether the collision is expected (e.g., hybrid
or boot disks) or unintended, we inform the user and let them decide.
libfdisk can wipe the unwanted signature only when creating a new
partition table; otherwise, the user can use wipefs.

This commit introduces fdisk_is_collision_area(), an API to detect
where the collision occurs. The function is generic and not limited to
the first sector.

Fixes: https://github.com/util-linux/util-linux/issues/3659
Signed-off-by: Karel Zak <kzak@redhat.com>
4 weeks agolscpu: (man) add description of the --list-columns option
Christian Goeschel Ndjomouo [Thu, 4 Sep 2025 20:46:25 +0000 (16:46 -0400)] 
lscpu: (man) add description of the --list-columns option

Signed-off-by: Christian Goeschel Ndjomouo <cgoesc2@wgu.edu>
4 weeks agoFix another issue in login.1.adoc
Mario Blättermann [Thu, 4 Sep 2025 12:02:13 +0000 (14:02 +0200)] 
Fix another issue in login.1.adoc

4 weeks agosfdisk.8.adoc: Replace --help and --version with external entity
Mario Blättermann [Wed, 3 Sep 2025 18:23:49 +0000 (20:23 +0200)] 
sfdisk.8.adoc: Replace --help and --version with external entity

sfdisk.8.adoc still had the literal --help and --version options, in contrary to all other .adoc files, which have the man-common/help-version.adoc entity.

4 weeks agoFix markup in pam_lastlog2.8.adoc
Mario Blättermann [Wed, 3 Sep 2025 17:53:04 +0000 (19:53 +0200)] 
Fix markup in pam_lastlog2.8.adoc

4 weeks agoFix markup in column.1.adoc
Mario Blättermann [Wed, 3 Sep 2025 17:51:07 +0000 (19:51 +0200)] 
Fix markup in column.1.adoc

4 weeks agoFix markup in mount.8.adoc
Mario Blättermann [Wed, 3 Sep 2025 17:49:24 +0000 (19:49 +0200)] 
Fix markup in mount.8.adoc

4 weeks agoFix typo and markup in getopt.1.adoc
Mario Blättermann [Wed, 3 Sep 2025 17:47:39 +0000 (19:47 +0200)] 
Fix typo and markup in getopt.1.adoc

4 weeks agoFix markup in lsfd.1.adoc
Mario Blättermann [Wed, 3 Sep 2025 17:46:06 +0000 (19:46 +0200)] 
Fix markup in lsfd.1.adoc

4 weeks agoFix markup, grammar and spelling in scols-filter.5.adoc
Mario Blättermann [Wed, 3 Sep 2025 17:44:04 +0000 (19:44 +0200)] 
Fix markup, grammar and spelling in scols-filter.5.adoc

4 weeks agoFix login.1.adoc
Mario Blättermann [Wed, 3 Sep 2025 17:39:37 +0000 (19:39 +0200)] 
Fix login.1.adoc

Something went wrong in the last commit... Instead fixing markup issues, *login* went to an empty **.

4 weeks agohardlink: (man) add note note about ULFILEEQ_DEBUG=
Karel Zak [Wed, 3 Sep 2025 09:57:06 +0000 (11:57 +0200)] 
hardlink: (man) add note note about ULFILEEQ_DEBUG=

Addresses: https://github.com/util-linux/util-linux/discussions/3323
Signed-off-by: Karel Zak <kzak@redhat.com>
4 weeks agoMerge branch 'feat/lscpu_add_microcode_column' of https://github.com/cgoesche/util...
Karel Zak [Wed, 3 Sep 2025 09:46:35 +0000 (11:46 +0200)] 
Merge branch 'feat/lscpu_add_microcode_column' of https://github.com/cgoesche/util-linux-fork

* 'feat/lscpu_add_microcode_column' of https://github.com/cgoesche/util-linux-fork:
  bash-completion: add MICROCODE to $OPTS_ALL
  lscpu: add MICROCODE output column

4 weeks agolibfdisk: (script) improve separator usage in named-fields dump
Karel Zak [Wed, 3 Sep 2025 09:30:57 +0000 (11:30 +0200)] 
libfdisk: (script) improve separator usage in named-fields dump

Ensure that name=value pairs are separated by commas.

Signed-off-by: Karel Zak <kzak@redhat.com>
4 weeks agolibfdisk: (script) fix device name separator parsing
Karel Zak [Wed, 3 Sep 2025 08:54:06 +0000 (10:54 +0200)] 
libfdisk: (script) fix device name separator parsing

In the named-fields script format, the colon is used as the separator
between the device name and other values. The device name may also
contain colons. This commit ensures it is treated as a separator only
when there is a space before or after the colon.

Note that the device name is optional and may be omitted. There is no
escaping for problematic characters in the name. Use " : " as the
separator.

Fixes: https://github.com/util-linux/util-linux/issues/3723
Signed-off-by: Karel Zak <kzak@redhat.com>
4 weeks agoMerge branch 'fix/fix_lsns_list_columns_opt' of https://github.com/cgoesche/util...
Karel Zak [Wed, 3 Sep 2025 08:12:31 +0000 (10:12 +0200)] 
Merge branch 'fix/fix_lsns_list_columns_opt' of https://github.com/cgoesche/util-linux-fork

* 'fix/fix_lsns_list_columns_opt' of https://github.com/cgoesche/util-linux-fork:
  bash-completion: (lsns) add -H/--list-columns options
  lsns: fix --list-columns option

Signed-off-by: Karel Zak <kzak@redhat.com>
4 weeks agoMerge branch 'feat/allow_killing_with_pidfd' of https://github.com/cgoesche/util...
Karel Zak [Wed, 3 Sep 2025 08:06:39 +0000 (10:06 +0200)] 
Merge branch 'feat/allow_killing_with_pidfd' of https://github.com/cgoesche/util-linux-fork

* 'feat/allow_killing_with_pidfd' of https://github.com/cgoesche/util-linux-fork:
  textual: rename list_colunms() to list_columns() and remove trailing whitespaces
  include/strutils: add missing header guard comment
  lib: fix bad indentation in meson.build
  kill: add support for race-free process kills using pidfd inodes

4 weeks agoMerge branch 'feat/add_columns_env_ls_cmds' of https://github.com/cgoesche/util-linux...
Karel Zak [Wed, 3 Sep 2025 07:56:26 +0000 (09:56 +0200)] 
Merge branch 'feat/add_columns_env_ls_cmds' of https://github.com/cgoesche/util-linux-fork

* 'feat/add_columns_env_ls_cmds' of https://github.com/cgoesche/util-linux-fork:
  lscpu: (man) document the LSCPU_{CACHES_}COLUMNS environment variables
  bash-completion: (lscpu) add -H/--list-columns options
  lscpu: add --list-columns option and declutter --help output
  lscpu: add support for LSCPU_{CACHES_}COLUMNS environment variables
  lsclocks: add support for LSCLOCKS_COLUMNS environmental variable
  tests: (lsmem) update expected/lscpu/* with 'ZONES' column
  lsmem: add support for LSMEM_COLUMNS environmental variable

4 weeks agoMerge branch 'feat/lslocks_output_env' of https://github.com/cgoesche/util-linux...
Karel Zak [Wed, 3 Sep 2025 07:52:07 +0000 (09:52 +0200)] 
Merge branch 'feat/lslocks_output_env' of https://github.com/cgoesche/util-linux-fork

* 'feat/lslocks_output_env' of https://github.com/cgoesche/util-linux-fork:
  lslocks: (man) add LSLOCKS_COLUMNS description in new ENVIRONMENT section
  lslocks: add support for LSLOCKS_COLUMNS environmental variable

4 weeks agoMerge branch 'PR/libmount-canonicalize-cleanup' of https://github.com/karelzak/util...
Karel Zak [Wed, 3 Sep 2025 07:47:04 +0000 (09:47 +0200)] 
Merge branch 'PR/libmount-canonicalize-cleanup' of https://github.com/karelzak/util-linux-work

* 'PR/libmount-canonicalize-cleanup' of https://github.com/karelzak/util-linux-work:
  lib/canonicalize: use ul_ prefix
  lib/canonicalize: introduce generic drop-permission caller
  meson: cleanup tests to use libcommon.la
  autotools: cleanup tests to use libcommon.la
  tests: add canonicalize test
  lib/canonicalize: refactor canonicalize_path()
  lib/canonicalize: rename to ul_absolute_path()

4 weeks agotextual: rename list_colunms() to list_columns() and remove trailing whitespaces
Christian Goeschel Ndjomouo [Mon, 1 Sep 2025 21:27:55 +0000 (17:27 -0400)] 
textual: rename list_colunms() to list_columns() and remove trailing whitespaces

Signed-off-by: Christian Goeschel Ndjomouo <cgoesc2@wgu.edu>
4 weeks agoinclude/strutils: add missing header guard comment
Christian Goeschel Ndjomouo [Mon, 1 Sep 2025 20:57:39 +0000 (16:57 -0400)] 
include/strutils: add missing header guard comment

Signed-off-by: Christian Goeschel Ndjomouo <cgoesc2@wgu.edu>
4 weeks agolib: fix bad indentation in meson.build
Christian Goeschel Ndjomouo [Mon, 1 Sep 2025 20:54:52 +0000 (16:54 -0400)] 
lib: fix bad indentation in meson.build

Signed-off-by: Christian Goeschel Ndjomouo <cgoesc2@wgu.edu>
4 weeks agokill: add support for race-free process kills using pidfd inodes
Christian Goeschel Ndjomouo [Mon, 25 Aug 2025 18:04:19 +0000 (14:04 -0400)] 
kill: add support for race-free process kills using pidfd inodes

The 6.9 Linux kernel added support for pidfds which introduces inodes
that stay unique for the system lifetime and can be used to reference
a process with both its traditional pid and pid fd inode number.
This enables race-free killing of processes and protects from false
referencing due to pid rollovers.

This patch adds a new way of addressing processes with the format
'pid:pidfd_inode'. When the new format is used, 'kill' assumes the user wishes
to use a pidfd to signal a process, and will therefore use pidfd_* routines
to complete the task if the provided inode matches the one from a previously
acquired pidfd.

Addresses: #3252
Signed-off-by: Christian Goeschel Ndjomouo <cgoesc2@wgu.edu>
4 weeks agobash-completion: add MICROCODE to $OPTS_ALL
Christian Goeschel Ndjomouo [Tue, 2 Sep 2025 22:01:55 +0000 (18:01 -0400)] 
bash-completion: add MICROCODE to $OPTS_ALL

Signed-off-by: Christian Goeschel Ndjomouo <cgoesc2@wgu.edu>
4 weeks agolscpu: add MICROCODE output column
Christian Goeschel Ndjomouo [Tue, 2 Sep 2025 21:59:53 +0000 (17:59 -0400)] 
lscpu: add MICROCODE output column

Signed-off-by: Christian Goeschel Ndjomouo <cgoesc2@wgu.edu>
4 weeks agobash-completion: (lsns) add -H/--list-columns options
Christian Goeschel Ndjomouo [Tue, 2 Sep 2025 21:21:35 +0000 (17:21 -0400)] 
bash-completion: (lsns) add -H/--list-columns options

Signed-off-by: Christian Goeschel Ndjomouo <cgoesc2@wgu.edu>
4 weeks agolsns: fix --list-columns option
Christian Goeschel Ndjomouo [Tue, 2 Sep 2025 21:13:44 +0000 (17:13 -0400)] 
lsns: fix --list-columns option

This patch makes it so that we continue parsing all CLI options even
when we find -H/--list-columns. Therefore we don't miss any format
specifying options, namely --json and --raw, and print the columns
in the desired form.

Closes: #3725
Signed-off-by: Christian Goeschel Ndjomouo <cgoesc2@wgu.edu>
4 weeks agolscpu: (man) document the LSCPU_{CACHES_}COLUMNS environment variables
Christian Goeschel Ndjomouo [Tue, 2 Sep 2025 18:56:32 +0000 (14:56 -0400)] 
lscpu: (man) document the LSCPU_{CACHES_}COLUMNS environment variables

Signed-off-by: Christian Goeschel Ndjomouo <cgoesc2@wgu.edu>
4 weeks agobash-completion: (lscpu) add -H/--list-columns options
Christian Goeschel Ndjomouo [Tue, 2 Sep 2025 18:56:01 +0000 (14:56 -0400)] 
bash-completion: (lscpu) add -H/--list-columns options

Signed-off-by: Christian Goeschel Ndjomouo <cgoesc2@wgu.edu>
4 weeks agolscpu: add --list-columns option and declutter --help output
Christian Goeschel Ndjomouo [Tue, 2 Sep 2025 18:49:34 +0000 (14:49 -0400)] 
lscpu: add --list-columns option and declutter --help output

This moves the list of available columns from the --help output
to the '--list-columns' option and makes the usage information
more readable.

Signed-off-by: Christian Goeschel Ndjomouo <cgoesc2@wgu.edu>
4 weeks agolscpu: add support for LSCPU_{CACHES_}COLUMNS environment variables
Christian Goeschel Ndjomouo [Tue, 2 Sep 2025 18:30:01 +0000 (14:30 -0400)] 
lscpu: add support for LSCPU_{CACHES_}COLUMNS environment variables

This provides alternate ways of specifying output columns similar
to the '--parse', '--extended' and '--caches' options.

Addresses: #2816
Signed-off-by: Christian Goeschel Ndjomouo <cgoesc2@wgu.edu>
4 weeks agolsclocks: add support for LSCLOCKS_COLUMNS environmental variable
Christian Goeschel Ndjomouo [Sun, 31 Aug 2025 00:04:49 +0000 (20:04 -0400)] 
lsclocks: add support for LSCLOCKS_COLUMNS environmental variable

This provides an alternate way to specify output columns similar
to the --output option.

Addresses: #2816
Signed-off-by: Christian Goeschel Ndjomouo <cgoesc2@wgu.edu>