From 673c78e12a84a72575a06423b07beefb05a0a0d5 Mon Sep 17 00:00:00 2001 From: Anita Zhang Date: Sep 12 2023 08:54:59 +0000 Subject: backport 2.37.4-9 from c9s branch --- diff --git a/.gitignore b/.gitignore index c1ca66e..b630229 100644 --- a/.gitignore +++ b/.gitignore @@ -1 +1,87 @@ -SOURCES/util-linux-2.32.1.tar.xz +/floppy-0.16.tar.bz2 +/util-linux-2.19-rc1.tar.bz2 +/util-linux-2.19-rc1-32-gbded43d.tar.bz2 +/util-linux-2.19-rc2.tar.bz2 +/util-linux-2.19-rc3.tar.bz2 +/util-linux-2.19.tar.bz2 +*~ +.*.log +*.rpm +/floppy-0.18.tar.bz2 +/util-linux-2.19.1-rc1.tar.bz2 +/util-linux-2.19.1.tar.bz2 +/util-linux-2.20-rc1.tar.bz2 +/util-linux-2.20-rc2.tar.bz2 +/util-linux-2.20.tar.bz2 +/util-linux-2.20.1.tar.bz2 +/util-linux-2.21-rc2.tar.xz +/util-linux-2.21.tar.xz +/util-linux-2.21.1.tar.xz +/util-linux-2.21.2.tar.xz +/util-linux-2.22-rc2.tar.xz +/util-linux-2.22.tar.xz +/util-linux-2.22.1.tar.xz +/util-linux-2.22.2.tar.xz +/util-linux-2.23-rc1.tar.xz +/util-linux-2.23-rc2.tar.xz +/util-linux-2.23.tar.xz +/util-linux-2.23.1.tar.xz +/util-linux-2.23.2.tar.xz +/util-linux-2.24-rc1.tar.xz +/util-linux-2.24.tar.xz +/util-linux-2.24.1.tar.xz +/util-linux-2.24.2.tar.xz +/util-linux-2.25-rc1.tar.xz +/util-linux-2.25-rc2.tar.xz +/util-linux-2.25.tar.xz +/util-linux-2.25.1-rc1.tar.xz +/util-linux-2.25.1.tar.xz +/util-linux-2.25.2.tar.xz +/util-linux-2.26-rc1.tar.xz +/util-linux-2.26-rc2.tar.xz +/util-linux-2.26.tar.xz +/util-linux-2.26.2.tar.xz +/util-linux-2.27-rc1.tar.xz +/util-linux-2.27-rc2.tar.xz +/util-linux-2.27.tar.xz +/util-linux-2.27.1.tar.xz +/util-linux-2.28-rc1.tar.xz +/util-linux-2.28-rc2.tar.xz +/util-linux-2.28.tar.xz +/util-linux-2.28.1.tar.xz +/util-linux-2.28.2.tar.xz +/util-linux-2.29-rc1.tar.xz +/util-linux-2.29-rc2.tar.xz +/util-linux-2.29.tar.xz +/util-linux-2.29.1.tar.xz +/util-linux-2.29.2.tar.xz +/util-linux-2.30-rc1.tar.xz +/util-linux-2.30.tar.xz +/util-linux-2.30.1.tar.xz +/util-linux-2.30.2.tar.xz +/util-linux-2.31-rc1.tar.xz +/util-linux-2.31-rc2.tar.xz +/util-linux-2.31.tar.xz +/util-linux-2.32-rc1.tar.xz +/util-linux-2.32.tar.xz +/util-linux-2.32.1.tar.xz +/util-linux-2.33-rc2.tar.xz +/util-linux-2.33.1.tar.xz +/util-linux-2.33.2.tar.xz +/util-linux-2.34-rc1.tar.xz +/util-linux-2.34-rc2.tar.xz +/util-linux-2.34.tar.xz +/util-linux-2.35-rc1.tar.xz +/util-linux-2.35-rc1-20-63f8.tar.xz +/util-linux-2.35-rc2.tar.xz +/util-linux-2.35.tar.xz +/util-linux-2.35.1.tar.xz +/util-linux-2.35.2.tar.xz +/util-linux-2.36.tar.xz +/util-linux-2.36.1.tar.xz +/util-linux-2.36.2.tar.xz +/util-linux-2.37.tar.xz +/util-linux-2.37.1.tar.xz +/util-linux-2.37.2.tar.xz +/util-linux-2.37.3.tar.xz +/util-linux-2.37.4.tar.xz diff --git a/0000-login-create-var-log-lastlog.patch b/0000-login-create-var-log-lastlog.patch new file mode 100644 index 0000000..c2ea938 --- /dev/null +++ b/0000-login-create-var-log-lastlog.patch @@ -0,0 +1,26 @@ +From ef8c8e117234f135a22ba7180114f0153b2444d8 Mon Sep 17 00:00:00 2001 +From: Karel Zak +Date: Mon, 20 Jun 2016 11:09:02 +0200 +Subject: login: create /var/log/lastlog + +Addresses: http://bugzilla.redhat.com/show_bug.cgi?id=151635 +--- + login-utils/login.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/login-utils/login.c b/login-utils/login.c +index c6cd340b6..3657f04cd 100644 +--- a/login-utils/login.c ++++ b/login-utils/login.c +@@ -662,7 +662,7 @@ static void log_lastlog(struct login_context *cxt) + sa.sa_handler = SIG_IGN; + sigaction(SIGXFSZ, &sa, &oldsa_xfsz); + +- fd = open(_PATH_LASTLOG, O_RDWR, 0); ++ fd = open(_PATH_LASTLOG, O_RDWR | O_CREAT, 0); + if (fd < 0) + goto done; + offset = cxt->pwd->pw_uid * sizeof(ll); +-- +2.34.1 + diff --git a/0001-login-default-motd-file.patch b/0001-login-default-motd-file.patch new file mode 100644 index 0000000..c869c31 --- /dev/null +++ b/0001-login-default-motd-file.patch @@ -0,0 +1,28 @@ +From c8574869e60a0351551cb281872e08b4d8fc68d8 Mon Sep 17 00:00:00 2001 +From: Karel Zak +Date: Tue, 24 Aug 2021 13:50:57 +0200 +Subject: login: default motd file + +Add `/run/motd.d` to the hardcoded MOTD_FILE + +Addresses: https://github.com/coreos/console-login-helper-messages/issues/60 +--- + include/pathnames.h | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/include/pathnames.h b/include/pathnames.h +index 9be2baa83..7e7d9053f 100644 +--- a/include/pathnames.h ++++ b/include/pathnames.h +@@ -41,7 +41,7 @@ + #ifndef _PATH_MAILDIR + # define _PATH_MAILDIR "/var/spool/mail" + #endif +-#define _PATH_MOTDFILE "/usr/share/misc/motd:/run/motd:/etc/motd" ++#define _PATH_MOTDFILE "/usr/share/misc/motd:/run/motd:/run/motd.d:/etc/motd:/etc/motd.d" + #ifndef _PATH_NOLOGIN + # define _PATH_NOLOGIN "/etc/nologin" + #endif +-- +2.34.1 + diff --git a/0002-tests-make-.-run.sh-more-robust.patch b/0002-tests-make-.-run.sh-more-robust.patch new file mode 100644 index 0000000..61cd973 --- /dev/null +++ b/0002-tests-make-.-run.sh-more-robust.patch @@ -0,0 +1,30 @@ +From 38b2b2e49e72638639c997e532a846ee935ce148 Mon Sep 17 00:00:00 2001 +From: Karel Zak +Date: Mon, 23 Aug 2021 15:15:38 +0200 +Subject: tests: make ./run.sh more robust + +Let's make upstream tests more stable to be usable in RHEL +environment where we do not use ASAN and meson. + +Upstream: http://github.com/karelzak/util-linux/commit/331c5e0c54d9cb6f67dc3e825eec2d78c67d8ce6 +Signed-off-by: Karel Zak +--- + tests/run.sh | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/tests/run.sh b/tests/run.sh +index 9d26406c4..d020bfe88 100755 +--- a/tests/run.sh ++++ b/tests/run.sh +@@ -165,7 +165,7 @@ OPTS="$OPTS --srcdir=$top_srcdir --builddir=$top_builddir" + if [ -z "$has_asan_opt" ]; then + if [ -e "$top_builddir/Makefile" ]; then + asan=$(awk '/^ASAN_LDFLAGS/ { print $3 }' $top_builddir/Makefile) +- else ++ elif [ -f "$top_builddir/meson.conf" ]; then + . "$top_builddir/meson.conf" + fi + if [ -n "$asan" ]; then +-- +2.34.1 + diff --git a/0003-tests-make-mount-fstab-all-more-robust.patch b/0003-tests-make-mount-fstab-all-more-robust.patch new file mode 100644 index 0000000..73e5589 --- /dev/null +++ b/0003-tests-make-mount-fstab-all-more-robust.patch @@ -0,0 +1,66 @@ +From a4d1feed2803a5c0596877b64487734bcdb781ef Mon Sep 17 00:00:00 2001 +From: Karel Zak +Date: Mon, 23 Aug 2021 16:28:52 +0200 +Subject: tests: make mount/fstab-all more robust + +Upstream: http://github.com/karelzak/util-linux/commit/85ae61dd6d956e7c9fe2b22b8c46bb1d0bfd13da +Signed-off-by: Karel Zak +--- + tests/ts/mount/fstab-all | 6 ++++++ + 1 file changed, 6 insertions(+) + +diff --git a/tests/ts/mount/fstab-all b/tests/ts/mount/fstab-all +index acc64e462..6b7018823 100755 +--- a/tests/ts/mount/fstab-all ++++ b/tests/ts/mount/fstab-all +@@ -79,6 +79,7 @@ echo "${TS_DEVICE}4 ${MOUNTPOINT}D ext4 rw,defaults 0 0" >> $MY_FSTAB + ts_init_subtest "basic" + $TS_CMD_MOUNT --all --fstab $MY_FSTAB >> $TS_OUTPUT 2>> $TS_ERRLOG + [ $? == 0 ] || ts_log "mount failed" ++udevadm settle + $TS_CMD_UMOUNT ${MOUNTPOINT}{A,B,C,D} + [ $? == 0 ] || ts_log "umount failed" + ts_finalize_subtest +@@ -87,6 +88,7 @@ ts_finalize_subtest + ts_init_subtest "filter-type" + $TS_CMD_MOUNT --all --fstab $MY_FSTAB -t ext4 >> $TS_OUTPUT 2>> $TS_ERRLOG + [ $? == 0 ] || ts_log "mount failed" ++udevadm settle + $TS_CMD_UMOUNT ${MOUNTPOINT}D + [ $? == 0 ] || ts_log "umount failed" + ts_finalize_subtest +@@ -95,6 +97,7 @@ ts_finalize_subtest + ts_init_subtest "filter-notype" + $TS_CMD_MOUNT --all --fstab $MY_FSTAB -t noext4 >> $TS_OUTPUT 2>> $TS_ERRLOG + [ $? == 0 ] || ts_log "mount failed" ++udevadm settle + $TS_CMD_UMOUNT ${MOUNTPOINT}{A,B,C} + [ $? == 0 ] || ts_log "umount failed" + ts_finalize_subtest +@@ -103,6 +106,7 @@ ts_finalize_subtest + ts_init_subtest "filter-option" + $TS_CMD_MOUNT --all --fstab $MY_FSTAB -O ro >> $TS_OUTPUT 2>> $TS_ERRLOG + [ $? == 0 ] || ts_log "mount failed" ++udevadm settle + $TS_CMD_UMOUNT ${MOUNTPOINT}C + [ $? == 0 ] || ts_log "umount failed" + ts_finalize_subtest +@@ -111,6 +115,7 @@ ts_finalize_subtest + ts_init_subtest "override-option" + $TS_CMD_MOUNT --all --fstab $MY_FSTAB -o ro >> $TS_OUTPUT 2>> $TS_ERRLOG + [ $? == 0 ] || ts_log "mount failed" ++udevadm settle + $TS_CMD_UMOUNT ${MOUNTPOINT}{A,B,C,D} + [ $? == 0 ] || ts_log "umount failed" + ts_finalize_subtest +@@ -132,6 +137,7 @@ $TS_CMD_MOUNT --all \ + --target-prefix $MY_ROOT \ + -o X-mount.mkdir >> $TS_OUTPUT 2>> $TS_ERRLOG + [ $? == 0 ] || ts_log "mount failed" ++udevadm settle + $TS_CMD_UMOUNT $MY_ROOT/foo/{A,B,C,D} + [ $? == 0 ] || ts_log "umount failed" + ts_finalize_subtest +-- +2.34.1 + diff --git a/0004-tests-make-eject-umount-tests-more-robust.patch b/0004-tests-make-eject-umount-tests-more-robust.patch new file mode 100644 index 0000000..871146a --- /dev/null +++ b/0004-tests-make-eject-umount-tests-more-robust.patch @@ -0,0 +1,42 @@ +From 54c1c6895ec53929d44153073a862521f6ed869d Mon Sep 17 00:00:00 2001 +From: Karel Zak +Date: Tue, 24 Aug 2021 10:49:32 +0200 +Subject: tests: make eject umount tests more robust + +Upstream: http://github.com/karelzak/util-linux/commit/abe16d0d34413555fbd621f90a0b93c2105116a2 +Signed-off-by: Karel Zak +--- + tests/ts/eject/umount | 3 +++ + 1 file changed, 3 insertions(+) + +diff --git a/tests/ts/eject/umount b/tests/ts/eject/umount +index 2be281ee3..04f53ed99 100755 +--- a/tests/ts/eject/umount ++++ b/tests/ts/eject/umount +@@ -83,6 +83,7 @@ mkfs.ext2 -q -F $TS_DEVICE + udevadm settle + mkdir -p $TS_MOUNTPOINT + $TS_CMD_MOUNT $TS_DEVICE $TS_MOUNTPOINT ++udevadm settle + $TS_CMD_EJECT --force $TS_DEVICE && ts_log "Success" + deinit_device + ts_finalize_subtest +@@ -95,6 +96,7 @@ mkdir -p ${TS_MOUNTPOINT}1 + mkdir -p ${TS_MOUNTPOINT}2 + $TS_CMD_MOUNT ${TS_DEVICE}1 ${TS_MOUNTPOINT}1 + $TS_CMD_MOUNT ${TS_DEVICE}2 ${TS_MOUNTPOINT}2 ++udevadm settle + $TS_CMD_EJECT --force $TS_DEVICE && ts_log "Success" + deinit_device + ts_finalize_subtest +@@ -115,6 +117,7 @@ mkdir -p ${TS_MOUNTPOINT}1 + mkdir -p ${TS_MOUNTPOINT}2 + $TS_CMD_MOUNT ${TS_DEVICE}1 ${TS_MOUNTPOINT}1 + $TS_CMD_MOUNT ${TS_DEVICE}2 ${TS_MOUNTPOINT}2 ++udevadm settle + $TS_CMD_EJECT --force ${TS_DEVICE}1 && ts_log "Success" + deinit_device + ts_finalize_subtest +-- +2.34.1 + diff --git a/0005-Complete-Linux-PAM-compliance-for-forked-child-in-su.patch b/0005-Complete-Linux-PAM-compliance-for-forked-child-in-su.patch new file mode 100644 index 0000000..f3949cc --- /dev/null +++ b/0005-Complete-Linux-PAM-compliance-for-forked-child-in-su.patch @@ -0,0 +1,52 @@ +From 41ae35c39241575c63db204c786cb1423c202815 Mon Sep 17 00:00:00 2001 +From: "Andrew G. Morgan" +Date: Sat, 27 Nov 2021 21:00:22 -0800 +Subject: Complete Linux-PAM compliance for forked child in su and login. + +As documented here: + +http://www.linux-pam.org/Linux-PAM-html/adg-interface-by-app-expected.html#adg-pam_end + +The child that is about to exec*() the user shell is supposed to pam_end() +with PAM_DATA_SILENT. This gives the modules a last chance to do a minor +cleanup of the module state before the user's shell is launched. + +Addresses: https://bugzilla.redhat.com/show_bug.cgi?id=2037212 +Upstream: http://github.com/util-linux/util-linux/commit/4660286e9cdff6d95b49295674b96f83af10ea36 +Signed-off-by: Andrew G. Morgan +--- + login-utils/login.c | 3 +++ + login-utils/su-common.c | 3 +++ + 2 files changed, 6 insertions(+) + +diff --git a/login-utils/login.c b/login-utils/login.c +index 3657f04cd..c62e91e94 100644 +--- a/login-utils/login.c ++++ b/login-utils/login.c +@@ -1521,6 +1521,9 @@ int main(int argc, char **argv) + + child_argv[child_argc++] = NULL; + ++ /* http://www.linux-pam.org/Linux-PAM-html/adg-interface-by-app-expected.html#adg-pam_end */ ++ (void) pam_end(cxt.pamh, PAM_SUCCESS|PAM_DATA_SILENT); ++ + execvp(child_argv[0], child_argv + 1); + + if (!strcmp(child_argv[0], "/bin/sh")) +diff --git a/login-utils/su-common.c b/login-utils/su-common.c +index afd0ea8ad..7d4826bbc 100644 +--- a/login-utils/su-common.c ++++ b/login-utils/su-common.c +@@ -1231,6 +1231,9 @@ int su_main(int argc, char **argv, int mode) + if (su->simulate_login && chdir(su->pwd->pw_dir) != 0) + warn(_("warning: cannot change directory to %s"), su->pwd->pw_dir); + ++ /* http://www.linux-pam.org/Linux-PAM-html/adg-interface-by-app-expected.html#adg-pam_end */ ++ (void) pam_end(su->pamh, PAM_SUCCESS|PAM_DATA_SILENT); ++ + if (shell) + run_shell(su, shell, command, argv + optind, max(0, argc - optind)); + +-- +2.34.1 + diff --git a/0006-uuidd-fix-open-lock-state-issue.patch b/0006-uuidd-fix-open-lock-state-issue.patch new file mode 100644 index 0000000..e051404 --- /dev/null +++ b/0006-uuidd-fix-open-lock-state-issue.patch @@ -0,0 +1,70 @@ +From a80ba745cc54d5ba726e48065aebe6dac50dedd2 Mon Sep 17 00:00:00 2001 +From: Karel Zak +Date: Mon, 24 Jan 2022 14:08:08 +0100 +Subject: uuidd: fix open/lock state issue + +* warn on open/lock state issue + +* enable access to /var/lib/libuuid/, because ProtectSystem=strict make it read-only + + openat(AT_FDCWD, "/var/lib/libuuid/clock.txt", + O_RDWR|O_CREAT|O_CLOEXEC, 0660) = -1 EROFS (Read-only file system) + +Addresses: https://bugzilla.redhat.com/show_bug.cgi?id=2040366 +Upstream: http://github.com/util-linux/util-linux/commit/f27876f9c1056bf41fd940d5c4990b4277e0024f +Upstream: http://github.com/util-linux/util-linux/commit/417982d0236a12756923d88e627f5e4facf8951c +Signed-off-by: Karel Zak +--- + misc-utils/uuidd.c | 9 ++++++--- + misc-utils/uuidd.service.in | 1 + + 2 files changed, 7 insertions(+), 3 deletions(-) + +diff --git a/misc-utils/uuidd.c b/misc-utils/uuidd.c +index fa8db173b..78a37d2e8 100644 +--- a/misc-utils/uuidd.c ++++ b/misc-utils/uuidd.c +@@ -494,7 +494,8 @@ static void server_loop(const char *socket_path, const char *pidfile_path, + break; + case UUIDD_OP_TIME_UUID: + num = 1; +- __uuid_generate_time(uu, &num); ++ if (__uuid_generate_time(uu, &num) < 0 && !uuidd_cxt->quiet) ++ warnx(_("failed to open/lock clock counter")); + if (uuidd_cxt->debug) { + uuid_unparse(uu, str); + fprintf(stderr, _("Generated time UUID: %s\n"), str); +@@ -504,7 +505,8 @@ static void server_loop(const char *socket_path, const char *pidfile_path, + break; + case UUIDD_OP_RANDOM_UUID: + num = 1; +- __uuid_generate_random(uu, &num); ++ if (__uuid_generate_time(uu, &num) < 0 && !uuidd_cxt->quiet) ++ warnx(_("failed to open/lock clock counter")); + if (uuidd_cxt->debug) { + uuid_unparse(uu, str); + fprintf(stderr, _("Generated random UUID: %s\n"), str); +@@ -513,7 +515,8 @@ static void server_loop(const char *socket_path, const char *pidfile_path, + reply_len = sizeof(uu); + break; + case UUIDD_OP_BULK_TIME_UUID: +- __uuid_generate_time(uu, &num); ++ if (__uuid_generate_time(uu, &num) < 0 && !uuidd_cxt->quiet) ++ warnx(_("failed to open/lock clock counter")); + if (uuidd_cxt->debug) { + uuid_unparse(uu, str); + fprintf(stderr, P_("Generated time UUID %s " +diff --git a/misc-utils/uuidd.service.in b/misc-utils/uuidd.service.in +index b4c9c4635..e64ca59b5 100644 +--- a/misc-utils/uuidd.service.in ++++ b/misc-utils/uuidd.service.in +@@ -18,6 +18,7 @@ ProtectKernelModules=yes + ProtectControlGroups=yes + RestrictAddressFamilies=AF_UNIX + MemoryDenyWriteExecute=yes ++ReadWritePaths=/var/lib/libuuid/ + SystemCallFilter=@default @file-system @basic-io @system-service @signal @io-event @network-io + + [Install] +-- +2.34.1 + diff --git a/0007-sysfs-fallback-for-partitions-not-including-parent-n.patch b/0007-sysfs-fallback-for-partitions-not-including-parent-n.patch new file mode 100644 index 0000000..ab84293 --- /dev/null +++ b/0007-sysfs-fallback-for-partitions-not-including-parent-n.patch @@ -0,0 +1,51 @@ +From 9c45c4bf1a1a02ebaf9e24fd7d81d62c676eda7c Mon Sep 17 00:00:00 2001 +From: Portisch +Date: Mon, 8 Nov 2021 12:31:39 +0100 +Subject: sysfs: fallback for partitions not including parent name + +Upstream: http://github.com/util-linux/util-linux/commit/9b59641bcec3df9c451eea4c7057751a153a3fcb +Addresses: https://bugzilla.redhat.com/show_bug.cgi?id=2021462 +Signed-off-by: Karel Zak +--- + lib/sysfs.c | 12 +++++++----- + 1 file changed, 7 insertions(+), 5 deletions(-) + +diff --git a/lib/sysfs.c b/lib/sysfs.c +index bb7183319..191d870f6 100644 +--- a/lib/sysfs.c ++++ b/lib/sysfs.c +@@ -210,9 +210,10 @@ int sysfs_blkdev_is_partition_dirent(DIR *dir, struct dirent *d, const char *par + d->d_type != DT_UNKNOWN) + return 0; + #endif ++ size_t len = 0; ++ + if (parent_name) { + const char *p = parent_name; +- size_t len; + + /* /dev/sda --> "sda" */ + if (*parent_name == '/') { +@@ -223,14 +224,15 @@ int sysfs_blkdev_is_partition_dirent(DIR *dir, struct dirent *d, const char *par + } + + len = strlen(p); +- if (strlen(d->d_name) <= len) +- return 0; ++ if ((strlen(d->d_name) <= len) || (strncmp(p, d->d_name, len) != 0)) ++ len = 0; ++ } + ++ if (len > 0) { + /* partitions subdir name is + * "[:digit:]" or "p[:digit:]" + */ +- return strncmp(p, d->d_name, len) == 0 && +- ((*(d->d_name + len) == 'p' && isdigit(*(d->d_name + len + 1))) ++ return ((*(d->d_name + len) == 'p' && isdigit(*(d->d_name + len + 1))) + || isdigit(*(d->d_name + len))); + } + +-- +2.34.1 + diff --git a/0008-logger-fix-size-use-for-stdin.patch b/0008-logger-fix-size-use-for-stdin.patch new file mode 100644 index 0000000..1b3ac0a --- /dev/null +++ b/0008-logger-fix-size-use-for-stdin.patch @@ -0,0 +1,61 @@ +From 199c328686aac174b0535619e5cea8450016e827 Mon Sep 17 00:00:00 2001 +From: Karel Zak +Date: Thu, 21 Oct 2021 18:47:40 +0200 +Subject: logger: fix --size use for stdin +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +The stdin version counts log header into the message size, but +for example when it reads message from argv[] it counts only message +itself. + + $ logger --stderr --size 3 "abcd" + <13>Oct 21 18:48:29 kzak: abc + + $ echo "abcd" | logger --stderr --size 3 + logger: cannot allocate 18446744073709551597 bytes: Cannot allocate memory + +Upstream: http://github.com/util-linux/util-linux/commit/58e4ee082bca100034791a4a74481f263bb30a25 +Addresses: https://bugzilla.redhat.com/show_bug.cgi?id=2033622 +Signed-off-by: Karel Zak +--- + misc-utils/logger.c | 9 +++------ + 1 file changed, 3 insertions(+), 6 deletions(-) + +diff --git a/misc-utils/logger.c b/misc-utils/logger.c +index 5b122de79..43284caeb 100644 +--- a/misc-utils/logger.c ++++ b/misc-utils/logger.c +@@ -976,8 +976,7 @@ static void logger_stdin(struct logger_ctl *ctl) + int has_header = 1; + int default_priority = ctl->pri; + int last_pri = default_priority; +- size_t max_usrmsg_size = ctl->max_message_size - strlen(ctl->hdr); +- char *const buf = xmalloc(max_usrmsg_size + 2 + 2); ++ char *buf = xmalloc(ctl->max_message_size + 2 + 2); + int pri; + int c; + size_t i; +@@ -1004,16 +1003,14 @@ static void logger_stdin(struct logger_ctl *ctl) + ctl->pri = default_priority; + + if (ctl->pri != last_pri) { +- has_header = 0; +- max_usrmsg_size = +- ctl->max_message_size - strlen(ctl->hdr); ++ generate_syslog_header(ctl); + last_pri = ctl->pri; + } + if (c != EOF && c != '\n') + c = getchar(); + } + +- while (c != EOF && c != '\n' && i < max_usrmsg_size) { ++ while (c != EOF && c != '\n' && i < ctl->max_message_size) { + buf[i++] = c; + c = getchar(); + } +-- +2.34.1 + diff --git a/0009-wdctl-Workaround-reported-boot-status-bits-not-being.patch b/0009-wdctl-Workaround-reported-boot-status-bits-not-being.patch new file mode 100644 index 0000000..6f38e93 --- /dev/null +++ b/0009-wdctl-Workaround-reported-boot-status-bits-not-being.patch @@ -0,0 +1,54 @@ +From 006aca565d4c8565baf05296b8e65ca4d5f203d3 Mon Sep 17 00:00:00 2001 +From: Hans de Goede +Date: Fri, 30 Jul 2021 13:22:54 +0200 +Subject: wdctl: Workaround reported boot-status bits not being present in + wd->ident.options + +Some watchdog drivers are capable of reporting WDIOF_CARDRESET in their +bootstatus, but they do not advertise this in the options field +returned by the WDIOC_GETSUPPORT ioctl. + +This causes wdctl to not print the CARDRESET flag on these devices, +even when the reset was caused by the watchdog and this is being +reported in the WDIOC_GETBOOTSTATUS return. + +Add a workaround by or-ing any bits which are set in the status and +bstatus returns into wd->ident.options so that reported flags will +get printend independent of them being advertised as supported in +wd->ident.options. + +This will make wdctl print a CARDRESET line when the system was +actually reset by the watchdog while omitting it when it was not +reset by the watchdog. At least on drivers which have the +CARDRESET is missing from info.options problem. On other drivers +the CARDRESET line will always be printend, but the actual reported +value will change. + +Upstream: http://github.com/util-linux/util-linux/commit/b1b0259fe42aad1bf0997ce1c03a020ce59e38ab +Addresses: https://bugzilla.redhat.com/show_bug.cgi?id=2057046 +Signed-off-by: Hans de Goede +--- + sys-utils/wdctl.c | 7 +++++++ + 1 file changed, 7 insertions(+) + +diff --git a/sys-utils/wdctl.c b/sys-utils/wdctl.c +index 8de5d5a2d..6b9affa0a 100644 +--- a/sys-utils/wdctl.c ++++ b/sys-utils/wdctl.c +@@ -419,6 +419,13 @@ static int read_watchdog_from_device(struct wd_device *wd) + ioctl(fd, WDIOC_GETSTATUS, &wd->status); + ioctl(fd, WDIOC_GETBOOTSTATUS, &wd->bstatus); + ++ /* ++ * Sometimes supported options like WDIOF_CARDRESET are missing from ++ * ident.options, add anything set in status/bstatus to ident.options. ++ */ ++ wd->ident.options |= wd->status; ++ wd->ident.options |= wd->bstatus; ++ + if (ioctl(fd, WDIOC_GETTIMEOUT, &wd->timeout) >= 0) + wd->has_timeout = 1; + if (ioctl(fd, WDIOC_GETPRETIMEOUT, &wd->pretimeout) >= 0) +-- +2.34.1 + diff --git a/0010-lslogins-remove-unexpected-debug-message.patch b/0010-lslogins-remove-unexpected-debug-message.patch new file mode 100644 index 0000000..7bcafbb --- /dev/null +++ b/0010-lslogins-remove-unexpected-debug-message.patch @@ -0,0 +1,28 @@ +From 097fc3427d3221d763f0b1c41923758af2f471a3 Mon Sep 17 00:00:00 2001 +From: Karel Zak +Date: Thu, 21 Jul 2022 10:57:36 +0200 +Subject: lslogins: remove unexpected debug message + +Addresses: https://bugzilla.redhat.com/show_bug.cgi?id=2094216 +Signed-off-by: Karel Zak +--- + login-utils/lslogins.c | 3 --- + 1 file changed, 3 deletions(-) + +diff --git a/login-utils/lslogins.c b/login-utils/lslogins.c +index 9431a50bb..c37df9096 100644 +--- a/login-utils/lslogins.c ++++ b/login-utils/lslogins.c +@@ -562,9 +562,6 @@ static int get_sgroups(gid_t **list, size_t *len, struct passwd *pwd) + + *list = xcalloc(1, ngroups * sizeof(gid_t)); + +-fprintf(stderr, "KZAK>>> alloc '%p' for %s\n", *list, pwd->pw_name); +- +- + /* now for the actual list of GIDs */ + if (-1 == getgrouplist(pwd->pw_name, pwd->pw_gid, *list, &ngroups)) + return -1; +-- +2.36.1 + diff --git a/0011-lslogins-improve-prefixes-interpretation.patch b/0011-lslogins-improve-prefixes-interpretation.patch new file mode 100644 index 0000000..eb5ebc6 --- /dev/null +++ b/0011-lslogins-improve-prefixes-interpretation.patch @@ -0,0 +1,92 @@ +From 53339f53ab71c138578d4102a4e4011344d33b2d Mon Sep 17 00:00:00 2001 +From: Karel Zak +Date: Tue, 7 Jun 2022 09:11:56 +0200 +Subject: lslogins: improve prefixes interpretation + +It seems that for example 'passwd --lock' uses two exclamation marks +in password field. It seems better to assume arbitrary number of '!' +and '*' prefixes. + +The patch also makes description of the PWD-EMPTY output field more +explicit. + +Upstream: http://github.com/util-linux/util-linux/commit/c51cba1e838ae7e36a843ec785543492bb8737cd +Addresses: https://bugzilla.redhat.com/show_bug.cgi?id=2094216 +Signed-off-by: Karel Zak +--- + login-utils/lslogins.c | 33 ++++++++++++++++++++++++++------- + 1 file changed, 26 insertions(+), 7 deletions(-) + +diff --git a/login-utils/lslogins.c b/login-utils/lslogins.c +index c37df9096..1332a9925 100644 +--- a/login-utils/lslogins.c ++++ b/login-utils/lslogins.c +@@ -225,7 +225,7 @@ static const struct lslogins_coldesc coldescs[] = + { + [COL_USER] = { "USER", N_("user name"), N_("Username"), 0.1, SCOLS_FL_NOEXTREMES }, + [COL_UID] = { "UID", N_("user ID"), "UID", 1, SCOLS_FL_RIGHT}, +- [COL_PWDEMPTY] = { "PWD-EMPTY", N_("password not required"), N_("Password not required"), 1, SCOLS_FL_RIGHT }, ++ [COL_PWDEMPTY] = { "PWD-EMPTY", N_("password not defined"), N_("Password not required (empty)"), 1, SCOLS_FL_RIGHT }, + [COL_PWDDENY] = { "PWD-DENY", N_("login by password disabled"), N_("Login by password disabled"), 1, SCOLS_FL_RIGHT }, + [COL_PWDLOCK] = { "PWD-LOCK", N_("password defined, but locked"), N_("Password is locked"), 1, SCOLS_FL_RIGHT }, + [COL_PWDMETHOD] = { "PWD-METHOD", N_("password encryption method"), N_("Password encryption method"), 0.1 }, +@@ -817,23 +817,42 @@ static struct lslogins_user *get_user_info(struct lslogins_control *ctl, const c + break; + case COL_PWDEMPTY: + if (shadow) { +- if (!*shadow->sp_pwdp) /* '\0' */ ++ const char *p = shadow->sp_pwdp; ++ ++ while (p && (*p == '!' || *p == '*')) ++ p++; ++ ++ if (!p || !*p) + user->pwd_empty = STATUS_TRUE; + } else + user->pwd_empty = STATUS_UNKNOWN; + break; + case COL_PWDDENY: + if (shadow) { +- if ((*shadow->sp_pwdp == '!' || +- *shadow->sp_pwdp == '*') && +- !valid_pwd(shadow->sp_pwdp + 1)) ++ const char *p = shadow->sp_pwdp; ++ ++ while (p && (*p == '!' || *p == '*')) ++ p++; ++ ++ if (p && *p && p != shadow->sp_pwdp && !valid_pwd(p)) + user->pwd_deny = STATUS_TRUE; + } else + user->pwd_deny = STATUS_UNKNOWN; + break; + case COL_PWDLOCK: + if (shadow) { +- if (*shadow->sp_pwdp == '!' && valid_pwd(shadow->sp_pwdp + 1)) ++ const char *p = shadow->sp_pwdp; ++ int i = 0; ++ ++ /* 'passwd --lock' uses two exclamation marks, ++ * shadow(5) describes the lock as "field which ++ * starts with an exclamation mark". Let's ++ * support more '!' ... ++ */ ++ while (p && *p == '!') ++ p++, i++; ++ ++ if (i != 0 && (!*p || valid_pwd(p))) + user->pwd_lock = STATUS_TRUE; + } else + user->pwd_lock = STATUS_UNKNOWN; +@@ -842,7 +861,7 @@ static struct lslogins_user *get_user_info(struct lslogins_control *ctl, const c + if (shadow) { + const char *p = shadow->sp_pwdp; + +- if (*p == '!' || *p == '*') ++ while (p && (*p == '!' || *p == '*')) + p++; + user->pwd_method = get_pwd_method(p, NULL, NULL); + } else +-- +2.36.1 + diff --git a/0012-lslogins-fix-free-invalid-pointer.patch b/0012-lslogins-fix-free-invalid-pointer.patch new file mode 100644 index 0000000..6017821 --- /dev/null +++ b/0012-lslogins-fix-free-invalid-pointer.patch @@ -0,0 +1,38 @@ +From c269e116ea4d9e96a5f5801aecf1f624199fa6ec Mon Sep 17 00:00:00 2001 +From: Karel Zak +Date: Tue, 7 Jun 2022 09:46:54 +0200 +Subject: lslogins: fix free(): invalid pointer + +Upstream: http://github.com/util-linux/util-linux/commit/890d4d3f236e2d28db35ea9bc9dc3e5e35db975c +Addresses: https://bugzilla.redhat.com/show_bug.cgi?id=2094216 +Signed-off-by: Karel Zak +--- + login-utils/lslogins.c | 5 ++++- + 1 file changed, 4 insertions(+), 1 deletion(-) + +diff --git a/login-utils/lslogins.c b/login-utils/lslogins.c +index 1332a9925..ff4386d1b 100644 +--- a/login-utils/lslogins.c ++++ b/login-utils/lslogins.c +@@ -488,7 +488,7 @@ static int parse_utmpx(const char *path, size_t *nrecords, struct utmpx **record + + /* optimize allocation according to file size, the realloc() below is + * just fallback only */ +- if (stat(path, &st) == 0 && (size_t) st.st_size > sizeof(struct utmpx)) { ++ if (stat(path, &st) == 0 && (size_t) st.st_size >= sizeof(struct utmpx)) { + imax = st.st_size / sizeof(struct utmpx); + ary = xmalloc(imax * sizeof(struct utmpx)); + } +@@ -1007,6 +1007,9 @@ static void free_ctl(struct lslogins_control *ctl) + { + size_t n = 0; + ++ if (!ctl) ++ return; ++ + free(ctl->wtmp); + free(ctl->btmp); + +-- +2.36.1 + diff --git a/0013-login-utils-logindefs-fix-compiler-warning-Werror-fo.patch b/0013-login-utils-logindefs-fix-compiler-warning-Werror-fo.patch new file mode 100644 index 0000000..00f4314 --- /dev/null +++ b/0013-login-utils-logindefs-fix-compiler-warning-Werror-fo.patch @@ -0,0 +1,30 @@ +From 1c4ee8348e220b633d676214fd585ee2b3945cf6 Mon Sep 17 00:00:00 2001 +From: Karel Zak +Date: Mon, 6 Jun 2022 16:14:14 +0200 +Subject: login-utils/logindefs: fix compiler warning + [-Werror=format-truncation=] + +Upstream: http://github.com/util-linux/util-linux/commit/977f98ee34ca002cb5301c2d3a5953c754f813ec +Addresses: https://bugzilla.redhat.com/show_bug.cgi?id=2094216 +Signed-off-by: Karel Zak +--- + login-utils/logindefs.c | 3 ++- + 1 file changed, 2 insertions(+), 1 deletion(-) + +diff --git a/login-utils/logindefs.c b/login-utils/logindefs.c +index 97150dc28..95631223a 100644 +--- a/login-utils/logindefs.c ++++ b/login-utils/logindefs.c +@@ -521,7 +521,8 @@ int get_hushlogin_status(struct passwd *pwd, int force_check) + if (strlen(pwd->pw_dir) + strlen(file) + 2 > sizeof(buf)) + continue; + +- sprintf(buf, "%s/%s", pwd->pw_dir, file); ++ if (snprintf(buf, sizeof(buf), "%s/%s", pwd->pw_dir, file) < 0) ++ continue; + + if (force_check) { + uid_t ruid = getuid(); +-- +2.36.1 + diff --git a/0014-uuidd-allow-AF_INET-in-systemd-service.patch b/0014-uuidd-allow-AF_INET-in-systemd-service.patch new file mode 100644 index 0000000..aa794e4 --- /dev/null +++ b/0014-uuidd-allow-AF_INET-in-systemd-service.patch @@ -0,0 +1,38 @@ +From 3ceddbb1238e13a51efbe23119c885568e820e69 Mon Sep 17 00:00:00 2001 +From: Karel Zak +Date: Thu, 2 Jun 2022 16:55:49 +0200 +Subject: uuidd: allow AF_INET in systemd service + +libuuid uses + + socket(AF_INET, SOCK_DGRAM, IPPROTO_IP) + +to get MAC address for time based UUIDs, but there is + + RestrictAddressFamilies=AF_UNIX + +in uuidd service file ... + +Fixes: https://github.com/util-linux/util-linux/issues/1704 +Upstream: http://github.com/util-linux/util-linux/commit/304b4dc4936b115ca33af5325c3b04d0997c1353 +Addresses: https://bugzilla.redhat.com/show_bug.cgi?id=2092943 +Signed-off-by: Karel Zak +--- + misc-utils/uuidd.service.in | 1 - + 1 file changed, 1 deletion(-) + +diff --git a/misc-utils/uuidd.service.in b/misc-utils/uuidd.service.in +index e64ca59b5..64580287f 100644 +--- a/misc-utils/uuidd.service.in ++++ b/misc-utils/uuidd.service.in +@@ -16,7 +16,6 @@ PrivateUsers=yes + ProtectKernelTunables=yes + ProtectKernelModules=yes + ProtectControlGroups=yes +-RestrictAddressFamilies=AF_UNIX + MemoryDenyWriteExecute=yes + ReadWritePaths=/var/lib/libuuid/ + SystemCallFilter=@default @file-system @basic-io @system-service @signal @io-event @network-io +-- +2.36.1 + diff --git a/0015-uuidd-remove-also-PrivateNetwork-yes-from-systemd-se.patch b/0015-uuidd-remove-also-PrivateNetwork-yes-from-systemd-se.patch new file mode 100644 index 0000000..62854ce --- /dev/null +++ b/0015-uuidd-remove-also-PrivateNetwork-yes-from-systemd-se.patch @@ -0,0 +1,28 @@ +From bf0cd2995c5e34338703105c62e49a785c6c9dcc Mon Sep 17 00:00:00 2001 +From: Karel Zak +Date: Fri, 3 Jun 2022 09:07:09 +0200 +Subject: uuidd: remove also PrivateNetwork=yes from systemd service + +Fixes: https://github.com/util-linux/util-linux/issues/1704 +Addresses: https://bugzilla.redhat.com/show_bug.cgi?id=2092943 +Upstream: http://github.com/util-linux/util-linux/commit/c9671a3cf7738bb81e1cbef2f56485a36c6e7623 +Signed-off-by: Karel Zak +--- + misc-utils/uuidd.service.in | 1 - + 1 file changed, 1 deletion(-) + +diff --git a/misc-utils/uuidd.service.in b/misc-utils/uuidd.service.in +index 64580287f..4ad6d97c9 100644 +--- a/misc-utils/uuidd.service.in ++++ b/misc-utils/uuidd.service.in +@@ -11,7 +11,6 @@ Group=uuidd + ProtectSystem=strict + ProtectHome=yes + PrivateDevices=yes +-PrivateNetwork=yes + PrivateUsers=yes + ProtectKernelTunables=yes + ProtectKernelModules=yes +-- +2.36.1 + diff --git a/0016-lsirq-improve-sort-IRQ.patch b/0016-lsirq-improve-sort-IRQ.patch new file mode 100644 index 0000000..6f6803d --- /dev/null +++ b/0016-lsirq-improve-sort-IRQ.patch @@ -0,0 +1,31 @@ +From 338d5f2876c54e5d811100ba816d3a6dec00ab11 Mon Sep 17 00:00:00 2001 +From: Karel Zak +Date: Fri, 29 Apr 2022 10:11:49 +0200 +Subject: lsirq: improve --sort IRQ + +IRQ column mixes numbers and text, it seems better to use strverscmp() +rather than classic strcmp(). + +Addresses: https://bugzilla.redhat.com/show_bug.cgi?id=2078787 +Upstream: http://github.com/util-linux/util-linux/commit/d382861c0815ff241fb2844a2a896f0fb1c7b73e +Signed-off-by: Karel Zak +--- + sys-utils/irq-common.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/sys-utils/irq-common.c b/sys-utils/irq-common.c +index 350675394..22080b96d 100644 +--- a/sys-utils/irq-common.c ++++ b/sys-utils/irq-common.c +@@ -371,7 +371,7 @@ static inline int cmp_delta(const struct irq_info *a, + static inline int cmp_interrupts(const struct irq_info *a, + const struct irq_info *b) + { +- return (strcmp(a->irq, b->irq) > 0) ? 1 : 0; ++ return (strverscmp(a->irq, b->irq) > 0) ? 1 : 0; + } + + static void sort_result(struct irq_output *out, +-- +2.36.1 + diff --git a/0017-irqtop-fix-compiler-warning-Werror-format-truncation.patch b/0017-irqtop-fix-compiler-warning-Werror-format-truncation.patch new file mode 100644 index 0000000..7eaf7fb --- /dev/null +++ b/0017-irqtop-fix-compiler-warning-Werror-format-truncation.patch @@ -0,0 +1,28 @@ +From de0402358f6d363a57e6fef98c92a9eef5690cdd Mon Sep 17 00:00:00 2001 +From: Karel Zak +Date: Mon, 6 Jun 2022 16:14:30 +0200 +Subject: irqtop: fix compiler warning [-Werror=format-truncation=] + +Upstream: http://github.com/util-linux/util-linux/commit/b7865ae165bb43b1626c6928250843cc2c96be57 +Addresses: https://bugzilla.redhat.com/show_bug.cgi?id=2078787 +Signed-off-by: Karel Zak +--- + sys-utils/irq-common.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/sys-utils/irq-common.c b/sys-utils/irq-common.c +index 22080b96d..e39ef823c 100644 +--- a/sys-utils/irq-common.c ++++ b/sys-utils/irq-common.c +@@ -426,7 +426,7 @@ struct libscols_table *get_scols_cpus_table(struct irq_output *out, + struct libscols_table *table; + struct libscols_column *cl; + struct libscols_line *ln; +- char colname[sizeof(stringify_value(LONG_MAX))]; ++ char colname[sizeof("cpu") + sizeof(stringify_value(LONG_MAX))]; + size_t i; + + if (prev) { +-- +2.36.1 + diff --git a/0018-dmesg-fix-since-and-until.patch b/0018-dmesg-fix-since-and-until.patch new file mode 100644 index 0000000..61431b5 --- /dev/null +++ b/0018-dmesg-fix-since-and-until.patch @@ -0,0 +1,34 @@ +From f45fe0768ac09cb5e05b095afa47a0a71e931f84 Mon Sep 17 00:00:00 2001 +From: Karel Zak +Date: Wed, 20 Apr 2022 14:42:32 +0200 +Subject: dmesg: fix --since and --until + +Now --since and --until requires any time field in the output (e.g. +--ctime,-T), it means "dmesg --since '1 day ago'" doesn't work, but +"dmesg -T --since '1 day ago'" works as expected. + +Addresses: https://bugzilla.redhat.com/show_bug.cgi?id=2076829 +Upstream: http://github.com/util-linux/util-linux/commit/c9667633f1f6b7a84116f2af067d1d15c72e6382 +Signed-off-by: Karel Zak +--- + sys-utils/dmesg.c | 4 +++- + 1 file changed, 3 insertions(+), 1 deletion(-) + +diff --git a/sys-utils/dmesg.c b/sys-utils/dmesg.c +index d301951bb..5c580107a 100644 +--- a/sys-utils/dmesg.c ++++ b/sys-utils/dmesg.c +@@ -1539,7 +1539,9 @@ int main(int argc, char *argv[]) + + if ((is_timefmt(&ctl, RELTIME) || + is_timefmt(&ctl, CTIME) || +- is_timefmt(&ctl, ISO8601))) { ++ is_timefmt(&ctl, ISO8601)) || ++ ctl.since || ++ ctl.until) { + if (dmesg_get_boot_time(&ctl.boot_time) != 0) + ctl.time_fmt = DMESG_TIMEFTM_NONE; + else +-- +2.36.1 + diff --git a/0019-libblkid-check-fsync-return-code.patch b/0019-libblkid-check-fsync-return-code.patch new file mode 100644 index 0000000..b46cade --- /dev/null +++ b/0019-libblkid-check-fsync-return-code.patch @@ -0,0 +1,62 @@ +From f02e9004303df5ab3d9b868f6f60af44663cce69 Mon Sep 17 00:00:00 2001 +From: Karel Zak +Date: Tue, 19 Apr 2022 09:44:07 +0200 +Subject: libblkid: check fsync() return code + +Since 39f5af25982d8b0244000e92a9d0e0e6557d0e17 libblkid uses +O_NONBLOCK. Now it's more obvious that check fsync() (and close()) +return value after write() is always a good idea ... + +Addresses: https://bugzilla.redhat.com/show_bug.cgi?id=2074486 +Upstream: http://github.com/util-linux/util-linux/commit/133a0d70f637b4f4e4337811e452153b04f2bdcf +Signed-off-by: Karel Zak +--- + libblkid/src/probe.c | 5 ++++- + misc-utils/wipefs.c | 8 ++++++-- + 2 files changed, 10 insertions(+), 3 deletions(-) + +diff --git a/libblkid/src/probe.c b/libblkid/src/probe.c +index 5f01bc3b3..d317dc19a 100644 +--- a/libblkid/src/probe.c ++++ b/libblkid/src/probe.c +@@ -1298,7 +1298,10 @@ int blkid_do_wipe(blkid_probe pr, int dryrun) + /* wipen on device */ + if (write_all(fd, buf, len)) + return -1; +- fsync(fd); ++ ++ if (fsync(fd) != 0) ++ return -1; ++ + pr->flags &= ~BLKID_FL_MODIF_BUFF; /* be paranoid */ + + return blkid_probe_step_back(pr); +diff --git a/misc-utils/wipefs.c b/misc-utils/wipefs.c +index 78dc63ee7..f08a9ba4f 100644 +--- a/misc-utils/wipefs.c ++++ b/misc-utils/wipefs.c +@@ -615,7 +615,9 @@ static int do_wipe(struct wipe_control *ctl) + if (need_force) + warnx(_("Use the --force option to force erase.")); + +- fsync(blkid_probe_get_fd(pr)); ++ if (fsync(blkid_probe_get_fd(pr)) != 0) ++ err(EXIT_FAILURE, _("%s: cannot flush modified buffers"), ++ ctl->devname); + + #ifdef BLKRRPART + if (reread && (mode & O_EXCL)) { +@@ -635,7 +637,9 @@ static int do_wipe(struct wipe_control *ctl) + } + #endif + +- close(blkid_probe_get_fd(pr)); ++ if (close(blkid_probe_get_fd(pr)) != 0) ++ err(EXIT_FAILURE, _("%s: close device failed"), ctl->devname); ++ + blkid_free_probe(pr); + free(backup); + return 0; +-- +2.36.1 + diff --git a/0020-libblkid-add-interface-for-FSSIZE-field.patch b/0020-libblkid-add-interface-for-FSSIZE-field.patch new file mode 100644 index 0000000..cd0161e --- /dev/null +++ b/0020-libblkid-add-interface-for-FSSIZE-field.patch @@ -0,0 +1,87 @@ +From 863ecca27cfc937bc6fb2131e0d0e35947e38ce6 Mon Sep 17 00:00:00 2001 +From: Andrey Albershteyn +Date: Mon, 25 Apr 2022 17:08:37 +0200 +Subject: libblkid: add interface for FSSIZE field + +Add interface to let filesystem probe calculate and set FSSIZE. +Enable that field in the 'superblocks' sample. + +Upstream: http://github.com/util-linux/util-linux/commit/ad08ae0aa +Addresses: https://bugzilla.redhat.com/show_bug.cgi?id=2064810 +Signed-off-by: Andrey Albershteyn +--- + libblkid/samples/superblocks.c | 2 +- + libblkid/src/blkid.h.in | 1 + + libblkid/src/superblocks/superblocks.c | 11 +++++++++++ + libblkid/src/superblocks/superblocks.h | 1 + + 4 files changed, 14 insertions(+), 1 deletion(-) + +diff --git a/libblkid/samples/superblocks.c b/libblkid/samples/superblocks.c +index 7d9555771..38903ecee 100644 +--- a/libblkid/samples/superblocks.c ++++ b/libblkid/samples/superblocks.c +@@ -44,7 +44,7 @@ int main(int argc, char *argv[]) + BLKID_SUBLKS_UUID | BLKID_SUBLKS_UUIDRAW | + BLKID_SUBLKS_TYPE | BLKID_SUBLKS_SECTYPE | + BLKID_SUBLKS_USAGE | BLKID_SUBLKS_VERSION | +- BLKID_SUBLKS_MAGIC); ++ BLKID_SUBLKS_MAGIC | BLKID_SUBLKS_FSSIZE); + + rc = blkid_do_safeprobe(pr); + if (rc == -1) +diff --git a/libblkid/src/blkid.h.in b/libblkid/src/blkid.h.in +index 3cd4116d9..ad4becf0a 100644 +--- a/libblkid/src/blkid.h.in ++++ b/libblkid/src/blkid.h.in +@@ -281,6 +281,7 @@ extern int blkid_probe_enable_superblocks(blkid_probe pr, int enable) + #define BLKID_SUBLKS_VERSION (1 << 8) /* read FS type from superblock */ + #define BLKID_SUBLKS_MAGIC (1 << 9) /* define SBMAGIC and SBMAGIC_OFFSET */ + #define BLKID_SUBLKS_BADCSUM (1 << 10) /* allow a bad checksum */ ++#define BLKID_SUBLKS_FSSIZE (1 << 11) /* read and define FSSIZE from superblock */ + + #define BLKID_SUBLKS_DEFAULT (BLKID_SUBLKS_LABEL | BLKID_SUBLKS_UUID | \ + BLKID_SUBLKS_TYPE | BLKID_SUBLKS_SECTYPE) +diff --git a/libblkid/src/superblocks/superblocks.c b/libblkid/src/superblocks/superblocks.c +index f21365538..9adc2cfa3 100644 +--- a/libblkid/src/superblocks/superblocks.c ++++ b/libblkid/src/superblocks/superblocks.c +@@ -7,6 +7,7 @@ + * GNU Lesser General Public License. + */ + ++#include + #include + #include + #include +@@ -584,6 +585,16 @@ static int blkid_probe_set_usage(blkid_probe pr, int usage) + return blkid_probe_set_value(pr, "USAGE", (unsigned char *) u, strlen(u) + 1); + } + ++int blkid_probe_set_fssize(blkid_probe pr, uint64_t size) ++{ ++ struct blkid_chain *chn = blkid_probe_get_chain(pr); ++ ++ if (!(chn->flags & BLKID_SUBLKS_FSSIZE)) ++ return 0; ++ ++ return blkid_probe_sprintf_value(pr, "FSSIZE", "%" PRIu64, size); ++} ++ + int blkid_probe_set_id_label(blkid_probe pr, const char *name, + const unsigned char *data, size_t len) + { +diff --git a/libblkid/src/superblocks/superblocks.h b/libblkid/src/superblocks/superblocks.h +index 9c489c438..67803679f 100644 +--- a/libblkid/src/superblocks/superblocks.h ++++ b/libblkid/src/superblocks/superblocks.h +@@ -111,6 +111,7 @@ extern int blkid_probe_set_utf8_id_label(blkid_probe pr, const char *name, + const unsigned char *data, size_t len, int enc); + + int blkid_probe_set_block_size(blkid_probe pr, unsigned block_size); ++int blkid_probe_set_fssize(blkid_probe pr, uint64_t size); + + extern int blkid_probe_is_bitlocker(blkid_probe pr); + extern int blkid_probe_is_ntfs(blkid_probe pr); +-- +2.36.1 + diff --git a/0021-libblkid-implement-FSSIZE-calculation-for-XFS.patch b/0021-libblkid-implement-FSSIZE-calculation-for-XFS.patch new file mode 100644 index 0000000..d899c3f --- /dev/null +++ b/0021-libblkid-implement-FSSIZE-calculation-for-XFS.patch @@ -0,0 +1,45 @@ +From e81cc68312e91ab7086188542f3377605bf144a8 Mon Sep 17 00:00:00 2001 +From: Andrey Albershteyn +Date: Mon, 25 Apr 2022 17:08:38 +0200 +Subject: libblkid: implement FSSIZE calculation for XFS + +The implementation is similar to one provided by statfs(2) + lsblk. + +Upstream: http://github.com/util-linux/util-linux/commit/d7ec8fe8e +Addresses: https://bugzilla.redhat.com/show_bug.cgi?id=2064810 +Signed-off-by: Andrey Albershteyn +--- + libblkid/src/superblocks/xfs.c | 10 ++++++++++ + 1 file changed, 10 insertions(+) + +diff --git a/libblkid/src/superblocks/xfs.c b/libblkid/src/superblocks/xfs.c +index d8c6fb6d4..444050f55 100644 +--- a/libblkid/src/superblocks/xfs.c ++++ b/libblkid/src/superblocks/xfs.c +@@ -158,6 +158,15 @@ static int xfs_verify_sb(struct xfs_super_block *ondisk) + return 1; + } + ++static uint64_t xfs_fssize(struct xfs_super_block *xs) ++{ ++ uint32_t lsize = xs->sb_logstart ? xs->sb_logblocks : 0; ++ uint64_t avail_blocks = be64_to_cpu(xs->sb_dblocks) - be32_to_cpu(lsize); ++ uint64_t fssize = avail_blocks*be32_to_cpu(xs->sb_blocksize); ++ ++ return fssize; ++} ++ + static int probe_xfs(blkid_probe pr, const struct blkid_idmag *mag) + { + struct xfs_super_block *xs; +@@ -173,6 +182,7 @@ static int probe_xfs(blkid_probe pr, const struct blkid_idmag *mag) + blkid_probe_set_label(pr, (unsigned char *) xs->sb_fname, + sizeof(xs->sb_fname)); + blkid_probe_set_uuid(pr, xs->sb_uuid); ++ blkid_probe_set_fssize(pr, xfs_fssize(xs)); + blkid_probe_set_block_size(pr, be16_to_cpu(xs->sb_sectsize)); + return 0; + } +-- +2.36.1 + diff --git a/0022-blkid-add-FSSIZE-tag-with-tests-for-XFS.patch b/0022-blkid-add-FSSIZE-tag-with-tests-for-XFS.patch new file mode 100644 index 0000000..9cfe63c --- /dev/null +++ b/0022-blkid-add-FSSIZE-tag-with-tests-for-XFS.patch @@ -0,0 +1,54 @@ +From d3d0e6dc70889e5fe9d9dfeab67e9ba1f0491a28 Mon Sep 17 00:00:00 2001 +From: Andrey Albershteyn +Date: Mon, 25 Apr 2022 17:08:39 +0200 +Subject: blkid: add FSSIZE tag with tests for XFS + +The FSSIZE tag was added to the libblkid. Enable this tag in blkid +and update tests golden output for XFS test cases. + +Upstream: http://github.com/util-linux/util-linux/commit/60cedc921 +Addresses: https://bugzilla.redhat.com/show_bug.cgi?id=2064810 +Signed-off-by: Andrey Albershteyn +--- + misc-utils/blkid.c | 3 ++- + tests/expected/blkid/low-probe-xfs | 1 + + tests/expected/blkid/low-probe-xfs-v5 | 1 + + 3 files changed, 4 insertions(+), 1 deletion(-) + +diff --git a/misc-utils/blkid.c b/misc-utils/blkid.c +index cccd8af87..4f456be52 100644 +--- a/misc-utils/blkid.c ++++ b/misc-utils/blkid.c +@@ -892,7 +892,8 @@ int main(int argc, char **argv) + blkid_probe_set_superblocks_flags(pr, + BLKID_SUBLKS_LABEL | BLKID_SUBLKS_UUID | + BLKID_SUBLKS_TYPE | BLKID_SUBLKS_SECTYPE | +- BLKID_SUBLKS_USAGE | BLKID_SUBLKS_VERSION); ++ BLKID_SUBLKS_USAGE | BLKID_SUBLKS_VERSION | ++ BLKID_SUBLKS_FSSIZE); + + + if (fltr_usage && +diff --git a/tests/expected/blkid/low-probe-xfs b/tests/expected/blkid/low-probe-xfs +index 6eb1b4600..a91e92bcc 100644 +--- a/tests/expected/blkid/low-probe-xfs ++++ b/tests/expected/blkid/low-probe-xfs +@@ -1,4 +1,5 @@ + ID_FS_BLOCK_SIZE=512 ++ID_FS_FSSIZE=11862016 + ID_FS_LABEL=test-xfs + ID_FS_LABEL_ENC=test-xfs + ID_FS_TYPE=xfs +diff --git a/tests/expected/blkid/low-probe-xfs-v5 b/tests/expected/blkid/low-probe-xfs-v5 +index 513a3818f..129b41f26 100644 +--- a/tests/expected/blkid/low-probe-xfs-v5 ++++ b/tests/expected/blkid/low-probe-xfs-v5 +@@ -1,4 +1,5 @@ + ID_FS_BLOCK_SIZE=512 ++ID_FS_FSSIZE=17469440 + ID_FS_LABEL=test-xfs-v5 + ID_FS_LABEL_ENC=test-xfs-v5 + ID_FS_TYPE=xfs +-- +2.36.1 + diff --git a/0023-libblkid-fix-FSSIZE-docs.patch b/0023-libblkid-fix-FSSIZE-docs.patch new file mode 100644 index 0000000..4c18ac6 --- /dev/null +++ b/0023-libblkid-fix-FSSIZE-docs.patch @@ -0,0 +1,28 @@ +From 8ae64e23bc34fd939586705f64a93676bae8c2b2 Mon Sep 17 00:00:00 2001 +From: Karel Zak +Date: Tue, 26 Apr 2022 10:32:05 +0200 +Subject: libblkid: fix FSSIZE docs + +Upstream: http://github.com/util-linux/util-linux/commit/9c01f798f +Addresses: https://bugzilla.redhat.com/show_bug.cgi?id=2064810 +Signed-off-by: Karel Zak +--- + libblkid/src/superblocks/superblocks.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/libblkid/src/superblocks/superblocks.c b/libblkid/src/superblocks/superblocks.c +index 9adc2cfa3..adf4ee025 100644 +--- a/libblkid/src/superblocks/superblocks.c ++++ b/libblkid/src/superblocks/superblocks.c +@@ -66,7 +66,7 @@ + * + * @SBMAGIC_OFFSET: offset of SBMAGIC + * +- * @FSSIZE: size of filesystem [not-implemented yet] ++ * @FSSIZE: size of filesystem (implemented for XFS only) + * + * @SYSTEM_ID: ISO9660 system identifier + * +-- +2.36.1 + diff --git a/0024-libblkid-add-FSLASTBLOCK-field-interface-showing-are.patch b/0024-libblkid-add-FSLASTBLOCK-field-interface-showing-are.patch new file mode 100644 index 0000000..a79980e --- /dev/null +++ b/0024-libblkid-add-FSLASTBLOCK-field-interface-showing-are.patch @@ -0,0 +1,113 @@ +From fb9ea75a8a69b06eb6a4039b841ce3ccabb76775 Mon Sep 17 00:00:00 2001 +From: Andrey Albershteyn +Date: Wed, 27 Apr 2022 13:24:56 +0200 +Subject: libblkid: add FSLASTBLOCK field interface showing area occupied by fs + +Add interface to let filesystem set FSLASTBLOCK which is basically +total number of fsblocks (area occupied by fs). Enable that field in +the 'superblocks' sample. + +Upstream: http://github.com/util-linux/util-linux/commit/b7cb26ec3 +Addresses: https://bugzilla.redhat.com/show_bug.cgi?id=2064810 +Signed-off-by: Andrey Albershteyn +--- + libblkid/samples/superblocks.c | 3 ++- + libblkid/src/blkid.h.in | 23 ++++++++++++----------- + libblkid/src/superblocks/superblocks.c | 13 +++++++++++++ + libblkid/src/superblocks/superblocks.h | 1 + + 4 files changed, 28 insertions(+), 12 deletions(-) + +diff --git a/libblkid/samples/superblocks.c b/libblkid/samples/superblocks.c +index 38903ecee..b7f94ec14 100644 +--- a/libblkid/samples/superblocks.c ++++ b/libblkid/samples/superblocks.c +@@ -44,7 +44,8 @@ int main(int argc, char *argv[]) + BLKID_SUBLKS_UUID | BLKID_SUBLKS_UUIDRAW | + BLKID_SUBLKS_TYPE | BLKID_SUBLKS_SECTYPE | + BLKID_SUBLKS_USAGE | BLKID_SUBLKS_VERSION | +- BLKID_SUBLKS_MAGIC | BLKID_SUBLKS_FSSIZE); ++ BLKID_SUBLKS_MAGIC | BLKID_SUBLKS_FSSIZE | ++ BLKID_SUBLKS_FSLASTBLOCK); + + rc = blkid_do_safeprobe(pr); + if (rc == -1) +diff --git a/libblkid/src/blkid.h.in b/libblkid/src/blkid.h.in +index ad4becf0a..56e64f9ab 100644 +--- a/libblkid/src/blkid.h.in ++++ b/libblkid/src/blkid.h.in +@@ -271,17 +271,18 @@ extern int blkid_superblocks_get_name(size_t idx, const char **name, int *usage) + extern int blkid_probe_enable_superblocks(blkid_probe pr, int enable) + __ul_attribute__((nonnull)); + +-#define BLKID_SUBLKS_LABEL (1 << 1) /* read LABEL from superblock */ +-#define BLKID_SUBLKS_LABELRAW (1 << 2) /* read and define LABEL_RAW result value*/ +-#define BLKID_SUBLKS_UUID (1 << 3) /* read UUID from superblock */ +-#define BLKID_SUBLKS_UUIDRAW (1 << 4) /* read and define UUID_RAW result value */ +-#define BLKID_SUBLKS_TYPE (1 << 5) /* define TYPE result value */ +-#define BLKID_SUBLKS_SECTYPE (1 << 6) /* define compatible fs type (second type) */ +-#define BLKID_SUBLKS_USAGE (1 << 7) /* define USAGE result value */ +-#define BLKID_SUBLKS_VERSION (1 << 8) /* read FS type from superblock */ +-#define BLKID_SUBLKS_MAGIC (1 << 9) /* define SBMAGIC and SBMAGIC_OFFSET */ +-#define BLKID_SUBLKS_BADCSUM (1 << 10) /* allow a bad checksum */ +-#define BLKID_SUBLKS_FSSIZE (1 << 11) /* read and define FSSIZE from superblock */ ++#define BLKID_SUBLKS_LABEL (1 << 1) /* read LABEL from superblock */ ++#define BLKID_SUBLKS_LABELRAW (1 << 2) /* read and define LABEL_RAW result value*/ ++#define BLKID_SUBLKS_UUID (1 << 3) /* read UUID from superblock */ ++#define BLKID_SUBLKS_UUIDRAW (1 << 4) /* read and define UUID_RAW result value */ ++#define BLKID_SUBLKS_TYPE (1 << 5) /* define TYPE result value */ ++#define BLKID_SUBLKS_SECTYPE (1 << 6) /* define compatible fs type (second type) */ ++#define BLKID_SUBLKS_USAGE (1 << 7) /* define USAGE result value */ ++#define BLKID_SUBLKS_VERSION (1 << 8) /* read FS type from superblock */ ++#define BLKID_SUBLKS_MAGIC (1 << 9) /* define SBMAGIC and SBMAGIC_OFFSET */ ++#define BLKID_SUBLKS_BADCSUM (1 << 10) /* allow a bad checksum */ ++#define BLKID_SUBLKS_FSSIZE (1 << 11) /* read and define FSSIZE from superblock */ ++#define BLKID_SUBLKS_FSLASTBLOCK (1 << 12) /* read and define FSLASTBLOCK from superblock */ + + #define BLKID_SUBLKS_DEFAULT (BLKID_SUBLKS_LABEL | BLKID_SUBLKS_UUID | \ + BLKID_SUBLKS_TYPE | BLKID_SUBLKS_SECTYPE) +diff --git a/libblkid/src/superblocks/superblocks.c b/libblkid/src/superblocks/superblocks.c +index adf4ee025..5b899a830 100644 +--- a/libblkid/src/superblocks/superblocks.c ++++ b/libblkid/src/superblocks/superblocks.c +@@ -68,6 +68,8 @@ + * + * @FSSIZE: size of filesystem (implemented for XFS only) + * ++ * @FSLASTBLOCK: last fsblock/total number of fsblocks ++ * + * @SYSTEM_ID: ISO9660 system identifier + * + * @PUBLISHER_ID: ISO9660 publisher identifier +@@ -595,6 +597,17 @@ int blkid_probe_set_fssize(blkid_probe pr, uint64_t size) + return blkid_probe_sprintf_value(pr, "FSSIZE", "%" PRIu64, size); + } + ++int blkid_probe_set_fslastblock(blkid_probe pr, uint64_t lastblock) ++{ ++ struct blkid_chain *chn = blkid_probe_get_chain(pr); ++ ++ if (!(chn->flags & BLKID_SUBLKS_FSLASTBLOCK)) ++ return 0; ++ ++ return blkid_probe_sprintf_value(pr, "FSLASTBLOCK", "%" PRIu64, ++ lastblock); ++} ++ + int blkid_probe_set_id_label(blkid_probe pr, const char *name, + const unsigned char *data, size_t len) + { +diff --git a/libblkid/src/superblocks/superblocks.h b/libblkid/src/superblocks/superblocks.h +index 67803679f..251e2e386 100644 +--- a/libblkid/src/superblocks/superblocks.h ++++ b/libblkid/src/superblocks/superblocks.h +@@ -112,6 +112,7 @@ extern int blkid_probe_set_utf8_id_label(blkid_probe pr, const char *name, + + int blkid_probe_set_block_size(blkid_probe pr, unsigned block_size); + int blkid_probe_set_fssize(blkid_probe pr, uint64_t size); ++int blkid_probe_set_fslastblock(blkid_probe pr, uint64_t lastblock); + + extern int blkid_probe_is_bitlocker(blkid_probe pr); + extern int blkid_probe_is_ntfs(blkid_probe pr); +-- +2.36.1 + diff --git a/0025-libblkid-add-FSLASTBLOCK-implementation-for-xfs-ext-.patch b/0025-libblkid-add-FSLASTBLOCK-implementation-for-xfs-ext-.patch new file mode 100644 index 0000000..5cb8bfc --- /dev/null +++ b/0025-libblkid-add-FSLASTBLOCK-implementation-for-xfs-ext-.patch @@ -0,0 +1,86 @@ +From 9c7f3317fc66fe971a331dd71e76aff7ae091ab2 Mon Sep 17 00:00:00 2001 +From: Andrey Albershteyn +Date: Wed, 27 Apr 2022 14:46:33 +0200 +Subject: libblkid: add FSLASTBLOCK implementation for xfs, ext and btrfs + +Implementation of FSLASTBLOCK for most common filesystems. Most of +the fs store total number of reserved blocks in superblock. + +Upstream: http://github.com/util-linux/util-linux/commit/5f995b3f1 +Addresses: https://bugzilla.redhat.com/show_bug.cgi?id=2064810 +Signed-off-by: Andrey Albershteyn +--- + libblkid/src/superblocks/btrfs.c | 5 +++++ + libblkid/src/superblocks/ext.c | 10 ++++++++-- + libblkid/src/superblocks/xfs.c | 1 + + 3 files changed, 14 insertions(+), 2 deletions(-) + +diff --git a/libblkid/src/superblocks/btrfs.c b/libblkid/src/superblocks/btrfs.c +index f0fde700d..9708f2e28 100644 +--- a/libblkid/src/superblocks/btrfs.c ++++ b/libblkid/src/superblocks/btrfs.c +@@ -76,6 +76,11 @@ static int probe_btrfs(blkid_probe pr, const struct blkid_idmag *mag) + blkid_probe_set_uuid_as(pr, bfs->dev_item.uuid, "UUID_SUB"); + blkid_probe_set_block_size(pr, le32_to_cpu(bfs->sectorsize)); + ++ uint32_t sectorsize_log = 31 - ++ __builtin_clz(le32_to_cpu(bfs->sectorsize)); ++ blkid_probe_set_fslastblock(pr, ++ le64_to_cpu(bfs->total_bytes) >> sectorsize_log); ++ + return 0; + } + +diff --git a/libblkid/src/superblocks/ext.c b/libblkid/src/superblocks/ext.c +index 3870522fa..0b9023734 100644 +--- a/libblkid/src/superblocks/ext.c ++++ b/libblkid/src/superblocks/ext.c +@@ -164,10 +164,11 @@ static struct ext2_super_block *ext_get_super( + static void ext_get_info(blkid_probe pr, int ver, struct ext2_super_block *es) + { + struct blkid_chain *chn = blkid_probe_get_chain(pr); ++ uint32_t s_feature_incompat = le32_to_cpu(es->s_feature_incompat); + + DBG(PROBE, ul_debug("ext2_sb.compat = %08X:%08X:%08X", + le32_to_cpu(es->s_feature_compat), +- le32_to_cpu(es->s_feature_incompat), ++ s_feature_incompat, + le32_to_cpu(es->s_feature_ro_compat))); + + if (*es->s_volume_name != '\0') +@@ -179,7 +180,7 @@ static void ext_get_info(blkid_probe pr, int ver, struct ext2_super_block *es) + blkid_probe_set_uuid_as(pr, es->s_journal_uuid, "EXT_JOURNAL"); + + if (ver != 2 && (chn->flags & BLKID_SUBLKS_SECTYPE) && +- ((le32_to_cpu(es->s_feature_incompat) & EXT2_FEATURE_INCOMPAT_UNSUPPORTED) == 0)) ++ ((s_feature_incompat & EXT2_FEATURE_INCOMPAT_UNSUPPORTED) == 0)) + blkid_probe_set_value(pr, "SEC_TYPE", + (unsigned char *) "ext2", + sizeof("ext2")); +@@ -190,6 +191,11 @@ static void ext_get_info(blkid_probe pr, int ver, struct ext2_super_block *es) + + if (le32_to_cpu(es->s_log_block_size) < 32) + blkid_probe_set_block_size(pr, 1024U << le32_to_cpu(es->s_log_block_size)); ++ ++ uint64_t fslastblock = le32_to_cpu(es->s_blocks_count) | ++ ((s_feature_incompat & EXT4_FEATURE_INCOMPAT_64BIT) ? ++ (uint64_t) le32_to_cpu(es->s_blocks_count_hi) << 32 : 0); ++ blkid_probe_set_fslastblock(pr, fslastblock); + } + + +diff --git a/libblkid/src/superblocks/xfs.c b/libblkid/src/superblocks/xfs.c +index 444050f55..1f2e92cac 100644 +--- a/libblkid/src/superblocks/xfs.c ++++ b/libblkid/src/superblocks/xfs.c +@@ -183,6 +183,7 @@ static int probe_xfs(blkid_probe pr, const struct blkid_idmag *mag) + sizeof(xs->sb_fname)); + blkid_probe_set_uuid(pr, xs->sb_uuid); + blkid_probe_set_fssize(pr, xfs_fssize(xs)); ++ blkid_probe_set_fslastblock(pr, be64_to_cpu(xs->sb_dblocks)); + blkid_probe_set_block_size(pr, be16_to_cpu(xs->sb_sectsize)); + return 0; + } +-- +2.36.1 + diff --git a/0026-blkid-add-image-for-btrfs-testing.patch b/0026-blkid-add-image-for-btrfs-testing.patch new file mode 100644 index 0000000..f338669 --- /dev/null +++ b/0026-blkid-add-image-for-btrfs-testing.patch @@ -0,0 +1,146 @@ +From ab34732c0aaf7814393acbffa59cb82a79583e3d Mon Sep 17 00:00:00 2001 +From: Andrey Albershteyn +Date: Wed, 27 Apr 2022 17:29:27 +0200 +Subject: blkid: add image for btrfs testing + +The btrfs is one of the popular filesystem which is supported by +blkid. However, the image for 'low-probe' tests was missing. Add +115M BTRFS default image (mkfs.btrfs btrfs.img). + +Upstream: http://github.com/util-linux/util-linux/commit/bf64c83ec +Addresses: https://bugzilla.redhat.com/show_bug.cgi?id=2064810 +Signed-off-by: Andrey Albershteyn +--- + tests/expected/blkid/low-probe-btrfs | 7 +++++++ + tests/ts/blkid/images-fs/btrfs.img.xz | Bin 0 -> 21696 bytes + 2 files changed, 7 insertions(+) + create mode 100644 tests/expected/blkid/low-probe-btrfs + create mode 100644 tests/ts/blkid/images-fs/btrfs.img.xz + +diff --git a/tests/expected/blkid/low-probe-btrfs b/tests/expected/blkid/low-probe-btrfs +new file mode 100644 +index 000000000..509fac378 +--- /dev/null ++++ b/tests/expected/blkid/low-probe-btrfs +@@ -0,0 +1,7 @@ ++ID_FS_BLOCK_SIZE=4096 ++ID_FS_TYPE=btrfs ++ID_FS_USAGE=filesystem ++ID_FS_UUID=d4a78b72-55e4-4811-86a6-09af936d43f9 ++ID_FS_UUID_ENC=d4a78b72-55e4-4811-86a6-09af936d43f9 ++ID_FS_UUID_SUB=1e7603cb-d0be-4d8f-8972-9dddf7d5543c ++ID_FS_UUID_SUB_ENC=1e7603cb-d0be-4d8f-8972-9dddf7d5543c +diff --git a/tests/ts/blkid/images-fs/btrfs.img.xz b/tests/ts/blkid/images-fs/btrfs.img.xz +new file mode 100644 +index 0000000000000000000000000000000000000000..418833d42078492f0266d73b22170d5626b80cc0 +GIT binary patch +literal 21696 +zcmeHPWl)@3wr!vxA$V{Jnm`i>F2UU`&>ggapuwF42rj|hEhI>A2pXKm5}KLLtv{u0APQ8dz4>@S+Y`muuM4>+{+KA8aewyo-VB{m>>0`~^I2_F~pQ?-v<%pRQb2;}K`YK-P^&vwUP +zXVCRhRXj*+F)SwIc5>i8C;3%I0iQ5t1!M340lC< +zJNqTP7*oBYGiqzf;Y#-)_UYvj7l!5pT$Ufzd^?ONf<~|eSw>EKCg`8Y9Ept&MxTZ6 +zF0>S!M_I}?`=$G|kU8gzxej?`x=AMWrL>Dgne>#COY;a4VO(!Phg8cMK?#mDBGC^K +z4)5|A47Wk>py9-nFz?5)hfJ<#jBm6Yqr^6?nF&PU+$lUP1Z^t?~I_H7O-a@fPM +z1VyDU9yAP8Fp)uZ-fo&}Xt!*>D$!Y4)kD8~@pZcN>QaNnrJq`lR`OyFEOO3liYep^ +z$I2;Pm{so+JUXa(@QuC-D2hcbWQ1Ec#0*I>s!^L(gsXkp!jfy|1b*aYh~Ggtmn9I* +zVB(11)iRWsg;l(cXk(PPB-}Iy*4IczMS)xVZin2P%phzn(HW=nP{D8>#%JzPJ>?t +zV8w@R+S~F{zF$E}ua!#m^rM|mlAD){$uLBiJY81vmGFS{$o2C6>`D@G-!`@wJlEVl +zeT#KukF1@mq1oJs)S5^QBL}Vcf-E(;bh&xa%&vZV#ix)lqRAHDz=kDgPZvAYqNi99 +zww?C87FFBOk{Yb;)rCc?aOcMpUYoAqNbW{cpwZJCd#n|=QW(Vd4STDShgVQ0_U|Kdfa{+*s@vO5L}@Uqz? +z+IzlQef}pUgr2jxIPN$dx4j8ZIzz}Wr2>a1od`$|cGQ$x!|s$V_RUWpSDvR@OWRAt +zxk8rbJA*U5>>rzF_OvmR?9P9sy3r}j6n?6JVRCR)MH8qCk^u`|^I5?|03oz}HuUSu +zrDRzdE87n6B>$e!NV$S{-^rVMn|Gr$)B{?pF7U*vaYu7cdo*naC3mK`;u9c{LaX}@ +zk4M&C4RKg+<=!Xf7#=SgI4oxKr_~M>{TBR+#>?)3NNg&P4Vnx&VL({sPW*>)+qki) +zX>)|?cac;D5|+dZxgVLtI%oX4;=YV(F7H&n2)!MZgm+;oUlpa@>>LcgOwdW?p4+;J_-w9+ZmjH-BRYsNs;wAlGE<5 +z!rNn;g&Lv#&So~lB0NzgbIBM&+*|zkb4NFwbFBW`M35|A;g#q7Wf}*YCM-JWD8LV9 +z_Md|KANsXAo>*np?GTXbS1efHcKWn2x|YLQIv!iX>kn7s5>uhCv(%3@6W%+vz7`OU +zkJBl1U{cxro?zHPY_^;5#^O6HrTOL%tRSm=WPY*@Y%r<&9uv~gU&Lp8q%d53{7w5? +zhHgLVEm^5o6Ur2s=p1ftaH!+eb^>TD)K04ppQmwqe3u>yHoNCHeYX4%s9c*} +zNuGH0D#sKBG&){-8C1iCp68+E8_xk%Iw*Vi=Cx{zjE2jZw3`Y*Y>5^*anc9+ib_O4?bFdU;bMyKZEB0 +zGPBTdS-oH^>W0t9{1{!qnWh2HV0m1`^h=-OJ9unJCQK8GBQa3(v>pZa)Z)sUA6Ir+ +zNzk@BMzuZW86&WuRpJ%#&lkvWSsV!OF03vFx!SM#qvZE;5z4U9b(BtyV0_z>Q4{{OvI>?@ad-Xf5r(I9Ac~(jh3QG6=|B9M1+(6YC}p9C9giH)OoM@TTGK?U>Y$Km~l=5r5J# +z4{zfFb@wq@za_XzqnO{QEkRw~7%QF6gJo`nyianMaCD96IpA=#kor-L>(OC|rjmu( +zk3ruyZc3*^L3%fmqWp&Z#DeoU@F2u0I{bR2^*~_F5Wk^vdt$XgZB=oJQ1AuCHYoT8mC;w;;R1Kor>$qi7Pr +zd{UDUtv3Mx%FN4+Fh#sif~@qF+;64{Mx6UvvV$MI?*L3F+fUu@)KVscPv2;LChjl8 +zuK^zu%`G}X7hj`k3+E^A11*^^$w3F4A2TFsyzW?QJua>ckLM1JHI!(0Rj+W_@xwR3 +zb%(bdU~^&S)U2_9=)Q5Mt0~})HV*XCRX2`vQGj;Z{zY0MS_=)1R0l|P@KY`*lDmJW +zZT!C|SPTmHFUj5WtF9H{%q%&vc0%T*!{gebwOncI(k%5*S*O%#fM_WrOdJqhL$3Q= +z0MVQ+s%hpee>~)(8IS?A>ua9c2rEr~a?7@r_Iv&JpDJY3T(&fl%aB}#7kUnnK4D2+_0!)qC!rPH_gCaYOKyKStn8^{D90_4i+S(Co=&-H1v-PgN3m0d +zBxB;L%*-mCFZt_yQdm45YWmL2<-7I{6kRE%h!B0?%kZpR@V>C{a;D|H2`u;98CkG9 +z?~EooJK@|&W;I_kUmf333{*sIjQ}Q;j6%}nsD?}E2}L9~Zx`C3?P06oew40@4F^n$ +zP7@w(itv!{eZHfbVSYQ$Op|liTofAJBVScb219mIt*{4VNmlf_-PD)VE)40Ok +z9(_VL6gv{KU=XODULn07rtGoAwwC(Hxp7z&+;^czs8T=XFni?kRKGj3HCwFDausS(c+N&CewV!S%zKkR)mn2yf9PRC(R2q~>y +zdLu=~auhyVB*7G=_if~6vXSa;*CT0&?ZdKUY4a!}3Vm}jn>w`u9KGEsC61SwT?^n$ +z=~ZDK@6C-V!uu;F<%!R=NnyL5baXh=&&YwaQrR)unHFdi9r!Zs+xK=+)rND~I|$dU +zIsAl2l7Ri_E8S8=D)w(%WaZCIqCS3v7~KiO1cY(dgUx$6$ONbYKND~Fh8;S`blxva +zGBj|!gdTD>Tj_lXE+6nrAmX7ErErM?Sq5~yRcR5@0n#M8Dt6Pkx-E=EG5}BbLY`c{ +zCkHmAQuFYhj4Rl(4pwPT8n4ekFUfj$7Er>)5`*)_D{;)8Pq-vzI&^XC!cvW&LfyFg +z$$`o>td%TT>dPh>%O3m%`+F)U*1S&N5U?-hs&8~p1PgxqJwL$^!P%bqp+2|HO*SII +zXvY@28Y(KPiwVYx**0EL)Y)Q$MWYZ4_vU8{%*t|slC#h_v$(G-a+ssLVL}i)M^32w +z)07)etQS|Gp0<3IMPI-UI{B%#EA*_jr$lRpP#7GAKc9o7>&KVacDya8EKB^`ydigHs5s-d%;jxo+JZ +z5a8tX*9vFzs$bL*DM|D*TodBFSD?|=S8_&nBVD%p1ICQ5Pu5O0tf%vLIVJwuA~Ky{s&s&gIQ;rC-5bRBnhpcSEaLa?8c +zGs@@sAX^}h*dB@yl-edEaxY}An}M?C&cwLQ=AIPD`+RyV*FB5SpeQ*cIN$}bF&w>b +zJ{lG!Lfh1ypV*5@2;dh`jpBtX4)gFHVshTa+ndYvGH*R>zI0%yD-R}0EOK-yOk8Se +z+*pirXSEP%ZJWWWz*!jM3JiWf{};^%i`K56ASDP=f*>WxFD5~dS%#mEQ6TO7-
+z77SUipH33~l#}tV$tGlnAv+A&VZUJF4=F2jo!GsCa;_jJ3eR2=k^R +zlOw8lOZxBStkNau58GXG8hNbZbMxw~5_S?b)C;W%-m~j-$?(o3ZkifD4HiKs&Cgcd +z?#8Is8kR;8z|;@MIjYvmfVSJ-Gg?njKn9waTxd*^Rghrshq`IfnO!702Jhvq%nbxP!p?38}=tzral+MXpTCDZ=gko*UgA@G57Z3&0L4Nrw)rdFq$Bb$oz&h +z>IW(XCMCaSNqnkWFFFzc3zWps;JVjKJ3A-N+WuvOmVcEe|Cu)ye+VT1_SdTLv2LUz +z^Lrhcn@iy8FKOA|yd5+m9WCGeoPX9hk6mpQ68{ALlx0yfuwy7KE)}J|L%-;hFa5DZ +z{{nZF$nlWdqvG_S#ZjC&-BWXN2Nq~cBM-()YOcAy=c!GXr(08{<5fgUO-~^oJv+WMn-^R(nBVIgnsjw +zys-P@)I-`sCUI+lZ&M@bl7pkJ74107I-8-_>Vg4~FC1GSm!j}Xf-hx7a|2rj +zPiyB;N=E_@19Jxt+3UBOmb?lJir{H8{0Oegr<&7nyHl&WTUOmHO=ZJ5*hH6G4xMAZ +zU|TP)nnI_SzWa4!@w``U*+rCt(p;B6&@P}Cl(Y7!YuGm|Y&6^7rG*zn>H=PN`J!I> +z5o}D +zA&Q5A>bYPdO%31XIR{@M;nfb~C+BSlpvk~3JYHmif;FA0ca~#cxO5P&ML*jJre{o7 +z%UFv3?A6A8fb{vRCHnMjYCCpQYr@;JqAo{qnw8H5P%*K`^5UpbwP|xfUmXCHs-Lls +zE$-vSc${8rOAU+U4?-FMw~YHl^O!cRbJ6 +zQ=cfw%vPS>Tdv2Y(yadyh_7rux*xG+sk#G3hEBr#G +zrDA#)%c-MSwF;||mAdJA?K&$d8y83WKAKr +zHjBKXyQfOB!jrnZAYUlg*9Ne?;71yAVxl*-DF3dYmQPF~0oR*S?D+*aa9I~kXrJ8g +z6?^R@wP$^ijX=A%X+(=W#B3w1c-vvb~Aneqsx9h0O7Z7z|eU0V5|T(rA|d$) +zSJWUm49Q`C?h+(qhao!** +Date: Wed, 27 Apr 2022 17:33:33 +0200 +Subject: blkid: add tests for FSLASTBLOCK tag + +Upstream: http://github.com/util-linux/util-linux/commit/800ed56f4 +Addresses: https://bugzilla.redhat.com/show_bug.cgi?id=2064810 +Signed-off-by: Andrey Albershteyn +--- + misc-utils/blkid.c | 2 +- + tests/expected/blkid/low-probe-btrfs | 1 + + tests/expected/blkid/low-probe-ext2 | 1 + + tests/expected/blkid/low-probe-ext3 | 1 + + tests/expected/blkid/low-probe-jbd | 1 + + tests/expected/blkid/low-probe-xfs | 1 + + tests/expected/blkid/low-probe-xfs-v5 | 1 + + 7 files changed, 7 insertions(+), 1 deletion(-) + +diff --git a/misc-utils/blkid.c b/misc-utils/blkid.c +index 4f456be52..f2b190ce3 100644 +--- a/misc-utils/blkid.c ++++ b/misc-utils/blkid.c +@@ -893,7 +893,7 @@ int main(int argc, char **argv) + BLKID_SUBLKS_LABEL | BLKID_SUBLKS_UUID | + BLKID_SUBLKS_TYPE | BLKID_SUBLKS_SECTYPE | + BLKID_SUBLKS_USAGE | BLKID_SUBLKS_VERSION | +- BLKID_SUBLKS_FSSIZE); ++ BLKID_SUBLKS_FSSIZE | BLKID_SUBLKS_FSLASTBLOCK); + + + if (fltr_usage && +diff --git a/tests/expected/blkid/low-probe-btrfs b/tests/expected/blkid/low-probe-btrfs +index 509fac378..48649389a 100644 +--- a/tests/expected/blkid/low-probe-btrfs ++++ b/tests/expected/blkid/low-probe-btrfs +@@ -1,4 +1,5 @@ + ID_FS_BLOCK_SIZE=4096 ++ID_FS_FSLASTBLOCK=29440 + ID_FS_TYPE=btrfs + ID_FS_USAGE=filesystem + ID_FS_UUID=d4a78b72-55e4-4811-86a6-09af936d43f9 +diff --git a/tests/expected/blkid/low-probe-ext2 b/tests/expected/blkid/low-probe-ext2 +index 087da97a4..e236c6e8a 100644 +--- a/tests/expected/blkid/low-probe-ext2 ++++ b/tests/expected/blkid/low-probe-ext2 +@@ -1,4 +1,5 @@ + ID_FS_BLOCK_SIZE=1024 ++ID_FS_FSLASTBLOCK=100 + ID_FS_LABEL=test-ext2 + ID_FS_LABEL_ENC=test-ext2 + ID_FS_TYPE=ext2 +diff --git a/tests/expected/blkid/low-probe-ext3 b/tests/expected/blkid/low-probe-ext3 +index 8684884c1..164fefb7b 100644 +--- a/tests/expected/blkid/low-probe-ext3 ++++ b/tests/expected/blkid/low-probe-ext3 +@@ -1,4 +1,5 @@ + ID_FS_BLOCK_SIZE=1024 ++ID_FS_FSLASTBLOCK=2048 + ID_FS_LABEL=test-ext3 + ID_FS_LABEL_ENC=test-ext3 + ID_FS_SEC_TYPE=ext2 +diff --git a/tests/expected/blkid/low-probe-jbd b/tests/expected/blkid/low-probe-jbd +index c9f9f6b79..f5462a2a3 100644 +--- a/tests/expected/blkid/low-probe-jbd ++++ b/tests/expected/blkid/low-probe-jbd +@@ -1,4 +1,5 @@ + ID_FS_BLOCK_SIZE=1024 ++ID_FS_FSLASTBLOCK=1024 + ID_FS_LOGUUID=0d7a07df-7b06-4829-bce7-3b9c3ece570c + ID_FS_TYPE=jbd + ID_FS_USAGE=other +diff --git a/tests/expected/blkid/low-probe-xfs b/tests/expected/blkid/low-probe-xfs +index a91e92bcc..be9c4194a 100644 +--- a/tests/expected/blkid/low-probe-xfs ++++ b/tests/expected/blkid/low-probe-xfs +@@ -1,4 +1,5 @@ + ID_FS_BLOCK_SIZE=512 ++ID_FS_FSLASTBLOCK=4096 + ID_FS_FSSIZE=11862016 + ID_FS_LABEL=test-xfs + ID_FS_LABEL_ENC=test-xfs +diff --git a/tests/expected/blkid/low-probe-xfs-v5 b/tests/expected/blkid/low-probe-xfs-v5 +index 129b41f26..fd2cba933 100644 +--- a/tests/expected/blkid/low-probe-xfs-v5 ++++ b/tests/expected/blkid/low-probe-xfs-v5 +@@ -1,4 +1,5 @@ + ID_FS_BLOCK_SIZE=512 ++ID_FS_FSLASTBLOCK=5120 + ID_FS_FSSIZE=17469440 + ID_FS_LABEL=test-xfs-v5 + ID_FS_LABEL_ENC=test-xfs-v5 +-- +2.36.1 + diff --git a/0028-libblkid-merge-FS-flags-into-one-FSINFO.patch b/0028-libblkid-merge-FS-flags-into-one-FSINFO.patch new file mode 100644 index 0000000..7ab6004 --- /dev/null +++ b/0028-libblkid-merge-FS-flags-into-one-FSINFO.patch @@ -0,0 +1,120 @@ +From f58a63a3d88cccd5fdf53ead425c5e8186f32cc1 Mon Sep 17 00:00:00 2001 +From: Andrey Albershteyn +Date: Mon, 2 May 2022 17:08:33 +0200 +Subject: libblkid: merge FS* flags into one FSINFO + +Put BLOCK_SIZE, FSSIZE and FSLASTBLOCK tags under one FSINFO flag. +These, and probably future ones, are read directly from the +superblock (with minor post-processing). These properties are +combined under one flag to escape adding a flag per superblock +member. + +Upstream: http://github.com/util-linux/util-linux/commit/c9b2297eb +Addresses: https://bugzilla.redhat.com/show_bug.cgi?id=2064810 +Signed-off-by: Andrey Albershteyn +--- + libblkid/samples/superblocks.c | 3 +-- + libblkid/src/blkid.h.in | 23 +++++++++++------------ + libblkid/src/superblocks/superblocks.c | 9 +++++++-- + misc-utils/blkid.c | 3 +-- + 4 files changed, 20 insertions(+), 18 deletions(-) + +diff --git a/libblkid/samples/superblocks.c b/libblkid/samples/superblocks.c +index b7f94ec14..5253f9cc4 100644 +--- a/libblkid/samples/superblocks.c ++++ b/libblkid/samples/superblocks.c +@@ -44,8 +44,7 @@ int main(int argc, char *argv[]) + BLKID_SUBLKS_UUID | BLKID_SUBLKS_UUIDRAW | + BLKID_SUBLKS_TYPE | BLKID_SUBLKS_SECTYPE | + BLKID_SUBLKS_USAGE | BLKID_SUBLKS_VERSION | +- BLKID_SUBLKS_MAGIC | BLKID_SUBLKS_FSSIZE | +- BLKID_SUBLKS_FSLASTBLOCK); ++ BLKID_SUBLKS_MAGIC | BLKID_SUBLKS_FSINFO); + + rc = blkid_do_safeprobe(pr); + if (rc == -1) +diff --git a/libblkid/src/blkid.h.in b/libblkid/src/blkid.h.in +index 56e64f9ab..ae4e555e3 100644 +--- a/libblkid/src/blkid.h.in ++++ b/libblkid/src/blkid.h.in +@@ -271,18 +271,17 @@ extern int blkid_superblocks_get_name(size_t idx, const char **name, int *usage) + extern int blkid_probe_enable_superblocks(blkid_probe pr, int enable) + __ul_attribute__((nonnull)); + +-#define BLKID_SUBLKS_LABEL (1 << 1) /* read LABEL from superblock */ +-#define BLKID_SUBLKS_LABELRAW (1 << 2) /* read and define LABEL_RAW result value*/ +-#define BLKID_SUBLKS_UUID (1 << 3) /* read UUID from superblock */ +-#define BLKID_SUBLKS_UUIDRAW (1 << 4) /* read and define UUID_RAW result value */ +-#define BLKID_SUBLKS_TYPE (1 << 5) /* define TYPE result value */ +-#define BLKID_SUBLKS_SECTYPE (1 << 6) /* define compatible fs type (second type) */ +-#define BLKID_SUBLKS_USAGE (1 << 7) /* define USAGE result value */ +-#define BLKID_SUBLKS_VERSION (1 << 8) /* read FS type from superblock */ +-#define BLKID_SUBLKS_MAGIC (1 << 9) /* define SBMAGIC and SBMAGIC_OFFSET */ +-#define BLKID_SUBLKS_BADCSUM (1 << 10) /* allow a bad checksum */ +-#define BLKID_SUBLKS_FSSIZE (1 << 11) /* read and define FSSIZE from superblock */ +-#define BLKID_SUBLKS_FSLASTBLOCK (1 << 12) /* read and define FSLASTBLOCK from superblock */ ++#define BLKID_SUBLKS_LABEL (1 << 1) /* read LABEL from superblock */ ++#define BLKID_SUBLKS_LABELRAW (1 << 2) /* read and define LABEL_RAW result value*/ ++#define BLKID_SUBLKS_UUID (1 << 3) /* read UUID from superblock */ ++#define BLKID_SUBLKS_UUIDRAW (1 << 4) /* read and define UUID_RAW result value */ ++#define BLKID_SUBLKS_TYPE (1 << 5) /* define TYPE result value */ ++#define BLKID_SUBLKS_SECTYPE (1 << 6) /* define compatible fs type (second type) */ ++#define BLKID_SUBLKS_USAGE (1 << 7) /* define USAGE result value */ ++#define BLKID_SUBLKS_VERSION (1 << 8) /* read FS type from superblock */ ++#define BLKID_SUBLKS_MAGIC (1 << 9) /* define SBMAGIC and SBMAGIC_OFFSET */ ++#define BLKID_SUBLKS_BADCSUM (1 << 10) /* allow a bad checksum */ ++#define BLKID_SUBLKS_FSINFO (1 << 11) /* read and define fs properties from superblock */ + + #define BLKID_SUBLKS_DEFAULT (BLKID_SUBLKS_LABEL | BLKID_SUBLKS_UUID | \ + BLKID_SUBLKS_TYPE | BLKID_SUBLKS_SECTYPE) +diff --git a/libblkid/src/superblocks/superblocks.c b/libblkid/src/superblocks/superblocks.c +index 5b899a830..a1f42c611 100644 +--- a/libblkid/src/superblocks/superblocks.c ++++ b/libblkid/src/superblocks/superblocks.c +@@ -562,6 +562,11 @@ int blkid_probe_sprintf_version(blkid_probe pr, const char *fmt, ...) + + int blkid_probe_set_block_size(blkid_probe pr, unsigned block_size) + { ++ struct blkid_chain *chn = blkid_probe_get_chain(pr); ++ ++ if (!(chn->flags & BLKID_SUBLKS_FSINFO)) ++ return 0; ++ + return blkid_probe_sprintf_value(pr, "BLOCK_SIZE", "%u", block_size); + } + +@@ -591,7 +596,7 @@ int blkid_probe_set_fssize(blkid_probe pr, uint64_t size) + { + struct blkid_chain *chn = blkid_probe_get_chain(pr); + +- if (!(chn->flags & BLKID_SUBLKS_FSSIZE)) ++ if (!(chn->flags & BLKID_SUBLKS_FSINFO)) + return 0; + + return blkid_probe_sprintf_value(pr, "FSSIZE", "%" PRIu64, size); +@@ -601,7 +606,7 @@ int blkid_probe_set_fslastblock(blkid_probe pr, uint64_t lastblock) + { + struct blkid_chain *chn = blkid_probe_get_chain(pr); + +- if (!(chn->flags & BLKID_SUBLKS_FSLASTBLOCK)) ++ if (!(chn->flags & BLKID_SUBLKS_FSINFO)) + return 0; + + return blkid_probe_sprintf_value(pr, "FSLASTBLOCK", "%" PRIu64, +diff --git a/misc-utils/blkid.c b/misc-utils/blkid.c +index f2b190ce3..744151616 100644 +--- a/misc-utils/blkid.c ++++ b/misc-utils/blkid.c +@@ -893,8 +893,7 @@ int main(int argc, char **argv) + BLKID_SUBLKS_LABEL | BLKID_SUBLKS_UUID | + BLKID_SUBLKS_TYPE | BLKID_SUBLKS_SECTYPE | + BLKID_SUBLKS_USAGE | BLKID_SUBLKS_VERSION | +- BLKID_SUBLKS_FSSIZE | BLKID_SUBLKS_FSLASTBLOCK); +- ++ BLKID_SUBLKS_FSINFO); + + if (fltr_usage && + blkid_probe_filter_superblocks_usage(pr, fltr_flag, fltr_usage)) +-- +2.36.1 + diff --git a/0029-libblkid-add-FSBLOCKSIZE-tag.patch b/0029-libblkid-add-FSBLOCKSIZE-tag.patch new file mode 100644 index 0000000..8016476 --- /dev/null +++ b/0029-libblkid-add-FSBLOCKSIZE-tag.patch @@ -0,0 +1,1394 @@ +From bb1537a959e8ec53acfa90081be9cd1167b6a0cd Mon Sep 17 00:00:00 2001 +From: Andrey Albershteyn +Date: Fri, 27 May 2022 12:05:32 +0200 +Subject: libblkid: add FSBLOCKSIZE tag + +The FSBLOCKSIZE tag exposes file system block size in contrast to +the BLOCK_SIZE (unfortunate name) which returns minimal accessible +block size (sector size). + +Upstream: http://github.com/util-linux/util-linux/commit/0f447d490 +Addresses: https://bugzilla.redhat.com/show_bug.cgi?id=2064810 +Signed-off-by: Andrey Albershteyn +--- + libblkid/src/superblocks/apfs.c | 1 + + libblkid/src/superblocks/befs.c | 1 + + libblkid/src/superblocks/btrfs.c | 1 + + libblkid/src/superblocks/erofs.c | 5 ++++- + libblkid/src/superblocks/exfat.c | 1 + + libblkid/src/superblocks/exfs.c | 1 + + libblkid/src/superblocks/ext.c | 4 +++- + libblkid/src/superblocks/f2fs.c | 4 +++- + libblkid/src/superblocks/gfs.c | 1 + + libblkid/src/superblocks/hfs.c | 1 + + libblkid/src/superblocks/hpfs.c | 1 + + libblkid/src/superblocks/iso9660.c | 2 ++ + libblkid/src/superblocks/jfs.c | 1 + + libblkid/src/superblocks/minix.c | 1 + + libblkid/src/superblocks/nilfs.c | 4 +++- + libblkid/src/superblocks/ntfs.c | 2 ++ + libblkid/src/superblocks/ocfs.c | 4 +++- + libblkid/src/superblocks/reiserfs.c | 2 ++ + libblkid/src/superblocks/romfs.c | 1 + + libblkid/src/superblocks/squashfs.c | 1 + + libblkid/src/superblocks/superblocks.c | 13 +++++++++++++ + libblkid/src/superblocks/superblocks.h | 1 + + libblkid/src/superblocks/udf.c | 1 + + libblkid/src/superblocks/ufs.c | 8 ++++++-- + libblkid/src/superblocks/vfat.c | 1 + + libblkid/src/superblocks/vxfs.c | 2 ++ + libblkid/src/superblocks/xfs.c | 1 + + libblkid/src/superblocks/zfs.c | 4 +++- + libblkid/src/superblocks/zonefs.c | 1 + + tests/expected/blkid/low-probe-befs | 1 + + tests/expected/blkid/low-probe-btrfs | 1 + + tests/expected/blkid/low-probe-erofs | 1 + + tests/expected/blkid/low-probe-exfat | 1 + + tests/expected/blkid/low-probe-ext2 | 1 + + tests/expected/blkid/low-probe-ext3 | 1 + + tests/expected/blkid/low-probe-f2fs | 1 + + tests/expected/blkid/low-probe-fat | 1 + + tests/expected/blkid/low-probe-fat16_noheads | 1 + + tests/expected/blkid/low-probe-fat32_cp850_O_tilde | 1 + + tests/expected/blkid/low-probe-fat32_label_64MB | 1 + + tests/expected/blkid/low-probe-fat32_mkdosfs_label1 | 1 + + ...ow-probe-fat32_mkdosfs_label1_dosfslabel_NO_NAME | 1 + + .../low-probe-fat32_mkdosfs_label1_dosfslabel_empty | 1 + + ...low-probe-fat32_mkdosfs_label1_dosfslabel_label2 | 1 + + .../low-probe-fat32_mkdosfs_label1_mlabel_NO_NAME | 1 + + .../low-probe-fat32_mkdosfs_label1_mlabel_erase | 1 + + .../blkid/low-probe-fat32_mkdosfs_label1_xp_erase | 1 + + .../blkid/low-probe-fat32_mkdosfs_label1_xp_label2 | 1 + + tests/expected/blkid/low-probe-fat32_mkdosfs_none | 1 + + .../low-probe-fat32_mkdosfs_none_dosfslabel_NO_NAME | 1 + + .../low-probe-fat32_mkdosfs_none_dosfslabel_label1 | 1 + + ...e-fat32_mkdosfs_none_dosfslabel_label1_xp_label2 | 1 + + .../blkid/low-probe-fat32_mkdosfs_none_xp_label1 | 1 + + ...e-fat32_mkdosfs_none_xp_label1_dosfslabel_label2 | 1 + + tests/expected/blkid/low-probe-fat32_xp_label1 | 1 + + tests/expected/blkid/low-probe-fat32_xp_none | 1 + + .../blkid/low-probe-fat32_xp_none_dosfslabel_label1 | 1 + + .../blkid/low-probe-fat32_xp_none_mlabel_label1 | 1 + + tests/expected/blkid/low-probe-gfs2 | 1 + + tests/expected/blkid/low-probe-hfsplus | 1 + + tests/expected/blkid/low-probe-hpfs | 1 + + tests/expected/blkid/low-probe-iso | 1 + + .../blkid/low-probe-iso-different-iso-joliet-label | 1 + + tests/expected/blkid/low-probe-iso-joliet | 1 + + .../blkid/low-probe-iso-multi-genisoimage-0 | 1 + + .../blkid/low-probe-iso-multi-genisoimage-174 | 1 + + .../blkid/low-probe-iso-multi-genisoimage-348 | 1 + + tests/expected/blkid/low-probe-iso-rr-joliet | 1 + + .../expected/blkid/low-probe-iso-unicode-long-label | 1 + + tests/expected/blkid/low-probe-jbd | 1 + + tests/expected/blkid/low-probe-jfs | 1 + + tests/expected/blkid/low-probe-minix-BE | 1 + + tests/expected/blkid/low-probe-minix-LE | 1 + + tests/expected/blkid/low-probe-nilfs2 | 1 + + tests/expected/blkid/low-probe-ntfs | 1 + + tests/expected/blkid/low-probe-ocfs2 | 1 + + tests/expected/blkid/low-probe-reiser3 | 1 + + tests/expected/blkid/low-probe-reiser4 | 1 + + tests/expected/blkid/low-probe-romfs | 1 + + tests/expected/blkid/low-probe-small-fat32 | 1 + + tests/expected/blkid/low-probe-udf | 1 + + tests/expected/blkid/low-probe-udf-bdr-2.60-nero | 1 + + .../blkid/low-probe-udf-cd-mkudfiso-20100208 | 1 + + tests/expected/blkid/low-probe-udf-cd-nero-6 | 1 + + .../blkid/low-probe-udf-hdd-macosx-2.60-4096 | 1 + + .../blkid/low-probe-udf-hdd-mkudffs-1.0.0-1 | 1 + + .../blkid/low-probe-udf-hdd-mkudffs-1.0.0-2 | 1 + + .../expected/blkid/low-probe-udf-hdd-mkudffs-1.3-1 | 1 + + .../expected/blkid/low-probe-udf-hdd-mkudffs-1.3-2 | 1 + + .../expected/blkid/low-probe-udf-hdd-mkudffs-1.3-3 | 1 + + .../expected/blkid/low-probe-udf-hdd-mkudffs-1.3-4 | 1 + + .../expected/blkid/low-probe-udf-hdd-mkudffs-1.3-5 | 1 + + .../expected/blkid/low-probe-udf-hdd-mkudffs-1.3-6 | 1 + + .../expected/blkid/low-probe-udf-hdd-mkudffs-1.3-7 | 1 + + .../expected/blkid/low-probe-udf-hdd-mkudffs-1.3-8 | 1 + + tests/expected/blkid/low-probe-udf-hdd-mkudffs-2.2 | 1 + + .../blkid/low-probe-udf-hdd-udfclient-0.7.5 | 1 + + .../blkid/low-probe-udf-hdd-udfclient-0.7.7 | 1 + + tests/expected/blkid/low-probe-udf-hdd-win7 | 1 + + .../blkid/low-probe-udf-multi-genisoimage-0 | 1 + + .../blkid/low-probe-udf-multi-genisoimage-417 | 1 + + .../blkid/low-probe-udf-multi-genisoimage-834 | 1 + + tests/expected/blkid/low-probe-udf-multi-mkudffs-0 | 1 + + .../expected/blkid/low-probe-udf-multi-mkudffs-320 | 1 + + .../expected/blkid/low-probe-udf-multi-mkudffs-640 | 1 + + tests/expected/blkid/low-probe-ufs | 1 + + tests/expected/blkid/low-probe-xfs | 1 + + tests/expected/blkid/low-probe-xfs-v5 | 1 + + tests/expected/blkid/low-probe-zfs | 1 + + tests/expected/blkid/low-probe-zonefs | 1 + + 110 files changed, 144 insertions(+), 8 deletions(-) + +diff --git a/libblkid/src/superblocks/apfs.c b/libblkid/src/superblocks/apfs.c +index 3332ef228..048423a8b 100644 +--- a/libblkid/src/superblocks/apfs.c ++++ b/libblkid/src/superblocks/apfs.c +@@ -65,6 +65,7 @@ static int probe_apfs(blkid_probe pr, const struct blkid_idmag *mag) + if (blkid_probe_set_uuid(pr, sb->uuid) < 0) + return BLKID_PROBE_NONE; + ++ blkid_probe_set_fsblocksize(pr, le32_to_cpu(sb->block_size)); + blkid_probe_set_block_size(pr, le32_to_cpu(sb->block_size)); + + return BLKID_PROBE_OK; +diff --git a/libblkid/src/superblocks/befs.c b/libblkid/src/superblocks/befs.c +index 211feae9f..1ba0e10ae 100644 +--- a/libblkid/src/superblocks/befs.c ++++ b/libblkid/src/superblocks/befs.c +@@ -521,6 +521,7 @@ static int probe_befs(blkid_probe pr, const struct blkid_idmag *mag) + sizeof(volume_id), "%016" PRIx64, + FS64_TO_CPU(volume_id, fs_le)); + ++ blkid_probe_set_fsblocksize(pr, block_size); + blkid_probe_set_block_size(pr, block_size); + + return BLKID_PROBE_OK; +diff --git a/libblkid/src/superblocks/btrfs.c b/libblkid/src/superblocks/btrfs.c +index 9708f2e28..06a27529a 100644 +--- a/libblkid/src/superblocks/btrfs.c ++++ b/libblkid/src/superblocks/btrfs.c +@@ -74,6 +74,7 @@ static int probe_btrfs(blkid_probe pr, const struct blkid_idmag *mag) + + blkid_probe_set_uuid(pr, bfs->fsid); + blkid_probe_set_uuid_as(pr, bfs->dev_item.uuid, "UUID_SUB"); ++ blkid_probe_set_fsblocksize(pr, le32_to_cpu(bfs->sectorsize)); + blkid_probe_set_block_size(pr, le32_to_cpu(bfs->sectorsize)); + + uint32_t sectorsize_log = 31 - +diff --git a/libblkid/src/superblocks/erofs.c b/libblkid/src/superblocks/erofs.c +index 0e7b4223d..30914a89c 100644 +--- a/libblkid/src/superblocks/erofs.c ++++ b/libblkid/src/superblocks/erofs.c +@@ -51,8 +51,11 @@ static int probe_erofs(blkid_probe pr, const struct blkid_idmag *mag) + + blkid_probe_set_uuid(pr, sb->uuid); + +- if (sb->blkszbits < 32) ++ if (sb->blkszbits < 32){ ++ blkid_probe_set_fsblocksize(pr, 1U << sb->blkszbits); + blkid_probe_set_block_size(pr, 1U << sb->blkszbits); ++ } ++ + return BLKID_PROBE_OK; + } + +diff --git a/libblkid/src/superblocks/exfat.c b/libblkid/src/superblocks/exfat.c +index f586ec786..fd2b85655 100644 +--- a/libblkid/src/superblocks/exfat.c ++++ b/libblkid/src/superblocks/exfat.c +@@ -139,6 +139,7 @@ static int probe_exfat(blkid_probe pr, const struct blkid_idmag *mag) + blkid_probe_sprintf_version(pr, "%u.%u", + sb->version.vermaj, sb->version.vermin); + ++ blkid_probe_set_fsblocksize(pr, BLOCK_SIZE(sb)); + blkid_probe_set_block_size(pr, BLOCK_SIZE(sb)); + + return BLKID_PROBE_OK; +diff --git a/libblkid/src/superblocks/exfs.c b/libblkid/src/superblocks/exfs.c +index e0eafafc6..87dc0a0c7 100644 +--- a/libblkid/src/superblocks/exfs.c ++++ b/libblkid/src/superblocks/exfs.c +@@ -173,6 +173,7 @@ static int probe_exfs(blkid_probe pr, const struct blkid_idmag *mag) + + blkid_probe_set_uuid(pr, xs->sb_uuid); + ++ blkid_probe_set_fsblocksize(pr, be32_to_cpu(xs->sb_blocksize)); + blkid_probe_set_block_size(pr, be32_to_cpu(xs->sb_blocksize)); + + return 0; +diff --git a/libblkid/src/superblocks/ext.c b/libblkid/src/superblocks/ext.c +index 0b9023734..cbbe8eb96 100644 +--- a/libblkid/src/superblocks/ext.c ++++ b/libblkid/src/superblocks/ext.c +@@ -189,8 +189,10 @@ static void ext_get_info(blkid_probe pr, int ver, struct ext2_super_block *es) + le32_to_cpu(es->s_rev_level), + le16_to_cpu(es->s_minor_rev_level)); + +- if (le32_to_cpu(es->s_log_block_size) < 32) ++ if (le32_to_cpu(es->s_log_block_size) < 32){ ++ blkid_probe_set_fsblocksize(pr, 1024U << le32_to_cpu(es->s_log_block_size)); + blkid_probe_set_block_size(pr, 1024U << le32_to_cpu(es->s_log_block_size)); ++ } + + uint64_t fslastblock = le32_to_cpu(es->s_blocks_count) | + ((s_feature_incompat & EXT4_FEATURE_INCOMPAT_64BIT) ? +diff --git a/libblkid/src/superblocks/f2fs.c b/libblkid/src/superblocks/f2fs.c +index aed93e25b..f271e8047 100644 +--- a/libblkid/src/superblocks/f2fs.c ++++ b/libblkid/src/superblocks/f2fs.c +@@ -78,8 +78,10 @@ static int probe_f2fs(blkid_probe pr, const struct blkid_idmag *mag) + + blkid_probe_set_uuid(pr, sb->uuid); + blkid_probe_sprintf_version(pr, "%u.%u", vermaj, vermin); +- if (le32_to_cpu(sb->log_blocksize) < 32) ++ if (le32_to_cpu(sb->log_blocksize) < 32){ ++ blkid_probe_set_fsblocksize(pr, 1U << le32_to_cpu(sb->log_blocksize)); + blkid_probe_set_block_size(pr, 1U << le32_to_cpu(sb->log_blocksize)); ++ } + return 0; + } + +diff --git a/libblkid/src/superblocks/gfs.c b/libblkid/src/superblocks/gfs.c +index 37a74b157..445c0dafa 100644 +--- a/libblkid/src/superblocks/gfs.c ++++ b/libblkid/src/superblocks/gfs.c +@@ -106,6 +106,7 @@ static int probe_gfs2(blkid_probe pr, const struct blkid_idmag *mag) + sizeof(sbd->sb_locktable)); + blkid_probe_set_uuid(pr, sbd->sb_uuid); + blkid_probe_set_version(pr, "1"); ++ blkid_probe_set_fsblocksize(pr, be32_to_cpu(sbd->sb_bsize)); + blkid_probe_set_block_size(pr, be32_to_cpu(sbd->sb_bsize)); + return 0; + } +diff --git a/libblkid/src/superblocks/hfs.c b/libblkid/src/superblocks/hfs.c +index ebf90e49e..9674b1481 100644 +--- a/libblkid/src/superblocks/hfs.c ++++ b/libblkid/src/superblocks/hfs.c +@@ -241,6 +241,7 @@ static int probe_hfsplus(blkid_probe pr, const struct blkid_idmag *mag) + if (blocksize < HFSPLUS_SECTOR_SIZE) + return 1; + ++ blkid_probe_set_fsblocksize(pr, blocksize); + blkid_probe_set_block_size(pr, blocksize); + + memcpy(extents, hfsplus->cat_file.extents, sizeof(extents)); +diff --git a/libblkid/src/superblocks/hpfs.c b/libblkid/src/superblocks/hpfs.c +index dcf4520b6..09bf975ea 100644 +--- a/libblkid/src/superblocks/hpfs.c ++++ b/libblkid/src/superblocks/hpfs.c +@@ -99,6 +99,7 @@ static int probe_hpfs(blkid_probe pr, const struct blkid_idmag *mag) + hbb->vol_serno[1], hbb->vol_serno[0]); + } + blkid_probe_sprintf_version(pr, "%u", version); ++ blkid_probe_set_fsblocksize(pr, 512); + blkid_probe_set_block_size(pr, 512); + + return 0; +diff --git a/libblkid/src/superblocks/iso9660.c b/libblkid/src/superblocks/iso9660.c +index 289a325c8..503126c00 100644 +--- a/libblkid/src/superblocks/iso9660.c ++++ b/libblkid/src/superblocks/iso9660.c +@@ -90,6 +90,7 @@ static int probe_iso9660_hsfs(blkid_probe pr, const struct blkid_idmag *mag) + if (!iso) + return errno ? -errno : 1; + ++ blkid_probe_set_fsblocksize(pr, ISO_SECTOR_SIZE); + blkid_probe_set_block_size(pr, ISO_SECTOR_SIZE); + blkid_probe_set_version(pr, "High Sierra"); + blkid_probe_set_label(pr, iso->volume_id, sizeof(iso->volume_id)); +@@ -249,6 +250,7 @@ static int probe_iso9660(blkid_probe pr, const struct blkid_idmag *mag) + if (!pvd) + return errno ? -errno : 1; + ++ blkid_probe_set_fsblocksize(pr, ISO_SECTOR_SIZE); + blkid_probe_set_block_size(pr, ISO_SECTOR_SIZE); + + if (joliet && (len = merge_utf16be_ascii(buf, joliet->system_id, pvd->system_id, sizeof(pvd->system_id))) != 0) +diff --git a/libblkid/src/superblocks/jfs.c b/libblkid/src/superblocks/jfs.c +index 3de8c2e3d..e22467246 100644 +--- a/libblkid/src/superblocks/jfs.c ++++ b/libblkid/src/superblocks/jfs.c +@@ -52,6 +52,7 @@ static int probe_jfs(blkid_probe pr, const struct blkid_idmag *mag) + if (*((char *) js->js_label) != '\0') + blkid_probe_set_label(pr, js->js_label, sizeof(js->js_label)); + blkid_probe_set_uuid(pr, js->js_uuid); ++ blkid_probe_set_fsblocksize(pr, le32_to_cpu(js->js_bsize)); + blkid_probe_set_block_size(pr, le32_to_cpu(js->js_bsize)); + return 0; + } +diff --git a/libblkid/src/superblocks/minix.c b/libblkid/src/superblocks/minix.c +index b521efb2b..6011842f7 100644 +--- a/libblkid/src/superblocks/minix.c ++++ b/libblkid/src/superblocks/minix.c +@@ -148,6 +148,7 @@ static int probe_minix(blkid_probe pr, + return 1; + + blkid_probe_sprintf_version(pr, "%d", version); ++ blkid_probe_set_fsblocksize(pr, block_size); + blkid_probe_set_block_size(pr, block_size); + return 0; + } +diff --git a/libblkid/src/superblocks/nilfs.c b/libblkid/src/superblocks/nilfs.c +index 423bd1ac4..ca7574a52 100644 +--- a/libblkid/src/superblocks/nilfs.c ++++ b/libblkid/src/superblocks/nilfs.c +@@ -157,8 +157,10 @@ static int probe_nilfs2(blkid_probe pr, + (unsigned char *) &sb->s_magic)) + return 1; + +- if (le32_to_cpu(sb->s_log_block_size) < 32) ++ if (le32_to_cpu(sb->s_log_block_size) < 32){ ++ blkid_probe_set_fsblocksize(pr, 1024U << le32_to_cpu(sb->s_log_block_size)); + blkid_probe_set_block_size(pr, 1024U << le32_to_cpu(sb->s_log_block_size)); ++ } + + return 0; + } +diff --git a/libblkid/src/superblocks/ntfs.c b/libblkid/src/superblocks/ntfs.c +index be2e3d895..9f1927cf7 100644 +--- a/libblkid/src/superblocks/ntfs.c ++++ b/libblkid/src/superblocks/ntfs.c +@@ -208,6 +208,8 @@ static int __probe_ntfs(blkid_probe pr, const struct blkid_idmag *mag, int save_ + attr_off += attr_len; + } + ++ ++ blkid_probe_set_fsblocksize(pr, sector_size * sectors_per_cluster); + blkid_probe_set_block_size(pr, sector_size); + + blkid_probe_sprintf_uuid(pr, +diff --git a/libblkid/src/superblocks/ocfs.c b/libblkid/src/superblocks/ocfs.c +index 463ed7bcf..28df6ddfa 100644 +--- a/libblkid/src/superblocks/ocfs.c ++++ b/libblkid/src/superblocks/ocfs.c +@@ -153,8 +153,10 @@ static int probe_ocfs2(blkid_probe pr, const struct blkid_idmag *mag) + le16_to_cpu(osb->s_major_rev_level), + le16_to_cpu(osb->s_minor_rev_level)); + +- if (le32_to_cpu(osb->s_blocksize_bits) < 32) ++ if (le32_to_cpu(osb->s_blocksize_bits) < 32){ ++ blkid_probe_set_fsblocksize(pr, 1U << le32_to_cpu(osb->s_blocksize_bits)); + blkid_probe_set_block_size(pr, 1U << le32_to_cpu(osb->s_blocksize_bits)); ++ } + + return 0; + } +diff --git a/libblkid/src/superblocks/reiserfs.c b/libblkid/src/superblocks/reiserfs.c +index 6c5e5b0d7..23d10e2e2 100644 +--- a/libblkid/src/superblocks/reiserfs.c ++++ b/libblkid/src/superblocks/reiserfs.c +@@ -74,6 +74,7 @@ static int probe_reiser(blkid_probe pr, const struct blkid_idmag *mag) + else + blkid_probe_set_version(pr, "3.5"); + ++ blkid_probe_set_fsblocksize(pr, blocksize); + blkid_probe_set_block_size(pr, blocksize); + + return 0; +@@ -95,6 +96,7 @@ static int probe_reiser4(blkid_probe pr, const struct blkid_idmag *mag) + blkid_probe_set_uuid(pr, rs4->rs4_uuid); + blkid_probe_set_version(pr, "4"); + ++ blkid_probe_set_fsblocksize(pr, blocksize); + blkid_probe_set_block_size(pr, blocksize); + + return 0; +diff --git a/libblkid/src/superblocks/romfs.c b/libblkid/src/superblocks/romfs.c +index 1c2ac4315..8db88775b 100644 +--- a/libblkid/src/superblocks/romfs.c ++++ b/libblkid/src/superblocks/romfs.c +@@ -35,6 +35,7 @@ static int probe_romfs(blkid_probe pr, const struct blkid_idmag *mag) + blkid_probe_set_label(pr, ros->ros_volume, + sizeof(ros->ros_volume)); + ++ blkid_probe_set_fsblocksize(pr, 1024); + blkid_probe_set_block_size(pr, 1024); + + return 0; +diff --git a/libblkid/src/superblocks/squashfs.c b/libblkid/src/superblocks/squashfs.c +index 4db842493..d85ff8f1a 100644 +--- a/libblkid/src/superblocks/squashfs.c ++++ b/libblkid/src/superblocks/squashfs.c +@@ -71,6 +71,7 @@ static int probe_squashfs3(blkid_probe pr, const struct blkid_idmag *mag) + + blkid_probe_sprintf_version(pr, "%u.%u", vermaj, vermin); + ++ blkid_probe_set_fsblocksize(pr, 1024); + blkid_probe_set_block_size(pr, 1024); + + return 0; +diff --git a/libblkid/src/superblocks/superblocks.c b/libblkid/src/superblocks/superblocks.c +index a1f42c611..9cfa991fc 100644 +--- a/libblkid/src/superblocks/superblocks.c ++++ b/libblkid/src/superblocks/superblocks.c +@@ -70,6 +70,8 @@ + * + * @FSLASTBLOCK: last fsblock/total number of fsblocks + * ++ * @FSBLOCKSIZE: file system block size ++ * + * @SYSTEM_ID: ISO9660 system identifier + * + * @PUBLISHER_ID: ISO9660 publisher identifier +@@ -613,6 +615,17 @@ int blkid_probe_set_fslastblock(blkid_probe pr, uint64_t lastblock) + lastblock); + } + ++int blkid_probe_set_fsblocksize(blkid_probe pr, uint32_t block_size) ++{ ++ struct blkid_chain *chn = blkid_probe_get_chain(pr); ++ ++ if (!(chn->flags & BLKID_SUBLKS_FSINFO)) ++ return 0; ++ ++ return blkid_probe_sprintf_value(pr, "FSBLOCKSIZE", "%" PRIu32, ++ block_size); ++} ++ + int blkid_probe_set_id_label(blkid_probe pr, const char *name, + const unsigned char *data, size_t len) + { +diff --git a/libblkid/src/superblocks/superblocks.h b/libblkid/src/superblocks/superblocks.h +index 251e2e386..8a1b85dda 100644 +--- a/libblkid/src/superblocks/superblocks.h ++++ b/libblkid/src/superblocks/superblocks.h +@@ -113,6 +113,7 @@ extern int blkid_probe_set_utf8_id_label(blkid_probe pr, const char *name, + int blkid_probe_set_block_size(blkid_probe pr, unsigned block_size); + int blkid_probe_set_fssize(blkid_probe pr, uint64_t size); + int blkid_probe_set_fslastblock(blkid_probe pr, uint64_t lastblock); ++int blkid_probe_set_fsblocksize(blkid_probe pr, uint32_t block_size); + + extern int blkid_probe_is_bitlocker(blkid_probe pr); + extern int blkid_probe_is_ntfs(blkid_probe pr); +diff --git a/libblkid/src/superblocks/udf.c b/libblkid/src/superblocks/udf.c +index 9ed089ee4..36adf60f1 100644 +--- a/libblkid/src/superblocks/udf.c ++++ b/libblkid/src/superblocks/udf.c +@@ -569,6 +569,7 @@ real_blksz: + * E.g. number 0x0150 is revision 1.50, number 0x0201 is revision 2.01. */ + blkid_probe_sprintf_version(pr, "%x.%02x", (unsigned int)(udf_rev >> 8), (unsigned int)(udf_rev & 0xFF)); + ++ blkid_probe_set_fsblocksize(pr, bs); + blkid_probe_set_block_size(pr, bs); + + return 0; +diff --git a/libblkid/src/superblocks/ufs.c b/libblkid/src/superblocks/ufs.c +index 7a8396c1c..5da87b18f 100644 +--- a/libblkid/src/superblocks/ufs.c ++++ b/libblkid/src/superblocks/ufs.c +@@ -233,10 +233,14 @@ found: + (unsigned char *) &ufs->fs_magic)) + return 1; + ++ uint32_t bsize = 0; + if (!is_be) +- blkid_probe_set_block_size(pr, le32_to_cpu(ufs->fs_fsize)); ++ bsize = le32_to_cpu(ufs->fs_fsize); + else +- blkid_probe_set_block_size(pr, be32_to_cpu(ufs->fs_fsize)); ++ bsize = be32_to_cpu(ufs->fs_fsize); ++ ++ blkid_probe_set_fsblocksize(pr, bsize); ++ blkid_probe_set_block_size(pr, bsize); + + return 0; + } +diff --git a/libblkid/src/superblocks/vfat.c b/libblkid/src/superblocks/vfat.c +index 71813485a..6cd58cc71 100644 +--- a/libblkid/src/superblocks/vfat.c ++++ b/libblkid/src/superblocks/vfat.c +@@ -433,6 +433,7 @@ static int probe_vfat(blkid_probe pr, const struct blkid_idmag *mag) + if (version) + blkid_probe_set_version(pr, version); + ++ blkid_probe_set_fsblocksize(pr, vs->vs_cluster_size * sector_size); + blkid_probe_set_block_size(pr, sector_size); + + return 0; +diff --git a/libblkid/src/superblocks/vxfs.c b/libblkid/src/superblocks/vxfs.c +index d9d26adcf..0f3c07b0c 100644 +--- a/libblkid/src/superblocks/vxfs.c ++++ b/libblkid/src/superblocks/vxfs.c +@@ -33,9 +33,11 @@ static int probe_vxfs(blkid_probe pr, const struct blkid_idmag *mag) + + if (le32_to_cpu(vxs->vs_magic) == 0xa501fcf5) { + blkid_probe_sprintf_version(pr, "%u", (unsigned int)le32_to_cpu(vxs->vs_version)); ++ blkid_probe_set_fsblocksize(pr, le32_to_cpu(vxs->vs_bsize)); + blkid_probe_set_block_size(pr, le32_to_cpu(vxs->vs_bsize)); + } else if (be32_to_cpu(vxs->vs_magic) == 0xa501fcf5) { + blkid_probe_sprintf_version(pr, "%u", (unsigned int)be32_to_cpu(vxs->vs_version)); ++ blkid_probe_set_fsblocksize(pr, be32_to_cpu(vxs->vs_bsize)); + blkid_probe_set_block_size(pr, be32_to_cpu(vxs->vs_bsize)); + } + return 0; +diff --git a/libblkid/src/superblocks/xfs.c b/libblkid/src/superblocks/xfs.c +index 1f2e92cac..2cc6f6179 100644 +--- a/libblkid/src/superblocks/xfs.c ++++ b/libblkid/src/superblocks/xfs.c +@@ -184,6 +184,7 @@ static int probe_xfs(blkid_probe pr, const struct blkid_idmag *mag) + blkid_probe_set_uuid(pr, xs->sb_uuid); + blkid_probe_set_fssize(pr, xfs_fssize(xs)); + blkid_probe_set_fslastblock(pr, be64_to_cpu(xs->sb_dblocks)); ++ blkid_probe_set_fsblocksize(pr, be32_to_cpu(xs->sb_blocksize)); + blkid_probe_set_block_size(pr, be16_to_cpu(xs->sb_sectsize)); + return 0; + } +diff --git a/libblkid/src/superblocks/zfs.c b/libblkid/src/superblocks/zfs.c +index 774a199e1..e7ca78c0d 100644 +--- a/libblkid/src/superblocks/zfs.c ++++ b/libblkid/src/superblocks/zfs.c +@@ -138,8 +138,10 @@ static void zfs_process_value(blkid_probe pr, char *name, size_t namelen, + if (nvu_type != DATA_TYPE_UINT64) + return; + +- if (nvu_value < 32) ++ if (nvu_value < 32){ ++ blkid_probe_set_fsblocksize(pr, 1U << nvu_value); + blkid_probe_set_block_size(pr, 1U << nvu_value); ++ } + } + } + +diff --git a/libblkid/src/superblocks/zonefs.c b/libblkid/src/superblocks/zonefs.c +index 4c826ec76..2cb7097d4 100644 +--- a/libblkid/src/superblocks/zonefs.c ++++ b/libblkid/src/superblocks/zonefs.c +@@ -64,6 +64,7 @@ static int probe_zonefs(blkid_probe pr, + sizeof(sb->s_label)); + + blkid_probe_set_uuid(pr, sb->s_uuid); ++ blkid_probe_set_fsblocksize(pr, ZONEFS_BLOCK_SIZE); + blkid_probe_set_block_size(pr, ZONEFS_BLOCK_SIZE); + + return 0; +diff --git a/tests/expected/blkid/low-probe-befs b/tests/expected/blkid/low-probe-befs +index 5717049d2..738114769 100644 +--- a/tests/expected/blkid/low-probe-befs ++++ b/tests/expected/blkid/low-probe-befs +@@ -1,4 +1,5 @@ + ID_FS_BLOCK_SIZE=1024 ++ID_FS_FSBLOCKSIZE=1024 + ID_FS_LABEL=befs_test + ID_FS_LABEL_ENC=befs_test + ID_FS_TYPE=befs +diff --git a/tests/expected/blkid/low-probe-btrfs b/tests/expected/blkid/low-probe-btrfs +index 48649389a..a626bc1f6 100644 +--- a/tests/expected/blkid/low-probe-btrfs ++++ b/tests/expected/blkid/low-probe-btrfs +@@ -1,4 +1,5 @@ + ID_FS_BLOCK_SIZE=4096 ++ID_FS_FSBLOCKSIZE=4096 + ID_FS_FSLASTBLOCK=29440 + ID_FS_TYPE=btrfs + ID_FS_USAGE=filesystem +diff --git a/tests/expected/blkid/low-probe-erofs b/tests/expected/blkid/low-probe-erofs +index 1d1600fa0..b815c7e5d 100644 +--- a/tests/expected/blkid/low-probe-erofs ++++ b/tests/expected/blkid/low-probe-erofs +@@ -1,4 +1,5 @@ + ID_FS_BLOCK_SIZE=4096 ++ID_FS_FSBLOCKSIZE=4096 + ID_FS_TYPE=erofs + ID_FS_USAGE=filesystem + ID_FS_UUID=2375febf-f260-479d-ade7-952494047cb4 +diff --git a/tests/expected/blkid/low-probe-exfat b/tests/expected/blkid/low-probe-exfat +index 59cb35225..24d2cac5d 100644 +--- a/tests/expected/blkid/low-probe-exfat ++++ b/tests/expected/blkid/low-probe-exfat +@@ -1,4 +1,5 @@ + ID_FS_BLOCK_SIZE=512 ++ID_FS_FSBLOCKSIZE=512 + ID_FS_LABEL=Новый_том + ID_FS_LABEL_ENC=Новый\x20том + ID_FS_TYPE=exfat +diff --git a/tests/expected/blkid/low-probe-ext2 b/tests/expected/blkid/low-probe-ext2 +index e236c6e8a..fa284a949 100644 +--- a/tests/expected/blkid/low-probe-ext2 ++++ b/tests/expected/blkid/low-probe-ext2 +@@ -1,4 +1,5 @@ + ID_FS_BLOCK_SIZE=1024 ++ID_FS_FSBLOCKSIZE=1024 + ID_FS_FSLASTBLOCK=100 + ID_FS_LABEL=test-ext2 + ID_FS_LABEL_ENC=test-ext2 +diff --git a/tests/expected/blkid/low-probe-ext3 b/tests/expected/blkid/low-probe-ext3 +index 164fefb7b..422d4fef3 100644 +--- a/tests/expected/blkid/low-probe-ext3 ++++ b/tests/expected/blkid/low-probe-ext3 +@@ -1,4 +1,5 @@ + ID_FS_BLOCK_SIZE=1024 ++ID_FS_FSBLOCKSIZE=1024 + ID_FS_FSLASTBLOCK=2048 + ID_FS_LABEL=test-ext3 + ID_FS_LABEL_ENC=test-ext3 +diff --git a/tests/expected/blkid/low-probe-f2fs b/tests/expected/blkid/low-probe-f2fs +index 272905125..1ee751d56 100644 +--- a/tests/expected/blkid/low-probe-f2fs ++++ b/tests/expected/blkid/low-probe-f2fs +@@ -1,4 +1,5 @@ + ID_FS_BLOCK_SIZE=4096 ++ID_FS_FSBLOCKSIZE=4096 + ID_FS_LABEL=test-f2fs + ID_FS_LABEL_ENC=test-f2fs + ID_FS_TYPE=f2fs +diff --git a/tests/expected/blkid/low-probe-fat b/tests/expected/blkid/low-probe-fat +index a463cc987..bb686b24e 100644 +--- a/tests/expected/blkid/low-probe-fat ++++ b/tests/expected/blkid/low-probe-fat +@@ -1,4 +1,5 @@ + ID_FS_BLOCK_SIZE=512 ++ID_FS_FSBLOCKSIZE=512 + ID_FS_LABEL=TEST-FAT + ID_FS_LABEL_ENC=TEST-FAT + ID_FS_LABEL_FATBOOT=TEST-FAT +diff --git a/tests/expected/blkid/low-probe-fat16_noheads b/tests/expected/blkid/low-probe-fat16_noheads +index ff9ef2e69..5b8fc916e 100644 +--- a/tests/expected/blkid/low-probe-fat16_noheads ++++ b/tests/expected/blkid/low-probe-fat16_noheads +@@ -1,4 +1,5 @@ + ID_FS_BLOCK_SIZE=512 ++ID_FS_FSBLOCKSIZE=4096 + ID_FS_LABEL=VTech_1070 + ID_FS_LABEL_ENC=VTech\x201070 + ID_FS_SEC_TYPE=msdos +diff --git a/tests/expected/blkid/low-probe-fat32_cp850_O_tilde b/tests/expected/blkid/low-probe-fat32_cp850_O_tilde +index ca49f200d..16c519884 100644 +--- a/tests/expected/blkid/low-probe-fat32_cp850_O_tilde ++++ b/tests/expected/blkid/low-probe-fat32_cp850_O_tilde +@@ -1,4 +1,5 @@ + ID_FS_BLOCK_SIZE=512 ++ID_FS_FSBLOCKSIZE=512 + ID_FS_LABEL=___ + ID_FS_LABEL_ENC=\xe5\xe5\xe5 + ID_FS_LABEL_FATBOOT=___ +diff --git a/tests/expected/blkid/low-probe-fat32_label_64MB b/tests/expected/blkid/low-probe-fat32_label_64MB +index 4a99f8ff6..41b656a84 100644 +--- a/tests/expected/blkid/low-probe-fat32_label_64MB ++++ b/tests/expected/blkid/low-probe-fat32_label_64MB +@@ -1,4 +1,5 @@ + ID_FS_BLOCK_SIZE=512 ++ID_FS_FSBLOCKSIZE=512 + ID_FS_LABEL=BINGO + ID_FS_LABEL_ENC=BINGO + ID_FS_TYPE=vfat +diff --git a/tests/expected/blkid/low-probe-fat32_mkdosfs_label1 b/tests/expected/blkid/low-probe-fat32_mkdosfs_label1 +index 5d1771de3..14aee2eb9 100644 +--- a/tests/expected/blkid/low-probe-fat32_mkdosfs_label1 ++++ b/tests/expected/blkid/low-probe-fat32_mkdosfs_label1 +@@ -1,4 +1,5 @@ + ID_FS_BLOCK_SIZE=512 ++ID_FS_FSBLOCKSIZE=512 + ID_FS_LABEL=label1 + ID_FS_LABEL_ENC=label1 + ID_FS_LABEL_FATBOOT=label1 +diff --git a/tests/expected/blkid/low-probe-fat32_mkdosfs_label1_dosfslabel_NO_NAME b/tests/expected/blkid/low-probe-fat32_mkdosfs_label1_dosfslabel_NO_NAME +index c13af9021..1891157ed 100644 +--- a/tests/expected/blkid/low-probe-fat32_mkdosfs_label1_dosfslabel_NO_NAME ++++ b/tests/expected/blkid/low-probe-fat32_mkdosfs_label1_dosfslabel_NO_NAME +@@ -1,4 +1,5 @@ + ID_FS_BLOCK_SIZE=512 ++ID_FS_FSBLOCKSIZE=512 + ID_FS_LABEL=NO_NAME + ID_FS_LABEL_ENC=NO\x20NAME + ID_FS_TYPE=vfat +diff --git a/tests/expected/blkid/low-probe-fat32_mkdosfs_label1_dosfslabel_empty b/tests/expected/blkid/low-probe-fat32_mkdosfs_label1_dosfslabel_empty +index 73c553e54..206782fa9 100644 +--- a/tests/expected/blkid/low-probe-fat32_mkdosfs_label1_dosfslabel_empty ++++ b/tests/expected/blkid/low-probe-fat32_mkdosfs_label1_dosfslabel_empty +@@ -1,4 +1,5 @@ + ID_FS_BLOCK_SIZE=512 ++ID_FS_FSBLOCKSIZE=512 + ID_FS_TYPE=vfat + ID_FS_USAGE=filesystem + ID_FS_UUID=92B4-BA66 +diff --git a/tests/expected/blkid/low-probe-fat32_mkdosfs_label1_dosfslabel_label2 b/tests/expected/blkid/low-probe-fat32_mkdosfs_label1_dosfslabel_label2 +index 4b8146208..cf635a218 100644 +--- a/tests/expected/blkid/low-probe-fat32_mkdosfs_label1_dosfslabel_label2 ++++ b/tests/expected/blkid/low-probe-fat32_mkdosfs_label1_dosfslabel_label2 +@@ -1,4 +1,5 @@ + ID_FS_BLOCK_SIZE=512 ++ID_FS_FSBLOCKSIZE=512 + ID_FS_LABEL=label2 + ID_FS_LABEL_ENC=label2 + ID_FS_LABEL_FATBOOT=label2 +diff --git a/tests/expected/blkid/low-probe-fat32_mkdosfs_label1_mlabel_NO_NAME b/tests/expected/blkid/low-probe-fat32_mkdosfs_label1_mlabel_NO_NAME +index c13af9021..1891157ed 100644 +--- a/tests/expected/blkid/low-probe-fat32_mkdosfs_label1_mlabel_NO_NAME ++++ b/tests/expected/blkid/low-probe-fat32_mkdosfs_label1_mlabel_NO_NAME +@@ -1,4 +1,5 @@ + ID_FS_BLOCK_SIZE=512 ++ID_FS_FSBLOCKSIZE=512 + ID_FS_LABEL=NO_NAME + ID_FS_LABEL_ENC=NO\x20NAME + ID_FS_TYPE=vfat +diff --git a/tests/expected/blkid/low-probe-fat32_mkdosfs_label1_mlabel_erase b/tests/expected/blkid/low-probe-fat32_mkdosfs_label1_mlabel_erase +index 73c553e54..206782fa9 100644 +--- a/tests/expected/blkid/low-probe-fat32_mkdosfs_label1_mlabel_erase ++++ b/tests/expected/blkid/low-probe-fat32_mkdosfs_label1_mlabel_erase +@@ -1,4 +1,5 @@ + ID_FS_BLOCK_SIZE=512 ++ID_FS_FSBLOCKSIZE=512 + ID_FS_TYPE=vfat + ID_FS_USAGE=filesystem + ID_FS_UUID=92B4-BA66 +diff --git a/tests/expected/blkid/low-probe-fat32_mkdosfs_label1_xp_erase b/tests/expected/blkid/low-probe-fat32_mkdosfs_label1_xp_erase +index 075278de4..6088d17be 100644 +--- a/tests/expected/blkid/low-probe-fat32_mkdosfs_label1_xp_erase ++++ b/tests/expected/blkid/low-probe-fat32_mkdosfs_label1_xp_erase +@@ -1,4 +1,5 @@ + ID_FS_BLOCK_SIZE=512 ++ID_FS_FSBLOCKSIZE=512 + ID_FS_LABEL_FATBOOT=label1 + ID_FS_LABEL_FATBOOT_ENC=label1 + ID_FS_TYPE=vfat +diff --git a/tests/expected/blkid/low-probe-fat32_mkdosfs_label1_xp_label2 b/tests/expected/blkid/low-probe-fat32_mkdosfs_label1_xp_label2 +index fe4884d28..802a66f14 100644 +--- a/tests/expected/blkid/low-probe-fat32_mkdosfs_label1_xp_label2 ++++ b/tests/expected/blkid/low-probe-fat32_mkdosfs_label1_xp_label2 +@@ -1,4 +1,5 @@ + ID_FS_BLOCK_SIZE=512 ++ID_FS_FSBLOCKSIZE=512 + ID_FS_LABEL=LABEL2 + ID_FS_LABEL_ENC=LABEL2 + ID_FS_LABEL_FATBOOT=label1 +diff --git a/tests/expected/blkid/low-probe-fat32_mkdosfs_none b/tests/expected/blkid/low-probe-fat32_mkdosfs_none +index 547517616..66a7923ed 100644 +--- a/tests/expected/blkid/low-probe-fat32_mkdosfs_none ++++ b/tests/expected/blkid/low-probe-fat32_mkdosfs_none +@@ -1,4 +1,5 @@ + ID_FS_BLOCK_SIZE=512 ++ID_FS_FSBLOCKSIZE=512 + ID_FS_TYPE=vfat + ID_FS_USAGE=filesystem + ID_FS_UUID=E6B8-AF8C +diff --git a/tests/expected/blkid/low-probe-fat32_mkdosfs_none_dosfslabel_NO_NAME b/tests/expected/blkid/low-probe-fat32_mkdosfs_none_dosfslabel_NO_NAME +index 547517616..66a7923ed 100644 +--- a/tests/expected/blkid/low-probe-fat32_mkdosfs_none_dosfslabel_NO_NAME ++++ b/tests/expected/blkid/low-probe-fat32_mkdosfs_none_dosfslabel_NO_NAME +@@ -1,4 +1,5 @@ + ID_FS_BLOCK_SIZE=512 ++ID_FS_FSBLOCKSIZE=512 + ID_FS_TYPE=vfat + ID_FS_USAGE=filesystem + ID_FS_UUID=E6B8-AF8C +diff --git a/tests/expected/blkid/low-probe-fat32_mkdosfs_none_dosfslabel_label1 b/tests/expected/blkid/low-probe-fat32_mkdosfs_none_dosfslabel_label1 +index dfacd9b6a..e45da35d8 100644 +--- a/tests/expected/blkid/low-probe-fat32_mkdosfs_none_dosfslabel_label1 ++++ b/tests/expected/blkid/low-probe-fat32_mkdosfs_none_dosfslabel_label1 +@@ -1,4 +1,5 @@ + ID_FS_BLOCK_SIZE=512 ++ID_FS_FSBLOCKSIZE=512 + ID_FS_LABEL_FATBOOT=label1 + ID_FS_LABEL_FATBOOT_ENC=label1 + ID_FS_TYPE=vfat +diff --git a/tests/expected/blkid/low-probe-fat32_mkdosfs_none_dosfslabel_label1_xp_label2 b/tests/expected/blkid/low-probe-fat32_mkdosfs_none_dosfslabel_label1_xp_label2 +index 142259c87..ad2bf8fda 100644 +--- a/tests/expected/blkid/low-probe-fat32_mkdosfs_none_dosfslabel_label1_xp_label2 ++++ b/tests/expected/blkid/low-probe-fat32_mkdosfs_none_dosfslabel_label1_xp_label2 +@@ -1,4 +1,5 @@ + ID_FS_BLOCK_SIZE=512 ++ID_FS_FSBLOCKSIZE=512 + ID_FS_LABEL=LABEL2 + ID_FS_LABEL_ENC=LABEL2 + ID_FS_LABEL_FATBOOT=label1 +diff --git a/tests/expected/blkid/low-probe-fat32_mkdosfs_none_xp_label1 b/tests/expected/blkid/low-probe-fat32_mkdosfs_none_xp_label1 +index d1360ada0..a5e490064 100644 +--- a/tests/expected/blkid/low-probe-fat32_mkdosfs_none_xp_label1 ++++ b/tests/expected/blkid/low-probe-fat32_mkdosfs_none_xp_label1 +@@ -1,4 +1,5 @@ + ID_FS_BLOCK_SIZE=512 ++ID_FS_FSBLOCKSIZE=512 + ID_FS_LABEL=LABEL1 + ID_FS_LABEL_ENC=LABEL1 + ID_FS_TYPE=vfat +diff --git a/tests/expected/blkid/low-probe-fat32_mkdosfs_none_xp_label1_dosfslabel_label2 b/tests/expected/blkid/low-probe-fat32_mkdosfs_none_xp_label1_dosfslabel_label2 +index c078359c6..e3473b9cc 100644 +--- a/tests/expected/blkid/low-probe-fat32_mkdosfs_none_xp_label1_dosfslabel_label2 ++++ b/tests/expected/blkid/low-probe-fat32_mkdosfs_none_xp_label1_dosfslabel_label2 +@@ -1,4 +1,5 @@ + ID_FS_BLOCK_SIZE=512 ++ID_FS_FSBLOCKSIZE=512 + ID_FS_LABEL=label2 + ID_FS_LABEL_ENC=label2 + ID_FS_LABEL_FATBOOT=label2 +diff --git a/tests/expected/blkid/low-probe-fat32_xp_label1 b/tests/expected/blkid/low-probe-fat32_xp_label1 +index 8a27d7e1c..9a82d11c2 100644 +--- a/tests/expected/blkid/low-probe-fat32_xp_label1 ++++ b/tests/expected/blkid/low-probe-fat32_xp_label1 +@@ -1,4 +1,5 @@ + ID_FS_BLOCK_SIZE=512 ++ID_FS_FSBLOCKSIZE=512 + ID_FS_LABEL=LABEL1 + ID_FS_LABEL_ENC=LABEL1 + ID_FS_TYPE=vfat +diff --git a/tests/expected/blkid/low-probe-fat32_xp_none b/tests/expected/blkid/low-probe-fat32_xp_none +index f8271c2b7..b4d6f4fdf 100644 +--- a/tests/expected/blkid/low-probe-fat32_xp_none ++++ b/tests/expected/blkid/low-probe-fat32_xp_none +@@ -1,4 +1,5 @@ + ID_FS_BLOCK_SIZE=512 ++ID_FS_FSBLOCKSIZE=512 + ID_FS_TYPE=vfat + ID_FS_USAGE=filesystem + ID_FS_UUID=54B6-DC94 +diff --git a/tests/expected/blkid/low-probe-fat32_xp_none_dosfslabel_label1 b/tests/expected/blkid/low-probe-fat32_xp_none_dosfslabel_label1 +index fdc5eb6f6..560b394a0 100644 +--- a/tests/expected/blkid/low-probe-fat32_xp_none_dosfslabel_label1 ++++ b/tests/expected/blkid/low-probe-fat32_xp_none_dosfslabel_label1 +@@ -1,4 +1,5 @@ + ID_FS_BLOCK_SIZE=512 ++ID_FS_FSBLOCKSIZE=512 + ID_FS_LABEL_FATBOOT=label1 + ID_FS_LABEL_FATBOOT_ENC=label1 + ID_FS_TYPE=vfat +diff --git a/tests/expected/blkid/low-probe-fat32_xp_none_mlabel_label1 b/tests/expected/blkid/low-probe-fat32_xp_none_mlabel_label1 +index 74f271519..1b0a87806 100644 +--- a/tests/expected/blkid/low-probe-fat32_xp_none_mlabel_label1 ++++ b/tests/expected/blkid/low-probe-fat32_xp_none_mlabel_label1 +@@ -1,4 +1,5 @@ + ID_FS_BLOCK_SIZE=512 ++ID_FS_FSBLOCKSIZE=512 + ID_FS_LABEL=LABEL1 + ID_FS_LABEL_ENC=LABEL1 + ID_FS_LABEL_FATBOOT=LABEL1 +diff --git a/tests/expected/blkid/low-probe-gfs2 b/tests/expected/blkid/low-probe-gfs2 +index f04529bc0..8b2840f41 100644 +--- a/tests/expected/blkid/low-probe-gfs2 ++++ b/tests/expected/blkid/low-probe-gfs2 +@@ -1,4 +1,5 @@ + ID_FS_BLOCK_SIZE=4096 ++ID_FS_FSBLOCKSIZE=4096 + ID_FS_LABEL=mycluster:mygfs2 + ID_FS_LABEL_ENC=mycluster:mygfs2 + ID_FS_TYPE=gfs2 +diff --git a/tests/expected/blkid/low-probe-hfsplus b/tests/expected/blkid/low-probe-hfsplus +index cc351a042..07e60ea25 100644 +--- a/tests/expected/blkid/low-probe-hfsplus ++++ b/tests/expected/blkid/low-probe-hfsplus +@@ -1,4 +1,5 @@ + ID_FS_BLOCK_SIZE=4096 ++ID_FS_FSBLOCKSIZE=4096 + ID_FS_LABEL=123456789ABCDE + ID_FS_LABEL_ENC=123456789ABCDE + ID_FS_TYPE=hfsplus +diff --git a/tests/expected/blkid/low-probe-hpfs b/tests/expected/blkid/low-probe-hpfs +index 7e4a12b97..a6198c640 100644 +--- a/tests/expected/blkid/low-probe-hpfs ++++ b/tests/expected/blkid/low-probe-hpfs +@@ -1,4 +1,5 @@ + ID_FS_BLOCK_SIZE=512 ++ID_FS_FSBLOCKSIZE=512 + ID_FS_LABEL=P01_S16A + ID_FS_LABEL_ENC=P01\x20S16A + ID_FS_TYPE=hpfs +diff --git a/tests/expected/blkid/low-probe-iso b/tests/expected/blkid/low-probe-iso +index 5c8a3d0fd..3e9be8f98 100644 +--- a/tests/expected/blkid/low-probe-iso ++++ b/tests/expected/blkid/low-probe-iso +@@ -1,5 +1,6 @@ + ID_FS_APPLICATION_ID=GENISOIMAGE\x20ISO\x209660\x2fHFS\x20FILESYSTEM\x20CREATOR\x20\x28C\x29\x201993\x20E.YOUNGDALE\x20\x28C\x29\x201997-2006\x20J.PEARSON\x2fJ.SCHILLING\x20\x28C\x29\x202006-2007\x20CDRKIT\x20TEAM + ID_FS_BLOCK_SIZE=2048 ++ID_FS_FSBLOCKSIZE=2048 + ID_FS_LABEL=IsoVolumeName + ID_FS_LABEL_ENC=IsoVolumeName + ID_FS_SYSTEM_ID=LINUX +diff --git a/tests/expected/blkid/low-probe-iso-different-iso-joliet-label b/tests/expected/blkid/low-probe-iso-different-iso-joliet-label +index f618d024d..34663a358 100644 +--- a/tests/expected/blkid/low-probe-iso-different-iso-joliet-label ++++ b/tests/expected/blkid/low-probe-iso-different-iso-joliet-label +@@ -1,6 +1,7 @@ + ID_FS_APPLICATION_ID=Joliet\x20Application + ID_FS_BLOCK_SIZE=2048 + ID_FS_DATA_PREPARER_ID=Joliet\x20Preparer ++ID_FS_FSBLOCKSIZE=2048 + ID_FS_LABEL=Joliet_Label + ID_FS_LABEL_ENC=Joliet\x20Label + ID_FS_PUBLISHER_ID=Joliet\x20Publisher +diff --git a/tests/expected/blkid/low-probe-iso-joliet b/tests/expected/blkid/low-probe-iso-joliet +index e97dbde3c..c92484a75 100644 +--- a/tests/expected/blkid/low-probe-iso-joliet ++++ b/tests/expected/blkid/low-probe-iso-joliet +@@ -1,5 +1,6 @@ + ID_FS_APPLICATION_ID=GENISOIMAGE\x20ISO\x209660\x2fHFS\x20FILESYSTEM\x20CREATOR\x20\x28C\x29\x201993\x20E.YOUNGDALE\x20\x28C\x29\x201997-2006\x20J.PEARSON\x2fJ.SCHILLING\x20\x28C\x29\x202006-2007\x20CDRKIT\x20TEAM + ID_FS_BLOCK_SIZE=2048 ++ID_FS_FSBLOCKSIZE=2048 + ID_FS_LABEL=ThisWonderfulLabelIsVeryVeryLong + ID_FS_LABEL_ENC=ThisWonderfulLabelIsVeryVeryLong + ID_FS_SYSTEM_ID=LINUX +diff --git a/tests/expected/blkid/low-probe-iso-multi-genisoimage-0 b/tests/expected/blkid/low-probe-iso-multi-genisoimage-0 +index d8217f529..eed747e48 100644 +--- a/tests/expected/blkid/low-probe-iso-multi-genisoimage-0 ++++ b/tests/expected/blkid/low-probe-iso-multi-genisoimage-0 +@@ -1,5 +1,6 @@ + ID_FS_APPLICATION_ID=GENISOIMAGE\x20ISO\x209660\x2fHFS\x20FILESYSTEM\x20CREATOR\x20\x28C\x29\x201993\x20E.YOUNGDALE\x20\x28C\x29\x201997-2006\x20J.PEARSON\x2fJ.SCHILLING\x20\x28C\x29\x202006-2007\x20CDRKIT\x20TEAM + ID_FS_BLOCK_SIZE=2048 ++ID_FS_FSBLOCKSIZE=2048 + ID_FS_LABEL=first_session + ID_FS_LABEL_ENC=first\x20session + ID_FS_SYSTEM_ID=LINUX +diff --git a/tests/expected/blkid/low-probe-iso-multi-genisoimage-174 b/tests/expected/blkid/low-probe-iso-multi-genisoimage-174 +index 9c18d0dde..aa71cff78 100644 +--- a/tests/expected/blkid/low-probe-iso-multi-genisoimage-174 ++++ b/tests/expected/blkid/low-probe-iso-multi-genisoimage-174 +@@ -1,5 +1,6 @@ + ID_FS_APPLICATION_ID=GENISOIMAGE\x20ISO\x209660\x2fHFS\x20FILESYSTEM\x20CREATOR\x20\x28C\x29\x201993\x20E.YOUNGDALE\x20\x28C\x29\x201997-2006\x20J.PEARSON\x2fJ.SCHILLING\x20\x28C\x29\x202006-2007\x20CDRKIT\x20TEAM + ID_FS_BLOCK_SIZE=2048 ++ID_FS_FSBLOCKSIZE=2048 + ID_FS_LABEL=second_session + ID_FS_LABEL_ENC=second\x20session + ID_FS_SYSTEM_ID=LINUX +diff --git a/tests/expected/blkid/low-probe-iso-multi-genisoimage-348 b/tests/expected/blkid/low-probe-iso-multi-genisoimage-348 +index 7e3c5ba01..caf2010a5 100644 +--- a/tests/expected/blkid/low-probe-iso-multi-genisoimage-348 ++++ b/tests/expected/blkid/low-probe-iso-multi-genisoimage-348 +@@ -1,5 +1,6 @@ + ID_FS_APPLICATION_ID=GENISOIMAGE\x20ISO\x209660\x2fHFS\x20FILESYSTEM\x20CREATOR\x20\x28C\x29\x201993\x20E.YOUNGDALE\x20\x28C\x29\x201997-2006\x20J.PEARSON\x2fJ.SCHILLING\x20\x28C\x29\x202006-2007\x20CDRKIT\x20TEAM + ID_FS_BLOCK_SIZE=2048 ++ID_FS_FSBLOCKSIZE=2048 + ID_FS_LABEL=third_session + ID_FS_LABEL_ENC=third\x20session + ID_FS_SYSTEM_ID=LINUX +diff --git a/tests/expected/blkid/low-probe-iso-rr-joliet b/tests/expected/blkid/low-probe-iso-rr-joliet +index 711e04bbc..fdfc69616 100644 +--- a/tests/expected/blkid/low-probe-iso-rr-joliet ++++ b/tests/expected/blkid/low-probe-iso-rr-joliet +@@ -1,5 +1,6 @@ + ID_FS_APPLICATION_ID=GENISOIMAGE\x20ISO\x209660\x2fHFS\x20FILESYSTEM\x20CREATOR\x20\x28C\x29\x201993\x20E.YOUNGDALE\x20\x28C\x29\x201997-2006\x20J.PEARSON\x2fJ.SCHILLING\x20\x28C\x29\x202006-2007\x20CDRKIT\x20TEAM + ID_FS_BLOCK_SIZE=2048 ++ID_FS_FSBLOCKSIZE=2048 + ID_FS_LABEL=ThisIsVolumeName + ID_FS_LABEL_ENC=ThisIsVolumeName + ID_FS_SYSTEM_ID=LINUX +diff --git a/tests/expected/blkid/low-probe-iso-unicode-long-label b/tests/expected/blkid/low-probe-iso-unicode-long-label +index 270ee8489..11403fdb0 100644 +--- a/tests/expected/blkid/low-probe-iso-unicode-long-label ++++ b/tests/expected/blkid/low-probe-iso-unicode-long-label +@@ -1,6 +1,7 @@ + ID_FS_APPLICATION_ID=Nero\x20Linux + ID_FS_BLOCK_SIZE=2048 + ID_FS_DATA_PREPARER_ID=Naïve\x20and\x20very\x20looooooooooooooooooooooooooooooooooooooooooooooooOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOONG\x20DATA\x20PREPARER ++ID_FS_FSBLOCKSIZE=2048 + ID_FS_LABEL=Naïve_and_very_lOOOOOOOONG_LABEL + ID_FS_LABEL_ENC=Naïve\x20and\x20very\x20lOOOOOOOONG_LABEL + ID_FS_PUBLISHER_ID=Naïve\x20and\x20very\x20looooooooooooooooooooooooooooooooooooooooooooooooOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOONG\x20PUBLISHER +diff --git a/tests/expected/blkid/low-probe-jbd b/tests/expected/blkid/low-probe-jbd +index f5462a2a3..36c7d4062 100644 +--- a/tests/expected/blkid/low-probe-jbd ++++ b/tests/expected/blkid/low-probe-jbd +@@ -1,4 +1,5 @@ + ID_FS_BLOCK_SIZE=1024 ++ID_FS_FSBLOCKSIZE=1024 + ID_FS_FSLASTBLOCK=1024 + ID_FS_LOGUUID=0d7a07df-7b06-4829-bce7-3b9c3ece570c + ID_FS_TYPE=jbd +diff --git a/tests/expected/blkid/low-probe-jfs b/tests/expected/blkid/low-probe-jfs +index ac7d31bac..ee6e1ead8 100644 +--- a/tests/expected/blkid/low-probe-jfs ++++ b/tests/expected/blkid/low-probe-jfs +@@ -1,4 +1,5 @@ + ID_FS_BLOCK_SIZE=4096 ++ID_FS_FSBLOCKSIZE=4096 + ID_FS_LABEL=test-jfs + ID_FS_LABEL_ENC=test-jfs + ID_FS_TYPE=jfs +diff --git a/tests/expected/blkid/low-probe-minix-BE b/tests/expected/blkid/low-probe-minix-BE +index f73f1b5db..c6da3c195 100644 +--- a/tests/expected/blkid/low-probe-minix-BE ++++ b/tests/expected/blkid/low-probe-minix-BE +@@ -1,4 +1,5 @@ + ID_FS_BLOCK_SIZE=1024 ++ID_FS_FSBLOCKSIZE=1024 + ID_FS_TYPE=minix + ID_FS_USAGE=filesystem + ID_FS_VERSION=1 +diff --git a/tests/expected/blkid/low-probe-minix-LE b/tests/expected/blkid/low-probe-minix-LE +index f73f1b5db..c6da3c195 100644 +--- a/tests/expected/blkid/low-probe-minix-LE ++++ b/tests/expected/blkid/low-probe-minix-LE +@@ -1,4 +1,5 @@ + ID_FS_BLOCK_SIZE=1024 ++ID_FS_FSBLOCKSIZE=1024 + ID_FS_TYPE=minix + ID_FS_USAGE=filesystem + ID_FS_VERSION=1 +diff --git a/tests/expected/blkid/low-probe-nilfs2 b/tests/expected/blkid/low-probe-nilfs2 +index ff27e0b23..4bd466552 100644 +--- a/tests/expected/blkid/low-probe-nilfs2 ++++ b/tests/expected/blkid/low-probe-nilfs2 +@@ -1,4 +1,5 @@ + ID_FS_BLOCK_SIZE=4096 ++ID_FS_FSBLOCKSIZE=4096 + ID_FS_LABEL=test-nilfs2 + ID_FS_LABEL_ENC=test-nilfs2 + ID_FS_TYPE=nilfs2 +diff --git a/tests/expected/blkid/low-probe-ntfs b/tests/expected/blkid/low-probe-ntfs +index 790157aaa..64722f2a7 100644 +--- a/tests/expected/blkid/low-probe-ntfs ++++ b/tests/expected/blkid/low-probe-ntfs +@@ -1,4 +1,5 @@ + ID_FS_BLOCK_SIZE=512 ++ID_FS_FSBLOCKSIZE=4096 + ID_FS_LABEL=Новый_том + ID_FS_LABEL_ENC=Новый\x20том + ID_FS_TYPE=ntfs +diff --git a/tests/expected/blkid/low-probe-ocfs2 b/tests/expected/blkid/low-probe-ocfs2 +index 9b84dbe67..99189f39f 100644 +--- a/tests/expected/blkid/low-probe-ocfs2 ++++ b/tests/expected/blkid/low-probe-ocfs2 +@@ -1,4 +1,5 @@ + ID_FS_BLOCK_SIZE=1024 ++ID_FS_FSBLOCKSIZE=1024 + ID_FS_LABEL=test-ocfs2 + ID_FS_LABEL_ENC=test-ocfs2 + ID_FS_TYPE=ocfs2 +diff --git a/tests/expected/blkid/low-probe-reiser3 b/tests/expected/blkid/low-probe-reiser3 +index 1c4b1478d..3ae71201c 100644 +--- a/tests/expected/blkid/low-probe-reiser3 ++++ b/tests/expected/blkid/low-probe-reiser3 +@@ -1,4 +1,5 @@ + ID_FS_BLOCK_SIZE=4096 ++ID_FS_FSBLOCKSIZE=4096 + ID_FS_LABEL=TESTREISER + ID_FS_LABEL_ENC=TESTREISER + ID_FS_TYPE=reiserfs +diff --git a/tests/expected/blkid/low-probe-reiser4 b/tests/expected/blkid/low-probe-reiser4 +index 66df064fd..f8896bb57 100644 +--- a/tests/expected/blkid/low-probe-reiser4 ++++ b/tests/expected/blkid/low-probe-reiser4 +@@ -1,4 +1,5 @@ + ID_FS_BLOCK_SIZE=4096 ++ID_FS_FSBLOCKSIZE=4096 + ID_FS_LABEL=TESTR4 + ID_FS_LABEL_ENC=TESTR4 + ID_FS_TYPE=reiser4 +diff --git a/tests/expected/blkid/low-probe-romfs b/tests/expected/blkid/low-probe-romfs +index b56a6b881..2c606ecc1 100644 +--- a/tests/expected/blkid/low-probe-romfs ++++ b/tests/expected/blkid/low-probe-romfs +@@ -1,4 +1,5 @@ + ID_FS_BLOCK_SIZE=1024 ++ID_FS_FSBLOCKSIZE=1024 + ID_FS_LABEL=test-romfs + ID_FS_LABEL_ENC=test-romfs + ID_FS_TYPE=romfs +diff --git a/tests/expected/blkid/low-probe-small-fat32 b/tests/expected/blkid/low-probe-small-fat32 +index d9c63c710..e6ffb6550 100644 +--- a/tests/expected/blkid/low-probe-small-fat32 ++++ b/tests/expected/blkid/low-probe-small-fat32 +@@ -1,4 +1,5 @@ + ID_FS_BLOCK_SIZE=512 ++ID_FS_FSBLOCKSIZE=512 + ID_FS_LABEL=TESTVFAT + ID_FS_LABEL_ENC=TESTVFAT + ID_FS_LABEL_FATBOOT=TESTVFAT +diff --git a/tests/expected/blkid/low-probe-udf b/tests/expected/blkid/low-probe-udf +index b00ae7b8a..d8cd25bbf 100644 +--- a/tests/expected/blkid/low-probe-udf ++++ b/tests/expected/blkid/low-probe-udf +@@ -1,5 +1,6 @@ + ID_FS_APPLICATION_ID=genisoimage + ID_FS_BLOCK_SIZE=2048 ++ID_FS_FSBLOCKSIZE=2048 + ID_FS_LABEL=test-udf + ID_FS_LABEL_ENC=test-udf + ID_FS_LOGICAL_VOLUME_ID=test-udf +diff --git a/tests/expected/blkid/low-probe-udf-bdr-2.60-nero b/tests/expected/blkid/low-probe-udf-bdr-2.60-nero +index 006499223..677c2a353 100644 +--- a/tests/expected/blkid/low-probe-udf-bdr-2.60-nero ++++ b/tests/expected/blkid/low-probe-udf-bdr-2.60-nero +@@ -1,5 +1,6 @@ + ID_FS_APPLICATION_ID=Nero + ID_FS_BLOCK_SIZE=2048 ++ID_FS_FSBLOCKSIZE=2048 + ID_FS_LABEL=Label + ID_FS_LABEL_ENC=Label + ID_FS_LOGICAL_VOLUME_ID=Label +diff --git a/tests/expected/blkid/low-probe-udf-cd-mkudfiso-20100208 b/tests/expected/blkid/low-probe-udf-cd-mkudfiso-20100208 +index 649e5be94..924d78f7d 100644 +--- a/tests/expected/blkid/low-probe-udf-cd-mkudfiso-20100208 ++++ b/tests/expected/blkid/low-probe-udf-cd-mkudfiso-20100208 +@@ -1,5 +1,6 @@ + ID_FS_APPLICATION_ID=mkudfiso + ID_FS_BLOCK_SIZE=2048 ++ID_FS_FSBLOCKSIZE=2048 + ID_FS_LABEL=Volume_Label + ID_FS_LABEL_ENC=Volume\x20Label + ID_FS_LOGICAL_VOLUME_ID=Volume\x20Label +diff --git a/tests/expected/blkid/low-probe-udf-cd-nero-6 b/tests/expected/blkid/low-probe-udf-cd-nero-6 +index 7474bc4db..bc1b5fe85 100644 +--- a/tests/expected/blkid/low-probe-udf-cd-nero-6 ++++ b/tests/expected/blkid/low-probe-udf-cd-nero-6 +@@ -1,5 +1,6 @@ + ID_FS_APPLICATION_ID=Nero + ID_FS_BLOCK_SIZE=2048 ++ID_FS_FSBLOCKSIZE=2048 + ID_FS_LABEL=UDF_Label + ID_FS_LABEL_ENC=UDF\x20Label + ID_FS_LOGICAL_VOLUME_ID=UDF\x20Label +diff --git a/tests/expected/blkid/low-probe-udf-hdd-macosx-2.60-4096 b/tests/expected/blkid/low-probe-udf-hdd-macosx-2.60-4096 +index 152877a13..c8e5ac396 100644 +--- a/tests/expected/blkid/low-probe-udf-hdd-macosx-2.60-4096 ++++ b/tests/expected/blkid/low-probe-udf-hdd-macosx-2.60-4096 +@@ -1,5 +1,6 @@ + ID_FS_APPLICATION_ID=Mac\x20OS\x20X\x20udf\x20newfs_udf + ID_FS_BLOCK_SIZE=4096 ++ID_FS_FSBLOCKSIZE=4096 + ID_FS_LABEL=Untitled_UDF_Volume + ID_FS_LABEL_ENC=Untitled\x20UDF\x20Volume + ID_FS_LOGICAL_VOLUME_ID=Untitled\x20UDF\x20Volume +diff --git a/tests/expected/blkid/low-probe-udf-hdd-mkudffs-1.0.0-1 b/tests/expected/blkid/low-probe-udf-hdd-mkudffs-1.0.0-1 +index 930259204..0f073c007 100644 +--- a/tests/expected/blkid/low-probe-udf-hdd-mkudffs-1.0.0-1 ++++ b/tests/expected/blkid/low-probe-udf-hdd-mkudffs-1.0.0-1 +@@ -1,5 +1,6 @@ + ID_FS_APPLICATION_ID=Linux\x20mkudffs + ID_FS_BLOCK_SIZE=512 ++ID_FS_FSBLOCKSIZE=512 + ID_FS_LABEL=LinuxUDF + ID_FS_LABEL_ENC=LinuxUDF + ID_FS_LOGICAL_VOLUME_ID=LinuxUDF +diff --git a/tests/expected/blkid/low-probe-udf-hdd-mkudffs-1.0.0-2 b/tests/expected/blkid/low-probe-udf-hdd-mkudffs-1.0.0-2 +index a0fdb2ee2..c55e23326 100644 +--- a/tests/expected/blkid/low-probe-udf-hdd-mkudffs-1.0.0-2 ++++ b/tests/expected/blkid/low-probe-udf-hdd-mkudffs-1.0.0-2 +@@ -1,5 +1,6 @@ + ID_FS_APPLICATION_ID=Linux\x20mkudffs + ID_FS_BLOCK_SIZE=512 ++ID_FS_FSBLOCKSIZE=512 + ID_FS_LABEL=Label + ID_FS_LABEL_ENC=Label + ID_FS_LOGICAL_VOLUME_ID=Label +diff --git a/tests/expected/blkid/low-probe-udf-hdd-mkudffs-1.3-1 b/tests/expected/blkid/low-probe-udf-hdd-mkudffs-1.3-1 +index ef36b84e0..37586914c 100644 +--- a/tests/expected/blkid/low-probe-udf-hdd-mkudffs-1.3-1 ++++ b/tests/expected/blkid/low-probe-udf-hdd-mkudffs-1.3-1 +@@ -1,5 +1,6 @@ + ID_FS_APPLICATION_ID=Linux\x20mkudffs + ID_FS_BLOCK_SIZE=512 ++ID_FS_FSBLOCKSIZE=512 + ID_FS_LABEL=Label + ID_FS_LABEL_ENC=Label + ID_FS_LOGICAL_VOLUME_ID=Label +diff --git a/tests/expected/blkid/low-probe-udf-hdd-mkudffs-1.3-2 b/tests/expected/blkid/low-probe-udf-hdd-mkudffs-1.3-2 +index 58a8bf612..521e0ff12 100644 +--- a/tests/expected/blkid/low-probe-udf-hdd-mkudffs-1.3-2 ++++ b/tests/expected/blkid/low-probe-udf-hdd-mkudffs-1.3-2 +@@ -1,5 +1,6 @@ + ID_FS_APPLICATION_ID=Linux\x20mkudffs + ID_FS_BLOCK_SIZE=2048 ++ID_FS_FSBLOCKSIZE=2048 + ID_FS_LABEL=Label + ID_FS_LABEL_ENC=Label + ID_FS_LOGICAL_VOLUME_ID=Label +diff --git a/tests/expected/blkid/low-probe-udf-hdd-mkudffs-1.3-3 b/tests/expected/blkid/low-probe-udf-hdd-mkudffs-1.3-3 +index 0e1e7706b..e720867bd 100644 +--- a/tests/expected/blkid/low-probe-udf-hdd-mkudffs-1.3-3 ++++ b/tests/expected/blkid/low-probe-udf-hdd-mkudffs-1.3-3 +@@ -1,5 +1,6 @@ + ID_FS_APPLICATION_ID=Linux\x20mkudffs + ID_FS_BLOCK_SIZE=2048 ++ID_FS_FSBLOCKSIZE=2048 + ID_FS_LABEL=ÿ + ID_FS_LABEL_ENC=ÿ + ID_FS_LOGICAL_VOLUME_ID=ÿ +diff --git a/tests/expected/blkid/low-probe-udf-hdd-mkudffs-1.3-4 b/tests/expected/blkid/low-probe-udf-hdd-mkudffs-1.3-4 +index 00561717d..ecd8c3c9f 100644 +--- a/tests/expected/blkid/low-probe-udf-hdd-mkudffs-1.3-4 ++++ b/tests/expected/blkid/low-probe-udf-hdd-mkudffs-1.3-4 +@@ -1,5 +1,6 @@ + ID_FS_APPLICATION_ID=Linux\x20mkudffs + ID_FS_BLOCK_SIZE=1024 ++ID_FS_FSBLOCKSIZE=1024 + ID_FS_LABEL=Label + ID_FS_LABEL_ENC=Label + ID_FS_LOGICAL_VOLUME_ID=Label +diff --git a/tests/expected/blkid/low-probe-udf-hdd-mkudffs-1.3-5 b/tests/expected/blkid/low-probe-udf-hdd-mkudffs-1.3-5 +index 69ee62f97..df2d901f5 100644 +--- a/tests/expected/blkid/low-probe-udf-hdd-mkudffs-1.3-5 ++++ b/tests/expected/blkid/low-probe-udf-hdd-mkudffs-1.3-5 +@@ -1,5 +1,6 @@ + ID_FS_APPLICATION_ID=Linux\x20mkudffs + ID_FS_BLOCK_SIZE=4096 ++ID_FS_FSBLOCKSIZE=4096 + ID_FS_LABEL=Label + ID_FS_LABEL_ENC=Label + ID_FS_LOGICAL_VOLUME_ID=Label +diff --git a/tests/expected/blkid/low-probe-udf-hdd-mkudffs-1.3-6 b/tests/expected/blkid/low-probe-udf-hdd-mkudffs-1.3-6 +index 2d3876b7e..aba8d2e48 100644 +--- a/tests/expected/blkid/low-probe-udf-hdd-mkudffs-1.3-6 ++++ b/tests/expected/blkid/low-probe-udf-hdd-mkudffs-1.3-6 +@@ -1,5 +1,6 @@ + ID_FS_APPLICATION_ID=Linux\x20mkudffs + ID_FS_BLOCK_SIZE=512 ++ID_FS_FSBLOCKSIZE=512 + ID_FS_LABEL=AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + ID_FS_LABEL_ENC=AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + ID_FS_LOGICAL_VOLUME_ID=AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +diff --git a/tests/expected/blkid/low-probe-udf-hdd-mkudffs-1.3-7 b/tests/expected/blkid/low-probe-udf-hdd-mkudffs-1.3-7 +index e60bf1793..67faf3424 100644 +--- a/tests/expected/blkid/low-probe-udf-hdd-mkudffs-1.3-7 ++++ b/tests/expected/blkid/low-probe-udf-hdd-mkudffs-1.3-7 +@@ -1,5 +1,6 @@ + ID_FS_APPLICATION_ID=Linux\x20mkudffs + ID_FS_BLOCK_SIZE=4096 ++ID_FS_FSBLOCKSIZE=4096 + ID_FS_LABEL=Label4096 + ID_FS_LABEL_ENC=Label4096 + ID_FS_LOGICAL_VOLUME_ID=Label4096 +diff --git a/tests/expected/blkid/low-probe-udf-hdd-mkudffs-1.3-8 b/tests/expected/blkid/low-probe-udf-hdd-mkudffs-1.3-8 +index 078578242..11a3bde27 100644 +--- a/tests/expected/blkid/low-probe-udf-hdd-mkudffs-1.3-8 ++++ b/tests/expected/blkid/low-probe-udf-hdd-mkudffs-1.3-8 +@@ -1,5 +1,6 @@ + ID_FS_APPLICATION_ID=Linux\x20mkudffs + ID_FS_BLOCK_SIZE=512 ++ID_FS_FSBLOCKSIZE=512 + ID_FS_LABEL=LinuxUDF + ID_FS_LABEL_ENC=LinuxUDF + ID_FS_LOGICAL_VOLUME_ID=LinuxUDF +diff --git a/tests/expected/blkid/low-probe-udf-hdd-mkudffs-2.2 b/tests/expected/blkid/low-probe-udf-hdd-mkudffs-2.2 +index 77300512a..c61e8b5eb 100644 +--- a/tests/expected/blkid/low-probe-udf-hdd-mkudffs-2.2 ++++ b/tests/expected/blkid/low-probe-udf-hdd-mkudffs-2.2 +@@ -1,5 +1,6 @@ + ID_FS_APPLICATION_ID=Linux\x20mkudffs + ID_FS_BLOCK_SIZE=512 ++ID_FS_FSBLOCKSIZE=512 + ID_FS_LABEL=😀 + ID_FS_LABEL_ENC=😀 + ID_FS_LOGICAL_VOLUME_ID=😀 +diff --git a/tests/expected/blkid/low-probe-udf-hdd-udfclient-0.7.5 b/tests/expected/blkid/low-probe-udf-hdd-udfclient-0.7.5 +index 6cb1ffeee..c173bb8d6 100644 +--- a/tests/expected/blkid/low-probe-udf-hdd-udfclient-0.7.5 ++++ b/tests/expected/blkid/low-probe-udf-hdd-udfclient-0.7.5 +@@ -1,5 +1,6 @@ + ID_FS_APPLICATION_ID=UDFtoolkit + ID_FS_BLOCK_SIZE=512 ++ID_FS_FSBLOCKSIZE=512 + ID_FS_LABEL=discname + ID_FS_LABEL_ENC=discname + ID_FS_LOGICAL_VOLUME_ID=discname +diff --git a/tests/expected/blkid/low-probe-udf-hdd-udfclient-0.7.7 b/tests/expected/blkid/low-probe-udf-hdd-udfclient-0.7.7 +index 7a35e0f0d..4c71a0cce 100644 +--- a/tests/expected/blkid/low-probe-udf-hdd-udfclient-0.7.7 ++++ b/tests/expected/blkid/low-probe-udf-hdd-udfclient-0.7.7 +@@ -1,5 +1,6 @@ + ID_FS_APPLICATION_ID=UDFtoolkit + ID_FS_BLOCK_SIZE=512 ++ID_FS_FSBLOCKSIZE=512 + ID_FS_LABEL=discname + ID_FS_LABEL_ENC=discname + ID_FS_LOGICAL_VOLUME_ID=discname +diff --git a/tests/expected/blkid/low-probe-udf-hdd-win7 b/tests/expected/blkid/low-probe-udf-hdd-win7 +index ad9616bc7..eafa7f019 100644 +--- a/tests/expected/blkid/low-probe-udf-hdd-win7 ++++ b/tests/expected/blkid/low-probe-udf-hdd-win7 +@@ -1,5 +1,6 @@ + ID_FS_APPLICATION_ID=Microsoft\x20Windows + ID_FS_BLOCK_SIZE=512 ++ID_FS_FSBLOCKSIZE=512 + ID_FS_LABEL=My_volume_label + ID_FS_LABEL_ENC=My\x20volume\x20label + ID_FS_LOGICAL_VOLUME_ID=My\x20volume\x20label +diff --git a/tests/expected/blkid/low-probe-udf-multi-genisoimage-0 b/tests/expected/blkid/low-probe-udf-multi-genisoimage-0 +index f598baaa0..5eeb78d33 100644 +--- a/tests/expected/blkid/low-probe-udf-multi-genisoimage-0 ++++ b/tests/expected/blkid/low-probe-udf-multi-genisoimage-0 +@@ -1,5 +1,6 @@ + ID_FS_APPLICATION_ID=genisoimage + ID_FS_BLOCK_SIZE=2048 ++ID_FS_FSBLOCKSIZE=2048 + ID_FS_LABEL=first_session + ID_FS_LABEL_ENC=first\x20session + ID_FS_LOGICAL_VOLUME_ID=first\x20session +diff --git a/tests/expected/blkid/low-probe-udf-multi-genisoimage-417 b/tests/expected/blkid/low-probe-udf-multi-genisoimage-417 +index bb4d8c72f..5d2c7843f 100644 +--- a/tests/expected/blkid/low-probe-udf-multi-genisoimage-417 ++++ b/tests/expected/blkid/low-probe-udf-multi-genisoimage-417 +@@ -1,5 +1,6 @@ + ID_FS_APPLICATION_ID=genisoimage + ID_FS_BLOCK_SIZE=2048 ++ID_FS_FSBLOCKSIZE=2048 + ID_FS_LABEL=second_session + ID_FS_LABEL_ENC=second\x20session + ID_FS_LOGICAL_VOLUME_ID=second\x20session +diff --git a/tests/expected/blkid/low-probe-udf-multi-genisoimage-834 b/tests/expected/blkid/low-probe-udf-multi-genisoimage-834 +index bc4dcba65..aa7a1630a 100644 +--- a/tests/expected/blkid/low-probe-udf-multi-genisoimage-834 ++++ b/tests/expected/blkid/low-probe-udf-multi-genisoimage-834 +@@ -1,5 +1,6 @@ + ID_FS_APPLICATION_ID=genisoimage + ID_FS_BLOCK_SIZE=2048 ++ID_FS_FSBLOCKSIZE=2048 + ID_FS_LABEL=third_session + ID_FS_LABEL_ENC=third\x20session + ID_FS_LOGICAL_VOLUME_ID=third\x20session +diff --git a/tests/expected/blkid/low-probe-udf-multi-mkudffs-0 b/tests/expected/blkid/low-probe-udf-multi-mkudffs-0 +index 07557d7ca..a1a234e89 100644 +--- a/tests/expected/blkid/low-probe-udf-multi-mkudffs-0 ++++ b/tests/expected/blkid/low-probe-udf-multi-mkudffs-0 +@@ -1,5 +1,6 @@ + ID_FS_APPLICATION_ID=Linux\x20mkudffs + ID_FS_BLOCK_SIZE=2048 ++ID_FS_FSBLOCKSIZE=2048 + ID_FS_LABEL=first_session + ID_FS_LABEL_ENC=first\x20session + ID_FS_LOGICAL_VOLUME_ID=first\x20session +diff --git a/tests/expected/blkid/low-probe-udf-multi-mkudffs-320 b/tests/expected/blkid/low-probe-udf-multi-mkudffs-320 +index 458cf3e23..84285894d 100644 +--- a/tests/expected/blkid/low-probe-udf-multi-mkudffs-320 ++++ b/tests/expected/blkid/low-probe-udf-multi-mkudffs-320 +@@ -1,5 +1,6 @@ + ID_FS_APPLICATION_ID=Linux\x20mkudffs + ID_FS_BLOCK_SIZE=2048 ++ID_FS_FSBLOCKSIZE=2048 + ID_FS_LABEL=second_session + ID_FS_LABEL_ENC=second\x20session + ID_FS_LOGICAL_VOLUME_ID=second\x20session +diff --git a/tests/expected/blkid/low-probe-udf-multi-mkudffs-640 b/tests/expected/blkid/low-probe-udf-multi-mkudffs-640 +index 04cc4f11c..59c914280 100644 +--- a/tests/expected/blkid/low-probe-udf-multi-mkudffs-640 ++++ b/tests/expected/blkid/low-probe-udf-multi-mkudffs-640 +@@ -1,5 +1,6 @@ + ID_FS_APPLICATION_ID=Linux\x20mkudffs + ID_FS_BLOCK_SIZE=2048 ++ID_FS_FSBLOCKSIZE=2048 + ID_FS_LABEL=third_session + ID_FS_LABEL_ENC=third\x20session + ID_FS_LOGICAL_VOLUME_ID=third\x20session +diff --git a/tests/expected/blkid/low-probe-ufs b/tests/expected/blkid/low-probe-ufs +index 256f065d2..d771bc8d5 100644 +--- a/tests/expected/blkid/low-probe-ufs ++++ b/tests/expected/blkid/low-probe-ufs +@@ -1,4 +1,5 @@ + ID_FS_BLOCK_SIZE=2048 ++ID_FS_FSBLOCKSIZE=2048 + ID_FS_TYPE=ufs + ID_FS_USAGE=filesystem + ID_FS_UUID=4b0e640aec56ac70 +diff --git a/tests/expected/blkid/low-probe-xfs b/tests/expected/blkid/low-probe-xfs +index be9c4194a..0eb803f52 100644 +--- a/tests/expected/blkid/low-probe-xfs ++++ b/tests/expected/blkid/low-probe-xfs +@@ -1,4 +1,5 @@ + ID_FS_BLOCK_SIZE=512 ++ID_FS_FSBLOCKSIZE=4096 + ID_FS_FSLASTBLOCK=4096 + ID_FS_FSSIZE=11862016 + ID_FS_LABEL=test-xfs +diff --git a/tests/expected/blkid/low-probe-xfs-v5 b/tests/expected/blkid/low-probe-xfs-v5 +index fd2cba933..7525b0888 100644 +--- a/tests/expected/blkid/low-probe-xfs-v5 ++++ b/tests/expected/blkid/low-probe-xfs-v5 +@@ -1,4 +1,5 @@ + ID_FS_BLOCK_SIZE=512 ++ID_FS_FSBLOCKSIZE=4096 + ID_FS_FSLASTBLOCK=5120 + ID_FS_FSSIZE=17469440 + ID_FS_LABEL=test-xfs-v5 +diff --git a/tests/expected/blkid/low-probe-zfs b/tests/expected/blkid/low-probe-zfs +index 0e7af2866..f7e481b54 100644 +--- a/tests/expected/blkid/low-probe-zfs ++++ b/tests/expected/blkid/low-probe-zfs +@@ -1,4 +1,5 @@ + ID_FS_BLOCK_SIZE=512 ++ID_FS_FSBLOCKSIZE=512 + ID_FS_LABEL=tank + ID_FS_LABEL_ENC=tank + ID_FS_TYPE=zfs_member +diff --git a/tests/expected/blkid/low-probe-zonefs b/tests/expected/blkid/low-probe-zonefs +index cc15459a1..59c86f3fd 100644 +--- a/tests/expected/blkid/low-probe-zonefs ++++ b/tests/expected/blkid/low-probe-zonefs +@@ -1,3 +1,4 @@ + ID_FS_BLOCK_SIZE=4096 ++ID_FS_FSBLOCKSIZE=4096 + ID_FS_TYPE=zonefs + ID_FS_USAGE=filesystem +-- +2.36.1 + diff --git a/0030-libblkid-update-documentation-of-BLOCK_SIZE-tag.patch b/0030-libblkid-update-documentation-of-BLOCK_SIZE-tag.patch new file mode 100644 index 0000000..31d7eb7 --- /dev/null +++ b/0030-libblkid-update-documentation-of-BLOCK_SIZE-tag.patch @@ -0,0 +1,32 @@ +From 5300d69be2919d0a50968377d23807831fdf3f71 Mon Sep 17 00:00:00 2001 +From: Andrey Albershteyn +Date: Fri, 27 May 2022 12:56:27 +0200 +Subject: libblkid: update documentation of BLOCK_SIZE tag + +The name BLOCK_SIZE is unfortunate. This tag doesn't represent +commonly used file system block size but minimal block size +accessible by file system (sector size). + +Upstream: http://github.com/util-linux/util-linux/commit/895f0b609 +Addresses: https://bugzilla.redhat.com/show_bug.cgi?id=2064810 +Signed-off-by: Andrey Albershteyn +--- + libblkid/src/superblocks/superblocks.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/libblkid/src/superblocks/superblocks.c b/libblkid/src/superblocks/superblocks.c +index 9cfa991fc..9c32bc9d5 100644 +--- a/libblkid/src/superblocks/superblocks.c ++++ b/libblkid/src/superblocks/superblocks.c +@@ -80,7 +80,7 @@ + * + * @BOOT_SYSTEM_ID: ISO9660 boot system identifier + * +- * @BLOCK_SIZE: block size ++ * @BLOCK_SIZE: minimal block size accessible by file system + */ + + static int superblocks_probe(blkid_probe pr, struct blkid_chain *chn); +-- +2.36.1 + diff --git a/0031-cfdisk-don-t-use-NULL-in-printf-coverity-scan.patch b/0031-cfdisk-don-t-use-NULL-in-printf-coverity-scan.patch new file mode 100644 index 0000000..69ec275 --- /dev/null +++ b/0031-cfdisk-don-t-use-NULL-in-printf-coverity-scan.patch @@ -0,0 +1,28 @@ +From da3add097b70160cd2c6bab0a4acb699df07ebe8 Mon Sep 17 00:00:00 2001 +From: Karel Zak +Date: Thu, 17 Mar 2022 10:48:33 +0100 +Subject: cfdisk: don't use NULL in printf [coverity scan] + +Upstream: http://github.com/util-linux/util-linux/commit/30cc5f5751698cccb625193f715f1a606a7f91b4 +Addresses: https://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=2109459 +Signed-off-by: Karel Zak +--- + disk-utils/cfdisk.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/disk-utils/cfdisk.c b/disk-utils/cfdisk.c +index c1b28889f..36eb3f8c6 100644 +--- a/disk-utils/cfdisk.c ++++ b/disk-utils/cfdisk.c +@@ -2080,7 +2080,7 @@ done: + } + free(cm); + DBG(UI, ul_debug("get parrtype done [type=%s] ", t ? +- fdisk_parttype_get_name(t) : NULL)); ++ fdisk_parttype_get_name(t) : "")); + return t; + } + +-- +2.36.1 + diff --git a/0032-zramctl-fix-compiler-warning-Werror-maybe-uninitiali.patch b/0032-zramctl-fix-compiler-warning-Werror-maybe-uninitiali.patch new file mode 100644 index 0000000..a3563c8 --- /dev/null +++ b/0032-zramctl-fix-compiler-warning-Werror-maybe-uninitiali.patch @@ -0,0 +1,28 @@ +From cee4a7f69d853fcc574241d394edc5bcb91469a5 Mon Sep 17 00:00:00 2001 +From: Karel Zak +Date: Mon, 6 Jun 2022 16:19:16 +0200 +Subject: zramctl: fix compiler warning [-Werror=maybe-uninitialized] + +Upstream: http://github.com/util-linux/util-linux/commit/8883f037466a5534554d7d9114aceb740295ef20 +Addresses: https://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=2109459 +Signed-off-by: Karel Zak +--- + sys-utils/zramctl.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/sys-utils/zramctl.c b/sys-utils/zramctl.c +index 003349fad..64d5fcd81 100644 +--- a/sys-utils/zramctl.c ++++ b/sys-utils/zramctl.c +@@ -291,7 +291,7 @@ static struct path_cxt *zram_get_control(void) + + static int zram_control_add(struct zram *z) + { +- int n; ++ int n = 0; + struct path_cxt *ctl; + + if (!zram_has_control(z) || !(ctl = zram_get_control())) +-- +2.36.1 + diff --git a/0033-lib-path-make-ul_path_read_buffer-more-robust-coveri.patch b/0033-lib-path-make-ul_path_read_buffer-more-robust-coveri.patch new file mode 100644 index 0000000..ce2ca44 --- /dev/null +++ b/0033-lib-path-make-ul_path_read_buffer-more-robust-coveri.patch @@ -0,0 +1,46 @@ +From f6fffc1a89e57b7d5dd4adf1ee6b2146e58ec411 Mon Sep 17 00:00:00 2001 +From: Karel Zak +Date: Thu, 17 Mar 2022 12:18:03 +0100 +Subject: lib/path: make ul_path_read_buffer() more robust [coverity scan] + +Make sure we never call buf[rc - 1] for rc=0. + +Upstream: http://github.com/util-linux/util-linux/commit/ea459dcf95d0bb04c816b71d2b85fbcd8cfc5ee4 +Addresses: https://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=2109459 +Signed-off-by: Karel Zak +--- + lib/path.c | 17 ++++++++++------- + 1 file changed, 10 insertions(+), 7 deletions(-) + +diff --git a/lib/path.c b/lib/path.c +index 21f9bd1c4..ab034e110 100644 +--- a/lib/path.c ++++ b/lib/path.c +@@ -666,14 +666,17 @@ int ul_path_readf_string(struct path_cxt *pc, char **str, const char *path, ...) + int ul_path_read_buffer(struct path_cxt *pc, char *buf, size_t bufsz, const char *path) + { + int rc = ul_path_read(pc, buf, bufsz - 1, path); +- if (rc < 0) +- return rc; + +- /* Remove tailing newline (usual in sysfs) */ +- if (rc > 0 && *(buf + rc - 1) == '\n') +- buf[--rc] = '\0'; +- else +- buf[rc - 1] = '\0'; ++ if (rc == 0) ++ buf[0] = '\0'; ++ ++ else if (rc > 0) { ++ /* Remove tailing newline (usual in sysfs) */ ++ if (*(buf + rc - 1) == '\n') ++ buf[--rc] = '\0'; ++ else ++ buf[rc - 1] = '\0'; ++ } + + return rc; + } +-- +2.36.1 + diff --git a/0034-lslogins-improve-for-static-analyzer.patch b/0034-lslogins-improve-for-static-analyzer.patch new file mode 100644 index 0000000..ae0bd20 --- /dev/null +++ b/0034-lslogins-improve-for-static-analyzer.patch @@ -0,0 +1,27 @@ +From 53af90a8edf2e60342b477d28e0d802dc26f18b7 Mon Sep 17 00:00:00 2001 +From: Karel Zak +Date: Tue, 9 Aug 2022 12:35:05 +0200 +Subject: lslogins: improve for static analyzer + +Addresses: https://bugzilla.redhat.com/show_bug.cgi?id=2094216 +Signed-off-by: Karel Zak +--- + login-utils/lslogins.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/login-utils/lslogins.c b/login-utils/lslogins.c +index ff4386d1b..56431212d 100644 +--- a/login-utils/lslogins.c ++++ b/login-utils/lslogins.c +@@ -852,7 +852,7 @@ static struct lslogins_user *get_user_info(struct lslogins_control *ctl, const c + while (p && *p == '!') + p++, i++; + +- if (i != 0 && (!*p || valid_pwd(p))) ++ if (i != 0 && p && (!*p || valid_pwd(p))) + user->pwd_lock = STATUS_TRUE; + } else + user->pwd_lock = STATUS_UNKNOWN; +-- +2.37.1 + diff --git a/0035-tests-add-udevadm-settle-to-loop-overlap-test.patch b/0035-tests-add-udevadm-settle-to-loop-overlap-test.patch new file mode 100644 index 0000000..ac4fa70 --- /dev/null +++ b/0035-tests-add-udevadm-settle-to-loop-overlap-test.patch @@ -0,0 +1,48 @@ +From 723438ad02928d9614439def99b36e0758f62d26 Mon Sep 17 00:00:00 2001 +From: Karel Zak +Date: Fri, 12 Aug 2022 08:30:49 +0200 +Subject: tests: add udevadm settle to loop overlap test + +Addresses: https://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=2117203 +Signed-off-by: Karel Zak +--- + tests/ts/libmount/loop-overlay | 7 +++++++ + 1 file changed, 7 insertions(+) + +diff --git a/tests/ts/libmount/loop-overlay b/tests/ts/libmount/loop-overlay +index 62874a182..c27f60d0f 100755 +--- a/tests/ts/libmount/loop-overlay ++++ b/tests/ts/libmount/loop-overlay +@@ -43,22 +43,29 @@ dd if="$IMG" of="$IMG" oflag=append bs=1024k count=5 conv=notrunc &>/dev/null + + echo "second should fail" >>$TS_OUTPUT + $TS_CMD_MOUNT -oloop "$IMG" "$TS_MOUNTPOINT-1" >> $TS_OUTPUT 2>> $TS_ERRLOG ++udevadm settle + $TS_CMD_MOUNT -oloop,offset=$OFFSET "$IMG" "$TS_MOUNTPOINT-2" 2>&1 \ + | sed 's/:.*:/: /; s/for .*/for /' >> $TS_OUTPUT + $TS_CMD_UMOUNT "$TS_MOUNTPOINT-1" >> $TS_OUTPUT 2>> $TS_ERRLOG ++udevadm settle + + echo "should succeed" >>$TS_OUTPUT + $TS_CMD_MOUNT -oloop,sizelimit=$OFFSET "$IMG" "$TS_MOUNTPOINT-1" >> $TS_OUTPUT 2>> $TS_ERRLOG ++udevadm settle + $TS_CMD_MOUNT -oloop,offset=$OFFSET "$IMG" "$TS_MOUNTPOINT-2" >> $TS_OUTPUT 2>> $TS_ERRLOG ++udevadm settle + $TS_CMD_UMOUNT "$TS_MOUNTPOINT-1" >> $TS_OUTPUT 2>> $TS_ERRLOG + $TS_CMD_UMOUNT "$TS_MOUNTPOINT-2" >> $TS_OUTPUT 2>> $TS_ERRLOG ++udevadm settle + + echo "both should fail" >>$TS_OUTPUT + LOOPDEV=$($TS_CMD_LOSETUP --show -f --offset 1 --sizelimit $OFFSET "$IMG") ++udevadm settle + $TS_CMD_MOUNT -oloop,sizelimit=$OFFSET "$IMG" "$TS_MOUNTPOINT-1" 2>&1 \ + | sed 's/:.*:/: /; s/for .*/for /' >> $TS_OUTPUT + $TS_CMD_MOUNT -oloop,offset=$OFFSET "$IMG" "$TS_MOUNTPOINT-2" 2>&1 \ + | sed 's/:.*:/: /; s/for .*/for /' >> $TS_OUTPUT ++udevadm settle + $TS_CMD_LOSETUP --detach $LOOPDEV + + ts_log "Success" +-- +2.37.2 + diff --git a/0036-lslogins-support-more-password-methods.patch b/0036-lslogins-support-more-password-methods.patch new file mode 100644 index 0000000..8c81fab --- /dev/null +++ b/0036-lslogins-support-more-password-methods.patch @@ -0,0 +1,161 @@ +From a1dfd3c737f7dad832b0f6ec975bcc5c9cc80ffe Mon Sep 17 00:00:00 2001 +From: Karel Zak +Date: Wed, 24 Aug 2022 12:20:25 +0200 +Subject: lslogins: support more password methods + +* detect more hashing methods + +* don't care about hash size + +* follow crypt(5) when check for valid chars + +Addresses: https://bugzilla.redhat.com/show_bug.cgi?id=2094216 +Upstream: http://github.com/util-linux/util-linux/commit/2b9373e06243d5adf93d627916a5421b34a7e63f +Reported-by: Radka Skvarilova +Signed-off-by: Karel Zak +--- + login-utils/lslogins.c | 66 +++++++++++++++++++++++++++--------------- + 1 file changed, 42 insertions(+), 24 deletions(-) + +diff --git a/login-utils/lslogins.c b/login-utils/lslogins.c +index 56431212d..22e3cd23e 100644 +--- a/login-utils/lslogins.c ++++ b/login-utils/lslogins.c +@@ -598,7 +598,7 @@ static int get_nprocs(const uid_t uid) + } + #endif + +-static const char *get_pwd_method(const char *str, const char **next, unsigned int *sz) ++static const char *get_pwd_method(const char *str, const char **next) + { + const char *p = str; + const char *res = NULL; +@@ -606,32 +606,50 @@ static const char *get_pwd_method(const char *str, const char **next, unsigned i + if (!p || *p++ != '$') + return NULL; + +- if (sz) +- *sz = 0; +- + switch (*p) { + case '1': + res = "MD5"; +- if (sz) +- *sz = 22; + break; + case '2': +- p++; +- if (*p == 'a' || *p == 'y') ++ switch(*(p+1)) { ++ case 'a': ++ case 'y': ++ p++; + res = "Blowfish"; ++ break; ++ case 'b': ++ p++; ++ res = "bcrypt"; ++ break; ++ } ++ break; ++ case '3': ++ res = "NT"; + break; + case '5': + res = "SHA-256"; +- if (sz) +- *sz = 43; + break; + case '6': + res = "SHA-512"; +- if (sz) +- *sz = 86; ++ break; ++ case '7': ++ res = "scrypt"; ++ break; ++ case 'y': ++ res = "yescrypt"; ++ break; ++ case 'g': ++ if (*(p + 1) == 'y') { ++ p++; ++ res = "gost-yescrypt"; ++ } ++ break; ++ case '_': ++ res = "bsdicrypt"; + break; + default: +- return NULL; ++ res = "unknown"; ++ break; + } + p++; + +@@ -642,7 +660,10 @@ static const char *get_pwd_method(const char *str, const char **next, unsigned i + return res; + } + +-#define is_valid_pwd_char(x) (isalnum((unsigned char) (x)) || (x) == '.' || (x) == '/') ++#define is_invalid_pwd_char(x) (isspace((unsigned char) (x)) || \ ++ (x) == ':' || (x) == ';' || (x) == '*' || \ ++ (x) == '!' || (x) == '\\') ++#define is_valid_pwd_char(x) (isascii((unsigned char) (x)) && !is_invalid_pwd_char(x)) + + /* + * This function do not accept empty passwords or locked accouns. +@@ -650,17 +671,16 @@ static const char *get_pwd_method(const char *str, const char **next, unsigned i + static int valid_pwd(const char *str) + { + const char *p = str; +- unsigned int sz = 0, n; + + if (!str || !*str) + return 0; + + /* $id$ */ +- if (get_pwd_method(str, &p, &sz) == NULL) ++ if (get_pwd_method(str, &p) == NULL) + return 0; ++ + if (!p || !*p) + return 0; +- + /* salt$ */ + for (; *p; p++) { + if (*p == '$') { +@@ -670,17 +690,15 @@ static int valid_pwd(const char *str) + if (!is_valid_pwd_char(*p)) + return 0; + } ++ + if (!*p) + return 0; +- + /* encrypted */ +- for (n = 0; *p; p++, n++) { +- if (!is_valid_pwd_char(*p)) ++ for (; *p; p++) { ++ if (!is_valid_pwd_char(*p)) { + return 0; ++ } + } +- +- if (sz && n != sz) +- return 0; + return 1; + } + +@@ -863,7 +881,7 @@ static struct lslogins_user *get_user_info(struct lslogins_control *ctl, const c + + while (p && (*p == '!' || *p == '*')) + p++; +- user->pwd_method = get_pwd_method(p, NULL, NULL); ++ user->pwd_method = get_pwd_method(p, NULL); + } else + user->pwd_method = NULL; + break; +-- +2.37.2 + diff --git a/STAGE1-util-linux b/STAGE1-util-linux new file mode 100644 index 0000000..f492ecb --- /dev/null +++ b/STAGE1-util-linux @@ -0,0 +1,12 @@ +srpm util-linux +mcd $BUILDDIR/$1 +cat < config.cache +ax_cv_have_tls=yes +scanf_cv_alloc_modifier=ms +EOF +$SRC/${1}-*/configure $TCONFIGARGS --without-ncurses --without-tinfo \ + --prefix=/usr --libexecdir=/usr/lib${SUFFIX} --libdir=/usr/lib${SUFFIX} \ + --disable-wall --cache-file=config.cache --without-python --without-systemd +notparallel +make $J V=1 +make $J install DESTDIR=${ROOTFS} diff --git a/adjtime b/adjtime new file mode 100644 index 0000000..3127bd0 --- /dev/null +++ b/adjtime @@ -0,0 +1,2 @@ +0.0 0 0.0 +0 diff --git a/gating.yaml b/gating.yaml new file mode 100644 index 0000000..648918d --- /dev/null +++ b/gating.yaml @@ -0,0 +1,6 @@ +--- !Policy +product_versions: + - rhel-9 +decision_context: osci_compose_gate +rules: + - !PassingTestCaseRule {test_case_name: osci.brew-build.tier0.functional} diff --git a/sources b/sources new file mode 100644 index 0000000..c333d0f --- /dev/null +++ b/sources @@ -0,0 +1 @@ +SHA512 (util-linux-2.37.4.tar.xz) = ada2629b0a8e83ea83513e04f7b1ccceb3b8ab82acd119c5d8389d1abc48c92d0b591f39fb34b1fd65db3ab630f03a672a9f3dacf1a6e4f124bdb083fc1be6d7 diff --git a/tests/tests.yml b/tests/tests.yml new file mode 100644 index 0000000..e8f651e --- /dev/null +++ b/tests/tests.yml @@ -0,0 +1,57 @@ +# Test which run in classic and docker environemnt +- hosts: localhost + tags: + - classic + - container + - atomic + vars: + # standard-test-basic directory for tests are relative to {{ tenv_workdir }} + tenv_workdir: /var/test + pre_tasks: + - import_role: + name: standard-test-source + vars: + fetch_only: True + + - name: Copy files including source to test environment + synchronize: + src: "{{ playbook_dir }}/.." + dest: "{{ tenv_workdir }}" + mode: push + ssh_args: "-o UserKnownHostsFile=/dev/null" + roles: + - role: standard-test-beakerlib + tests: + - various + required_packages: + - util-linux + - util-linux-user + - role: standard-test-basic + required_packages: + - util-linux + - util-linux-user + - coreutils + - bzip2 + - xz + - bc + - device-mapper + - iproute + - mdadm + - e2fsprogs + - binutils + - procps-ng + - sed + - gawk + - file + - git + - rpm-build + tests: + - prepare-source: + dir: ./ + run: rpmbuild -bp {{tenv_workdir}}/*.spec --nodeps --define "_sourcedir {{tenv_workdir}}" --define "_builddir {{tenv_workdir}}/source" + - flatten-source: + dir: ./ + run: shopt -s dotglob; mv {{tenv_workdir}}/source/*/* {{tenv_workdir}}/source + - upstream: + dir: upstream + run: ./runtest.sh diff --git a/tests/upstream/runtest.sh b/tests/upstream/runtest.sh new file mode 100755 index 0000000..a6fbb9b --- /dev/null +++ b/tests/upstream/runtest.sh @@ -0,0 +1,40 @@ +#!/bin/bash + +# Copyright (C) 2019 Karel Zak + +srcdir="../source" +testdir="${srcdir}/tests" + +echo "srcdir: $srcdir" +echo "testdir: $testdir" + +if [ ! -x "${testdir}/run.sh" ]; then + echo "upstream tests not found" + exit 1 +fi + +# We don't compile the tests, but it still needs some hints. +# +echo > ${srcdir}/config.h +echo "#define HAVE_WIDECHAR 1" >> ${srcdir}/config.h +echo "#define HAVE_LINUX_NET_NAMESPACE_H 1" >> ${srcdir}/config.h + +# Remove stuff we don't have in RHEL +# +rm -rf ${testdir}/ts/misc/line + + +version_tests=$(cat ${srcdir}/.version) +version_system=$(rpm -q util-linux) + +echo +echo "Used versions: " +echo " upstream tests: $version_tests" +echo " installed util-linux: $version_system" +echo + +# Run upstream tests +# +${testdir}/run.sh --use-system-commands --noskip-commands --show-diff + +exit $? diff --git a/tests/various/Makefile b/tests/various/Makefile new file mode 100644 index 0000000..2357934 --- /dev/null +++ b/tests/various/Makefile @@ -0,0 +1,64 @@ +# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +# +# Makefile of /CoreOS/util-linux/various +# Description: This test groups small sanity and regression tests for util-linux +# Author: Miroslav Vadkerti +# +# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +# +# Copyright (c) 2013 Red Hat, Inc. All rights reserved. +# +# This copyrighted material is made available to anyone wishing +# to use, modify, copy, or redistribute it subject to the terms +# and conditions of the GNU General Public License version 2. +# +# This program is distributed in the hope that it will be +# useful, but WITHOUT ANY WARRANTY; without even the implied +# warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR +# PURPOSE. See the GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public +# License along with this program; if not, write to the Free +# Software Foundation, Inc., 51 Franklin Street, Fifth Floor, +# Boston, MA 02110-1301, USA. +# +# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +export TEST=/CoreOS/util-linux/Sanity/various +export TESTVERSION=1.0 + +BUILT_FILES= + +FILES=$(METADATA) runtest.sh Makefile PURPOSE + +.PHONY: all install download clean + +run: $(FILES) build + ./runtest.sh + +build: $(BUILT_FILES) + test -x runtest.sh || chmod a+x runtest.sh + +clean: + rm -f *~ $(BUILT_FILES) + + +include /usr/share/rhts/lib/rhts-make.include + +$(METADATA): Makefile + @echo "Owner: Miroslav Vadkerti " > $(METADATA) + @echo "Name: $(TEST)" >> $(METADATA) + @echo "TestVersion: $(TESTVERSION)" >> $(METADATA) + @echo "Path: $(TEST_DIR)" >> $(METADATA) + @echo "Description: This test groups small sanity and regression tests for util-linux" >> $(METADATA) + @echo "Type: Sanity" >> $(METADATA) + @echo "TestTime: 10m" >> $(METADATA) + @echo "RunFor: util-linux" >> $(METADATA) + @echo "Requires: util-linux util-linux-user" >> $(METADATA) + @echo "Priority: Normal" >> $(METADATA) + @echo "License: GPLv2" >> $(METADATA) + @echo "Confidential: no" >> $(METADATA) + @echo "Destructive: no" >> $(METADATA) + @echo "Releases: -RHEL3 -RHEL4 -RHEL5Server -RHEL5Client -RHEL6" >> $(METADATA) + + rhts-lint $(METADATA) diff --git a/tests/various/PURPOSE b/tests/various/PURPOSE new file mode 100644 index 0000000..b4de79a --- /dev/null +++ b/tests/various/PURPOSE @@ -0,0 +1,3 @@ +PURPOSE of /CoreOS/util-linux/various +Description: This test groups small sanity and regression tests for util-linux +Author: Miroslav Vadkerti diff --git a/tests/various/runtest.sh b/tests/various/runtest.sh new file mode 100755 index 0000000..32871f4 --- /dev/null +++ b/tests/various/runtest.sh @@ -0,0 +1,52 @@ +#!/bin/bash +# vim: dict=/usr/share/beakerlib/dictionary.vim cpt=.,w,b,u,t,i,k +# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +# +# runtest.sh of /CoreOS/util-linux/various +# Description: This test groups small sanity and regression tests for util-linux +# Author: Miroslav Vadkerti +# +# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +# +# Copyright (c) 2013 Red Hat, Inc. All rights reserved. +# +# This copyrighted material is made available to anyone wishing +# to use, modify, copy, or redistribute it subject to the terms +# and conditions of the GNU General Public License version 2. +# +# This program is distributed in the hope that it will be +# useful, but WITHOUT ANY WARRANTY; without even the implied +# warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR +# PURPOSE. See the GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public +# License along with this program; if not, write to the Free +# Software Foundation, Inc., 51 Franklin Street, Fifth Floor, +# Boston, MA 02110-1301, USA. +# +# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +# Include Beaker environment +#. /usr/bin/rhts-environment.sh || exit 1 +. /usr/share/beakerlib/beakerlib.sh || exit 1 + +PACKAGE="util-linux" + +rlJournalStart + rlPhaseStartSetup + rlAssertRpm $PACKAGE + rlPhaseEnd + + rlPhaseStartTest "return code of chfn should be always 1 in case failure" + rlRun "chfn -f a:b" 1 + rlRun "chfn -o a:b" 1 + rlRun "chfn -p a:b" 1 + rlRun "chfn -h a:b" 1 + rlRun "chfn -x a:b" 1 + rlRun "chfn -f a -o b -p c -h d unknown-user" 1 + rlPhaseEnd + + rlPhaseStartCleanup + rlPhaseEnd +rlJournalPrintText +rlJournalEnd diff --git a/util-linux-chsh-chfn.pamd b/util-linux-chsh-chfn.pamd new file mode 100644 index 0000000..2dbc0aa --- /dev/null +++ b/util-linux-chsh-chfn.pamd @@ -0,0 +1,6 @@ +#%PAM-1.0 +auth sufficient pam_rootok.so +auth include system-auth +account include system-auth +password include system-auth +session include system-auth diff --git a/util-linux-login.pamd b/util-linux-login.pamd new file mode 100644 index 0000000..517b798 --- /dev/null +++ b/util-linux-login.pamd @@ -0,0 +1,16 @@ +#%PAM-1.0 +auth substack system-auth +auth include postlogin +account required pam_nologin.so +account include system-auth +password include system-auth +# pam_selinux.so close should be the first session rule +session required pam_selinux.so close +session required pam_loginuid.so +# pam_selinux.so open should only be followed by sessions to be executed in the user context +session required pam_selinux.so open +session required pam_namespace.so +session optional pam_keyinit.so force revoke +session include system-auth +session include postlogin +-session optional pam_ck_connector.so diff --git a/util-linux-remote.pamd b/util-linux-remote.pamd new file mode 100644 index 0000000..100ec98 --- /dev/null +++ b/util-linux-remote.pamd @@ -0,0 +1,15 @@ +#%PAM-1.0 +auth substack password-auth +auth include postlogin +account required pam_nologin.so +account include password-auth +password include password-auth +# pam_selinux.so close should be the first session rule +session required pam_selinux.so close +session required pam_loginuid.so +# pam_selinux.so open should only be followed by sessions to be executed in the user context +session required pam_selinux.so open +session required pam_namespace.so +session optional pam_keyinit.so force revoke +session include password-auth +session include postlogin diff --git a/util-linux-runuser-l.pamd b/util-linux-runuser-l.pamd new file mode 100644 index 0000000..7a9a48c --- /dev/null +++ b/util-linux-runuser-l.pamd @@ -0,0 +1,5 @@ +#%PAM-1.0 +auth include runuser +session optional pam_keyinit.so force revoke +-session optional pam_systemd.so +session include runuser diff --git a/util-linux-runuser.pamd b/util-linux-runuser.pamd new file mode 100644 index 0000000..37f0e84 --- /dev/null +++ b/util-linux-runuser.pamd @@ -0,0 +1,5 @@ +#%PAM-1.0 +auth sufficient pam_rootok.so +session optional pam_keyinit.so revoke +session required pam_limits.so +session required pam_unix.so diff --git a/util-linux-su-l.pamd b/util-linux-su-l.pamd new file mode 100644 index 0000000..656a139 --- /dev/null +++ b/util-linux-su-l.pamd @@ -0,0 +1,6 @@ +#%PAM-1.0 +auth include su +account include su +password include su +session optional pam_keyinit.so force revoke +session include su diff --git a/util-linux-su.pamd b/util-linux-su.pamd new file mode 100644 index 0000000..5733201 --- /dev/null +++ b/util-linux-su.pamd @@ -0,0 +1,15 @@ +#%PAM-1.0 +auth required pam_env.so +auth sufficient pam_rootok.so +# Uncomment the following line to implicitly trust users in the "wheel" group. +#auth sufficient pam_wheel.so trust use_uid +# Uncomment the following line to require a user to be in the "wheel" group. +#auth required pam_wheel.so use_uid +auth substack system-auth +auth include postlogin +account sufficient pam_succeed_if.so uid = 0 use_uid quiet +account include system-auth +password include system-auth +session include system-auth +session include postlogin +session optional pam_xauth.so diff --git a/util-linux.spec b/util-linux.spec new file mode 100644 index 0000000..70740b3 --- /dev/null +++ b/util-linux.spec @@ -0,0 +1,3241 @@ +### Header +Summary: A collection of basic system utilities +Name: util-linux +Version: 2.37.4 +Release: 9%{?dist} +License: GPLv2 and GPLv2+ and LGPLv2+ and BSD with advertising and Public Domain +URL: http://en.wikipedia.org/wiki/Util-linux + +### Macros +%define upstream_version %{version} +%define upstream_major %(eval echo %{version} | %{__sed} -e 's/\([[:digit:]]*\)\.\([[:digit:]]*\)\.[[:digit:]]*$/\1.\2/') + +%define compldir %{_datadir}/bash-completion/completions/ + +%define pypkg python3 +%define pyver 3 + +### Dependencies +BuildRequires: make +BuildRequires: audit-libs-devel >= 1.0.6 +BuildRequires: gettext-devel +BuildRequires: libselinux-devel +BuildRequires: ncurses-devel +BuildRequires: readline-devel +BuildRequires: pam-devel +BuildRequires: zlib-devel +BuildRequires: popt-devel +BuildRequires: libutempter-devel +Buildrequires: systemd-devel +BuildRequires: systemd +Buildrequires: libuser-devel +BuildRequires: libcap-ng-devel +BuildRequires: %{pypkg}-devel +BuildRequires: gcc +BuildRequires: git +BuildRequires: rubygem-asciidoctor +%ifarch ppc64le +BuildRequires: librtas-devel +%endif + +# enable if make changes to build-system +#BuildRequires: autoconf +#BuildRequires: automake +#BuildRequires: libtool +#BuildRequires: bison + +### Sources +Source0: ftp://ftp.kernel.org/pub/linux/utils/util-linux/v%{upstream_major}/util-linux-%{upstream_version}.tar.xz +Source1: util-linux-login.pamd +Source2: util-linux-remote.pamd +Source3: util-linux-chsh-chfn.pamd +Source4: uuidd-tmpfiles.conf +Source5: adjtime +Source12: util-linux-su.pamd +Source13: util-linux-su-l.pamd +Source14: util-linux-runuser.pamd +Source15: util-linux-runuser-l.pamd + +### Obsoletes & Conflicts & Provides +Conflicts: initscripts < 9.79-4 +Conflicts: bash-completion < 1:2.1-1 +# su(1) and runuser(1) merged into util-linux v2.22 +Conflicts: coreutils < 8.20 +# eject has been merged into util-linux v2.22 +Obsoletes: eject <= 2.1.5 +Provides: eject = 2.1.6 +# rfkill has been merged into util-linux v2.31 +Obsoletes: rfkill <= 0.5 +Provides: rfkill = 0.5 +# sulogin, utmpdump merged into util-linux v2.22; +# last, lastb merged into util-linux v2.24 +Conflicts: sysvinit-tools < 2.88-14 +# rename from util-linux-ng back to util-linux +Obsoletes: util-linux-ng < 2.19 +Provides: util-linux-ng = %{version}-%{release} +Conflicts: filesystem < 3 +Provides: /sbin/nologin +Provides: /sbin/findfs + +Requires(post): coreutils +Requires: pam >= 1.1.3-7, /etc/pam.d/system-auth +Requires: audit-libs >= 1.0.6 +Requires: libuuid = %{version}-%{release} +Requires: libblkid = %{version}-%{release} +Requires: libmount = %{version}-%{release} +Requires: libsmartcols = %{version}-%{release} +Requires: libfdisk = %{version}-%{release} +Requires: util-linux-core = %{version}-%{release} + + +### RHEL-9.0.0 +# +# 151635 - makeing /var/log/lastlog +Patch0: 0000-login-create-var-log-lastlog.patch +# Add `/run/motd.d` to the hardcoded MOTD_FILE +# https://github.com/coreos/console-login-helper-messages/issues/60 +Patch1: 0001-login-default-motd-file.patch +# Integrate upstream tests +Patch2: 0002-tests-make-.-run.sh-more-robust.patch +Patch3: 0003-tests-make-mount-fstab-all-more-robust.patch +Patch4: 0004-tests-make-eject-umount-tests-more-robust.patch +# 2037212 - Complete Linux-PAM compliance for forked child in su and login +Patch5: 0005-Complete-Linux-PAM-compliance-for-forked-child-in-su.patch +# 2040366 - uuidd can't access lock/status file +Patch6: 0006-uuidd-fix-open-lock-state-issue.patch +# 2021462 - partitons detection broken on systems not including the parent name in partition name +Patch7: 0007-sysfs-fallback-for-partitions-not-including-parent-n.patch +# 2033622 - logger from util-linux incorrectly handles long messages +Patch8: 0008-logger-fix-size-use-for-stdin.patch +# 2057046 - wdctl not picking up reboot reason flag +Patch9: 0009-wdctl-Workaround-reported-boot-status-bits-not-being.patch + +### RHEL-9.1.0 +# +# 2094216 - lslogins reports incorrect "Password is locked" status +Patch10: 0010-lslogins-remove-unexpected-debug-message.patch +Patch11: 0011-lslogins-improve-prefixes-interpretation.patch +Patch12: 0012-lslogins-fix-free-invalid-pointer.patch +Patch13: 0013-login-utils-logindefs-fix-compiler-warning-Werror-fo.patch +# 2092943 - uuidd time based UUIDs are without MAC address +Patch14: 0014-uuidd-allow-AF_INET-in-systemd-service.patch +Patch15: 0015-uuidd-remove-also-PrivateNetwork-yes-from-systemd-se.patch +# 2078787 - Activity "lsirq -s column" produces wrong result i.e. not sorting properly. +Patch16: 0016-lsirq-improve-sort-IRQ.patch +Patch17: 0017-irqtop-fix-compiler-warning-Werror-format-truncation.patch +# 2076829 - dmesg new option "--since" is not working if timestamp format is not provided +Patch18: 0018-dmesg-fix-since-and-until.patch +# 2074486 - Command (wipefs -a) to erase all available signatures against read only rom return 0 with dmesg error +Patch19: 0019-libblkid-check-fsync-return-code.patch +# 2064810 - RFE: complete libblkid FSSIZE implementation +Patch20: 0020-libblkid-add-interface-for-FSSIZE-field.patch +Patch21: 0021-libblkid-implement-FSSIZE-calculation-for-XFS.patch +Patch22: 0022-blkid-add-FSSIZE-tag-with-tests-for-XFS.patch +Patch23: 0023-libblkid-fix-FSSIZE-docs.patch +Patch24: 0024-libblkid-add-FSLASTBLOCK-field-interface-showing-are.patch +Patch25: 0025-libblkid-add-FSLASTBLOCK-implementation-for-xfs-ext-.patch +Patch26: 0026-blkid-add-image-for-btrfs-testing.patch +Patch27: 0027-blkid-add-tests-for-FSLASTBLOCK-tag.patch +Patch28: 0028-libblkid-merge-FS-flags-into-one-FSINFO.patch +Patch29: 0029-libblkid-add-FSBLOCKSIZE-tag.patch +Patch30: 0030-libblkid-update-documentation-of-BLOCK_SIZE-tag.patch +# 2109459 - fix compiler warnings/errors +Patch31: 0031-cfdisk-don-t-use-NULL-in-printf-coverity-scan.patch +Patch32: 0032-zramctl-fix-compiler-warning-Werror-maybe-uninitiali.patch +Patch33: 0033-lib-path-make-ul_path_read_buffer-more-robust-coveri.patch +# 2094216 - lslogins reports incorrect "Password is locked" status +Patch34: 0034-lslogins-improve-for-static-analyzer.patch +# 2117203 - RHEL-9.1: loop-overlay test failed +Patch35: 0035-tests-add-udevadm-settle-to-loop-overlap-test.patch +# 2094216 - lslogins reports incorrect "Password is locked" status +Patch36: 0036-lslogins-support-more-password-methods.patch + + +%description +The util-linux package contains a large variety of low-level system +utilities that are necessary for a Linux system to function. Among +others, Util-linux contains the fdisk configuration tool and the login +program. + + +%package -n util-linux-core +Summary: The most essential utilities from the util-linux suite. +License: GPLv2 and GPLv2+ and LGPLv2+ and BSD with advertising and Public Domain +Provides: /bin/dmesg +Provides: /bin/kill +Provides: /bin/more +Provides: /bin/mount +Provides: /bin/umount +Provides: /sbin/blkid +Provides: /sbin/blockdev +Provides: /sbin/fsck +# hardlink has been merged into util-linux v2.34 +Obsoletes: hardlink <= 1:1.3-9 +Provides: hardlink = 1:1.3-9 +Requires: libuuid = %{version}-%{release} +Requires: libblkid = %{version}-%{release} +Requires: libmount = %{version}-%{release} +Requires: libsmartcols = %{version}-%{release} +# old versions of e2fsprogs contain fsck, uuidgen +Conflicts: e2fsprogs < 1.41.8-5 + +%description -n util-linux-core +This is a very basic set of Linux utilities that is necessary on +minimal installations. + + +%package -n libfdisk +Summary: Partitioning library for fdisk-like programs. +License: LGPLv2+ +Requires: libblkid = %{version}-%{release} +Requires: libuuid = %{version}-%{release} + +%description -n libfdisk +This is library for fdisk-like programs, part of util-linux. + + +%package -n libfdisk-devel +Summary: Partitioning library for fdisk-like programs. +License: LGPLv2+ +Requires: libfdisk = %{version}-%{release} +Requires: pkgconfig + +%description -n libfdisk-devel +This is development library and headers for fdisk-like programs, +part of util-linux. + + +%package -n libsmartcols +Summary: Formatting library for ls-like programs. +License: LGPLv2+ + +%description -n libsmartcols +This is library for ls-like terminal programs, part of util-linux. + + +%package -n libsmartcols-devel +Summary: Formatting library for ls-like programs. +License: LGPLv2+ +Requires: libsmartcols = %{version}-%{release} +Requires: pkgconfig + +%description -n libsmartcols-devel +This is development library and headers for ls-like terminal programs, +part of util-linux. + + +%package -n libmount +Summary: Device mounting library +License: LGPLv2+ +Requires: libblkid = %{version}-%{release} +Requires: libuuid = %{version}-%{release} +Conflicts: filesystem < 3 + +%description -n libmount +This is the device mounting library, part of util-linux. + + +%package -n libmount-devel +Summary: Device mounting library +License: LGPLv2+ +Requires: libmount = %{version}-%{release} +Requires: pkgconfig + +%description -n libmount-devel +This is the device mounting development library and headers, +part of util-linux. + + +%package -n libblkid +Summary: Block device ID library +License: LGPLv2+ +Requires: libuuid = %{version}-%{release} +Conflicts: filesystem < 3 +Requires(post): coreutils + +%description -n libblkid +This is block device identification library, part of util-linux. + + +%package -n libblkid-devel +Summary: Block device ID library +License: LGPLv2+ +Requires: libblkid = %{version}-%{release} +Requires: pkgconfig + +%description -n libblkid-devel +This is the block device identification development library and headers, +part of util-linux. + + +%package -n libuuid +Summary: Universally unique ID library +License: BSD +Conflicts: filesystem < 3 + +%description -n libuuid +This is the universally unique ID library, part of util-linux. + +The libuuid library generates and parses 128-bit universally unique +id's (UUID's). A UUID is an identifier that is unique across both +space and time, with respect to the space of all UUIDs. A UUID can +be used for multiple purposes, from tagging objects with an extremely +short lifetime, to reliably identifying very persistent objects +across a network. + +See also the "uuid" package, which is a separate implementation. + +%package -n libuuid-devel +Summary: Universally unique ID library +License: BSD +Requires: libuuid = %{version}-%{release} +Requires: pkgconfig + +%description -n libuuid-devel +This is the universally unique ID development library and headers, +part of util-linux. + +The libuuid library generates and parses 128-bit universally unique +id's (UUID's). A UUID is an identifier that is unique across both +space and time, with respect to the space of all UUIDs. A UUID can +be used for multiple purposes, from tagging objects with an extremely +short lifetime, to reliably identifying very persistent objects +across a network. + +See also the "uuid-devel" package, which is a separate implementation. + + +%package -n uuidd +Summary: Helper daemon to guarantee uniqueness of time-based UUIDs +Requires: libuuid = %{version}-%{release} +License: GPLv2 +Requires: systemd +Requires(pre): shadow-utils +Requires(post): systemd-units +Requires(preun): systemd-units + +%description -n uuidd +The uuidd package contains a userspace daemon (uuidd) which guarantees +uniqueness of time-based UUID generation even at very high rates on +SMP systems. + + +%package -n %{pypkg}-libmount +Summary: Python bindings for the libmount library +Requires: libmount = %{version}-%{release} +Requires: libblkid = %{version}-%{release} +License: LGPLv2+ + +%description -n %{pypkg}-libmount +The libmount-python package contains a module that permits applications +written in the Python programming language to use the interface +supplied by the libmount library to work with mount tables (fstab, +mountinfo, etc) and mount filesystems. + + +%package -n util-linux-user +Summary: libuser based util-linux utilities +Requires: util-linux = %{version}-%{release} +License: GPLv2 + +%description -n util-linux-user +chfn and chsh utilities with dependence on libuser + + +%prep +%autosetup -p1 -Sgit -n %{name}-%{upstream_version} + +%build +unset LINGUAS || : + +export CFLAGS="-D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 $RPM_OPT_FLAGS" +export SUID_CFLAGS="-fpie" +export SUID_LDFLAGS="-pie -Wl,-z,relro -Wl,-z,now" +export DAEMON_CFLAGS="$SUID_CFLAGS" +export DAEMON_LDFLAGS="$SUID_LDFLAGS" +%configure \ + --with-systemdsystemunitdir=%{_unitdir} \ + --disable-silent-rules \ + --disable-bfs \ + --disable-pg \ + --enable-chfn-chsh \ + --enable-usrdir-path \ + --enable-write \ + --disable-raw \ + --enable-hardlink \ + --enable-fdformat \ + --enable-asciidoc \ + --with-python=%{pyver} \ + --with-systemd \ + --with-udev \ + --with-selinux \ + --with-audit \ + --with-utempter \ + --disable-makeinstall-chown \ +%ifarch s390 s390x + --disable-hwclock \ + --disable-fdformat +%endif + +# build util-linux +%make_build + +%check +#to run tests use "--with check" +%if %{?_with_check:1}%{!?_with_check:0} +make check +%endif + + +%install +rm -rf ${RPM_BUILD_ROOT} +mkdir -p ${RPM_BUILD_ROOT}%{_bindir} +mkdir -p ${RPM_BUILD_ROOT}%{_mandir}/man{1,6,8,5} +mkdir -p ${RPM_BUILD_ROOT}%{_sbindir} +mkdir -p ${RPM_BUILD_ROOT}%{_sysconfdir}/{pam.d,security/console.apps} +mkdir -p ${RPM_BUILD_ROOT}/usr/lib/tmpfiles.d + +# install util-linux +%make_install + +# And a dirs uuidd needs that the makefiles don't create +install -m 644 %{SOURCE4} ${RPM_BUILD_ROOT}/usr/lib/tmpfiles.d/uuidd.conf +install -d ${RPM_BUILD_ROOT}/run/uuidd +install -d ${RPM_BUILD_ROOT}/var/lib/libuuid + +# /etc/adjtime +install -m 644 %{SOURCE5} ${RPM_BUILD_ROOT}%{_sysconfdir}/adjtime + +# libtool junk +rm -rf ${RPM_BUILD_ROOT}%{_libdir}/*.la +rm -f $RPM_BUILD_ROOT%{_libdir}/python*/site-packages/*.la +rm -f $RPM_BUILD_ROOT%{_libdir}/python*/site-packages/*.a + +%ifarch %{sparc} +rm -rf ${RPM_BUILD_ROOT}%{_bindir}/sunhostid +cat << E-O-F > ${RPM_BUILD_ROOT}%{_bindir}/sunhostid +#!/bin/sh +# this should be _bindir/sunhostid or somesuch. +# Copyright 1999 Peter Jones, . +# GPL and all that good stuff apply. +( +idprom=\`cat /proc/openprom/idprom\` +echo \$idprom|dd bs=1 skip=2 count=2 +echo \$idprom|dd bs=1 skip=27 count=6 +echo +) 2>/dev/null +E-O-F +chmod 755 ${RPM_BUILD_ROOT}%{_bindir}/sunhostid +%endif + +# PAM settings +{ + pushd ${RPM_BUILD_ROOT}%{_sysconfdir}/pam.d + install -m 644 %{SOURCE1} ./login + install -m 644 %{SOURCE2} ./remote + install -m 644 %{SOURCE3} ./chsh + install -m 644 %{SOURCE3} ./chfn + install -m 644 %{SOURCE12} ./su + install -m 644 %{SOURCE13} ./su-l + install -m 644 %{SOURCE14} ./runuser + install -m 644 %{SOURCE15} ./runuser-l + popd +} + +%ifnarch s390 s390x +ln -sf hwclock ${RPM_BUILD_ROOT}%{_sbindir}/clock +echo ".so man8/hwclock.8" > ${RPM_BUILD_ROOT}%{_mandir}/man8/clock.8 +%endif + +# unsupported on SPARCs +%ifarch %{sparc} +for I in /sbin/sfdisk \ + %{_mandir}/man8/sfdisk.8* \ + /sbin/cfdisk \ + %{_mandir}/man8/cfdisk.8*; do + + rm -f $RPM_BUILD_ROOT$I +done +%endif + +ln -sf ../proc/self/mounts %{buildroot}/etc/mtab + +# remove static libs +rm -f $RPM_BUILD_ROOT%{_libdir}/lib{uuid,blkid,mount,smartcols,fdisk}.a + +# remove unsupported tools (--disable-* not avalable by ./configure) +rm -f ${RPM_BUILD_ROOT}%{_bindir}/uclampset +rm -f ${RPM_BUILD_ROOT}%{compldir}/uclampset +rm -f ${RPM_BUILD_ROOT}%{_mandir}/man1/uclampset* + +# temporary remove to avoid conflicts with bash-completion pkg +rm -f $RPM_BUILD_ROOT%{compldir}/{mount,umount} + +# find MO files +%find_lang %name + +# the files section supports only one -f option... +mv %{name}.lang %{name}.files + +# create list of setarch(8) symlinks +find $RPM_BUILD_ROOT%{_bindir}/ -regextype posix-egrep -type l \ + -regex ".*(linux32|linux64|s390|s390x|i386|ppc|ppc64|ppc32|sparc|sparc64|sparc32|sparc32bash|mips|mips64|mips32|ia64|x86_64|uname26)$" \ + -printf "%{_bindir}/%f\n" >> %{name}.files + +find $RPM_BUILD_ROOT%{_mandir}/man8 -regextype posix-egrep \ + -regex ".*(linux32|linux64|s390|s390x|i386|ppc|ppc64|ppc32|sparc|sparc64|sparc32|sparc32bash|mips|mips64|mips32|ia64|x86_64|uname26)\.8.*" \ + -printf "%{_mandir}/man8/%f*\n" >> %{name}.files + + +%post -n util-linux-core +if [ ! -L /etc/mtab ]; then + ln -sf ../proc/self/mounts /etc/mtab || : +fi + +%post -n libblkid +### Move blkid cache to /run +[ -d /run/blkid ] || mkdir -p /run/blkid +for I in /etc/blkid.tab /etc/blkid.tab.old \ + /etc/blkid/blkid.tab /etc/blkid/blkid.tab.old; do + + if [ -f "$I" ]; then + mv "$I" /run/blkid/ || : + fi +done + +%pre -n uuidd +getent group uuidd >/dev/null || groupadd -r uuidd +getent passwd uuidd >/dev/null || \ +useradd -r -g uuidd -d /var/lib/libuuid -s /sbin/nologin \ + -c "UUID generator helper daemon" uuidd +exit 0 + +# Please, keep uuidd running after installation! Note that systemd_post is +# "systemctl preset" and it enable/disable service only. +%post -n uuidd +%systemd_post uuidd.service +if [ $1 -eq 1 ] && [ -x /usr/bin/systemctl ]; then + # install + /bin/systemctl start uuidd.service > /dev/null 2>&1 || : +fi + +%preun -n uuidd +%systemd_preun uuidd.socket +%systemd_preun uuidd.service + +%postun -n uuidd +%systemd_postun_with_restart uuidd.socket +%systemd_postun_with_restart uuidd.service + +%triggerpostun -- util-linux < 2.35.1-7 +if [ $1 -gt 1 ] && [ -x /usr/bin/systemctl ] ; then + # Enable fstrim.timer for upgrades to F32 + /usr/bin/systemctl --no-reload preset fstrim.timer || : +fi + +%files -f %{name}.files +%doc README NEWS AUTHORS +%doc Documentation/deprecated.txt +%{!?_licensedir:%global license %%doc} +%license Documentation/licenses/* +%doc misc-utils/getopt-*.{bash,tcsh} + +%config(noreplace) %{_sysconfdir}/pam.d/login +%config(noreplace) %{_sysconfdir}/pam.d/remote +%config(noreplace) %{_sysconfdir}/pam.d/su +%config(noreplace) %{_sysconfdir}/pam.d/su-l +%config(noreplace) %{_sysconfdir}/pam.d/runuser +%config(noreplace) %{_sysconfdir}/pam.d/runuser-l + +%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/adjtime + +%attr(4755,root,root) %{_bindir}/su +%attr(755,root,root) %{_bindir}/login +%attr(2755,root,tty) %{_bindir}/write + +%{_unitdir}/fstrim.* + +%{_bindir}/cal +%{_bindir}/chmem +%{_bindir}/choom +%{_bindir}/col +%{_bindir}/colcrt +%{_bindir}/colrm +%{_bindir}/column +%{_bindir}/eject +%{_bindir}/fallocate +%{_bindir}/fincore +%{_bindir}/getopt +%{_bindir}/hexdump +%{_bindir}/irqtop +%{_bindir}/isosize +%{_bindir}/last +%{_bindir}/lastb +%{_bindir}/look +%{_bindir}/lsblk +%{_bindir}/lscpu +%{_bindir}/lsipc +%{_bindir}/lsirq +%{_bindir}/lslocks +%{_bindir}/lslogins +%{_bindir}/lsmem +%{_bindir}/lsns +%{_bindir}/mcookie +%{_bindir}/mesg +%{_bindir}/namei +%{_bindir}/prlimit +%{_bindir}/rename +%{_bindir}/rev +%{_bindir}/script +%{_bindir}/scriptlive +%{_bindir}/scriptreplay +%{_bindir}/setarch +%{_bindir}/setpriv +%{_bindir}/setterm +%{_bindir}/ul +%{_bindir}/utmpdump +%{_bindir}/uuidgen +%{_bindir}/uuidparse +%{_bindir}/wall +%{_bindir}/wdctl +%{_bindir}/whereis +%{_mandir}/man1/cal.1* +%{_mandir}/man1/choom.1* +%{_mandir}/man1/col.1* +%{_mandir}/man1/colcrt.1* +%{_mandir}/man1/colrm.1* +%{_mandir}/man1/column.1* +%{_mandir}/man1/eject.1* +%{_mandir}/man1/fallocate.1* +%{_mandir}/man1/fincore.1* +%{_mandir}/man1/getopt.1* +%{_mandir}/man1/hexdump.1* +%{_mandir}/man1/irqtop.1* +%{_mandir}/man1/last.1* +%{_mandir}/man1/lastb.1* +%{_mandir}/man1/login.1* +%{_mandir}/man1/look.1* +%{_mandir}/man1/lscpu.1* +%{_mandir}/man1/lsipc.1* +%{_mandir}/man1/lsirq.1* +%{_mandir}/man1/lslogins.1* +%{_mandir}/man1/lsmem.1* +%{_mandir}/man1/mcookie.1* +%{_mandir}/man1/mesg.1* +%{_mandir}/man1/namei.1* +%{_mandir}/man1/prlimit.1* +%{_mandir}/man1/rename.1* +%{_mandir}/man1/rev.1* +%{_mandir}/man1/runuser.1* +%{_mandir}/man1/script.1* +%{_mandir}/man1/scriptlive.1* +%{_mandir}/man1/scriptreplay.1* +%{_mandir}/man1/setpriv.1* +%{_mandir}/man1/setterm.1* +%{_mandir}/man1/su.1* +%{_mandir}/man1/ul.1* +%{_mandir}/man1/utmpdump.1.gz +%{_mandir}/man1/uuidgen.1* +%{_mandir}/man1/uuidparse.1* +%{_mandir}/man1/wall.1* +%{_mandir}/man1/whereis.1* +%{_mandir}/man1/write.1* +%{_mandir}/man5/fstab.5* +%{_mandir}/man5/terminal-colors.d.5* +%{_mandir}/man8/addpart.8* +%{_mandir}/man8/blkdiscard.8* +%{_mandir}/man8/blkzone.8* +%{_mandir}/man8/chcpu.8* +%{_mandir}/man8/chmem.8* +%{_mandir}/man8/ctrlaltdel.8* +%{_mandir}/man8/delpart.8* +%{_mandir}/man8/fdisk.8* +%{_mandir}/man8/findfs.8* +%{_mandir}/man8/fsck.cramfs.8* +%{_mandir}/man8/fsck.minix.8* +%{_mandir}/man8/fsfreeze.8* +%{_mandir}/man8/fstrim.8* +%{_mandir}/man8/isosize.8* +%{_mandir}/man8/ldattach.8* +%{_mandir}/man8/lsblk.8* +%{_mandir}/man8/lslocks.8* +%{_mandir}/man8/lsns.8* +%{_mandir}/man8/mkfs.8* +%{_mandir}/man8/mkfs.cramfs.8* +%{_mandir}/man8/mkfs.minix.8* +%{_mandir}/man8/nologin.8* +%{_mandir}/man8/pivot_root.8* +%{_mandir}/man8/readprofile.8* +%{_mandir}/man8/resizepart.8* +%{_mandir}/man8/rfkill.8* +%{_mandir}/man8/rtcwake.8* +%{_mandir}/man8/setarch.8* +%{_mandir}/man8/sulogin.8.gz +%{_mandir}/man8/swaplabel.8* +%{_mandir}/man8/wdctl.8.gz +%{_mandir}/man8/wipefs.8* +%{_mandir}/man8/zramctl.8* +%{_sbindir}/addpart +%{_sbindir}/blkdiscard +%{_sbindir}/blkzone +%{_sbindir}/chcpu +%{_sbindir}/ctrlaltdel +%{_sbindir}/delpart +%{_sbindir}/fdisk +%{_sbindir}/findfs +%{_sbindir}/fsck.cramfs +%{_sbindir}/fsck.minix +%{_sbindir}/fsfreeze +%{_sbindir}/fstrim +%{_sbindir}/ldattach +%{_sbindir}/mkfs +%{_sbindir}/mkfs.cramfs +%{_sbindir}/mkfs.minix +%{_sbindir}/nologin +%{_sbindir}/pivot_root +%{_sbindir}/readprofile +%{_sbindir}/resizepart +%{_sbindir}/rfkill +%{_sbindir}/rtcwake +%{_sbindir}/runuser +%{_sbindir}/sulogin +%{_sbindir}/swaplabel +%{_sbindir}/wipefs +%{_sbindir}/zramctl + +%{compldir}/addpart +%{compldir}/blkdiscard +%{compldir}/blkzone +%{compldir}/cal +%{compldir}/chcpu +%{compldir}/chmem +%{compldir}/col +%{compldir}/colcrt +%{compldir}/colrm +%{compldir}/column +%{compldir}/ctrlaltdel +%{compldir}/delpart +%{compldir}/eject +%{compldir}/fallocate +%{compldir}/fdisk +%{compldir}/fincore +%{compldir}/findfs +%{compldir}/fsck.cramfs +%{compldir}/fsck.minix +%{compldir}/fsfreeze +%{compldir}/fstrim +%{compldir}/getopt +%{compldir}/hexdump +%{compldir}/irqtop +%{compldir}/isosize +%{compldir}/last +%{compldir}/ldattach +%{compldir}/look +%{compldir}/lsblk +%{compldir}/lscpu +%{compldir}/lsipc +%{compldir}/lsirq +%{compldir}/lslocks +%{compldir}/lslogins +%{compldir}/lsmem +%{compldir}/lsns +%{compldir}/mcookie +%{compldir}/mesg +%{compldir}/mkfs +%{compldir}/mkfs.cramfs +%{compldir}/mkfs.minix +%{compldir}/namei +%{compldir}/pivot_root +%{compldir}/prlimit +%{compldir}/readprofile +%{compldir}/rename +%{compldir}/resizepart +%{compldir}/rev +%{compldir}/rfkill +%{compldir}/rtcwake +%{compldir}/runuser +%{compldir}/script +%{compldir}/scriptlive +%{compldir}/scriptreplay +%{compldir}/setarch +%{compldir}/setpriv +%{compldir}/setterm +%{compldir}/su +%{compldir}/swaplabel +%{compldir}/ul +%{compldir}/utmpdump +%{compldir}/uuidgen +%{compldir}/uuidparse +%{compldir}/wall +%{compldir}/wdctl +%{compldir}/whereis +%{compldir}/wipefs +%{compldir}/write +%{compldir}/zramctl + +%ifnarch s390 s390x +%{_sbindir}/clock +%{_sbindir}/fdformat +%{_sbindir}/hwclock +%{_mandir}/man8/fdformat.8* +%{_mandir}/man8/hwclock.8* +%{_mandir}/man8/clock.8* +%{_mandir}/man5/adjtime_config.5* +%{compldir}/fdformat +%{compldir}/hwclock +%endif + +%ifnarch %{sparc} +%{_sbindir}/cfdisk +%{_sbindir}/sfdisk +%{_mandir}/man8/cfdisk.8* +%{_mandir}/man8/sfdisk.8* +%{compldir}/cfdisk +%{compldir}/sfdisk +%endif + +%ifarch %{sparc} +%{_bindir}/sunhostid +%endif + + +%files -n util-linux-core +%ghost %verify(not md5 size mtime) %config(noreplace,missingok) /etc/mtab +%attr(4755,root,root) %{_bindir}/mount +%attr(4755,root,root) %{_bindir}/umount +%{_bindir}/chrt +%{_bindir}/dmesg +%{_bindir}/findmnt +%{_bindir}/flock +%{_bindir}/hardlink +%{_bindir}/ionice +%{_bindir}/ipcmk +%{_bindir}/ipcrm +%{_bindir}/ipcs +%{_bindir}/kill +%{_bindir}/logger +%{_bindir}/more +%{_bindir}/mountpoint +%{_bindir}/nsenter +%{_bindir}/renice +%{_bindir}/setsid +%{_bindir}/taskset +%{_bindir}/unshare +%{compldir}/blkid +%{compldir}/blockdev +%{compldir}/chrt +%{compldir}/dmesg +%{compldir}/findmnt +%{compldir}/flock +%{compldir}/fsck +%{compldir}/hardlink +%{compldir}/ionice +%{compldir}/ipcmk +%{compldir}/ipcrm +%{compldir}/ipcs +%{compldir}/logger +%{compldir}/losetup +%{compldir}/mkswap +%{compldir}/more +%{compldir}/mountpoint +%{compldir}/nsenter +%{compldir}/partx +%{compldir}/renice +%{compldir}/setsid +%{compldir}/swapoff +%{compldir}/swapon +%{compldir}/taskset +%{compldir}/unshare +%{_mandir}/man1/chrt.1* +%{_mandir}/man1/dmesg.1* +%{_mandir}/man1/flock.1* +%{_mandir}/man1/hardlink.1* +%{_mandir}/man1/ionice.1* +%{_mandir}/man1/ipcmk.1* +%{_mandir}/man1/ipcrm.1* +%{_mandir}/man1/ipcs.1* +%{_mandir}/man1/kill.1* +%{_mandir}/man1/logger.1* +%{_mandir}/man1/more.1* +%{_mandir}/man1/mountpoint.1* +%{_mandir}/man1/nsenter.1* +%{_mandir}/man1/renice.1* +%{_mandir}/man1/setsid.1* +%{_mandir}/man1/taskset.1* +%{_mandir}/man1/unshare.1* +%{_mandir}/man8/agetty.8* +%{_mandir}/man8/blkid.8* +%{_mandir}/man8/blockdev.8* +%{_mandir}/man8/findmnt.8* +%{_mandir}/man8/fsck.8* +%{_mandir}/man8/losetup.8* +%{_mandir}/man8/mkswap.8* +%{_mandir}/man8/mount.8* +%{_mandir}/man8/partx.8* +%{_mandir}/man8/swapoff.8* +%{_mandir}/man8/swapon.8* +%{_mandir}/man8/switch_root.8* +%{_mandir}/man8/umount.8* +%{_sbindir}/agetty +%{_sbindir}/blkid +%{_sbindir}/blockdev +%{_sbindir}/fsck +%{_sbindir}/losetup +%{_sbindir}/mkswap +%{_sbindir}/partx +%{_sbindir}/swapoff +%{_sbindir}/swapon +%{_sbindir}/switch_root + + +%files -n util-linux-user +%config(noreplace) %{_sysconfdir}/pam.d/chfn +%config(noreplace) %{_sysconfdir}/pam.d/chsh +%attr(4711,root,root) %{_bindir}/chfn +%attr(4711,root,root) %{_bindir}/chsh +%{_mandir}/man1/chfn.1* +%{_mandir}/man1/chsh.1* +%{compldir}/chfn +%{compldir}/chsh + + +%files -n uuidd +%{!?_licensedir:%global license %%doc} +%license Documentation/licenses/COPYING.GPL-2.0-or-later +%{_mandir}/man8/uuidd.8* +%{_sbindir}/uuidd +%{_unitdir}/uuidd.* +%dir %attr(2775, uuidd, uuidd) /var/lib/libuuid +%dir %attr(2775, uuidd, uuidd) /run/uuidd +%{compldir}/uuidd +%{_tmpfilesdir}/uuidd.conf + + +%files -n libfdisk +%{!?_licensedir:%global license %%doc} +%license Documentation/licenses/COPYING.LGPL-2.1-or-later libfdisk/COPYING +%{_libdir}/libfdisk.so.* + +%files -n libfdisk-devel +%{_libdir}/libfdisk.so +%{_includedir}/libfdisk +%{_libdir}/pkgconfig/fdisk.pc + + +%files -n libsmartcols +%{!?_licensedir:%global license %%doc} +%license Documentation/licenses/COPYING.LGPL-2.1-or-later libsmartcols/COPYING +%{_libdir}/libsmartcols.so.* + +%files -n libsmartcols-devel +%{_libdir}/libsmartcols.so +%{_includedir}/libsmartcols +%{_libdir}/pkgconfig/smartcols.pc + + +%files -n libmount +%{!?_licensedir:%global license %%doc} +%license Documentation/licenses/COPYING.LGPL-2.1-or-later libmount/COPYING +%{_libdir}/libmount.so.* + +%files -n libmount-devel +%{_libdir}/libmount.so +%{_includedir}/libmount +%{_libdir}/pkgconfig/mount.pc + + +%files -n libblkid +%doc libblkid/COPYING +%{_libdir}/libblkid.so.* + +%files -n libblkid-devel +%doc libblkid/COPYING +%{_libdir}/libblkid.so +%{_includedir}/blkid +%{_mandir}/man3/libblkid.3* +%{_libdir}/pkgconfig/blkid.pc + + +%files -n libuuid +%{!?_licensedir:%global license %%doc} +%license Documentation/licenses/COPYING.BSD-3-Clause libuuid/COPYING +%{_libdir}/libuuid.so.* + +%files -n libuuid-devel +%{_libdir}/libuuid.so +%{_includedir}/uuid +%{_mandir}/man3/uuid.3* +%{_mandir}/man3/uuid_clear.3* +%{_mandir}/man3/uuid_compare.3* +%{_mandir}/man3/uuid_copy.3* +%{_mandir}/man3/uuid_generate.3* +%{_mandir}/man3/uuid_generate_random.3* +%{_mandir}/man3/uuid_generate_time.3* +%{_mandir}/man3/uuid_generate_time_safe.3* +%{_mandir}/man3/uuid_is_null.3* +%{_mandir}/man3/uuid_parse.3* +%{_mandir}/man3/uuid_time.3* +%{_mandir}/man3/uuid_unparse.3* +%{_libdir}/pkgconfig/uuid.pc + +%files -n %{pypkg}-libmount +%{!?_licensedir:%global license %%doc} +%license Documentation/licenses/COPYING.LGPL-2.1-or-later libmount/COPYING +%{_libdir}/python*/site-packages/libmount/ + +%changelog +* Wed Aug 24 2022 Karel Zak 2.37.4-9 +- improve lslogins pasword validator (related #2094216) + +* Mon Aug 15 2022 Karel Zak 2.37.4-8 +- remove unnecessary patches (#2117203) + +* Fri Aug 12 2022 Karel Zak 2.37.4-7 +- improve loop overlay test (#2117203) + +* Wed Aug 10 2022 Karel Zak 2.37.4-6 +- fix #2094216 - lslogins reports incorrect "Password is locked" status +- fix #2117203 - loop-overlay test failed + +* Fri Jul 22 2022 Karel Zak 2.37.4-5 +- cleanup spec file build requiremnts + +* Thu Jul 21 2022 Karel Zak 2.37.4-4 +- fix #2079652 - remove uclampset, unsupported by RHEL kernel +- fix #2094216 - lslogins reports incorrect "Password is locked" status +- fix #2092943 - uuidd time based UUIDs are without MAC address +- fix #2074486 - wipefs to erase all available signatures against read only rom +- fix #2064810 - RFE: complete libblkid FSSIZE implementation +- fix #2078787 - Activity "lsirq -s column" produces wrong result i.e. not sorting properly. +- fix #2076829 - dmesg new option "--since" is not working if timestamp format is not provided +- fix #2109459 - fix compiler warnings/errors + +* Thu Feb 24 2022 Karel Zak 2.37.4-3 +- fix #2057046 - wdctl not picking up reboot reason flag + +* Thu Feb 17 2022 Karel Zak 2.37.4-2 +- improve bugfix for #2047952, fix warnings from rpminspect + +* Wed Feb 16 2022 Karel Zak 2.37.4-1 +- upgrade to v2.37.4 (fix CVE-2022-0563) + +* Mon Feb 07 2022 Karel Zak 2.37.3-2 +- fix #2021462 - partitons detection broken on systems not including the parent name in partition name +- fix #2033622 - logger from util-linux incorrectly handles long messages +- fix #2000137 - pam_env bypassed for root user when using su +- fix #2000477 - rpm -V setup fail on /var/log/lastlog +- fix #2047952 - rpm -V / --verify reports bad user/group/mtime for /run/uuidd + +* Tue Jan 25 2022 Karel Zak 2.37.3-1 +- upgrade to v2.37.3 (fix CVE-2021-3996, CVE-2021-3995) +- fix #2040366 - uuidd can't access lock/status file + +* Thu Jan 06 2022 Karel Zak 2.37.2-3 +- fix #2037212 - Complete Linux-PAM compliance for forked child in su and login + +* Mon Aug 23 2021 Karel Zak - 2.37.2-2 +- cleanup previous rebase (fix #1969348) +- integrate upstream tests to CI + +* Fri Aug 20 2021 Karel Zak - 2.37.2-1 +- upgrade to v2.37.2 (fix #1969348) + +* Tue Aug 10 2021 Mohan Boddu +- Rebuilt for IMA sigs, glibc 2.34, aarch64 flags + Related: rhbz#1991688 + +* Fri Jul 23 2021 Karel Zak - 2.37.1-1 +- upgrade to v2.37.1 (fix #1984900, #1971989, and #1938894) +- fix #1984771 - disable raw + +* Tue Jun 8 2021 Karel Zak - 2.37-1 +- upgrade to v2.37 +- introduce util-linux-core subpackage + +* Fri Apr 16 2021 Mohan Boddu +- Rebuilt for RHEL 9 BETA on Apr 15th 2021. Related: rhbz#1947937 + +* Fri Feb 12 2021 Karel Zak - 2.36.2-1 +- upgrade to stable upstream 2.36.2 + https://mirrors.edge.kernel.org/pub/linux/utils/util-linux/v2.36/v2.36.2-ReleaseNotes + +* Wed Jan 27 2021 Kelvin Fan - 2.36.1-4 +- Add patch to add /run/motd.d to default MOTD_FILE in login(1) + +* Thu Jan 14 2021 Karel Zak - 2.36.1-3 +- improve uuidd scriptlets (fix #1767553) + +* Thu Nov 19 2020 Karel Zak - 2.36.1-2 +- remove unused patches +- remove versions and seq.numbers from patch names +- fix mount "symfollow" issue (upstream patch) + +* Mon Nov 16 2020 Karel Zak - 2.36.1-1 +- upgrade to stable upstream 2.36.1 + +* Thu Nov 12 2020 Tom Stellard - 2.36-4 +- Use make macros +- https://fedoraproject.org/wiki/Changes/UseMakeBuildInstallMacro + +* Tue Sep 01 2020 Karel Zak - 2.36-3 +- remove mountinfo workaround (unnecessary for kernel 5.8) +- fix #1860461 - sfdisk regression creating simple 3 partition MBR disk + +* Wed Jul 29 2020 Fedora Release Engineering - 2.36-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild + +* Thu Jul 23 2020 Karel Zak - 2.36-1 +- upgrade to upstream release v2.36 + https://www.kernel.org/pub/linux/utils/util-linux/v2.36/v2.36-ReleaseNotes +- add irqtop and lsirq commands + +* Tue May 26 2020 Miro Hrončok - 2.35.2-2 +- Rebuilt for Python 3.9 + +* Wed May 20 2020 Karel Zak - 2.35.2-1 +- upgrade to upstream bug fix release 2.35.2 + https://www.kernel.org/pub/linux/utils/util-linux/v2.35/v2.35.2-ReleaseNotes + +* Wed Apr 15 2020 Karel Zak - 2.35.1-9 +- fix copy & past bug in specfile changelog + +* Wed Apr 15 2020 Karel Zak - 2.35.1-8 +- fix #1822226 - remove pam_console dependency +- fix #1823463 - hwclock unable to set system time + +* Tue Mar 24 2020 Kalev Lember - 2.35.1-7 +- Another attempt at enabling fstrim.timer on F32 upgrades (#1811506) + +* Thu Mar 19 2020 Karel Zak - 2.35.1-6 +- fix #1811506 (triggerpostun) + +* Tue Feb 25 2020 Karel Zak - 2.35.1-5 +- fix lsblk -P output for RAIDs, etc. + +* Thu Feb 06 2020 Karel Zak - 2.35.1-4 +- add triggerpostun for fstrim.timer (#1785041, FESCo #2309) + +* Tue Feb 04 2020 Karel Zak - 2.35.1-3 +- fix fstrim.service (util-linux github #948) + +* Tue Feb 04 2020 Karel Zak - 2.35.1-2 +- fix sfdisk dump issue (util-linux github #949) + +* Mon Feb 03 2020 Karel Zak - 2.35.1-1 +- upgrade to upstream bug fix release 2.35.1 + +* Fri Jan 31 2020 Fedora Release Engineering - 2.35-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild + +* Tue Jan 21 2020 Karel Zak - 2.35-1 +- upgrade to v2.35 + +* Thu Jan 9 2020 Karel Zak - 2.35-0.5 +- upgrade to v2.35-rc2 + +* Fri Dec 20 2019 Karel Zak - 2.35-0.4 +- fix #1784536 - Segfaults in agetty during Cloud image testing + +* Fri Dec 20 2019 Karel Zak - 2.35-0.3 +- upgrade to the upstream git snapshot (v2.35-rc1-20-g63f8c66af) +- fix #1783066 - Fedora-Rawhide images do not boot + +* Thu Dec 12 2019 Adam Williamson - 2.35-0.2 +- Revert upstream commit 7ef86a0 to fix RHBZ #1783066 + +* Wed Dec 11 2019 Karel Zak - 2.35-0.1 +- upgrade to v2.35-rc1 + https://www.kernel.org/pub/linux/utils/util-linux/v2.35/v2.35-ReleaseNotes + +* Fri Sep 13 2019 Karel Zak - 2.34-6 +- fix https://github.com/systemd/systemd/issues/10872 + +* Thu Sep 12 2019 Karel Zak - 2.34-5 +- fix #1751290 - regression: lsblk not showing PKNAME in f31+ + +* Thu Sep 05 2019 Karel Zak - 2.34-4 +- add BuildRequires: readline for fdisks + +* Mon Aug 19 2019 Miro Hrončok - 2.34-3 +- Rebuilt for Python 3.8 + +* Wed Jul 24 2019 Karel Zak - 2.34-2 +- fix lscpu compilation on ppc + +* Fri Jun 14 2019 Karel Zak - 2.34-1 +- upgrade to v2.34 + +* Thu May 30 2019 Karel Zak - 2.34-0.2 +- upgrade to v2.34-rc2 + +* Tue Apr 30 2019 Karel Zak - 2.34-0.1 +- add command hardlink(1) (merged into util-linux upstream) +- upgrade to v2.34-rc1 + http://www.kernel.org/pub/linux/utils/util-linux/v2.34/v2.34-ReleaseNotes + +* Tue Apr 9 2019 Karel Zak - 2.33.2-1 +- upgrade to v2.33.2 + https://mirrors.edge.kernel.org/pub/linux/utils/util-linux/v2.33/v2.33.2-ReleaseNotes + +* Thu Mar 07 2019 Igor Gnatenko - 2.33.1-4 +- Remove obsolete scriptlets + +* Sun Feb 03 2019 Fedora Release Engineering - 2.33.1-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild + +* Mon Jan 14 2019 Björn Esser - 2.33.1-2 +- Rebuilt for libcrypt.so.2 (#1666033) + +* Wed Jan 9 2019 Karel Zak - 2.33.1-1 +- upgrade to v2.33.1 + https://mirrors.edge.kernel.org/pub/linux/utils/util-linux/v2.33/v2.33.1-ReleaseNotes + +* Thu Nov 1 2018 Karel Zak - 2.33-0.1 +- Remove ldconfig scriptlet, now done via. transfiletrigger in glibc [James Antill] +- upgrade to v2.33-rc2 + http://www.kernel.org/pub/linux/utils/util-linux/v2.33/v2.33-ReleaseNotes + +* Mon Jul 16 2018 Karel Zak - 2.32.1-1 +- upgrade to v2.32.1 + http://www.kernel.org/pub/linux/utils/util-linux/v2.32/v2.32.1-ReleaseNotes + +* Sat Jul 14 2018 Fedora Release Engineering - 2.32-7 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild + +* Tue Jun 19 2018 Miro Hrončok - 2.32-6 +- Rebuilt for Python 3.7 + +* Fri May 18 2018 Karel Zak - 2.32-5 +- move /etc/adjtime config from initscripts to util-linux + +* Wed Apr 11 2018 Karel Zak - 2.32-4 +- fix #1560642 - uuidd.service does not start + +* Tue Apr 10 2018 Karel Zak - 2.32-3 +- remove unused build option --enable-libmount-force-mountinfo (it's default now) + +* Tue Mar 27 2018 Karel Zak - 2.32-2 +- fix #1560283 - column does not properly handle spaces at beginning of tab-separated table columns + +* Wed Mar 21 2018 Karel Zak - 2.32-1 +- upgrade to v2.32 + +* Tue Feb 20 2018 Karel Zak - 2.32-0.2 +- add BuildRequires gcc + +* Tue Feb 13 2018 Karel Zak - 2.32-0.1 +- upgrade to v2.32-rc1 + http://www.kernel.org/pub/linux/utils/util-linux/v2.32/v2.32-ReleaseNotes + +* Fri Feb 09 2018 Fedora Release Engineering - 2.31-5 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild + +* Sat Jan 20 2018 Björn Esser - 2.31-4 +- Rebuilt for switch to libxcrypt + +* Wed Jan 03 2018 Lumír Balhar - 2.31-3 +- Fix directory ownership in python subpackage + +* Mon Oct 30 2017 Karel Zak - 2.31-2 +- fix dmesg for multi-line records + +* Mon Oct 23 2017 Karel Zak - 2.31-1 +- upgrade to final v2.31 +- move rfkill to sbin (for backward compatibility) + +* Mon Oct 9 2017 Karel Zak - 2.31-0.4 +- fix build error + +* Mon Oct 9 2017 Karel Zak - 2.31-0.3 +- upgrade to v2.31-rc2 +- enable rfkill + +* Mon Sep 25 2017 Karel Zak - 2.31-0.2 +- temporary disable rfkill (fix #1494855) + +* Fri Sep 22 2017 Karel Zak - 2.31-0.1 +- upgrade to v2.31-rc1 + http://ftp.kernel.org/pub/linux/utils/util-linux/v2.31/v2.31-ReleaseNotes + +* Fri Sep 22 2017 Karel Zak - 2.30.2-1 +- upgrade to v2.30.2 + http://ftp.kernel.org/pub/linux/utils/util-linux/v2.30/v2.30.2-ReleaseNotes + +* Mon Aug 14 2017 Karel Zak - 2.30.1-5 +- make ln-s usage more robust + +* Fri Aug 4 2017 Karel Zak - 2.30.1-4 +- fix post install script + +* Wed Aug 2 2017 Karel Zak - 2.30.1-3 +- fix #1390191 - systemd read-only container produces errors + +* Thu Jul 27 2017 Fedora Release Engineering - 2.30.1-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild + +* Thu Jul 20 2017 Karel Zak - 2.30.1-1 +- upgrade to v2.30.1 + http://ftp.kernel.org/pub/linux/utils/util-linux/v2.30/v2.30.1-ReleaseNotes + +* Fri Jun 2 2017 Karel Zak - 2.30-1 +- upgrade to v2.30 + +* Wed May 17 2017 Karel Zak - 2.30-0.1 +- upgrade to v2.30-rc1 + http://ftp.kernel.org/pub/linux/utils/util-linux/v2.30/v2.30-ReleaseNotes + +* Fri Feb 24 2017 Karel Zak - 2.29.2-1 +- upgrade to v2.29.2 + http://ftp.kernel.org/pub/linux/utils/util-linux/v2.29/v2.29.2-ReleaseNotes + +* Sat Feb 11 2017 Fedora Release Engineering - 2.29.1-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild + +* Fri Jan 20 2017 Karel Zak - 2.29.1-1 +- upgrade to v2.29.1 + http://ftp.kernel.org/pub/linux/utils/util-linux/v2.29/v2.29.1-ReleaseNotes + +* Mon Dec 19 2016 Miro Hrončok - 2.29-2 +- Rebuild for Python 3.6 + +* Tue Nov 8 2016 Karel Zak - 2.29-1 +- upgrade to v2.29 + +* Wed Oct 19 2016 Karel Zak - 2.29-0.2 +- upgrade to v2.29-rc2 + +* Fri Sep 30 2016 Karel Zak - 2.29-0.1 +- upgrade to v2.29-rc1 + http://ftp.kernel.org/pub/linux/utils/util-linux/v2.29/v2.29-ReleaseNotes + +* Wed Sep 7 2016 Karel Zak - 2.28.2-1 +- upgrade to stable 2.28.2 + http://ftp.kernel.org/pub/linux/utils/util-linux/v2.28/v2.28.2-ReleaseNotes + +* Thu Aug 18 2016 Karel Zak - 2.28.1-1 +- upgrade to stable 2.28.1 + http://ftp.kernel.org/pub/linux/utils/util-linux/v2.28/v2.28.1-ReleaseNotes + +* Tue Jul 19 2016 Fedora Release Engineering - 2.28-4 +- https://fedoraproject.org/wiki/Changes/Automatic_Provides_for_Python_RPM_Packages + +* Mon Jun 13 2016 Karel Zak - 2.28-3 +- fix #1234317 - CD / DVD are rarely automounted + +* Tue Apr 26 2016 Karel Zak - 2.28-2 +- refresh login-lastlog-create.patch + +* Tue Apr 12 2016 Karel Zak - 2.28-1 +- upgrade to stable v2.28 + +* Wed Mar 30 2016 Karel Zak - 2.28-0.3 +- fix libblkid + +* Tue Mar 29 2016 Karel Zak - 2.28-0.2 +- upgrade to v2.28-rc2 + +* Tue Mar 22 2016 Karel Zak - 2.28-0.1 +- upgrade to v2.28-rc1 + http://ftp.kernel.org/pub/linux/utils/util-linux/v2.28/v2.28-ReleaseNotes +- add patch to fix broken swapon +- add subpackage util-linux-user (utils with dependence on libuser) + +* Fri Feb 05 2016 Fedora Release Engineering - 2.27.1-5 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild + +* Mon Jan 18 2016 Karel Zak - 2.27.1-4 +- fix #1299255 - boot.iso (from 20160117 Rawhide compose) incorrectly detected as minix FS + +* Wed Nov 18 2015 Karel Zak - 2.27.1-3 +- fix #1259745 - Can't start installation in Rawhide or F23 recent development images + +* Tue Nov 10 2015 Fedora Release Engineering - 2.27.1-2 +- Rebuilt for https://fedoraproject.org/wiki/Changes/python3.5 + +* Mon Nov 2 2015 Karel Zak - 2.27.1 +- upgrade to v2.27.1 + http://ftp.kernel.org/pub/linux/utils/util-linux/v2.27/v2.27.1-ReleaseNotes + +* Mon Sep 7 2015 Karel Zak - 2.27 +- upgrade to v2.27 + +* Mon Aug 24 2015 Karel Zak - 2.27-0.4 +- upgrade to v2.27-rc2 + +* Thu Aug 13 2015 Karel Zak - 2.27-0.3 +- improve version usage in source url + +* Wed Aug 12 2015 Karel Zak - 2.27-0.2 +- fix #1251320 - rfe: please change login to not add /bin:/sbin to $PATH +- apply patches from Lokesh Mandvekar to make spec file more portable + +* Fri Jul 31 2015 Karel Zak - 2.27-0.1 +- upgrade to v2.27-rc1 + http://ftp.kernel.org/pub/linux/utils/util-linux/v2.27/v2.27-ReleaseNotes +- add lsipc + +* Thu Jul 16 2015 Karel Zak - 2.26.2-3 +- fix dates in the spec file + +* Fri Jun 19 2015 Fedora Release Engineering - 2.26.2-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild + +* Thu Apr 30 2015 Karel Zak - 2.26.2-1 +- upgrade to stable release 2.26.2 + ftp://ftp.kernel.org/pub/linux/utils/util-linux/v2.26/v2.26.2-ReleaseNotes + +* Sat Feb 21 2015 Till Maas - 2.26-2 +- Rebuilt for Fedora 23 Change + https://fedoraproject.org/wiki/Changes/Harden_all_packages_with_position-independent_code + +* Thu Feb 19 2015 Karel Zak 2.26-1 +- upgrade to stable release 2.26 + +* Tue Feb 10 2015 Karel Zak 2.26-0.4 +- fix setarch build on PPC + +* Thu Feb 5 2015 Karel Zak 2.26-0.3 +- upgrade to 2.26-rc2 + +* Fri Jan 16 2015 Karel Zak 2.26-0.2 +- fix 1182778 - remount causes ro / and /home on boot + +* Thu Jan 15 2015 Karel Zak 2.26-0.1 +- upgrade to 2.26-rc1 + ftp://ftp.kernel.org/pub/linux/utils/util-linux/v2.26/v2.26-ReleaseNotes +- build with -pie for uuidd +- new command zramctl + +* Thu Nov 27 2014 Karel Zak 2.25.2-2 +- fix #1168490 - CVE-2014-9114 util-linux: command injection flaw in blkid + +* Fri Oct 24 2014 Karel Zak 2.25.2-1 +- upgrade to stable 2.25.2 + ftp://ftp.kernel.org/pub/linux/utils/util-linux/v2.25/v2.25.2-ReleaseNotes + +* Wed Sep 3 2014 Karel Zak 2.25.1-1 +- upgrade to stable 2.25.1 + ftp://ftp.kernel.org/pub/linux/utils/util-linux/v2.25/v2.25.1-ReleaseNotes + +* Wed Aug 27 2014 Karel Zak 2.25.1-0.1 +- upgrade to release 2.25.1-rc1 + ftp://ftp.kernel.org/pub/linux/utils/util-linux/v2.25/v2.25.1-ReleaseNotes + +* Mon Aug 18 2014 Fedora Release Engineering - 2.25-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_22_Mass_Rebuild + +* Wed Aug 6 2014 Tom Callaway 2.25-3 +- fix license handling + +* Thu Jul 24 2014 Karel Zak 2.25-2 +- remove fstrim unit files from uuidd subpackage + +* Tue Jul 22 2014 Karel Zak 2.25-1 +- upgrade to stable release 2.25 + +* Wed Jul 02 2014 Karel Zak 2.25-0.3 +- upgrade to release 2.25-rc2 + +* Wed Jun 25 2014 Peter Jones - 2.25-0.2 +- Fix libblkid's squashfs probe return checking. + Related: rhbz#1112315 + +* Thu Jun 19 2014 Karel Zak 2.25-0.1 +- upgrade to release 2.25-rc1 + ftp://ftp.kernel.org/pub/linux/utils/util-linux/v2.25/v2.25-ReleaseNotes + +* Sun Jun 08 2014 Fedora Release Engineering - 2.24.2-6 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild + +* Wed May 28 2014 Kalev Lember - 2.24.2-5 +- Rebuilt for https://fedoraproject.org/wiki/Changes/Python_3.4 + +* Mon May 12 2014 Karel Zak 2.24.2-4 +- fix #1094935 - script and/or trigger should not directly enable systemd units + +* Mon May 12 2014 Karel Zak 2.24.2-3 +- fix #1090638 - remove pam_securetty.so from .pamd files + +* Wed May 7 2014 Karel Zak 2.24.2-2 +- use systemd macroized scriptlets (#850355) + +* Thu Apr 24 2014 Karel Zak 2.24.2-1 +- upgrade to stable release 2.24.2 + ftp://ftp.kernel.org/pub/linux/utils/util-linux/v2.24/v2.24.2-ReleaseNotes + +* Thu Jan 30 2014 Karel Zak 2.24.1-2 +- use rpm autosetup + +* Mon Jan 20 2014 Karel Zak 2.24.1-1 +- upgrade to stable release 2.24.1 + ftp://ftp.kernel.org/pub/linux/utils/util-linux/v2.24/v2.24.1-ReleaseNotes + +* Mon Nov 18 2013 Karel Zak 2.24-2 +- fix #1031262 - lsblk -D segfault + +* Wed Oct 23 2013 Karel Zak 2.24-1 +- upgrade to upstream release v2.24 +- remove nologin (merged upstream) +- fix #1022217 - fdisk mishandles GPT corruption + +* Fri Sep 27 2013 Karel Zak 2.24-0.1 +- upgrade to upstream release v2.24-rc1 +- add python3 libmount binding + +* Mon Sep 9 2013 Karel Zak 2.23.2-4 +- fix #1005566 - recount_geometry: Process /usr/sbin/fdisk was killed by signal 8 (SIGFPE) +- fix #1005194 - su generates incorrect log entries + +* Mon Sep 9 2013 Karel Zak 2.23.2-3 +- refresh and rename patches +- fix #987787 - Remove lastlogin from su +- fix #950497 - problem umounting loop device +- fix #921498 - multiple internal testsuite failures + +* Thu Aug 1 2013 Karel Zak 2.23.2-2 +- fix 990083 - su doesn't work with pam_ecryptfs + +* Wed Jul 31 2013 Karel Zak 2.23.2-1 +- upgrade to stable release 2.23.2 + ftp://ftp.kernel.org/pub/linux/utils/util-linux/v2.23/v2.23.2-ReleaseNotes + +* Thu Jun 13 2013 Karel Zak 2.23.1-3 +- fix #972457 - agetty idle I/O polling causes elevated CPU usage + +* Wed Jun 5 2013 Karel Zak 2.23.1-2 +- fix #962145 - in.telnetd immediately closes connection + +* Tue May 28 2013 Karel Zak 2.23.1-1 +- upgrade to 2.23.1 +- backport agetty --local-line path + +* Thu Apr 25 2013 Karel Zak 2.23-1 +- upgrade to 2.23 +- add --with check to call make check + +* Mon Apr 15 2013 Karel Zak 2.23-0.7 +- remove unused patches + +* Mon Apr 15 2013 Karel Zak 2.23-0.6 +- remove floppy from util-linux + +* Fri Apr 12 2013 Karel Zak 2.23-0.5 +- fix #948274 - interruption code 0x4003B in libmount.so.1.1.0 + +* Wed Apr 10 2013 Karel Zak 2.23-0.4 +- upgrade to the release 2.23-rc2 + +* Wed Mar 27 2013 Karel Zak 2.23-0.3 +- libblkid ntfs bugfix for build on s390 + +* Wed Mar 27 2013 Karel Zak 2.23-0.2 +- add upstream patches for to fix umount and mount. + +* Fri Mar 22 2013 Karel Zak 2.23-0.1 +- upgrade to the release 2.23-rc1 + ftp://ftp.kernel.org/pub/linux/utils/util-linux/v2.23/v2.23-ReleaseNotes +- add nsenter and blkdiscard +- remove tunelp + +* Wed Feb 20 2013 Karel Zak 2.22.2-6 +- fix #912778 - "runuser -l" doesn't register session to systemd + +* Tue Feb 19 2013 Karel Zak 2.22.2-5 +- fix #902512 - Dependency failed for /home (and blkid fails to tell UUID) +- refresh old patches + +* Wed Feb 6 2013 Karel Zak 2.22.2-4 +- improve convertion to mtab symlink in post script +- spec file cleanup (based on #894199) + +* Sun Feb 3 2013 Karel Zak 2.22.2-3 +- fix #882305 - agetty: unstable /dev/tty* permissions +- fix #885314 - hexdump segfault +- fix #896447 - No newlines in piped "cal" command +- fix libblkid cache usage (upstream patch) +- fix #905008 - uuidd: /usr/sbin/uuidd has incorrect file permissions + +* Tue Jan 15 2013 Karel Zak 2.22.2-2 +- fix #889888 - wipefs does not completely wipe btrfs volume + +* Thu Dec 13 2012 Karel Zak 2.22.2-1 +- upgrade to upstream maintenance release 2.22.2 + +* Mon Nov 19 2012 Karel Zak 2.22.1-5 +- sources cleanup + +* Fri Nov 16 2012 Karel Zak 2.22.1-4 +- fix #872787 - su: COMMAND not specified + +* Thu Nov 1 2012 Karel Zak 2.22.1-3 +- backport upstream runuser(1) +- enable su(1) + +* Thu Nov 1 2012 Karel Zak 2.22.1-2 +- apply pathes from upstream stable/v2.22 branch +- fix #865961 - wipefs -a should use O_EXCL + +* Wed Oct 10 2012 Karel Zak 2.22.1-1 +- upgrade to the release 2.22.1 + +* Wed Oct 3 2012 Karel Zak 2.22-2 +- remove obsolete references to e2fsprogs + +* Thu Sep 6 2012 Karel Zak 2.22-1 +- upgrade to the release 2.22 +- enable eject(1) from util-linux, obsolete original eject package +- fix #853164 - setuid program should have full RELRO +- fix #851230 - probe_ntfs: /usr/sbin/blkid was killed by SIGSEGV + +* Thu Aug 16 2012 Karel Zak 2.22-0.1 +- upgrade to the release 2.22-rc2 + ftp://ftp.kernel.org/pub/linux/utils/util-linux/v2.22/v2.22-ReleaseNotes +- add sulogin, utmpdump, lslocks, wdctl + +* Fri Jul 27 2012 Fedora Release Engineering - 2.21.2-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild + +* Wed Jun 13 2012 Karel Zak 2.21.2-2 +- replace udev dependenceis with systemd + +* Fri May 25 2012 Karel Zak 2.21.2-1 +- upgrade to bugfix release 2.21.2 +- fix #814699 - namei(1) incorrectly resolves relative symlinks +- fix #820707 - Impossible to unmount nfsv4/krb5 mounts after network disconnect +- fix #816877 - libmount does not close device fd before mount(2) +- fix #822705 - unable to login after installing + +* Fri Mar 30 2012 Karel Zak 2.21.1-1 +- upgrade to bugfix release 2.21.1 + +* Fri Feb 24 2012 Karel Zak 2.21-1 +- upgrade to release 2.21 + +* Thu Feb 09 2012 Karel Zak 2.21-0.2 +- fix #788703 - /run/blkid does not exist + +* Tue Feb 07 2012 Karel Zak 2.21-0.1 +- upgrade to the release 2.21-rc2 + ftp://ftp.kernel.org/pub/linux/utils/util-linux/v2.21/v2.21-ReleaseNotes +- add {fsck,mkfs}.minix +- add new command chcpu(8) +- add new command prlimit(1) +- enable raw(8) command +- move 60-raw.rules from /etc from /usr/lib/udev/rules.d +- move blkid cache from etc to /run/blkid + +* Wed Jan 25 2012 Harald Hoyer 2.20.1-5 +- install everything in /usr + https://fedoraproject.org/wiki/Features/UsrMove + +* Sat Jan 14 2012 Fedora Release Engineering - 2.20.1-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_17_Mass_Rebuild + +* Tue Nov 22 2011 Karel Zak 2.20.1-3 +- fix #748216 - util-linux requires pam >= 1.1.3-7 +- remove ddate(1) + +* Wed Oct 26 2011 Fedora Release Engineering - 2.20.1-2 +- Rebuilt for glibc bug#747377 + +* Thu Oct 20 2011 Karel Zak 2.20.1-1 +- upgrade to the release 2.20.1 + ftp://ftp.infradead.org/pub/util-linux/v2.20/v2.20.1-ReleaseNotes + +* Mon Aug 29 2011 Karel Zak 2.20-1 +- upgrade to the release 2.20 + +* Wed Aug 17 2011 Karel Zak 2.20-0.2 +- upgrade to the release 2.20-rc2 + ftp://ftp.kernel.org/pub/linux/utils/util-linux/v2.20/v2.20-rc2-ChangeLog + +* Tue Aug 2 2011 Karel Zak 2.20-0.1 +- upgrade to the release 2.20-rc1 + ftp://ftp.kernel.org/pub/linux/utils/util-linux/v2.20/v2.20-ReleaseNotes + +* Mon Jul 4 2011 Karel Zak 2.19.1-2 +- fix #716483 - /var/tmp --(BIND-mounted)--> /tmp disrupts/hangs bootup +- fix #709681 - failure to mount if a mount point ends with a slash in /etc/fstab +- fix #709319 - 'mount -a' mounts already mounted directories +- fix kernel version parsing + +* Fri May 6 2011 Karel Zak 2.19.1-1 +- upgrade to the release 2.19.1 + ftp://ftp.kernel.org/pub/linux/utils/util-linux/v2.19/v2.19.1-ReleaseNotes + +* Wed Apr 20 2011 Karel Zak 2.19.1-0.1 +- upgrade to the release 2.19.1-rc1 + ftp://ftp.kernel.org/pub/linux/utils/util-linux/v2.19/v2.19.1-rc1-ChangeLog + +* Mon Mar 7 2011 Karel Zak 2.19-2 +- fix #682502 - Broken source URL to floppy tarball, new version available +- upgrade to floppy-0.18 + +* Thu Feb 10 2011 Karel Zak 2.19-1 +- upgrade to the release 2.19 + ftp://ftp.kernel.org/pub/linux/utils/util-linux/v2.19/v2.19-ReleaseNotes +- remove /sbin/mount.tmpfs -- integrated to mount(8) + +* Tue Feb 8 2011 Karel Zak 2.19-0.6 +- fix #665062 - add support for the postlogin PAM stack to util-linux-ng + +* Mon Feb 07 2011 Fedora Release Engineering - 2.19-0.5 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_15_Mass_Rebuild + +* Tue Jan 25 2011 Karel Zak 2.19-0.4 +- upgrade to the release 2.19-rc3 + ftp://ftp.kernel.org/pub/linux/utils/util-linux/v2.19/v2.19-rc3-ChangeLog + +* Tue Jan 25 2011 Karel Zak 2.19-0.3 +- upgrade to the release 2.19-rc2 + ftp://ftp.kernel.org/pub/linux/utils/util-linux/v2.19/v2.19-rc2-ChangeLog +- fix #671893 - SELinux is preventing /bin/chown from 'setattr' accesses + on the file mounts. + +* Wed Jan 19 2011 Karel Zak 2.19-0.2 +- clean up specfile (review #667416) + +* Wed Jan 5 2011 Karel Zak 2.19-0.1 +- upgrade to the release 2.19-rc1 + ftp://ftp.kernel.org/pub/linux/utils/util-linux/v2.19/v2.19-ReleaseNotes + +* Tue Oct 26 2010 Karel Zak 2.18-5 +- fix #645640 - new "-s" parameter parsing in agetty does not work +- add -l (lock) support to fsck + +* Wed Aug 18 2010 Karel Zak 2.18-4 +- fix #623685 - please extend agetty to not require a baud rate to be specified + +* Thu Aug 5 2010 Karel Zak 2.18-3 +- fix #620924 - /sbin/mount.tmpfs uses not available /usr/bin/id + +* Mon Aug 2 2010 Karel Zak 2.18-2 +- fix #615719 - tmpfs mount fails with 'user' option. +- fix #598631 - shutdown, reboot, halt and C-A-D don't work +- fix #618957 - ISO images listed in fstab are mounted twice at boot + +* Wed Jun 30 2010 Karel Zak 2.18-1 +- upgrade to the final 2.18 + ftp://ftp.kernel.org/pub/linux/utils/util-linux-ng/v2.18/v2.18-ReleaseNotes + +* Fri Jun 18 2010 Karel Zak 2.18-0.2 +- upgrade to 2.18-rc2 + ftp://ftp.kernel.org/pub/linux/utils/util-linux-ng/v2.18/v2.18-rc2-ChangeLog + +* Tue Jun 8 2010 Karel Zak 2.18-0.1 +- upgrade to the release 2.18-rc1 + ftp://ftp.kernel.org/pub/linux/utils/util-linux-ng/v2.18/v2.18-ReleaseNotes + ftp://ftp.kernel.org/pub/linux/utils/util-linux-ng/v2.18/v2.18-rc1-ChangeLog + +* Mon Apr 12 2010 Karel Zak 2.17.2-1 +- fix #581252 - remounting tmpfs fails because of hidden rootcontext= +- fix #580296 - "rtcwake" does miss the "off" option +- fix #575734 - use microsecond resolution for blkid cache entries +- upgrade to the bugfix release 2.17.2 + ftp://ftp.kernel.org/pub/linux/utils/util-linux-ng/v2.17/v2.17.2-ReleaseNotes + ftp://ftp.kernel.org/pub/linux/utils/util-linux-ng/v2.17/v2.17.2-ChangeLog +- minor fixed in spec file + +* Thu Mar 11 2010 Karel Zak 2.17.1-2 +- fix #533874 - libblkid should allow scanning of slow devices (eg. cdroms) + +* Mon Feb 22 2010 Karel Zak 2.17.1-1 +- upgrade to the final 2.17.1 + ftp://ftp.kernel.org/pub/linux/utils/util-linux-ng/v2.17/v2.17.1-ReleaseNotes + ftp://ftp.kernel.org/pub/linux/utils/util-linux-ng/v2.17/v2.17.1-ChangeLog + +* Tue Feb 16 2010 Karel Zak 2.17.1-0.1 +- upgrade to 2.17.1-rc1 + +* Tue Feb 16 2010 Karel Zak 2.17-4 +- fix uuidd init script + +* Fri Feb 12 2010 Karel Zak 2.17-3 +- fix #541402 - uuidd initscript lsb compliance + +* Fri Jan 8 2010 Karel Zak 2.17-2 +- remove Provides: lib{uuid,blkid}-static (thanks to Michael Schwendt) +- remove useless URL to sf.net + +* Fri Jan 8 2010 Karel Zak 2.17-1 +- upgrade to the final 2.17 + ftp://ftp.kernel.org/pub/linux/utils/util-linux-ng/v2.17/v2.17-ReleaseNotes + ftp://ftp.kernel.org/pub/linux/utils/util-linux-ng/v2.17/v2.17-ChangeLog +- fix #545147 - util-linux-ng : Violation of the Packaging Guidelines + (remove uuid and blkid static libs) + +* Mon Dec 14 2009 Karel Zak 2.17-0.6 +- minor fixes in spec file (fix URL, add Requires, add LGPLv2+) + +* Wed Dec 9 2009 Karel Zak 2.17-0.5 +- upgrade to 2.17-rc2 + ftp://ftp.kernel.org/pub/linux/utils/util-linux-ng/v2.17/v2.17-rc2-ChangeLog + +* Mon Dec 7 2009 Karel Zak 2.17-0.4 +- add clock.8 man page (manlink to hwclock) +- add --help to mount.tmpfs + +* Mon Nov 23 2009 Karel Zak 2.17-0.3 +- upgrade to 2.17-rc1 + ftp://ftp.kernel.org/pub/linux/utils/util-linux-ng/v2.17/v2.17-rc1-ChangeLog + +* Tue Nov 10 2009 Karel Zak 2.17-0.2.git10dfc39 +- upgrade to pre-release snapshot (official changelog not available yet, see + http://git.kernel.org/?p=utils/util-linux-ng/util-linux-ng.git for now) + +* Mon Oct 19 2009 Karel Zak 2.17-0.1.git5e51568 +- upgrade to pre-release snapshot (official changelog not available yet, see + http://git.kernel.org/?p=utils/util-linux-ng/util-linux-ng.git for now) +- new commands: fallocate, unshare, wipefs +- libblkid supports topology and partitions probing +- remove support for --rmpart[s] from blockdev(8) (util-linux-ng-2.14-blockdev-rmpart.patch) +- merged upstream: + util-linux-ng-2.14-sfdisk-dump.patch + util-linux-ng-2.16-blkid-swsuspend.patch + util-linux-ng-2.16-libblkid-compression.patch + util-linux-ng-2.16-libblkid-ext2.patch + util-linux-ng-2.16-switchroot-tty.patch + +* Mon Oct 5 2009 Karel Zak 2.16-13 +- fix spec file + +* Fri Oct 2 2009 Karel Zak 2.16-12 +- release++ + +* Thu Oct 1 2009 Karel Zak 2.16-11 +- fix #519237 - bash: cannot set terminal process group (-1): Inappropriate ioctl for device + +* Wed Sep 16 2009 Tomas Mraz - 2.16-10 +- use password-auth common PAM configuration instead of system-auth and + drop pam_console.so call from the remote PAM config file + +* Mon Sep 14 2009 Karel Zak 2.16-9 +- fix #522718 - sfdisk -d /dev/xxx | sfdisk --force /dev/yyy fails when LANG is set +- fix typo in swsuspend detection + +* Wed Aug 26 2009 Tomas Mraz - 2.16-8 +- rebuilt with new audit + +* Sun Aug 23 2009 Karel Zak 2.16-7 +- fix #518572 - blkid requires ext2.ko to be decompressed on installation media + +* Thu Aug 13 2009 Karel Zak 2.16-5 +- fix #513104 - blkid returns no fstype for ext2 device when ext2 module not loaded + +* Wed Aug 5 2009 Stepan Kasal 2.16-4 +- set conflict with versions of e2fsprogs containing fsck + +* Thu Jul 30 2009 Karel Zak 2.16-3 +- remove the mount.conf support (see #214891) + +* Mon Jul 27 2009 Karel Zak 2.16-2 +- fix #214891 - add mount.conf and MTAB_LOCK_DIR= option + +* Sat Jul 25 2009 Karel Zak 2.16-1 +- upgrade to 2.16 + ftp://ftp.kernel.org/pub/linux/utils/util-linux-ng/v2.16/v2.16-ReleaseNotes +- enable built-in libuuid (replacement for the old uuid stuff from e2fsprogs) +- new commands switch_root, uuidgen and uuidd (subpackage) + +* Wed Jun 10 2009 Karel Zak 2.15.1-1 +- upgrade to 2.15.1 + +* Mon Jun 8 2009 Karel Zak 2.15.1-0.2 +- set BuildRequires: e2fsprogs-devel +- add Requires: e2fsprogs-devel to libblkid-devel + +* Thu Jun 4 2009 Karel Zak 2.15.1-0.1 +- upgrade to 2.15.1-rc1 + ftp://ftp.kernel.org/pub/linux/utils/util-linux-ng/v2.15/v2.15-ReleaseNotes + ftp://ftp.kernel.org/pub/linux/utils/util-linux-ng/v2.15/v2.15.1-rc1-ChangeLog +- merged patches: + util-linux-ng-2.14-login-remote.patch + util-linux-ng-2.14-fdisk-4k-I.patch + util-linux-ng-2.14-fdisk-4k-II.patch + util-linux-ng-2.14-fdisk-4k-III.patch + util-linux-ng-2.14-dmesg-r.patch + util-linux-ng-2.14-flock-segfaults.patch + util-linux-ng-2.14-renice-n.patch +- new commands: lscpu, ipcmk +- remove support for "managed" and "kudzu" mount options +- cleanup spec file +- enable built-in libblkid (replacement for the old blkid from e2fsprogs) + +* Thu Apr 2 2009 Karel Zak 2.14.2-8 +- fix #490769 - post scriptlet failed (thanks to Dan Horak) + +* Fri Mar 20 2009 Karel Zak 2.14.2-7 +- fix some nits in mount.tmpfs + +* Fri Mar 20 2009 Karel Zak 2.14.2-6 +- fix #491175 - mount of tmpfs FSs fail at boot + +* Thu Mar 19 2009 Karel Zak 2.14.2-5 +- fix #489672 - flock segfaults when file name is not given (upstream) +- fix #476964 - Mount /var/tmp with tmpfs creates denials +- fix #487227 - fdisk 4KiB hw sectors support (upstream) +- fix #477303 - renice doesn't support -n option (upstream) + +* Wed Feb 25 2009 Fedora Release Engineering - 2.14.2-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_11_Mass_Rebuild + +* Fri Feb 20 2009 Karel Zak 2.14.2-3 +- add -r option to dmesg(1) + +* Mon Feb 9 2009 Karel Zak 2.14.2-2 +- fix typo in spec file + +* Mon Feb 9 2009 Karel Zak 2.14.2-1 +- upgrade to stable 2.14.2 + ftp://ftp.kernel.org/pub/linux/utils/util-linux-ng/v2.14/v2.14.2-ReleaseNotes + +* Thu Jan 22 2009 Karel Zak 2.14.2-0.2 +- fix #480413 - util-linux-ng doesn't include scriptreplay +- fix #479002 - remove dependency on ConsoleKit-libs +- upgrade to 2.14.2-rc2 + +* Mon Dec 22 2008 Karel Zak 2.14.2-0.1 +- upgrade to 2.14.2-rc1 +- refresh old patches + +* Fri Nov 21 2008 Karel Zak 2.14.1-5 +- fix #472502 - problem with fdisk and use +sectors for the end of partition + +* Mon Oct 6 2008 Karel Zak 2.14.1-3 +- fix #465761 - mount manpage is missing uid/gid mount options for tmpfs +- refresh util-linux-ng-2.14-mount-file_t.patch (fuzz=0) + +* Wed Sep 10 2008 Karel Zak 2.14.1-2 +- remove obsolete pam-console support + +* Wed Sep 10 2008 Karel Zak 2.14.1-1 +- upgrade to stable 2.14.1 + +* Thu Aug 14 2008 Karel Zak 2.14.1-0.1 +- upgrade to 2.14.1-rc1 +- refresh old patches + +* Thu Jul 24 2008 Karel Zak 2.14-3 +- update util-linux-ng-2.14-mount-file_t.patch to make + the SELinux warning optional (verbose mode is required) + +* Tue Jul 1 2008 Karel Zak 2.14-2 +- fix #390691 - mount should check selinux context on mount, and warn on file_t + +* Mon Jun 9 2008 Karel Zak 2.14-1 +- upgrade to stable util-linux-ng release + +* Mon May 19 2008 Karel Zak 2.14-0.1 +- upgrade to 2.14-rc3 +- remove arch(8) (deprecated in favor of uname(1) or arch(1) from coreutils) +- add a new command ldattach(8) +- cfdisk(8) linked with libncursesw + +* Tue Apr 22 2008 Karel Zak 2.13.1-9 +- fix audit log injection attack via login + +* Thu Apr 17 2008 Karel Zak 2.13.1-8 +- fix location of the command raw(8) + +* Tue Apr 15 2008 Karel Zak 2.13.1-7 +- fix 244383 - libblkid uses TYPE="swsuspend" for S1SUSPEND/S2SUSPEND + +* Wed Apr 2 2008 Karel Zak 2.13.1-6 +- fix 439984 - backport mkswap -U + +* Wed Mar 26 2008 Tom "spot" Callaway - 2.13.1-5 +- clean up sparc conditionals + +* Tue Feb 19 2008 Fedora Release Engineering - 2.13.1-4 +- Autorebuild for GCC 4.3 + +* Mon Jan 28 2008 Karel Zak 2.13.1-3 +- upgrade to new upstream release +- fix #427874 - util-linux-ng gets "excess command line argument" on update + +* Wed Jan 2 2008 Karel Zak 2.13.1-2 +- update to upstream 2.13.1-rc2 + +* Wed Dec 12 2007 Dan Walsh 2.13.1-1 +- Fix pam files so that pam_keyinit happens after pam_selinux.so + +* Wed Dec 12 2007 Karel Zak 2.13.1-0.2 +- remove viwp and vigr (in favour of shadow-utils) + +* Sun Dec 9 2007 Karel Zak 2.13.1-0.1 +- update to the latest upstream stable branch + (commit: fda9d11739ee88c3b2f22a73f12ec019bd3b8335) + +* Wed Oct 31 2007 Karel Zak 2.13-4 +- fix #354791 - blockdev command calls the blkpg ioctl with a wrong data structure + +* Tue Oct 16 2007 Karel Zak 2.13-3 +- fix mount -L | -U segfault +- fix script die on SIGWINCH + +* Thu Oct 4 2007 Karel Zak 2.13-2 +- update to the latest upstream stable branch + +* Tue Aug 28 2007 Karel Zak 2.13-1 +- upgrade to stable util-linux-ng release + +* Fri Aug 24 2007 Karel Zak 2.13-0.59 +- add release number to util-linux Provides and increment setarch Obsoletes +- fix #254114 - spec typo +- upgrade to floppy-0.16 +- add BuildRequires: popt-devel + +* Wed Aug 22 2007 Jesse Keating 2.13-0.58 +- Obsolete a sufficiently high enough version of setarch + +* Mon Aug 20 2007 Karel Zak 2.13-0.57 +- fix #253664 - util-linux-ng fails to build on sparc (patch by Dennis Gilmore) +- rebase to new GIT snapshot + +* Mon Aug 20 2007 Karel Zak 2.13-0.56 +- fix obsoletes field + +* Mon Aug 20 2007 Karel Zak 2.13-0.55 +- util-linux-ng includes setarch(1), define relevat Obsoletes+Provides + +* Mon Aug 20 2007 Karel Zak 2.13-0.54 +- port "blockdev --rmpart" patch from util-linux +- use same Provides/Obsoletes setting like in util-linux + +* Wed Aug 15 2007 Karel Zak 2.13-0.53 +- fix #252046 - review Request: util-linux-ng (util-linux replacement) + +* Mon Aug 13 2007 Karel Zak 2.13-0.52 +- rebase to util-linux-ng (new util-linux upstream fork, + based on util-linux 2.13-pre7) +- more than 70 Fedora/RHEL patches have been merged to upstream code + +* Fri Apr 6 2007 Karel Zak 2.13-0.51 +- fix #150493 - hwclock --systohc sets clock 0.5 seconds slow +- fix #220873 - starting RPC idmapd: Error: RPC MTAB does not exist. + (added rpc_pipefs to util-linux-2.13-umount-sysfs.patch) +- fix #227903 - mount -f does not work with NFS-mounted + +* Sat Mar 3 2007 David Zeuthen 2.13-0.50 +- include ConsoleKit session module by default (#229172) + +* Thu Jan 11 2007 Karel Zak 2.13-0.49 +- fix #222293 - undocumented partx,addpart, delpart + +* Sun Dec 17 2006 Karel Zak 2.13-0.48 +- fix paths in po/Makefile.in.in + +* Fri Dec 15 2006 Karel Zak 2.13-0.47 +- fix #217240 - namei ignores non-directory components instead of saying "Not a directory" +- fix #217241 - namei enforces symlink limits inconsistently + +* Thu Dec 14 2006 Karel Zak 2.13-0.46 +- fix leaking file descriptor in the more command (patch by Steve Grubb) + +* Wed Dec 13 2006 Karel Zak 2.13-0.45 +- use ncurses only +- fix #218915 - fdisk -b 4K +- upgrade to -pre7 release +- fix building problem with raw0 patch +- fix #217186 - /bin/sh: @MKINSTALLDIRS@: No such file or directory + (port po/Makefile.in.in from gettext-0.16) +- sync with FC6 and RHEL5: +- fix #216489 - SCHED_BATCH option missing in chrt +- fix #216712 - issues with raw device support ("raw0" is wrong device name) +- fix #216760 - mount with context or fscontext option fails + (temporarily disabled the support for additional contexts -- not supported by kernel yet) +- fix #211827 - Can't mount with additional contexts +- fix #213127 - mount --make-unbindable does not work +- fix #211749 - add -r option to losetup to create a read-only loop + +* Thu Oct 12 2006 Karel Zak 2.13-0.44 +- fix #209911 - losetup.8 updated (use dm-crypt rather than deprecated cryptoloop) +- fix #210338 - spurious error from '/bin/login -h $PHONENUMBER' (bug in IPv6 patch) +- fix #208634 - mkswap "works" without warning on a mounted device + +* Sun Oct 01 2006 Jesse Keating - 2.13-0.43 +- rebuilt for unwind info generation, broken in gcc-4.1.1-21 + +* Wed Sep 20 2006 Karel Zak 2.13-0.42 +- remove obsolete NFS code and patches (we use /sbin/mount.nfs + and /sbin/umount.nfs from nfs-utils now) +- move nfs.5 to nfs-utils + +* Fri Sep 15 2006 Karel Zak 2.13-0.41 +- fix #205038 - mount not allowing sloppy option (exports "-s" + to external /sbin/mount.nfs(4) calls) +- fix minor bug in util-linux-2.13-mount-twiceloop.patch +- fix #188193- util-linux should provide plugin infrastructure for HAL + +* Mon Aug 21 2006 Karel Zak 2.13-0.40 +- fix Makefile.am in util-linux-2.13-mount-context.patch +- fix #201343 - pam_securetty requires known user to work + (split PAM login configuration to two files) +- fix #203358 - change location of taskset binary to allow for early affinity work + +* Fri Aug 11 2006 Karel Zak 2.13-0.39 +- fix #199745 - non-existant simpleinit(8) mentioned in ctrlaltdel(8) + +* Thu Aug 10 2006 Dan Walsh 2.13-0.38 +- Change keycreate line to happen after pam_selinux open call so it gets correct context + +* Thu Aug 10 2006 Karel Zak 2.13-0.37 +- fix #176494 - last -i returns strange IP addresses (patch by Bill Nottingham) + +* Thu Jul 27 2006 Karel Zak 2.13-0.36 +- fix #198300, #199557 - util-linux "post" scriptlet failure + +* Thu Jul 27 2006 Steve Dickson 2.13-0.35 +- Added the -o fsc flag to nfsmount. + +* Wed Jul 26 2006 Karel Zak 2.13-0.34 +- rebuild + +* Tue Jul 18 2006 Karel Zak 2.13-0.33 +- add Requires(post): libselinux + +* Mon Jul 17 2006 Karel Zak 2.13-0.32 +- add IPv6 support to the login command (patch by Milan Zazrivec) +- fix #198626 - add keyinit instructions to the login PAM script + (patch by David Howells) + +* Wed Jul 12 2006 Jesse Keating - 2.13-0.31.1 +- rebuild + +* Tue Jul 11 2006 Karel Zak 2.13-0.31 +- cleanup dependences for post and preun scriptlets + +* Mon Jul 10 2006 Karsten Hopp 2.13-0.30 +- silence install in minimal buildroot without /var/log + +* Fri Jul 7 2006 Karel Zak 2.13-0.29 +- include the raw command for RHELs + +* Mon Jun 26 2006 Florian La Roche 2.13-0.28 +- move install-info parts from postun to preun + +* Wed Jun 21 2006 Dan Walsh 2.13-0.27 +- Only execute chcon on machines with selinux enabled + +* Wed Jun 14 2006 Steve Dickson 2.13-0.26 +- Remove unneeded header files from nfsmount.c + +* Mon Jun 12 2006 Karel Zak 2.13-0.25 +- fix #187014 - umount segfaults for normal user +- fix #183446 - cal not UTF-8-aware +- fix #186915 - mount does not translate SELIinux context options though libselinux +- fix #185500 - Need man page entry for -o context= mount option +- fix #152579 - missing info about /etc/mtab and /proc/mounts mismatch +- fix #183890 - missing info about possible ioctl() and fcntl() problems on NFS filesystem +- fix #191230 - using mount --move results in wrong data in /etc/mtab +- added mount subtrees support +- fdisk: wrong number of sectors for large disks (suse#160822) +- merge fdisk-xvd (#182553) with new fdisk-isfull (#188981) patch +- fix #181549 - raw(8) manpage has old information about dd +- remove asm/page.h usage + +* Wed May 24 2006 Dan Walsh 2.13-0.24 +- Remove requirement on restorecon, since we can do the same thing +- with chcon/matchpathcon, and not add requirement on policycoreutils + +* Wed May 24 2006 Steve Dickson 2.13-0.23 +- Fixed bug in patch for bz183713 which cause nfs4 mounts to fail. + +* Tue May 2 2006 Steve Dickson 2.13-0.22 +- Added syslog logging to background mounts as suggested + by a customer. + +* Mon May 1 2006 Steve Dickson 2.13-0.21 +- fix #183713 - foreground mounts are not retrying as advertised +- fix #151549 - Added 'noacl' mount flag +- fix #169042 - Changed nfsmount to try udp before using tcp when rpc-ing + the remote rpc.mountd (iff -o tcp is not specified). + This drastically increases the total number of tcp mounts + that can happen at once (ala autofs). + +* Thu Mar 9 2006 Jesse Keating 2.13-0.20 +- Better calling of restorecon as suggested by Bill Nottingham +- prereq restorecon to avoid ordering issues + +* Thu Mar 9 2006 Jesse Keating 2.13-0.19 +- restorecon /var/log/lastlog + +* Wed Mar 8 2006 Karel Zak 2.13-0.17 +- fix #181782 - mkswap selinux relabeling (fix util-linux-2.13-mkswap-selinux.patch) + +* Wed Feb 22 2006 Karel Zak 2.13-0.16 +- fix #181782 - mkswap should automatically add selinux label to swapfile +- fix #180730 - col is exiting with 1 (fix util-linux-2.12p-col-EILSEQ.patch) +- fix #181896 - broken example in schedutils man pages +- fix #177331 - login omits pam_acct_mgmt & pam_chauthtok when authentication is skipped. +- fix #177523 - umount -a should not unmount sysfs +- fix #182553 - fdisk -l inside xen guest shows no disks + +* Fri Feb 10 2006 Jesse Keating - 2.13-0.15.1 +- bump again for double-long bug on ppc(64) + +* Wed Feb 8 2006 Peter Jones 2.13-0.15 +- add "blockdev --rmpart N " and "blockdev --rmparts " + +* Tue Feb 07 2006 Jesse Keating - 2.13-0.14.1 +- rebuilt for new gcc4.1 snapshot and glibc changes + +* Thu Jan 19 2006 Steve Dickson 2.13-0.14 +- Updated the gssd_check() and idmapd_check(), used with + nfsv4 mounts, to looked for the correct file in /var/lock/subsys + which stops bogus warnings. + +* Tue Jan 3 2006 Karel Zak 2.13-0.13 +- fix #174676 - hwclock audit return code mismatch +- fix #176441: col truncates data +- fix #174111 - mount allows loopback devices to be mounted more than once to the same mount point +- better wide chars usage in the cal command (based on the old 'moremisc' patch) + +* Mon Dec 12 2005 Karel Zak 2.13-0.12 +- rebuilt + +* Fri Dec 09 2005 Jesse Keating +- rebuilt + +* Fri Nov 25 2005 Karel Zak 2.13-0.11.pre6 +- update to upstream version 2.13-pre6 +- fix #172203 - mount man page in RHEL4 lacks any info on cifs mount options + +* Mon Nov 7 2005 Karel Zak 2.13-0.10.pre5 +- fix #171337 - mkfs.cramfs doesn't work correctly with empty files + +* Fri Oct 28 2005 Karel Zak 2.13-0.9.pre5 +- rebuild + +* Wed Oct 26 2005 Karel Zak 2.13-0.8.pre5 +- updated version of the patch for hwclock audit + +* Thu Oct 20 2005 Karel Zak 2.13-0.7.pre5 +- fix #171337 - mkfs.cramfs dies creating installer image + +* Thu Oct 20 2005 Karel Zak 2.13-0.6.pre5 +- update to upstream 2.13pre5 +- remove separated cramfs1.1 (already in upstream package) +- remove odd symlink /usr/bin/mkcramfs -> ../../sbin/mkfs.cramfs +- fix #170171 - ipcs -lm always report "max total shared memory (kbytes) = 0" + +* Mon Oct 17 2005 Karel Zak 2.13-0.5.pre4 +* fix #170564 - add audit message to login + +* Fri Oct 7 2005 Karel Zak 2.13-0.4.pre4 +- fix #169628 - /usr/bin/floppy doesn't work with /dev/fd0 +- fix #168436 - login will attempt to run if it has no read/write access to its terminal +- fix #168434 - login's timeout can fail - needs to call siginterrupt(SIGALRM,1) +- fix #165253 - losetup missing option -a [new feature] +- update PAM files (replace pam_stack with new "include" PAM directive) +- remove kbdrate from src.rpm +- update to 2.13pre4 + +* Fri Oct 7 2005 Steve Dickson 2.13-0.3.pre3 +- fix #170110 - Documentation for 'rsize' and 'wsize' NFS mount options + is misleading + +* Fri Sep 2 2005 Karel Zak 2.13-0.3.pre2 +- fix #166923 - hwclock will not run on a non audit-enabled kernel +- fix #159410 - mkswap(8) claims max swap area size is 2 GB +- fix #165863 - swsusp swaps should be reinitialized +- change /var/log/lastlog perms to 0644 + +* Tue Aug 16 2005 Karel Zak 2.13-0.2.pre2 +- /usr/share/misc/getopt/* -move-> /usr/share/doc/util-linux-2.13/getopt-* +- the arch command marked as deprecated +- removed: elvtune, rescuept and setfdprm +- removed: man8/sln.8 (moved to man-pages, see #10601) +- removed REDAME.pg and README.reset +- .spec file cleanup +- added schedutils (commands: chrt, ionice and taskset) + +* Tue Jul 12 2005 Karel Zak 2.12p-9.7 +- fix #159339 - util-linux updates for new audit system +- fix #158737 - sfdisk warning for large partitions, gpt +- fix #150912 - Add ocfs2 support +- NULL is better than zero at end of execl() + +* Thu Jun 16 2005 Karel Zak 2.12p-9.5 +- fix #157656 - CRM 546998: Possible bug in vipw, changes permissions of /etc/shadow and /etc/gshadow +- fix #159339 - util-linux updates for new audit system (pam_loginuid.so added to util-linux-selinux.pamd) +- fix #159418 - sfdisk unusable - crashes immediately on invocation +- fix #157674 - sync option on VFAT mount destroys flash drives +- fix .spec file /usr/sbin/{hwclock,clock} symlinks + +* Wed May 4 2005 Jeremy Katz - 2.12p-9.3 +- rebuild against new libe2fsprogs (and libblkid) to fix cramfs auto-detection + +* Mon May 2 2005 Karel Zak 2.12p-9.2 +- rebuild + +* Mon May 2 2005 Karel Zak 2.12p-9 +- fix #156597 - look - doesn't work with separators + +* Mon Apr 25 2005 Karel Zak 2.12p-8 +- fix #154498 - util-linux login & pam session +- fix #155293 - man 5 nfs should include vers as a mount option +- fix #76467 - At boot time, fsck chokes on LVs listed by label in fstab +- new Source URL +- added note about ATAPI IDE floppy to fdformat.8 +- fix #145355 - Man pages for fstab and fstab-sync in conflict + +* Tue Apr 5 2005 Karel Zak 2.12p-7 +- enable build with libblkid from e2fsprogs-devel +- remove workaround for duplicated labels + +* Thu Mar 31 2005 Steve Dickson 2.12p-5 +- Fixed nfs mount to rollback correctly. + +* Fri Mar 25 2005 Karel Zak 2.12p-4 +- added /var/log/lastlog to util-linux (#151635) +- disabled 'newgrp' in util-linux (enabled in shadow-utils) (#149997, #151613) +- improved mtab lock (#143118) +- fixed ipcs typo (#151156) +- implemented mount workaround for duplicated labels (#116300) + +* Wed Mar 16 2005 Elliot Lee 2.12p-3 +- rebuilt + +* Fri Feb 25 2005 Steve Dickson 2.12p-2 +- Changed nfsmount to only use reserve ports when necessary + (bz# 141773) + +* Thu Dec 23 2004 Elliot Lee 2.12p-1 +- Update to util-linux-2.12p. This changes swap header format + from - you may need to rerun mkswap if you did a clean install of + FC3. + +* Fri Dec 10 2004 Elliot Lee 2.12j-1 +- Update to util-linux-2.12j + +* Tue Dec 7 2004 Steve Dickson 2.12a-20 +- Corrected a buffer overflow problem with nfs mounts. + (bz# 141733) + +* Wed Dec 01 2004 Elliot Lee 2.12a-19 +- Patches for various bugs. + +* Mon Nov 29 2004 Steve Dickson 2.12a-18 +- Made NFS mounts adhere to the IP protocol if specified on + command line as well as made NFS umounts adhere to the + current IP protocol. Fix #140016 + +* Thu Oct 14 2004 Elliot Lee 2.12a-16 +- Add include_raw macro, build with it off for Fedora + +* Wed Oct 13 2004 Stephen C. Tweedie - 2.12a-15 +- Add raw patch to allow binding of devices not yet in /dev + +* Wed Oct 13 2004 John (J5) Palmieri 2.12a-14 +- Add David Zeuthen's patch to enable the pamconsole flag #133941 + +* Wed Oct 13 2004 Stephen C. Tweedie 2.12a-13 +- Restore raw utils (bugzilla #130016) + +* Mon Oct 11 2004 Phil Knirsch 2.12a-12 +- Add the missing remote entry in pam.d + +* Wed Oct 6 2004 Steve Dickson +- Rechecked in some missing NFS mounting code. + +* Wed Sep 29 2004 Elliot Lee 2.12a-10 +- Make swaplabel support work with swapon -a -e + +* Tue Sep 28 2004 Steve Dickson +- Updated the NFS and NFS4 code to the latest CITI patch set + (in which they incorporate a number of our local patches). + +* Wed Sep 15 2004 Nalin Dahybhai 2.12a-8 +- Fix #132196 - turn on SELinux support at build-time. + +* Wed Sep 15 2004 Phil Knirsch 2.12a-7 +- Fix #91174 with pamstart.patch + +* Tue Aug 31 2004 Elliot Lee 2.12a-6 +- Fix #16415, #70616 with rdevman.patch +- Fix #102566 with loginman.patch +- Fix #104321 with rescuept.patch (just use plain lseek - we're in _FILE_OFFSET_BITS=64 land now) +- Fix #130016 - remove raw. +- Re-add agetty (replacing it with mgetty is too much pain, and mgetty is much larger) + +* Thu Aug 26 2004 Steve Dickson +- Made the NFS security checks more explicit to avoid confusion + (an upstream fix) +- Also removed a compilation warning + +* Wed Aug 11 2004 Alasdair Kergon +- Remove unused mount libdevmapper inclusion. + +* Wed Aug 11 2004 Alasdair Kergon +- Add device-mapper mount-by-label support +- Fix segfault in mount-by-label when a device without a label is present. + +* Wed Aug 11 2004 Steve Dickson +- Updated nfs man page to show that intr are on by + default for nfs4 + +* Thu Aug 05 2004 Jindrich Novy +- modified warning causing heart attack for >16 partitions, #107824 + +* Fri Jul 09 2004 Elliot Lee 2.12a-3 +- Fix #126623, #126572 +- Patch cleanup +- Remove agetty (use mgetty, agetty is broken) + +* Tue Jun 15 2004 Elliot Lee +- rebuilt + +* Thu Jun 03 2004 Elliot Lee 2.12a-1 +- Update to 2.12a +- Fix #122448 + +* Thu May 13 2004 Dan Walsh 2.12-19 +- Change pam_selinux to run last + +* Tue May 04 2004 Elliot Lee 2.12-18 +- Fix #122448 (autofs issues) + +* Fri Apr 23 2004 Elliot Lee 2.12-17 +- Fix #119157 by editing the patch +- Add patch145 to fix #119986 + +* Fri Apr 16 2004 Elliot Lee 2.12-16 +- Fix #118803 + +* Tue Mar 23 2004 Jeremy Katz 2.12-15 +- mkcramfs: use PAGE_SIZE for default blocksize (#118681) + +* Sat Mar 20 2004 +- Updated the nfs-mount.patch to correctly + handle the mounthost option and to ignore + servers that do not set auth flavors + +* Tue Mar 16 2004 Dan Walsh 2.12-13 +- Fix selinux ordering or pam for login + +* Tue Mar 16 2004 +- Make RPC error messages displayed with -v argument +- Added two checks to the nfs4 path what will print warnings + when rpc.idmapd and rpc.gssd are not running +- Ping NFS v4 servers before diving into kernel +- Make v4 mount interruptible which also make the intr option on by default + +* Sat Mar 13 2004 +- Reworked how the rpc.idmapd and rpc.gssd checks were + done due to review comments from upstream. +- Added rpc_strerror() so the '-v' flag will show RPC errors. + +* Sat Mar 13 2004 +- Added two checks to the nfs4 path what will print warnings + when rpc.idmapd and rpc.gssd are not running. + +* Thu Mar 11 2004 +- Reworked and updated the nfsv4 patches. + +* Wed Mar 10 2004 Dan Walsh +- Bump version + +* Wed Mar 10 2004 Steve Dickson +- Tried to make nfs error message a bit more meaninful +- Cleaned up some warnings + +* Sun Mar 7 2004 Steve Dickson +- Added pesudo flavors for nfsv4 mounts. +- Added BuildRequires: libselinux-devel and Requires: libselinux + when WITH_SELINUX is set. + +* Fri Feb 27 2004 Dan Walsh 2.12-5 +- check for 2.6.3 kernel in mount options + +* Mon Feb 23 2004 Elliot Lee 2.12-4 +- Remove /bin/kill for #116100 + +* Fri Feb 20 2004 Dan Walsh 2.12-3 +- rebuilt + +* Fri Feb 13 2004 Elliot Lee +- rebuilt + +* Thu Feb 12 2004 Elliot Lee 2.12-1 +- Final 2.12 has been out for ages - might as well use it. + +* Wed Jan 28 2004 Steve Dickson 2.12pre-4 +- Added mount patches that have NFS version 4 support + +* Mon Jan 26 2004 Elliot Lee 2.12pre-3 +- Provides: mount losetup + +* Mon Jan 26 2004 Dan Walsh 2.12pre-2 +- Add multiple to /etc/pam.d/login for SELinux + +* Thu Jan 15 2004 Elliot Lee 2.12pre-1 +- 2.12pre-1 +- Merge mount/losetup packages into the main package (#112324) +- Lose separate + +* Mon Nov 3 2003 Dan Walsh 2.11y-35.sel +- remove selinux code from login and use pam_selinux + +* Thu Oct 30 2003 Dan Walsh 2.11y-34.sel +- turn on selinux + +* Fri Oct 24 2003 Elliot Lee 2.11y-34 +- Add BuildRequires: texinfo (from a bug# I don't remember) +- Fix #90588 with mountman patch142. + +* Mon Oct 6 2003 Dan Walsh 2.11y-33 +- turn off selinux + +* Thu Sep 25 2003 Dan Walsh 2.11y-32.sel +- turn on selinux +- remove context selection + +* Fri Sep 19 2003 Elliot Lee 2.11y-31 +- Add patch140 (alldevs) to fix #101772. Printing the total size of + all devices was deemed a lower priority than having all devices + (e.g. /dev/ida/c0d9) displayed. + +* Fri Sep 12 2003 Dan Walsh 2.11y-31 +- turn off selinux + +* Fri Sep 12 2003 Dan Walsh 2.11y-30.sel +- turn on selinux + +* Fri Sep 5 2003 Elliot Lee 2.11y-28 +- Fix #103004, #103954 + +* Fri Sep 5 2003 Dan Walsh 2.11y-27 +- turn off selinux + +* Thu Sep 4 2003 Dan Walsh 2.11y-26.sel +- build with selinux + +* Mon Aug 11 2003 Elliot Lee 2.11y-25 +- Use urandom instead for mkcramfs + +* Tue Jul 29 2003 Dan Walsh 2.11y-24 +- add SELINUX 2.5 support + +* Wed Jul 23 2003 Elliot Lee 2.11y-22 +- #100433 patch + +* Sat Jun 14 2003 Elliot Lee 2.11y-20 +- #97381 patch + +* Wed Jun 04 2003 Elliot Lee +- rebuilt + +* Mon Apr 21 2003 Elliot Lee 2.11y-17 +- Change patch128 to improve ipcs -l + +* Fri Apr 11 2003 Elliot Lee 2.11y-16 +- Fix #85407 + +* Fri Apr 11 2003 Elliot Lee 2.11y-15 +- Change patch128 to util-linux-2.11f-ipcs-84243-86285.patch to get all +ipcs fixes + +* Thu Apr 10 2003 Matt Wilson 2.11y-14 +- fix last login date display on AMD64 (#88574) + +* Mon Apr 7 2003 Jeremy Katz 2.11y-13 +- include sfdisk on ppc + +* Fri Mar 28 2003 Jeremy Katz 2.11y-12 +- add patch from msw to change mkcramfs blocksize with a command line option + +* Tue Mar 25 2003 Phil Knirsch 2.11y-11 +- Fix segfault on s390x due to wrong usage of BLKGETSIZE. + +* Thu Mar 13 2003 Elliot Lee 2.11y-10 +- Really apply the ipcs patch. Doh. + +* Mon Feb 24 2003 Elliot Lee +- rebuilt + +* Wed Feb 19 2003 Elliot Lee 2.11y-8 +- ipcs-84243.patch to fix #84243 + +* Thu Feb 13 2003 Yukihiro Nakai 2.11y-7 +- Update moremisc patch to fix swprintf()'s minimum field (bug #83361). + +* Mon Feb 03 2003 Elliot Lee 2.11y-6 +- Fix mcookie segfault on many 64-bit architectures (bug #83345). + +* Mon Feb 03 2003 Tim Waugh 2.11y-5 +- Fix underlined multibyte characters (bug #83376). + +* Sun Feb 02 2003 Florian La Roche +- rebuild to have again a s390 rpm +- disable some more apps for mainframe + +* Wed Jan 29 2003 Elliot Lee 2.11y-4 +- util-linux-2.11y-umask-82552.patch + +* Wed Jan 22 2003 Tim Powers +- rebuilt + +* Mon Jan 13 2003 Elliot Lee 2.11y-2 +- Fix #81069, #75421 + +* Mon Jan 13 2003 Elliot Lee 2.11y-1 +- Update to 2.11y +- Fix #80953 +- Update patch0, patch107, patch117, patch120 for 2.11y +- Remove patch60, patch61, patch207, patch211, patch212, patch119, patch121 +- Remove patch122, patch200 + +* Wed Oct 30 2002 Elliot Lee 2.11w-2 +- Remove some crack/unnecessary patches while submitting stuff upstream. +- Build with -D_FILE_OFFSET_BITS=64 + +* Tue Oct 29 2002 Elliot Lee 2.11w-1 +- Update to 2.11w, resolve patch conflicts + +* Tue Oct 08 2002 Phil Knirsch 2.11r-10hammer.3 +- Extended util-linux-2.11b-s390x patch to work again. + +* Thu Oct 03 2002 Elliot Lee 2.11r-10hammer.2 +- Add patch122 for hwclock on x86_64 + +* Thu Sep 12 2002 Than Ngo 2.11r-10hammer.1 +- Fixed pam config files + +* Wed Sep 11 2002 Bernhard Rosenkraenzer 2.11r-10hammer +- Port to hammer + +* Fri Aug 30 2002 Elliot Lee 2.11r-10 +- Patch120 (hwclock) to fix #72140 +- Include isosize util + +* Wed Aug 7 2002 Elliot Lee 2.11r-9 +- Patch120 (skipraid2) to fix #70353, because the original patch was +totally useless. + +* Fri Aug 2 2002 Elliot Lee 2.11r-8 +- Patch119 (fdisk-add-primary) from #67898 + +* Wed Jul 24 2002 Elliot Lee 2.11r-7 +- Really add the gptsize patch, instead of what I think the patch says. +(+1) + +* Tue Jul 23 2002 Elliot Lee 2.11r-6 +- Add the sp[n].size part of the patch from #69603 + +* Mon Jul 22 2002 Florian La Roche +- adjust mainframe patches + +* Tue Jul 2 2002 Bill Nottingham 2.11r-4 +- only require usermode if we're shipping kbdrate here + +* Fri Jun 28 2002 Trond Eivind Glomsrod 2.11r-3 +- Port the large swap patch to new util-linux... the off_t changes + now in main aren't sufficient + +* Thu Jun 27 2002 Elliot Lee 2.11r-2 +- Remove swapondetect (patch301) until it avoids possible false positives. + +* Thu Jun 27 2002 Elliot Lee 2.11r-1 +- Update to 2.11r, wheeee +- Remove unused patches + +* Thu Jun 27 2002 Elliot Lee 2.11n-19 +- Make a note here that this package was the source of the single change +contained in util-linux-2.11f-18 (in 7.2/Alpha), and also contains the +rawman patch from util-linux-2.11f-17.1 (in 2.1AS). +- Package has no runtime deps on slang, so remove the BuildRequires: +slang-devel. + +* Fri Jun 21 2002 Tim Powers +- automated rebuild + +* Thu Jun 20 2002 Elliot Lee 2.11n-17 +- Fix teg's swapondetect patch to not print out the usage message when +'swapon -a -e' is run. (#66690) (edit existing patch) +- Apply hjl's utmp handling patch (#66950) (patch116) +- Fix fdisk man page notes on IDE disk partition limit (#64013) (patch117) +- Fix mount.8 man page notes on vfat shortname option (#65628) (patch117) +- Fix possible cal overflow with widechars (#67090) (patch117) + +* Tue Jun 11 2002 Trond Eivind Glomsrod 2.11n-16 +- support large swap partitions +- add '-d' option to autodetect available swap partitions + +* Thu May 23 2002 Tim Powers +- automated rebuild + +* Wed May 15 2002 Elliot Lee 2.11n-14 +- Remove kbdrate (again). + +* Mon Apr 29 2002 Florian La Roche +- adjust mainframe patches to apply to current rpm +- do not include fdisk until it is fixed to work on mainframe + +* Mon Apr 01 2002 Elliot Lee 2.11n-12 +- Don't strip binaries - rpm does it for us. + +* Sun Mar 31 2002 Elliot Lee 2.11n-11 +- Apply patch115 from ejb@ql.org for bug #61868 + +* Wed Mar 27 2002 Elliot Lee 2.11n-10 +- Finish fixing #60675 (ipcrm man page), updated the patch. +- Fix #61203 (patch114 - dumboctal.patch). + +* Tue Mar 12 2002 Elliot Lee 2.11n-9 +- Update ctty3 patch to ignore SIGHUP while dropping controlling terminal + +* Fri Mar 08 2002 Elliot Lee 2.11n-8 +- Update ctty3 patch to drop controlling terminal before forking. + +* Fri Mar 08 2002 Elliot Lee 2.11n-7 + Fix various bugs: +- Add patch110 (skipraid) to properly skip devices that are part of a RAID array. +- Add patch111 (mkfsman) to update the mkfs man page's "SEE ALSO" section. +- remove README.cfdisk +- Include partx +- Fix 54741 and related bugs for good(hah!) with patch113 (ctty3) + +* Wed Mar 06 2002 Elliot Lee 2.11n-6 +- Put kbdrate in, add usermode dep. + +* Tue Feb 26 2002 Elliot Lee 2.11n-5 +- Fix #60363 (tweak raw.8 man page, make rawdevices.8 symlink). + +* Mon Jan 28 2002 Bill Nottingham 2.11n-4 +- remove kbdrate (fixes kbd conflict) + +* Fri Dec 28 2001 Elliot Lee 2.11n-3 +- Add util-linux-2.11n-ownerumount.patch (#56593) +- Add patch102 (util-linux-2.11n-colrm.patch) to fix #51887 +- Fix #53452 nits. +- Fix #56953 (remove tunelp on s390) +- Fix #56459, and in addition switch to using sed instead of perl. +- Fix #58471 +- Fix #57300 +- Fix #37436 +- Fix #32132 + +* Wed Dec 26 2001 Elliot Lee 2.11n-1 +- Update to 2.11n +- Merge mount/losetup back in. + +* Tue Dec 04 2001 Elliot Lee 2.11f-17 +- Add patch38 (util-linux-2.11f-ctty2.patch) to ignore SIGINT/SIGTERM/SIGQUIT in the parent, so that ^\ won't break things. + +* Fri Nov 09 2001 Elliot Lee 2.11f-16 +- Merge patches 36, 75, 76, and 77 into patch #37, to attempt resolve all the remaining issues with #54741. + +* Wed Oct 24 2001 Florian La Roche +- add nologin man-page for s390/s390x + +* Wed Oct 24 2001 Bernhard Rosenkraenzer 2.11f-14 +- Don't build kbdrate on s390/s390x +- Don't make the pivot_root.8 man page executable(!) + +* Tue Oct 23 2001 Elliot Lee 2.11f-13 +- Patch/idea #76 from HJL, fixes bug #54741 (race condition in login +acquisition of controlling terminal). + +* Thu Oct 11 2001 Bill Nottingham +- fix permissions problem with vipw & shadow files, again (doh!) + +* Tue Oct 09 2001 Erik Troan +- added patch from Olaf Kirch to fix possible pwent structure overwriting + +* Fri Sep 28 2001 Elliot Lee 2.11f-10 +- fdisk patch from arjan + +* Sun Aug 26 2001 Elliot Lee 2.11f-9 +- Don't include cfdisk, since it appears to be an even bigger pile of junk than fdisk? :) + +* Wed Aug 1 2001 Tim Powers +- don't require usermode + +* Mon Jul 30 2001 Elliot Lee 2.11f-7 +- Incorporate kbdrate back in. + +* Mon Jul 30 2001 Bill Nottingham +- revert the patch that calls setsid() in login that we had reverted + locally but got integrated upstream (#46223) + +* Tue Jul 24 2001 Florian La Roche +- correct s390x patch + +* Mon Jul 23 2001 Elliot Lee +- Add my megapatch (various bugs) +- Include pivot_root (#44828) + +* Thu Jul 12 2001 Bill Nottingham +- make shadow files 0400, not 0600 + +* Wed Jul 11 2001 Bill Nottingham +- fix permissions problem with vipw & shadow files + +* Mon Jun 18 2001 Florian La Roche +- update to 2.11f, remove any merged patches +- add s390x patches for somewhat larger swap + +* Thu Jun 14 2001 Erik Troan +- added --verbose patch to mkcramfs; it's much quieter by default now + +* Tue May 22 2001 Erik Troan +- removed warning about starting partitions on cylinder 0 -- swap version2 + makes it unnecessary + +* Wed May 9 2001 Bernhard Rosenkraenzer 2.11b-2 +- Fix up s390x support + +* Mon May 7 2001 Bernhard Rosenkraenzer 2.11b-1 +- Fix up login for real (a console session should be the controlling tty) + by reverting to 2.10s code (#36839, #36840, #39237) +- Add man page for agetty (#39287) +- 2.11b, while at it + +* Fri Apr 27 2001 Preston Brown 2.11a-4 +- /sbin/nologin from OpenBSD added. + +* Fri Apr 20 2001 Bernhard Rosenkraenzer 2.11a-3 +- Fix up login - exiting immediately even if the password is correct + is not exactly a nice feature. +- Make definite plans to kill people who update login without checking + if the new version works ;) + +* Tue Apr 17 2001 Erik Troan +- upgraded to 2.11a (kbdrate moved to kbd, among other things) +- turned off ALLOW_VCS_USE +- modified mkcramfs to not use a large number of file descriptors +- include mkfs.bfs + +* Sun Apr 8 2001 Matt Wilson +- changed Requires: kernel >= 2.2.12-7 to Conflicts: kernel < 2.2.12-7 + (fixes a initscripts -> util-linux -> kernel -> initscripts prereq loop) + +* Tue Mar 20 2001 Matt Wilson +- patched mkcramfs to use the PAGE_SIZE from asm/page.h instead of hard + coding 4096 (fixes mkcramfs on alpha...) + +* Mon Mar 19 2001 Matt Wilson +- added mkcramfs (from linux/scripts/mkcramfs) + +* Mon Feb 26 2001 Tim Powers +- fixed bug #29131, where ipc.info didn't have an info dir entry, + added the dir entry to ipc.texi (Patch58) + +* Fri Feb 23 2001 Preston Brown +- use lang finder script +- install info files + +* Thu Feb 08 2001 Erik Troan +- reverted login patch; seems to cause problems +- added agetty + +* Wed Feb 07 2001 Erik Troan +- updated kill man page +- added patch to fix vipw race +- updated vipw to edit /etc/shadow and /etc/gshadow, if appropriate +- added patch to disassociate login from tty, session, and pgrp + +* Tue Feb 06 2001 Erik Troan +- fixed problem w/ empty extended partitions +- added patch to fix the date in the more man page +- set OPT to pass optimization flags to make rather then RPM_OPT_FLAG +- fixed fdisk -l /Proc/partitions parsing +- updated to 2.10s + +* Tue Jan 23 2001 Preston Brown +- danish translations added + +* Mon Jan 15 2001 Nalin Dahyabhai +- fix segfault in login in btmp patch (#24025) + +* Mon Dec 11 2000 Oliver Paukstadt +- ported to s390 + +* Wed Nov 01 2000 Florian La Roche +- update to 2.10p +- update patch37 to newer fdisk version + +* Mon Oct 9 2000 Jeff Johnson +- update to 2.10o +- fdformat: fixed to work with kernel 2.4.0test6 (Marek Wojtowicz) +- login: not installed suid +- getopt: by default install aux files in /usr/share/misc +- update to 2.10n: +- added blockdev.8 +- change to elvtune (andrea) +- fixed overrun in agetty (vii@penguinpowered.com) +- shutdown: prefer umounting by mount point (rgooch) +- fdisk: added plan9 +- fdisk: remove empty links in chain of extended partitions +- hwclock: handle both /dev/rtc and /dev/efirtc (Bill Nottingham) +- script: added -f (flush) option (Ivan Schreter) +- script: added -q (quiet) option (Per Andreas Buer) +- getopt: updated to version 1.1.0 (Frodo Looijaard) +- Czech messages (Jiri Pavlovsky) +- login.1 man page had not /var/spool/mail path (#16998). +- sln.8 man page (but not executable) included (#10601). +- teach fdisk 0xde(Dell), 0xee(EFI GPT), 0xef(EFI FAT) partitions (#17610). + +* Wed Aug 30 2000 Matt Wilson +- rebuild to cope with glibc locale binary incompatibility, again + +* Mon Aug 14 2000 Jeff Johnson +- setfdprm should open with O_WRONLY, not 3. + +* Fri Aug 11 2000 Jeff Johnson +- fdformat should open with O_WRONLY, not 3. + +* Fri Jul 21 2000 Nalin Dahyabhai +- make 'look' look in /usr/share/dict + +* Fri Jul 21 2000 Bill Nottingham +- put /usr/local/sbin:/usr/local/bin in root's path + +* Wed Jul 19 2000 Jakub Jelinek +- rebuild to cope with glibc locale binary incompatibility + +* Thu Jul 13 2000 Prospector +- automatic rebuild + +* Mon Jul 10 2000 Bill Nottingham +- enable hwclock to use /dev/efirtc on ia64 (gettext is fun. :( ) + +* Mon Jul 3 2000 Bill Nottingham +- move cfdisk to /usr/sbin, it depends on /usr stuff +- add rescuept + +* Fri Jun 23 2000 Bernhard Rosenkraenzer +- point more at the correct path to vi (for "v"), Bug #10882 + +* Sun Jun 4 2000 Jeff Johnson +- FHS packaging changes. + +* Thu Jun 1 2000 Nalin Dahyabhai +- modify PAM setup to use system-auth + +* Mon May 1 2000 Bill Nottingham +- eek, where did login go? (specfile tweaks) + +* Mon Apr 17 2000 Bernhard Rosenkraenzer +- 2.10k +- fix compilation with current glibc + +* Tue Mar 21 2000 Bernhard Rosenkraenzer +- 2.10h + +* Tue Mar 7 2000 Jeff Johnson +- rebuild for sparc baud rates > 38400. + +* Sat Mar 4 2000 Matt Wilson +- use snprintf - not sprintf - when doing + sprintf ("%%s\n", _("Some string")) to avoid overflows and + segfaults. + +* Mon Feb 21 2000 Jeff Johnson +- raw control file was /dev/raw, now /dev/rawctl. +- raw access files were /dev/raw*, now /dev/raw/raw*. + +* Thu Feb 17 2000 Erik Troan +- -v argument to mkswap wasn't working + +* Thu Feb 10 2000 Jakub Jelinek +- Recognize 0xfd on Sun disklabels as RAID + +* Tue Feb 8 2000 Bill Nottingham +- more lives in /bin, and was linked against /usr/lib/libnurses. Bad. + +* Thu Feb 03 2000 Jakub Jelinek +- update to 2.10f +- fix issues in the new realpath code, avoid leaking memory + +* Tue Feb 01 2000 Cristian Gafton +- rebuild to fix dependencies +- add NFSv3 patches + +* Fri Jan 28 2000 Bill Nottingham +- don't require csh + +* Mon Jan 24 2000 Nalin Dahyabhai +- update to 2.10e +- add rename + +* Thu Jan 20 2000 Jeff Johnson +- strip newlines in logger input. + +* Mon Jan 10 2000 Jeff Johnson +- rebuild with correct ncurses libs. + +* Tue Dec 7 1999 Matt Wilson +- updated to util-linux 2.10c +- deprecated IMAP login mail notification patch17 +- deprecated raw patch22 +- depricated readprofile patch24 + +* Tue Dec 7 1999 Bill Nottingham +- add patch for readprofile + +* Thu Nov 18 1999 Michael K. Johnson +- tunelp should come from util-linux + +* Tue Nov 9 1999 Jakub Jelinek +- kbdrate cannot use /dev/port on sparc. + +* Wed Nov 3 1999 Jakub Jelinek +- fix kbdrate on sparc. + +* Wed Oct 27 1999 Bill Nottingham +- ship hwclock on alpha. + +* Tue Oct 5 1999 Bill Nottingham +- don't ship symlinks to rdev if we don't ship rdev. + +* Tue Sep 07 1999 Cristian Gafton +- add rawIO support from sct + +* Mon Aug 30 1999 Preston Brown +- don't display "new mail" message when the only piece of mail is from IMAP + +* Fri Aug 27 1999 Michael K. Johnson +- kbdrate is now a console program + +* Thu Aug 26 1999 Jeff Johnson +- hostid is now in sh-utils. On sparc, install hostid as sunhostid (#4581). +- update to 2.9w: +- Updated mount.8 (Yann Droneaud) +- Improved makefiles +- Fixed flaw in fdisk + +* Tue Aug 10 1999 Jeff Johnson +- tsort is now in textutils. + +* Wed Aug 4 1999 Bill Nottingham +- turn off setuid bit on login. Again. :( + +* Tue Aug 3 1999 Peter Jones, +- hostid script for sparc (#3803). + +* Tue Aug 03 1999 Christian 'Dr. Disk' Hechelmann +- added locale message catalogs to %%file +- added patch for non-root build +- vigr.8 and /usr/lib/getopt man-page was missing from file list +- /etc/fdprm really is a config file + +* Fri Jul 23 1999 Jeff Johnson +- update to 2.9v: +- cfdisk no longer believes the kernel's HDGETGEO + (and may be able to partition a 2 TB disk) + +* Fri Jul 16 1999 Jeff Johnson +- update to 2.9u: +- Czech more.help and messages (Jiri Pavlovsky) +- Japanese messages (Daisuke Yamashita) +- fdisk fix (Klaus G. Wagner) +- mount fix (Hirokazu Takahashi) +- agetty: enable hardware flow control (Thorsten Kranzkowski) +- minor cfdisk improvements +- fdisk no longer accepts a default device +- Makefile fix + +* Tue Jul 6 1999 Jeff Johnson +- update to 2.9t: +- national language support for hwclock +- Japanese messages (both by Daisuke Yamashita) +- German messages and some misc i18n fixes (Elrond) +- Czech messages (Jiri Pavlovsky) +- wall fixed for /dev/pts/xx ttys +- make last and wall use getutent() (Sascha Schumann) + [Maybe this is bad: last reading all of wtmp may be too slow. + Revert in case people complain.] +- documented UUID= and LABEL= in fstab.5 +- added some partition types +- swapon: warn only if verbose + +* Fri Jun 25 1999 Jeff Johnson +- update to 2.9s. + +* Sat May 29 1999 Jeff Johnson +- fix mkswap sets incorrect bits on sparc64 (#3140). + +* Thu Apr 15 1999 Jeff Johnson +- on sparc64 random ioctls on clock interface cause kernel messages. + +* Thu Apr 15 1999 Jeff Johnson +- improved raid patch (H.J. Lu). + +* Wed Apr 14 1999 Michael K. Johnson +- added patch for smartraid controllers + +* Sat Apr 10 1999 Cristian Gafton +- fix logging problems caused by setproctitle and PAM interaction + (#2045) + +* Wed Mar 31 1999 Jeff Johnson +- include docs and examples for sfdisk (#1164) + +* Mon Mar 29 1999 Matt Wilson +- rtc is not working properly on alpha, we can't use hwclock yet. + +* Fri Mar 26 1999 Cristian Gafton +- add patch to make mkswap more 64 bit friendly... Patch from + eranian@hpl.hp.com (ahem!) + +* Thu Mar 25 1999 Jeff Johnson +- include sfdisk (#1164) +- fix write (#1784) +- use positive logic in spec file (ifarch rather than ifnarch). +- (re)-use 1st matching utmp slot if search by mypid not found. +- update to 2.9o +- lastb wants bad logins in wtmp clone /var/run/btmp (#884) + +* Thu Mar 25 1999 Jakub Jelinek +- if hwclock is to be compiled on sparc, + it must actually work. Also, it should obsolete + clock, otherwise it clashes. +- limit the swap size in mkswap for 2.2.1+ kernels + by the actual maximum size kernel can handle. +- fix kbdrate on sparc, patch by J. S. Connell + + +* Wed Mar 24 1999 Matt Wilson +- added pam_console back into pam.d/login + +* Tue Mar 23 1999 Matt Wilson +- updated to 2.9i +- added hwclock for sparcs and alpha + +* Mon Mar 22 1999 Erik Troan +- added vigr to file list + +* Sun Mar 21 1999 Cristian Gafton +- auto rebuild in the new build environment (release 12) + +* Thu Mar 18 1999 Cristian Gafton +- remove most of the ifnarch arm stuff + +* Mon Mar 15 1999 Michael Johnson +- added pam_console.so to /etc/pam.d/login + +* Thu Feb 4 1999 Michael K. Johnson +- .perms patch to login to make it retain root in parent process + for pam_close_session to work correctly + +* Tue Jan 12 1999 Jeff Johnson +- strip fdisk in buildroot correctly (#718) + +* Mon Jan 11 1999 Cristian Gafton +- have fdisk compiled on sparc and arm + +* Mon Jan 11 1999 Erik Troan +- added beos partition type to fdisk + +* Wed Dec 30 1998 Cristian Gafton +- incorporate fdisk on all arches + +* Sat Dec 5 1998 Jeff Johnson +- restore PAM functionality at end of login (Bug #201) + +* Thu Dec 03 1998 Cristian Gafton +- patch top build on the arm without PAM and related utilities, for now. +- build hwclock only on intel + +* Wed Nov 18 1998 Cristian Gafton +- upgraded to version 2.9 + +* Thu Oct 29 1998 Bill Nottingham +- build for Raw Hide (slang-1.2.2) +- patch kbdrate wackiness so it builds with egcs + +* Tue Oct 13 1998 Erik Troan +- patched more to use termcap + +* Mon Oct 12 1998 Erik Troan +- added warning about alpha/bsd label starting cylinder + +* Mon Sep 21 1998 Erik Troan +- use sigsetjmp/siglongjmp in more rather then sig'less versions + +* Fri Sep 11 1998 Jeff Johnson +- explicit attrs for setuid/setgid programs + +* Thu Aug 27 1998 Cristian Gafton +- sln is now included in glibc + +* Sun Aug 23 1998 Jeff Johnson +- add cbm1581 floppy definitions (problem #787) + +* Mon Jun 29 1998 Jeff Johnson +- remove /etc/nologin at end of shutdown/halt. + +* Fri Jun 19 1998 Jeff Johnson +- add mount/losetup. + +* Thu Jun 18 1998 Jeff Johnson +- update to 2.8 with 2.8b clean up. hostid now defunct? + +* Mon Jun 01 1998 David S. Miller +- "more" now works properly on sparc + +* Sat May 02 1998 Jeff Johnson +- Fix "fdisk -l" fault on mounted cdrom. (prob #513) + +* Fri Apr 24 1998 Prospector System +- translations modified for de, fr, tr + +* Sat Apr 11 1998 Cristian Gafton +- manhattan rebuild + +* Mon Dec 29 1997 Erik Troan +- more didn't suspend properly on glibc +- use proper tc*() calls rather then ioctl's + +* Sun Dec 21 1997 Cristian Gafton +- fixed a security problem in chfn and chsh accepting too + long gecos fields + +* Fri Dec 19 1997 Mike Wangsmo +- removed "." from default path + +* Tue Dec 02 1997 Cristian Gafton +- added (again) the vipw patch + +* Wed Oct 22 1997 Michael Fulbright +- minor cleanups for glibc 2.1 + +* Fri Oct 17 1997 Michael Fulbright +- added vfat32 filesystem type to list recognized by fdisk + +* Fri Oct 10 1997 Erik Troan +- don't build clock on the alpha +- don't install chkdupexe + +* Thu Oct 02 1997 Michael K. Johnson +- Update to new pam standard. +- BuildRoot. + +* Thu Sep 25 1997 Cristian Gafton +- added rootok and setproctitle patches +- updated pam config files for chfn and chsh + +* Tue Sep 02 1997 Erik Troan +- updated MCONFIG to automatically determine the architecture +- added glibc header hacks to fdisk code +- rdev is only available on the intel + +* Fri Jul 18 1997 Erik Troan +- update to util-linux 2.7, fixed login problems + +* Wed Jun 25 1997 Erik Troan +- Merged Red Hat changes into main util-linux source, updated package to + development util-linux (nearly 2.7). + +* Tue Apr 22 1997 Michael K. Johnson +- LOG_AUTH --> LOG_AUTHPRIV in login and shutdown + +* Mon Mar 03 1997 Michael K. Johnson +- Moved to new pam and from pam.conf to pam.d + +* Tue Feb 25 1997 Michael K. Johnson +- pam.patch differentiated between different kinds of bad logins. + In particular, "user does not exist" and "bad password" were treated + differently. This was a minor security hole. diff --git a/uuidd-tmpfiles.conf b/uuidd-tmpfiles.conf new file mode 100644 index 0000000..4158c7d --- /dev/null +++ b/uuidd-tmpfiles.conf @@ -0,0 +1 @@ +d /run/uuidd 2775 uuidd uuidd