Commit 20b360c3 authored by Andreas Henriksson's avatar Andreas Henriksson

New upstream version 2.33

parents 4ab8c0c4 06993ebb
......@@ -92,6 +92,7 @@ CONTRIBUTORS:
Alan Curry <>
Alan Jenkins <>
Alan Wendt <>
Alban Crequy <>
Alden Tondettar <>
Alejandro Martinez Ruiz <>
Alexander F Rødseth <>
......@@ -138,6 +139,7 @@ CONTRIBUTORS:
Attila Áfra <>
Aurelien Aptel <>
Aurelien Jarno <>
Awal Garg <>
Balint Cristian <>
Bastian Friedrich <>
Ben Hutchings <>
......@@ -252,10 +254,12 @@ CONTRIBUTORS:
François Revol <>
Fran Diéguez <>
Frank Mayhar <>
Frank Schaefer <>
Frédéric Bothamy <>
Frederick Grose <>
Frédéric Marchal <>
Frederik "Freso" S. Olesen <>
Fred Mora <>
fREW Schmidt <>
Fridolin Pokorny <>
Gabor Kelemen <>
......@@ -285,6 +289,7 @@ CONTRIBUTORS:
Hamish Coleman <>
Hannes Reinecke <>
Harald Hoyer <>
Harry Mallon <>
Hayden James <>
Heiko Carstens <>
Helge Deller <>
......@@ -375,6 +380,7 @@ CONTRIBUTORS:
Kirill Elagin <>
Kir Kolyshkin <>
Kunihiko IMAI <>
KyleMahlkuch <>
Lada Trimasova <>
LaMont Jones <>
Lars Wirzenius
......@@ -405,6 +411,7 @@ CONTRIBUTORS:
Marek Polacek <>
Mario Blättermann <>
Mark McLoughlin <>
Mark Sheppard <>
Mark Tinguely <>
Markus Rinne <>
Martin K. Petersen <>
......@@ -413,9 +420,11 @@ CONTRIBUTORS:
Martin Steigerwald <>
Masanari Iida <>
Masatake YAMATO <>
Masato Suzuki <>
Matthew Garrett <>
Matthias Gerstner <>
Matthias König <>
Matti Niemenmaa <>
Maurizio Lombardi <>
maximilian attems <>
Maxim Levitsky <>
......@@ -482,6 +491,7 @@ CONTRIBUTORS:
Paul Fox <>
Paulius Zaleckas <>
Paul Menzel <>
Paul M <>
Pavel Butsykin <>
Pavel Maryanov <>
pcpa <>
......@@ -574,10 +584,12 @@ CONTRIBUTORS:
Serge Hallyn <>
Sergei Antonov <>
Sergey Gusarov <>
Sevan Janiyan <>
sgargel <>
Shachar Shemesh <>
Shaun Tancheff <>
Simon Mihevc <>
sluidfoe <>
Søren Holm <> <>
Stanislav Brabec <>
See version control history.;a=log;h=2.32.1;a=log;h=2.33
Note that items with (!) have high priority.
- (!) add libscols_column->json_type and scols_column_set_jsontype()
to generate proper JSON output. Now the library uses quotes (= all is
string) for everything. See for example SIZE in "lsblk --json --bytes"
- add option to NOT ignore empty lines
- add option to print calendar in vertical way
- support another --reforms, see for example freebsd version
- (!) add terminal type ($TERM), columns and lines to the header line, something like:
Script started on 2018-03-05 13:02:08+0100 [term="xterm-256color", lines=53, columns=190]
- think about optional "event" records in timing file to save information
about non-data changes like signals (SIGWINCH, SIGSTOP, SIGCONT, etc.)
in format:
<time> 0 <name>[: var=data, ...]
for example:
- introduce a new timing file format to record information about multiple
streams (stdout, stdin) and events (signals)
0.001296 256
0.001297 0 SIGWINCH: columns=50, lines=20
0.000010 275
- add support for stdin loggin -- separated log file with raw input and timing
records in the timing file
The problem is NVMe-multipath driver where in /sys/.../slaves/ are nodes
that should be probably hidden for userspace. Note that kernel developers
promised to fix this issue in kernel *** so hold off from that for now***
[Mar 1, 2018].
Anyway, possible userspace solution is:
- for example timing file format:
<type> <timestamp> [<offset> | <signal> ...]
- verify that slave/holder nodes points to the real block devices
(/sys/dev/block/<maj:min> for the node exists), otherwise silently ignore
the slave/holder node -- see set_cxt().
O 0.001296 256
S 0.001297 SIGWINCH: columns=50, lines=20
I 0.000010 10
- the same verification we necessary for nodes in /sys/block/<name>. It means
verify result from sysfs_devname_to_devno() in set_cxt().
O - output, S - signal, I - input
cleanup lib/path.c: [Karel Zak for v2.33]
- always return rc from all functions
- introduce control struct and use openat() from top-level path
(e.g. top-level is /proc, etc)
- use lib/path.c as low-level API for lib/sysfs.c
- now we duplicate code in functions like {path,sysfs}_read_u32, etc.
- it would be also nice to have a way how to redirect sysfs.c functions
to /sys snapshots (e.g. lsblk regression tests)
- read cpuid and uname information from file if --sysroot is specified, then
......@@ -69,11 +34,21 @@ lscpu
- re-write the way how lsblk internally holds info about devices. Now we
compose only output (by libsmartcols). It would be better to have in memory
complete tree of the devices and generate the output from this tree. It will
make code more readable and allow to generate output in more ways -- for
example for RAIDs (
- currently it does not show mountpoint for all devices in btrfs RAID. It's because
/proc/#/mountinfo contains reference to the one device only. Maybe we can add some
btrfs specific code to provide a better output for FS based stacks. Not sure.
- think about free/used space columns; the problem is that such info is about FS
and it may be confusing for end-users when FS to DEV mapping is not 1:1 (RAIDs, btrfs,
- read the default UID and GID from the target process.
......@@ -117,25 +92,20 @@ libmount (mount/umount)
set and allow to use it for simple tasks where no another operation is
- allow to execute mount(2) in another namespace, something like:
mount --namespace=/proc/$n/ns/mnt /dev/sda2 /bar
see for more details.
- add options to control fstab/mtab mount options usage, something like:
--options-mode={ignore,append,prepend,replace} MNT_OMODE_{IGNORE, ...}
--options-source={fstab,mtab,disable} MNT_OMODE_{FSTAB,MTAB,NOTAB}
--options-source-force MNT_OMODE_FORCE
(all this already supported by libmount)
- support mapping by device-mapper if argv[0] is "kpartx" or --dm option is used.
It would be great if getopt could optionally ignore unknown options.
Currently, it outputs -- for every option it doesn't recognize but leaving the
option as it is could beneficial wrapper scripts which could then pass the
options they don't recognize as they are to the command they are wrapping.
......@@ -143,13 +113,6 @@ docs
- (!) add API documentation to libuuid
exit codes
- we need coreutils-like exit codes for failed exec(). See:
and original attempt:
......@@ -168,10 +131,9 @@ login-utils:
- (!) don't use internally blkid_loff_t, rather use off_t, size_t, ssize_t,
stdint.h types and so on...
- add FSSIZE value -- filesystem size (klibc requirement)
- (!) add support for BitLocker Drive Encryption
- (!) add support for dasd PT (used for example on s390)
......@@ -181,6 +143,7 @@ libfdisk
- add support for Apple Partition Map (see libblkid/src/partitions/mac.c)
......@@ -68,7 +68,7 @@ function is used:
The second parameter of blkid_get_cache (if non-zero) is the alternate filename
of the blkid cache file (see blkid man page for more information about the
default cach file location).
default cache file location).
Normally, programs should just pass in NULL.
......@@ -36,6 +36,25 @@ Compiling
FIXME: add notes about klib and uClib.
Compile certain portion
See ./configure --help and use --disable-* and --enable-* options.
It's also possible to disable all the programs and enable only wanted.
For example:
./configure --disable-all-programs --enable-fallocate
Note that the configure script tracks dependencies between libs and
tools. Always see warning messages and follow error messages if any
dependence is necessary. For example to compile mount(8) you need also
libmount, libblkid and libuuid:
./configure --disable-all-programs --enable-mount --enable-libmount \
--enable-libblkid --enable-libuuid
Static linking
Use --enable-static-programs[=LIST] configure option when
......@@ -35,6 +35,29 @@ Sending Patches
Packages like RPMs, DEBs, and the rest, are not provided. They should
be available from the distribution.
Repositories & Branches
* Primary repository is on
git clone git://
We use this repository for master and stable branches only.
* Backup repository at
git clone git://
We use this repository to backup and for pull requests,
issues tracking and topic branches. The master and stable branches are
always pushed to the both repositories in the same time.
It's recommended to use for development.
* Branches:
master - development for the next release
next - optionally used when master branch is frozen due to -rcN releases
topic/* - long time development
stable/* - stable maintenance releases
Patching Process
* announce it on the mailing list when you are going to work with some
......@@ -80,7 +80,7 @@ TS_OPT_testdir_[testscript_]fake="<yes|no>"
Evaluated by any test script to skip certain tests.
- skip all the tests within "fdisk" test-direcrory:
- skip all the tests within "fdisk" test-directory:
$ make check TS_OPT_fdisk_fake="yes"
- skip only "fdisk/bsd" test:
util-linux 2.32.1 Release Notes
- keep c_iflags unmodified on --autologin [Karel Zak]
- (man) add note about udev encoding [Karel Zak]
- fix whole device detection [Karel Zak]
- fix possible segfault during umount -a [Richard Fuchs]
- extend "Could not locate the pkg-config" error message [Karel Zak]
- improve bison version detection [Karel Zak]
- fix compiler warnings, follow-up 7085f1e4 (#636) [Ruediger Meier]
- fix missing prototype for `get_wch` [Patrick Steinhardt]
- use uint64_t to avoid compiler warnings [Karel Zak]
- Fix maximal number of CPUs [Stanislav Brabec]
- fix leading space characters bug [Karel Zak]
- fix raw output [Karel Zak]
- link together with syslog(2) manual page [Sami Kerola]
- update AUTHORS file [Karel Zak]
- prevent ". applet not found" error when SHELL env is not set. [osexp2000]
- fix compiler warning [-Wmaybe-uninitialized] [Karel Zak]
- Return EXIT_FAILURE when FTRIM ioctl fails [Karel Zak]
- cleanup includes [Karel Zak]
- fix strnlen() fallback [Karel Zak]
- (hfs) check allocation size [Karel Zak]
- (ntfs) enlarge cluster limit to 2MB [Karel Zak, Jean-Pierre André]
- (ntfs) fix cluster size check [Karel Zak]
- (zfs) fix compiler warning [-Wmaybe-uninitialized] [Karel Zak]
- udf Fix reporting UDF 2.60 revision [Pali Rohár]
- (docs) fix section name [Karel Zak]
- fix compiler warning [-Wunused-parameter] [Karel Zak]
- fix list_del after partition reset [Vaclav Dolezal]
- use \x<hex> to read/write partition name [Karel Zak]
- fix compiler warning [-Wunused-parameter] [Karel Zak]
- fix mnt_table_is_fs_mounted() for NFS bind mounts. [NeilBrown]
- improve docs about mnt_context_mount() return codes [Karel Zak]
- include sys/mount.h on Linux only [Karel Zak]
- include sys/mount.h only if necessary [Karel Zak]
- don't print empty column [Karel Zak]
- don't exclude RAM disks on --all [Karel Zak]
- fix notes about RAM disks [Karel Zak]
lscpu, chcpu:
- Avoid use of the old CPU macros [Stanislav Brabec]
- add info about OFD [Karel Zak]
- fix memory leak [Karel Zak]
- fix password verification [Karel Zak]
- exit with error code when partition read failed [Andreas Henriksson]
- fix lsblk translation [Karel Zak]
- merge changes [Karel Zak]
- pt_BR fix fallocate '-l' help msg [Luiz Angelo Daros de Luca]
- update ja.po (from [Takeshi Hamasaki]
- update pt_BR.po (from [Rafael Fontenelle]
- consolidate printing the symlink in addition to its target [G.raud Meyer]
- fix/reverse the semantics of --no-overwrite in --symlink mode [G.raud Meyer]
- include <poll.h> instead of <sys/poll.h> [Patrick Steinhardt]
- add another PER_LINUX32 aliases for ppcle [Karel Zak]
- update column(1) space-separator test [Karel Zak]
- add note about --lazy [Karel Zak]
- (man) explain that --find is necessary [Karel Zak]
- (man) explain that --find is necessary [Karel Zak]
This diff is collapsed.
This source diff could not be displayed because it is too large. You can view the blob instead.
util-linux 2.32.1: Jul 16 2018
* see Documentation/releases/v2.32-ReleaseNotes or the complete changelog at
util-linux 2.33: Nov 6 2018
* see Documentation/releases/v2.33-ReleaseNotes or the complete changelog at
util-linux 2.33-rc2: Oct 19 2018
* see Documentation/releases/v2.33-ReleaseNotes or the complete changelog at
util-linux 2.33-rc1: Sep 25 2018
* see Documentation/releases/v2.33-ReleaseNotes or the complete changelog at
util-linux 2.32: Mar 21 2018
* see Documentation/releases/v2.32-ReleaseNotes or the complete changelog at
......@@ -2,19 +2,21 @@
The project util-linux doesn't use the same license for all of the code.
There is code under:
* GPLv2+ (GNU General Public License version 2, or any later version)
* GPL-2.0-or-later - GNU General Public License version 2, or any later version
* GPLv2 (GNU General Public License version 2)
* GPL-2.0 - GNU General Public License version 2
* LGPLv2+ (GNU Lesser General Public License v2 (or 2.1) or any later version)
* LGPL-2.1-or-later - GNU Lesser General Public License 2.1 or any later version
* BSD with advertising
* BSD-3-Clause - BSD 3-Clause "New" or "Revised" License
* BSD-4-Clause-UC - BSD 4-Clause University of California-Specific
* Public Domain
Please, check the source code for more details. A license is usually at the start
of each source file.
The ./COPYING file (GPLv2+) is the default license for code without an explicitly
defined license.
The ./COPYING file (GPL-2.0-or-later) is the default license for code without
an explicitly defined license.
......@@ -33,7 +33,7 @@ _blockdev_module()
COMPREPLY=( $(compgen -W "bytes" -- $cur) )
return 0
COMPREPLY=( $(compgen -W "sectors" -- $cur) )
return 0
......@@ -12,7 +12,7 @@ _chcpu_module()
CPULIST_ALL=$(sed 's/^/{/; s/-/../g; s/,/} {/g; s/$/}/' /sys/devices/system/cpu/offline)
for WORD in $(eval echo $CPULIST_ALL); do
if ! [[ $prefix == *"$WORD"* ]]; then
compopt -o nospace
......@@ -26,7 +26,7 @@ _chcpu_module()
CPULIST_ALL=$(sed 's/^/{/; s/-/../g; s/,/} {/g; s/$/}/' /sys/devices/system/cpu/online)