commit: 57dd586471765d2dcc81502dd7bfcc6aeab9a462
parent 1b27f8dcb19280253141120e12f69ed2a17539ea
Author: Michael Forney <mforney@mforney.org>
Date: Sat, 5 Jun 2021 15:15:49 -0700
util-linux: Update to 2.37
Diffstat:
10 files changed, 618 insertions(+), 60 deletions(-)
diff --git a/pkg/util-linux/config.h b/pkg/util-linux/config.h
@@ -15,11 +15,13 @@
/* #undef HAVE_CFPREFERENCESCOPYAPPVALUE */
#define HAVE_CLEARENV 1
#define HAVE_CLOCK_GETTIME 1
+/* #undef HAVE_CLOSE_RANGE */
#define HAVE_CPU_SET_T 1
/* #undef HAVE_CRYPTSETUP */
/* #undef HAVE_CRYPT_ACTIVATE_BY_SIGNED_KEY */
#define HAVE_CRYPT_H 1
/* #undef HAVE_DCGETTEXT */
+#define HAVE_DECL_BLK_ZONE_REP_CAPACITY 1
#define HAVE_DECL_CPU_ALLOC 1
/* #undef HAVE_DECL_DIRFD */
/* #undef HAVE_DECL_TZNAME */
@@ -37,7 +39,6 @@
#define HAVE_EXPLICIT_BZERO 1
/* #undef HAVE_FALLOCATE */
#define HAVE_FCNTL_H 1
-#define HAVE_FMEMOPEN 1
#define HAVE_FPURGE 1
#define HAVE_FSEEKO 1
#define HAVE_FSTATAT 1
@@ -93,10 +94,12 @@
/* #undef HAVE_LINUX_COMPILER_H */
#define HAVE_LINUX_FALLOC_H 1
#define HAVE_LINUX_FD_H 1
+#define HAVE_LINUX_FIEMAP_H 1
#define HAVE_LINUX_FS_H 1
#define HAVE_LINUX_GSMMUX_H 1
#define HAVE_LINUX_MAJOR_H 1
#define HAVE_LINUX_NET_NAMESPACE_H 1
+#define HAVE_LINUX_NSFS_H 1
#define HAVE_LINUX_RAW_H 1
#define HAVE_LINUX_SECUREBITS_H 1
#define HAVE_LINUX_TIOCL_H 1
@@ -123,7 +126,7 @@
#define HAVE_OPENAT 1
#define HAVE_OPEN_MEMSTREAM 1
#define HAVE_PATHS_H 1
-/* #undef HAVE_PCRE */
+/* #undef HAVE_PCRE2_POSIX */
#define HAVE_PERSONALITY 1
/* #undef HAVE_PIDFD_OPEN */
/* #undef HAVE_PIDFD_SEND_SIGNAL */
@@ -147,6 +150,7 @@
/* #undef HAVE_SECURITY_OPENPAM_H */
/* #undef HAVE_SECURITY_PAM_APPL_H */
/* #undef HAVE_SECURITY_PAM_MISC_H */
+#define HAVE_SENDFILE 1
/* #undef HAVE_SETITIMER */
#define HAVE_SETNS 1
/* #undef HAVE_SETPROGNAME */
@@ -189,6 +193,7 @@
#define HAVE_SYS_PARAM_H 1
#define HAVE_SYS_PRCTL_H 1
#define HAVE_SYS_RESOURCE_H 1
+#define HAVE_SYS_SENDFILE_H 1
#define HAVE_SYS_SIGNALFD_H 1
#define HAVE_SYS_SOCKET_H 1
/* #undef HAVE_SYS_SOCKIO_H */
@@ -202,7 +207,8 @@
#define HAVE_SYS_TYPES_H 1
/* #undef HAVE_SYS_UCRED_H */
#define HAVE_SYS_UN_H 1
-#define HAVE_TERM_H 1
+#define HAVE_SYS_XATTR_H 1
+/* #undef HAVE_TERM_H */
#define HAVE_TIMEGM 1
#define HAVE_TIMER_CREATE 1
#ifdef HAVE__THREAD_LOCAL
@@ -230,11 +236,11 @@
#define HAVE___FPURGE 1
#define HAVE___PROGNAME 1
/* #undef HAVE___SECURE_GETENV */
-#define LIBBLKID_DATE "12-Feb-2020"
-#define LIBBLKID_VERSION "2.36.2"
-#define LIBFDISK_VERSION "2.36.2"
-#define LIBMOUNT_VERSION "2.36.2"
-#define LIBSMARTCOLS_VERSION "2.36.2"
+#define LIBBLKID_DATE "01-Jun-2021"
+#define LIBBLKID_VERSION "2.37.0"
+#define LIBFDISK_VERSION "2.37.0"
+#define LIBMOUNT_VERSION "2.37.0"
+#define LIBSMARTCOLS_VERSION "2.37.0"
/* #undef LOGIN_CHOWN_VCS */
/* #undef LOGIN_STAT_MAIL */
#define LT_OBJDIR ".libs/"
@@ -244,12 +250,13 @@
#define PACKAGE "util-linux"
#define PACKAGE_BUGREPORT "kzak@redhat.com"
#define PACKAGE_NAME "util-linux"
-#define PACKAGE_STRING "util-linux 2.36.2"
+#define PACKAGE_STRING "util-linux 2.37"
#define PACKAGE_TARNAME "util-linux"
#define PACKAGE_URL "http://www.kernel.org/pub/linux/utils/util-linux/"
-#define PACKAGE_VERSION "2.36.2"
+#define PACKAGE_VERSION "2.37"
#define PG_BELL 1
#define STDC_HEADERS 1
+/* #undef SYS_close_range */
/* #undef SYS_fallocate */
/* #undef SYS_ioprio_get */
/* #undef SYS_ioprio_set */
@@ -289,7 +296,7 @@
#define USE_TTY_GROUP 1
/* #undef USE_USRDIR_PATHS_ONLY */
/* #undef USE_VENDORDIR */
-#define VERSION "2.36.2"
+#define VERSION "2.37"
#if defined AC_APPLE_UNIVERSAL_BUILD
# if defined __BIG_ENDIAN__
# define WORDS_BIGENDIAN 1
diff --git a/pkg/util-linux/gen.lua b/pkg/util-linux/gen.lua
@@ -1,4 +1,4 @@
-set('version', '2.36.2')
+set('version', '2.37.0')
cflags{
'-include $dir/config.h',
'-I $outdir',
@@ -35,30 +35,31 @@ pkg.deps = {
lib('libcommon.a', [[
lib/(
blkdev.c
+ buffer.c
canonicalize.c
crc32.c
crc32c.c
- env.c
- idcache.c
encode.c
+ env.c
fileutils.c
+ idcache.c
+ jsonwrt.c
mangle.c
match.c
mbsalign.c
md5.c
pager.c
- procutils.c
pwdutils.c
randutils.c
- setproctitle.c
+ sha1.c
+ signames.c
strutils.c
+ strv.c
timeutils.c
ttyutils.c
- strv.c
- sha1.c
- signames.c
linux_version.c
+ procutils.c
loopdev.c
cpuset.c
@@ -105,7 +106,6 @@ lib('libsmartcols.a', [[
line.c
table.c
print.c
- fput.c
print-api.c
version.c
buffer.c
@@ -142,13 +142,13 @@ exe('fdisk', [[
libfdisk.a.d libsmartcols.a.d
]])
file('bin/fdisk', '755', '$outdir/fdisk')
-man{'disk-utils/fdisk.8'}
+man{'$dir/man/fdisk.8'}
exe('losetup', [[
sys-utils/losetup.c
libsmartcols.a.d libcommon.a
]])
file('bin/losetup', '755', '$outdir/losetup')
-man{'sys-utils/losetup.8'}
+man{'$dir/man/losetup.8'}
fetch 'git'
diff --git a/pkg/util-linux/man/fdisk.8 b/pkg/util-linux/man/fdisk.8
@@ -0,0 +1,294 @@
+'\" t
+.\" Title: fdisk
+.\" Author: [see the "AUTHOR(S)" section]
+.\" Generator: Asciidoctor 2.0.15
+.\" Date: 2021-06-01
+.\" Manual: System Administration
+.\" Source: util-linux {release-version}
+.\" Language: English
+.\"
+.TH "FDISK" "8" "2021-06-01" "util\-linux {release\-version}" "System Administration"
+.ie \n(.g .ds Aq \(aq
+.el .ds Aq '
+.ss \n[.ss] 0
+.nh
+.ad l
+.de URL
+\fI\\$2\fP <\\$1>\\$3
+..
+.als MTO URL
+.if \n[.g] \{\
+. mso www.tmac
+. am URL
+. ad l
+. .
+. am MTO
+. ad l
+. .
+. LINKSTYLE blue R < >
+.\}
+.SH "NAME"
+fdisk \- manipulate disk partition table
+.SH "SYNOPSIS"
+.sp
+\fBfdisk\fP [options] \fIdevice\fP
+.sp
+\fBfdisk\fP \fB\-l\fP [\fIdevice\fP...]
+.SH "DESCRIPTION"
+.sp
+\fBfdisk\fP is a dialog\-driven program for creation and manipulation of partition tables. It understands GPT, MBR, Sun, SGI and BSD partition tables.
+.sp
+Block devices can be divided into one or more logical disks called \fIpartitions\fP. This division is recorded in the \fIpartition table\fP, usually found in sector 0 of the disk. (In the BSD world one talks about `disk slices\(aq and a `disklabel\(aq.)
+.sp
+All partitioning is driven by device I/O limits (the topology) by default. \fBfdisk\fP is able to optimize the disk layout for a 4K\-sector size and use an alignment offset on modern devices for MBR and GPT. It is always a good idea to follow \fBfdisk\fP\(aqs defaults as the default values (e.g., first and last partition sectors) and partition sizes specified by the +/\-<size>{M,G,...} notation are always aligned according to the device properties.
+.sp
+CHS (Cylinder\-Head\-Sector) addressing is deprecated and not used by default. Please, do not follow old articles and recommendations with \fBfdisk \-S <n> \-H <n>\fP advices for SSD or 4K\-sector devices.
+.sp
+Note that \fBpartx\fP(8) provides a rich interface for scripts to print disk layouts, \fBfdisk\fP is mostly designed for humans. Backward compatibility in the output of \fBfdisk\fP is not guaranteed. The input (the commands) should always be backward compatible.
+.SH "OPTIONS"
+.sp
+\fB\-b\fP, \fB\-\-sector\-size\fP \fIsectorsize\fP
+.RS 4
+Specify the sector size of the disk. Valid values are 512, 1024, 2048, and 4096. (Recent kernels know the sector size. Use this option only on old kernels or to override the kernel\(cqs ideas.) Since util\-linux\-2.17, \fBfdisk\fP differentiates between logical and physical sector size. This option changes both sector sizes to \fIsectorsize\fP.
+.RE
+.sp
+\fB\-B\fP, \fB\-\-protect\-boot\fP
+.RS 4
+Don\(cqt erase the beginning of the first disk sector when creating a new disk label. This feature is supported for GPT and MBR.
+.RE
+.sp
+\fB\-c\fP, \fB\-\-compatibility\fP[=\fImode\fP]
+.RS 4
+Specify the compatibility mode, \(aqdos\(aq or \(aqnondos\(aq. The default is non\-DOS mode. For backward compatibility, it is possible to use the option without the \fImode\fP argument \(em then the default is used. Note that the optional \fImode\fP argument cannot be separated from the \fB\-c\fP option by a space, the correct form is for example \fB\-c\fP=\fIdos\fP.
+.RE
+.sp
+\fB\-h\fP, \fB\-\-help\fP
+.RS 4
+Display a help text and exit.
+.RE
+.sp
+\fB\-L\fP, \fB\-\-color\fP[=\fIwhen\fP]
+.RS 4
+Colorize the output. The optional argument \fIwhen\fP can be \fBauto\fP, \fBnever\fP or \fBalways\fP. If the \fIwhen\fP argument is omitted, it defaults to \fBauto\fP. The colors can be disabled; for the current built\-in default see the \fB\-\-help\fP output. See also the \fBCOLORS\fP section.
+.RE
+.sp
+\fB\-l\fP, \fB\-\-list\fP
+.RS 4
+List the partition tables for the specified devices and then exit.
+.sp
+If no devices are given, the devices mentioned in \fI/proc/partitions\fP (if this file exists) are used. Devices are always listed in the order in which they are specified on the command\-line, or by the kernel listed in \fI/proc/partitions\fP.
+.RE
+.sp
+\fB\-x\fP, \fB\-\-list\-details\fP
+.RS 4
+Like \fB\-\-list\fP, but provides more details.
+.RE
+.sp
+\fB\-\-lock\fP[=\fImode\fP]
+.RS 4
+Use exclusive BSD lock for device or file it operates. The optional argument \fImode\fP can be \fByes\fP, \fBno\fP (or 1 and 0) or \fBnonblock\fP. If the \fImode\fP argument is omitted, it defaults to \fB"yes"\fP. This option overwrites environment variable \fB$LOCK_BLOCK_DEVICE\fP. The default is not to use any lock at all, but it\(cqs recommended to avoid collisions with udevd or other tools.
+.RE
+.sp
+\fB\-n\fP, \fB\-\-noauto\-pt\fP
+.RS 4
+Don\(cqt automatically create a default partition table on empty device. The partition table has to be explicitly created by user (by command like \(aqo\(aq, \(aqg\(aq, etc.).
+.RE
+.sp
+\fB\-o\fP, \fB\-\-output\fP \fIlist\fP
+.RS 4
+Specify which output columns to print. Use \fB\-\-help\fP to get a list of all supported columns.
+.sp
+The default list of columns may be extended if \fIlist\fP is specified in the format \fI+list\fP (e.g., \fB\-o +UUID\fP).
+.RE
+.sp
+\fB\-s\fP, \fB\-\-getsz\fP
+.RS 4
+Print the size in 512\-byte sectors of each given block device. This option is DEPRECATED in favour of \fBblockdev\fP(8).
+.RE
+.sp
+\fB\-t\fP, \fB\-\-type\fP \fItype\fP
+.RS 4
+Enable support only for disklabels of the specified \fItype\fP, and disable support for all other types.
+.RE
+.sp
+\fB\-u\fP, \fB\-\-units\fP[=\fIunit\fP]
+.RS 4
+When listing partition tables, show sizes in \(aqsectors\(aq or in \(aqcylinders\(aq. The default is to show sizes in sectors. For backward compatibility, it is possible to use the option without the \fIunit\fP argument \(em then the default is used. Note that the optional \fIunit\fP argument cannot be separated from the \fB\-u\fP option by a space, the correct form is for example \(aq*\-u=*\fIcylinders\fP\(aq.
+.RE
+.sp
+\fB\-C\fP, \fB\-\-cylinders\fP \fInumber\fP
+.RS 4
+Specify the number of cylinders of the disk. I have no idea why anybody would want to do so.
+.RE
+.sp
+\fB\-H\fP, \fB\-\-heads\fP \fInumber\fP
+.RS 4
+Specify the number of heads of the disk. (Not the physical number, of course, but the number used for partition tables.) Reasonable values are 255 and 16.
+.RE
+.sp
+\fB\-S\fP, \fB\-\-sectors\fP \fInumber\fP
+.RS 4
+Specify the number of sectors per track of the disk. (Not the physical number, of course, but the number used for partition tables.) A reasonable value is 63.
+.RE
+.sp
+\fB\-w\fP, \fB\-\-wipe\fP \fIwhen\fP
+.RS 4
+Wipe filesystem, RAID and partition\-table signatures from the device, in order to avoid possible collisions. The argument \fIwhen\fP can be \fBauto\fP, \fBnever\fP or \fBalways\fP. When this option is not given, the default is \fBauto\fP, in which case signatures are wiped only when in interactive mode. In all cases detected signatures are reported by warning messages before a new partition table is created. See also \fBwipefs\fP(8) command.
+.RE
+.sp
+\fB\-W\fP, \fB\-\-wipe\-partitions\fP \fIwhen\fP
+.RS 4
+Wipe filesystem, RAID and partition\-table signatures from a newly created partitions, in order to avoid possible collisions. The argument \fIwhen\fP can be \fBauto\fP, \fBnever\fP or \fBalways\fP. When this option is not given, the default is \fBauto\fP, in which case signatures are wiped only when in interactive mode and after confirmation by user. In all cases detected signatures are reported by warning messages before a new partition is created. See also \fBwipefs\fP(8) command.
+.RE
+.sp
+\fB\-V\fP, \fB\-\-version\fP
+.RS 4
+Display version information and exit.
+.RE
+.SH "DEVICES"
+.sp
+The \fIdevice\fP is usually \fI/dev/sda\fP, \fI/dev/sdb\fP or so. A device name refers to the entire disk. Old systems without libata (a library used inside the Linux kernel to support ATA host controllers and devices) make a difference between IDE and SCSI disks. In such cases the device name will be \fI/dev/hd*\fP (IDE) or \fI/dev/sd*\fP (SCSI).
+.sp
+The \fIpartition\fP is a device name followed by a partition number. For example, \fI/dev/sda1\fP is the first partition on the first hard disk in the system. See also Linux kernel documentation (the \fIDocumentation/admin\-guide/devices.txt\fP file).
+.SH "SIZES"
+.sp
+The "last sector" dialog accepts partition size specified by number of sectors or by +/\-<size>{K,B,M,G,...} notation.
+.sp
+If the size is prefixed by \(aq+\(aq then it is interpreted as relative to the partition first sector. If the size is prefixed by \(aq\-\(aq then it is interpreted as relative to the high limit (last available sector for the partition).
+.sp
+In the case the size is specified in bytes than the number may be followed by the multiplicative suffixes KiB=1024, MiB=1024*1024, and so on for GiB, TiB, PiB, EiB, ZiB and YiB. The "iB" is optional, e.g., "K" has the same meaning as "KiB".
+.sp
+The relative sizes are always aligned according to device I/O limits. The +/\-<size>{K,B,M,G,...} notation is recommended.
+.sp
+For backward compatibility fdisk also accepts the suffixes KB=1000, MB=1000*1000, and so on for GB, TB, PB, EB, ZB and YB. These 10^N suffixes are deprecated.
+.SH "SCRIPT FILES"
+.sp
+\fBfdisk\fP allows reading (by \(aqI\(aq command) \fBsfdisk\fP(8) compatible script files. The script is applied to in\-memory partition table, and then it is possible to modify the partition table before you write it to the device.
+.sp
+And vice\-versa it is possible to write the current in\-memory disk layout to the script file by command \(aqO\(aq.
+.sp
+The script files are compatible between \fBcfdisk\fP(8), \fBsfdisk\fP(8), \fBfdisk\fP and other libfdisk applications. For more details see \fBsfdisk\fP(8).
+.SH "DISK LABELS"
+.sp
+\fBGPT (GUID Partition Table)\fP
+.RS 4
+GPT is modern standard for the layout of the partition table. GPT uses 64\-bit logical block addresses, checksums, UUIDs and names for partitions and an unlimited number of partitions (although the number of partitions is usually restricted to 128 in many partitioning tools).
+.sp
+Note that the first sector is still reserved for a \fBprotective MBR\fP in the GPT specification. It prevents MBR\-only partitioning tools from mis\-recognizing and overwriting GPT disks.
+.sp
+GPT is always a better choice than MBR, especially on modern hardware with a UEFI boot loader.
+.RE
+.sp
+\fBDOS\-type (MBR)\fP
+.RS 4
+A DOS\-type partition table can describe an unlimited number of partitions. In sector 0 there is room for the description of 4 partitions (called `primary\(aq). One of these may be an extended partition; this is a box holding logical partitions, with descriptors found in a linked list of sectors, each preceding the corresponding logical partitions. The four primary partitions, present or not, get numbers 1\-4. Logical partitions are numbered starting from 5.
+.sp
+In a DOS\-type partition table the starting offset and the size of each partition is stored in two ways: as an absolute number of sectors (given in 32 bits), and as a \fBCylinders/Heads/Sectors\fP triple (given in 10+8+6 bits). The former is OK \(em with 512\-byte sectors this will work up to 2 TB. The latter has two problems. First, these C/H/S fields can be filled only when the number of heads and the number of sectors per track are known. And second, even if we know what these numbers should be, the 24 bits that are available do not suffice. DOS uses C/H/S only, Windows uses both, Linux never uses C/H/S. The \fBC/H/S addressing is deprecated\fP and may be unsupported in some later \fBfdisk\fP version.
+.sp
+\fBPlease, read the DOS\-mode section if you want DOS\-compatible partitions.\fP \fBfdisk\fP does not care about cylinder boundaries by default.
+.RE
+.sp
+\fBBSD/Sun\-type\fP
+.RS 4
+A BSD/Sun disklabel can describe 8 partitions, the third of which should be a `whole disk\(aq partition. Do not start a partition that actually uses its first sector (like a swap partition) at cylinder 0, since that will destroy the disklabel. Note that a \fBBSD label\fP is usually nested within a DOS partition.
+.RE
+.sp
+\fBIRIX/SGI\-type\fP
+.RS 4
+An IRIX/SGI disklabel can describe 16 partitions, the eleventh of which should be an entire `volume\(aq partition, while the ninth should be labeled `volume header\(aq. The volume header will also cover the partition table, i.e., it starts at block zero and extends by default over five cylinders. The remaining space in the volume header may be used by header directory entries. No partitions may overlap with the volume header. Also do not change its type or make some filesystem on it, since you will lose the partition table. Use this type of label only when working with Linux on IRIX/SGI machines or IRIX/SGI disks under Linux.
+.sp
+A sync() and an ioctl(BLKRRPART) (rereading the partition table from disk) are performed before exiting when the partition table has been updated.
+.RE
+.SH "DOS MODE AND DOS 6.X WARNING"
+.sp
+\fBNote that all this is deprecated. You don\(cqt have to care about things like\fP \fBgeometry and cylinders on modern operating systems. If you really want\fP \fBDOS\-compatible partitioning then you have to enable DOS mode and cylinder\fP \fBunits by using the \(aq\-c=dos \-u=cylinders\(aq fdisk command\-line options.\fP
+.sp
+The DOS 6.x FORMAT command looks for some information in the first sector of the data area of the partition, and treats this information as more reliable than the information in the partition table. DOS FORMAT expects DOS FDISK to clear the first 512 bytes of the data area of a partition whenever a size change occurs. DOS FORMAT will look at this extra information even if the /U flag is given \(em we consider this a bug in DOS FORMAT and DOS FDISK.
+.sp
+The bottom line is that if you use \fBfdisk\fP or \fBcfdisk\fP to change the size of a DOS partition table entry, then you must also use \fBdd\fP(1) to \fBzero the first 512 bytes\fP of that partition before using DOS FORMAT to format the partition. For example, if you were using \fBfdisk\fP to make a DOS partition table entry for \fI/dev/sda1\fP, then (after exiting \fBfdisk\fP and rebooting Linux so that the partition table information is valid) you would use the command \fBdd if=/dev/zero of=/dev/sda1 bs=512 count=1\fP to zero the first 512 bytes of the partition.
+.sp
+\fBfdisk\fP usually obtains the disk geometry automatically. This is not necessarily the physical disk geometry (indeed, modern disks do not really have anything like a physical geometry, certainly not something that can be described in the simplistic Cylinders/Heads/Sectors form), but it is the disk geometry that MS\-DOS uses for the partition table.
+.sp
+Usually all goes well by default, and there are no problems if Linux is the only system on the disk. However, if the disk has to be shared with other operating systems, it is often a good idea to let an \fBfdisk\fP from another operating system make at least one partition. When Linux boots it looks at the partition table, and tries to deduce what (fake) geometry is required for good cooperation with other systems.
+.sp
+Whenever a partition table is printed out in DOS mode, a consistency check is performed on the partition table entries. This check verifies that the physical and logical start and end points are identical, and that each partition starts and ends on a cylinder boundary (except for the first partition).
+.sp
+Some versions of MS\-DOS create a first partition which does not begin on a cylinder boundary, but on sector 2 of the first cylinder. Partitions beginning in cylinder 1 cannot begin on a cylinder boundary, but this is unlikely to cause difficulty unless you have OS/2 on your machine.
+.sp
+For best results, you should always use an OS\-specific partition table program. For example, you should make DOS partitions with the DOS FDISK program and Linux partitions with the Linux \fBfdisk\fP or Linux \fBcfdisk\fP(8) programs.
+.SH "COLORS"
+.sp
+Implicit coloring can be disabled by an empty file \fI/etc/terminal\-colors.d/fdisk.disable\fP.
+.sp
+See \fBterminal\-colors.d\fP(5) for more details about colorization configuration. The logical color names supported by \fBfdisk\fP are:
+.sp
+\fBheader\fP
+.RS 4
+The header of the output tables.
+.RE
+.sp
+\fBhelp\-title\fP
+.RS 4
+The help section titles.
+.RE
+.sp
+\fBwarn\fP
+.RS 4
+The warning messages.
+.RE
+.sp
+\fBwelcome\fP
+.RS 4
+The welcome message.
+.RE
+.SH "ENVIRONMENT"
+.sp
+\fBFDISK_DEBUG\fP=all
+.RS 4
+enables fdisk debug output.
+.RE
+.sp
+\fBLIBFDISK_DEBUG\fP=all
+.RS 4
+enables libfdisk debug output.
+.RE
+.sp
+\fBLIBBLKID_DEBUG\fP=all
+.RS 4
+enables libblkid debug output.
+.RE
+.sp
+\fBLIBSMARTCOLS_DEBUG\fP=all
+.RS 4
+enables libsmartcols debug output.
+.RE
+.sp
+\fBLIBSMARTCOLS_DEBUG_PADDING\fP=on
+.RS 4
+use visible padding characters. Requires enabled \fBLIBSMARTCOLS_DEBUG\fP.
+.RE
+.sp
+\fBLOCK_BLOCK_DEVICE\fP=<mode>
+.RS 4
+use exclusive BSD lock. The mode is "1" or "0". See \fB\-\-lock\fP for more details.
+.RE
+.SH "AUTHORS"
+.sp
+.MTO "kzak\(atredhat.com" "Karel Zak" ","
+.MTO "dave\(atgnu.org" "Davidlohr Bueso" ""
+.sp
+The original version was written by Andries E. Brouwer, A. V. Le Blanc and others.
+.SH "SEE ALSO"
+.sp
+\fBcfdisk\fP(8),
+\fBmkfs\fP(8),
+\fBpartx\fP(8),
+\fBsfdisk\fP(8)
+.SH "REPORTING BUGS"
+.sp
+For bug reports, use the issue tracker at \c
+.URL "https://github.com/karelzak/util\-linux/issues" "" "."
+.SH "AVAILABILITY"
+.sp
+The \fBfdisk\fP command is part of the util\-linux package which can be downloaded from \c
+.URL "https://www.kernel.org/pub/linux/utils/util\-linux/" "Linux Kernel Archive" "."
+\ No newline at end of file
diff --git a/pkg/util-linux/man/losetup.8 b/pkg/util-linux/man/losetup.8
@@ -0,0 +1,240 @@
+'\" t
+.\" Title: losetup
+.\" Author: [see the "AUTHOR(S)" section]
+.\" Generator: Asciidoctor 2.0.15
+.\" Date: 2021-06-01
+.\" Manual: System Administration
+.\" Source: util-linux {release-version}
+.\" Language: English
+.\"
+.TH "LOSETUP" "8" "2021-06-01" "util\-linux {release\-version}" "System Administration"
+.ie \n(.g .ds Aq \(aq
+.el .ds Aq '
+.ss \n[.ss] 0
+.nh
+.ad l
+.de URL
+\fI\\$2\fP <\\$1>\\$3
+..
+.als MTO URL
+.if \n[.g] \{\
+. mso www.tmac
+. am URL
+. ad l
+. .
+. am MTO
+. ad l
+. .
+. LINKSTYLE blue R < >
+.\}
+.SH "NAME"
+losetup \- set up and control loop devices
+.SH "SYNOPSIS"
+.sp
+Get info:
+.sp
+\fBlosetup\fP [\fIloopdev\fP]
+.sp
+\fBlosetup\fP \fB\-l\fP [\fB\-a\fP]
+.sp
+\fBlosetup\fP \fB\-j\fP \fIfile\fP [\fB\-o\fP \fIoffset\fP]
+.sp
+Detach a loop device:
+.sp
+\fBlosetup\fP \fB\-d\fP \fIloopdev\fP ...
+.sp
+Detach all associated loop devices:
+.sp
+\fBlosetup\fP \fB\-D\fP
+.sp
+Set up a loop device:
+.sp
+\fBlosetup\fP [\fB\-o\fP \fIoffset\fP] [\fB\-\-sizelimit\fP \fIsize\fP] [\fB\-\-sector\-size\fP \fIsize\fP] [\fB\-Pr\fP] [\fB\-\-show\fP] \fB\-f\fP \fIloopdev file\fP
+.sp
+Resize a loop device:
+.sp
+\fBlosetup\fP \fB\-c\fP \fIloopdev\fP
+.SH "DESCRIPTION"
+.sp
+\fBlosetup\fP is used to associate loop devices with regular files or block devices, to detach loop devices, and to query the status of a loop device. If only the \fIloopdev\fP argument is given, the status of the corresponding loop device is shown. If no option is given, all loop devices are shown.
+.sp
+Note that the old output format (i.e., \fBlosetup \-a\fP) with comma\-delimited strings is deprecated in favour of the \fB\-\-list\fP output format.
+.sp
+It\(cqs possible to create more independent loop devices for the same backing file. \fBThis setup may be dangerous, can cause data loss, corruption and overwrites.\fP Use \fB\-\-nooverlap\fP with \fB\-\-find\fP during setup to avoid this problem.
+.sp
+The loop device setup is not an atomic operation when used with \fB\-\-find\fP, and \fBlosetup\fP does not protect this operation by any lock. The number of attempts is internally restricted to a maximum of 16. It is recommended to use for example flock1 to avoid a collision in heavily parallel use cases.
+.SH "OPTIONS"
+.sp
+The \fIsize\fP and \fIoffset\fP arguments may be followed by the multiplicative suffixes KiB (=1024), MiB (=1024*1024), and so on for GiB, TiB, PiB, EiB, ZiB and YiB (the "iB" is optional, e.g., "K" has the same meaning as "KiB") or the suffixes KB (=1000), MB (=1000*1000), and so on for GB, TB, PB, EB, ZB and YB.
+.sp
+\fB\-a\fP, \fB\-\-all\fP
+.RS 4
+Show the status of all loop devices. Note that not all information is accessible for non\-root users. See also \fB\-\-list\fP. The old output format (as printed without \fB\-\-list)\fP is deprecated.
+.RE
+.sp
+\fB\-d\fP, \fB\-\-detach\fP \fIloopdev\fP...
+.RS 4
+Detach the file or device associated with the specified loop device(s). Note that since Linux v3.7 kernel uses "lazy device destruction". The detach operation does not return \fBEBUSY\fP error anymore if device is actively used by system, but it is marked by autoclear flag and destroyed later.
+.RE
+.sp
+\fB\-D\fP, \fB\-\-detach\-all\fP
+.RS 4
+Detach all associated loop devices.
+.RE
+.sp
+\fB\-f\fP, \fB\-\-find\fP [\fIfile\fP]
+.RS 4
+Find the first unused loop device. If a \fIfile\fP argument is present, use the found device as loop device. Otherwise, just print its name.
+.RE
+.sp
+\fB\-\-show\fP
+.RS 4
+Display the name of the assigned loop device if the \fB\-f\fP option and a \fIfile\fP argument are present.
+.RE
+.sp
+\fB\-L\fP, \fB\-\-nooverlap\fP
+.RS 4
+Check for conflicts between loop devices to avoid situation when the same backing file is shared between more loop devices. If the file is already used by another device then re\-use the device rather than a new one. The option makes sense only with \fB\-\-find\fP.
+.RE
+.sp
+\fB\-j\fP, \fB\-\-associated\fP \fIfile\fP [\fB\-o\fP \fIoffset\fP]
+.RS 4
+Show the status of all loop devices associated with the given \fIfile\fP.
+.RE
+.sp
+\fB\-o\fP, \fB\-\-offset\fP \fIoffset\fP
+.RS 4
+The data start is moved \fIoffset\fP bytes into the specified file or device. The \fIoffset\fP may be followed by the multiplicative suffixes; see above.
+.RE
+.sp
+\fB\-\-sizelimit\fP \fIsize\fP
+.RS 4
+The data end is set to no more than \fIsize\fP bytes after the data start. The \fIsize\fP may be followed by the multiplicative suffixes; see above.
+.RE
+.sp
+\fB\-b\fP, \fB\-\-sector\-size\fP \fIsize\fP
+.RS 4
+Set the logical sector size of the loop device in bytes (since Linux 4.14). The option may be used when create a new loop device as well as stand\-alone command to modify sector size of the already existing loop device.
+.RE
+.sp
+\fB\-c\fP, \fB\-\-set\-capacity\fP \fIloopdev\fP
+.RS 4
+Force the loop driver to reread the size of the file associated with the specified loop device.
+.RE
+.sp
+\fB\-P\fP, \fB\-\-partscan\fP
+.RS 4
+Force the kernel to scan the partition table on a newly created loop device. Note that the partition table parsing depends on sector sizes. The default is sector size is 512 bytes, otherwise you need to use the option \fB\-\-sector\-size\fP together with \fB\-\-partscan\fP.
+.RE
+.sp
+\fB\-r\fP, \fB\-\-read\-only\fP
+.RS 4
+Set up a read\-only loop device.
+.RE
+.sp
+\fB\-\-direct\-io\fP[\fB=on\fP|\fBoff\fP]
+.RS 4
+Enable or disable direct I/O for the backing file. The optional argument can be either \fBon\fP or \fBoff\fP. If the argument is omitted, it defaults to \fBoff\fP.
+.RE
+.sp
+\fB\-v\fP, \fB\-\-verbose\fP
+.RS 4
+Verbose mode.
+.RE
+.sp
+\fB\-l\fP, \fB\-\-list\fP
+.RS 4
+If a loop device or the \fB\-a\fP option is specified, print the default columns for either the specified loop device or all loop devices; the default is to print info about all devices. See also \fB\-\-output\fP, \fB\-\-noheadings\fP, \fB\-\-raw\fP, and \fB\-\-json\fP.
+.RE
+.sp
+\fB\-O\fP, \fB\-\-output\fP \fIcolumn\fP[,\fIcolumn\fP]...
+.RS 4
+Specify the columns that are to be printed for the \fB\-\-list\fP output. Use \fB\-\-help\fP to get a list of all supported columns.
+.RE
+.sp
+\fB\-\-output\-all\fP
+.RS 4
+Output all available columns.
+.RE
+.sp
+\fB\-n\fP, \fB\-\-noheadings\fP
+.RS 4
+Don\(cqt print headings for \fB\-\-list\fP output format.
+.RE
+.sp
+\fB\-\-raw\fP
+.RS 4
+Use the raw \fB\-\-list\fP output format.
+.RE
+.sp
+\fB\-J\fP, \fB\-\-json\fP
+.RS 4
+Use JSON format for \fB\-\-list\fP output.
+.RE
+.sp
+\fB\-V\fP, \fB\-\-version\fP
+.RS 4
+Display version information and exit.
+.RE
+.sp
+\fB\-h\fP, \fB\-\-help\fP
+.RS 4
+Display help text and exit.
+.RE
+.SH "ENCRYPTION"
+.sp
+\fBCryptoloop is no longer supported in favor of dm\-crypt.\fP For more details see \fBcryptsetup\fP(8).
+.SH "EXIT STATUS"
+.sp
+\fBlosetup\fP returns 0 on success, nonzero on failure. When \fBlosetup\fP displays the status of a loop device, it returns 1 if the device is not configured and 2 if an error occurred which prevented determining the status of the device.
+.SH "NOTES"
+.sp
+Since version 2.37 \fBlosetup\fP uses \fBLOOP_CONFIGURE\fP ioctl to setup a new loop device by one ioctl call. The old versions use \fBLOOP_SET_FD\fP and \fBLOOP_SET_STATUS64\fP ioctls to do the same.
+.SH "ENVIRONMENT"
+.sp
+LOOPDEV_DEBUG=all
+.RS 4
+enables debug output.
+.RE
+.SH "FILES"
+.sp
+\fI/dev/loop[0..N]\fP
+.RS 4
+loop block devices
+.RE
+.sp
+\fI/dev/loop\-control\fP
+.RS 4
+loop control device
+.RE
+.SH "EXAMPLE"
+.sp
+The following commands can be used as an example of using the loop device.
+.sp
+.if n .RS 4
+.nf
+.fam C
+# dd if=/dev/zero of=~/file.img bs=1024k count=10
+# losetup \-\-find \-\-show ~/file.img
+/dev/loop0
+# mkfs \-t ext2 /dev/loop0
+# mount /dev/loop0 /mnt
+\&...
+# umount /dev/loop0
+# losetup \-\-detach /dev/loop0
+.fam
+.fi
+.if n .RE
+.SH "AUTHORS"
+.sp
+.MTO "kzak\(atredhat.com" "Karel Zak" ","
+based on the original version from
+.MTO "tytso\(atathena.mit.edu" "Theodore Ts\(cqo" "."
+.SH "REPORTING BUGS"
+.sp
+For bug reports, use the issue tracker at \c
+.URL "https://github.com/karelzak/util\-linux/issues" "" "."
+.SH "AVAILABILITY"
+.sp
+The \fBlosetup\fP command is part of the util\-linux package which can be downloaded from \c
+.URL "https://www.kernel.org/pub/linux/utils/util\-linux/" "Linux Kernel Archive" "."
+\ No newline at end of file
diff --git a/pkg/util-linux/patch/0001-Don-t-omit-second-operand-to-operator.patch b/pkg/util-linux/patch/0001-Don-t-omit-second-operand-to-operator.patch
@@ -1,4 +1,4 @@
-From 7af1a37609261fe88626d8f7e7a4b45d972ec8e0 Mon Sep 17 00:00:00 2001
+From 8dc30022b3a899eae7e323b99b5e4fb79518e216 Mon Sep 17 00:00:00 2001
From: Michael Forney <mforney@mforney.org>
Date: Tue, 18 Jun 2019 01:38:53 -0700
Subject: [PATCH] Don't omit second operand to `?` operator
@@ -13,7 +13,7 @@ Subject: [PATCH] Don't omit second operand to `?` operator
6 files changed, 6 insertions(+), 6 deletions(-)
diff --git a/libfdisk/src/bsd.c b/libfdisk/src/bsd.c
-index a7e2791a7..c31a29156 100644
+index 313ae5ae0..0883915f6 100644
--- a/libfdisk/src/bsd.c
+++ b/libfdisk/src/bsd.c
@@ -116,7 +116,7 @@ static struct fdisk_parttype *bsd_partition_parttype(
@@ -26,7 +26,7 @@ index a7e2791a7..c31a29156 100644
diff --git a/libfdisk/src/dos.c b/libfdisk/src/dos.c
-index 176969883..7a1f6ea34 100644
+index 4368e5266..a8103ac72 100644
--- a/libfdisk/src/dos.c
+++ b/libfdisk/src/dos.c
@@ -148,7 +148,7 @@ static struct fdisk_parttype *dos_partition_parttype(
@@ -39,7 +39,7 @@ index 176969883..7a1f6ea34 100644
/*
diff --git a/libfdisk/src/gpt.c b/libfdisk/src/gpt.c
-index 66520c51d..dbd240617 100644
+index 97b161312..5fd9b4d73 100644
--- a/libfdisk/src/gpt.c
+++ b/libfdisk/src/gpt.c
@@ -262,7 +262,7 @@ static struct fdisk_parttype *gpt_partition_parttype(
@@ -52,10 +52,10 @@ index 66520c51d..dbd240617 100644
static void gpt_entry_set_type(struct gpt_entry *e, struct gpt_guid *uuid)
diff --git a/libfdisk/src/parttype.c b/libfdisk/src/parttype.c
-index e3eb0cffa..c8f494971 100644
+index 3a5db9c28..b8d017a1d 100644
--- a/libfdisk/src/parttype.c
+++ b/libfdisk/src/parttype.c
-@@ -470,7 +470,7 @@ struct fdisk_parttype *fdisk_label_advparse_parttype(
+@@ -491,7 +491,7 @@ struct fdisk_parttype *fdisk_label_advparse_parttype(
if (res)
DBG(PARTTYPE, ul_debugobj(res, "returns parsed '%s' [%s] partition type",
@@ -65,7 +65,7 @@ index e3eb0cffa..c8f494971 100644
}
diff --git a/libfdisk/src/sgi.c b/libfdisk/src/sgi.c
-index 6b4b5d116..14c7ea9b7 100644
+index 64adf3454..02fd59650 100644
--- a/libfdisk/src/sgi.c
+++ b/libfdisk/src/sgi.c
@@ -351,7 +351,7 @@ static struct fdisk_parttype *sgi_get_parttype(struct fdisk_context *cxt, size_t
@@ -78,7 +78,7 @@ index 6b4b5d116..14c7ea9b7 100644
/* fdisk_get_partition() backend */
diff --git a/libfdisk/src/sun.c b/libfdisk/src/sun.c
-index 833f421a8..708e4554f 100644
+index 4c3b1d8cb..7a5c63b5b 100644
--- a/libfdisk/src/sun.c
+++ b/libfdisk/src/sun.c
@@ -827,7 +827,7 @@ static struct fdisk_parttype *sun_get_parttype(
@@ -91,5 +91,5 @@ index 833f421a8..708e4554f 100644
--
-2.28.0
+2.31.1
diff --git a/pkg/util-linux/patch/0002-Avoid-a-few-unnecessary-statement-expressions.patch b/pkg/util-linux/patch/0002-Avoid-a-few-unnecessary-statement-expressions.patch
@@ -1,4 +1,4 @@
-From 015737758924b64b67df0a1d1e2385e3398f0cd1 Mon Sep 17 00:00:00 2001
+From edb05302e2c747253afd4698bc445e36c8726306 Mon Sep 17 00:00:00 2001
From: Michael Forney <mforney@mforney.org>
Date: Tue, 18 Jun 2019 02:29:07 -0700
Subject: [PATCH] Avoid a few unnecessary statement expressions
@@ -8,10 +8,10 @@ Subject: [PATCH] Avoid a few unnecessary statement expressions
1 file changed, 6 insertions(+), 7 deletions(-)
diff --git a/include/c.h b/include/c.h
-index ae0813109..66fefe2a2 100644
+index b891ad480..b420b5187 100644
--- a/include/c.h
+++ b/include/c.h
-@@ -161,9 +161,8 @@
+@@ -176,9 +176,8 @@
* @member: the name of the member within the struct.
*/
#ifndef container_of
@@ -23,7 +23,7 @@ index ae0813109..66fefe2a2 100644
#endif
#ifndef HAVE_PROGRAM_INVOCATION_SHORT_NAME
-@@ -241,11 +240,11 @@ errmsg(char doexit, int excode, char adderr, const char *fmt, ...)
+@@ -256,11 +255,11 @@ errmsg(char doexit, int excode, char adderr, const char *fmt, ...)
/* Don't use inline function to avoid '#include "nls.h"' in c.h
*/
@@ -37,7 +37,7 @@ index ae0813109..66fefe2a2 100644
/* After failed execvp() */
#define EX_EXEC_FAILED 126 /* Program located, but not usable. */
-@@ -372,10 +371,10 @@ static inline int xusleep(useconds_t usec)
+@@ -387,10 +386,10 @@ static inline int xusleep(useconds_t usec)
#define UTIL_LINUX_VERSION _("%s from %s\n"), program_invocation_short_name, PACKAGE_STRING
@@ -51,5 +51,5 @@ index ae0813109..66fefe2a2 100644
/*
* seek stuff
--
-2.29.2
+2.31.1
diff --git a/pkg/util-linux/patch/0004-Remove-need-for-VLA-for-label-name.patch b/pkg/util-linux/patch/0004-Remove-need-for-VLA-for-label-name.patch
@@ -1,4 +1,4 @@
-From 29065cab257849cec348bf72afcc64885032130c Mon Sep 17 00:00:00 2001
+From 1c563b2cc82ee2f7ec5daeba5747346250fcc2e2 Mon Sep 17 00:00:00 2001
From: Michael Forney <mforney@mforney.org>
Date: Tue, 18 Jun 2019 11:54:57 -0700
Subject: [PATCH] Remove need for VLA for label name
@@ -10,7 +10,7 @@ Subject: [PATCH] Remove need for VLA for label name
3 files changed, 8 insertions(+), 10 deletions(-)
diff --git a/disk-utils/fdisk-list.c b/disk-utils/fdisk-list.c
-index 8cc116281..62cc3471b 100644
+index 62aa2b3f5..dafab3ca4 100644
--- a/disk-utils/fdisk-list.c
+++ b/disk-utils/fdisk-list.c
@@ -469,19 +469,15 @@ void list_available_columns(FILE *out)
@@ -37,7 +37,7 @@ index 8cc116281..62cc3471b 100644
}
return fdisk_field_get_id(fl);
diff --git a/libfdisk/src/label.c b/libfdisk/src/label.c
-index 98ab475bf..381a3f83b 100644
+index 524a2bfb4..e0ec7da43 100644
--- a/libfdisk/src/label.c
+++ b/libfdisk/src/label.c
@@ -223,12 +223,14 @@ const struct fdisk_field *fdisk_label_get_field(const struct fdisk_label *lb, in
@@ -66,10 +66,10 @@ index 98ab475bf..381a3f83b 100644
}
diff --git a/libfdisk/src/libfdisk.h.in b/libfdisk/src/libfdisk.h.in
-index 374661982..2c0d9c285 100644
+index 6f2e77d04..a0e7aa4b2 100644
--- a/libfdisk/src/libfdisk.h.in
+++ b/libfdisk/src/libfdisk.h.in
-@@ -463,7 +463,7 @@ extern int fdisk_label_get_fields_ids_all(
+@@ -466,7 +466,7 @@ extern int fdisk_label_get_fields_ids_all(
extern const struct fdisk_field *fdisk_label_get_field(const struct fdisk_label *lb, int id);
extern const struct fdisk_field *fdisk_label_get_field_by_name(
const struct fdisk_label *lb,
@@ -79,5 +79,5 @@ index 374661982..2c0d9c285 100644
extern void fdisk_label_set_changed(struct fdisk_label *lb, int changed);
extern int fdisk_label_is_changed(const struct fdisk_label *lb);
--
-2.28.0
+2.31.1
diff --git a/pkg/util-linux/patch/0005-Avoid-statement-expressions-min-max.patch b/pkg/util-linux/patch/0005-Avoid-statement-expressions-min-max.patch
@@ -1,23 +1,24 @@
-From 922e927710ecc196aa6f60eab1690a113c2a96ee Mon Sep 17 00:00:00 2001
+From 2cfdfe606f814c7672baede286c904c051b00e99 Mon Sep 17 00:00:00 2001
From: Michael Forney <mforney@mforney.org>
Date: Tue, 12 Mar 2019 17:13:45 -0700
Subject: [PATCH] Avoid statement expressions min/max
---
include/c.h | 24 ++++++++++--------------
+ include/strutils.h | 3 ++-
lib/mbsalign.c | 2 +-
libfdisk/src/alignment.c | 8 ++++----
libfdisk/src/context.c | 4 ++--
libfdisk/src/gpt.c | 4 ++--
libsmartcols/src/calculate.c | 8 ++++----
libsmartcols/src/column.c | 2 +-
- 7 files changed, 24 insertions(+), 28 deletions(-)
+ 8 files changed, 26 insertions(+), 29 deletions(-)
diff --git a/include/c.h b/include/c.h
-index 66fefe2a2..d7eeb699e 100644
+index b420b5187..fe82a8847 100644
--- a/include/c.h
+++ b/include/c.h
-@@ -126,21 +126,17 @@
+@@ -141,21 +141,17 @@
# define FALSE 0
#endif
@@ -49,6 +50,20 @@ index 66fefe2a2..d7eeb699e 100644
#ifndef cmp_numbers
# define cmp_numbers(x, y) __extension__ ({ \
+diff --git a/include/strutils.h b/include/strutils.h
+index 7969a84d0..45c1768f0 100644
+--- a/include/strutils.h
++++ b/include/strutils.h
+@@ -70,7 +70,8 @@ static inline void xstrncpy(char *dest, const char *src, size_t n)
+
+ if (!len)
+ return;
+- len = min(len, n - 1);
++ if (n - 1 < len)
++ len = n - 1;
+ memcpy(dest, src, len);
+ dest[len] = 0;
+ }
diff --git a/lib/mbsalign.c b/lib/mbsalign.c
index e251202af..f3ea1a2df 100644
--- a/lib/mbsalign.c
@@ -63,7 +78,7 @@ index e251202af..f3ea1a2df 100644
}
#ifdef HAVE_WIDECHAR
diff --git a/libfdisk/src/alignment.c b/libfdisk/src/alignment.c
-index 3d0254634..91f6d1f7d 100644
+index 3ae721913..a1a05f48a 100644
--- a/libfdisk/src/alignment.c
+++ b/libfdisk/src/alignment.c
@@ -38,7 +38,7 @@
@@ -103,10 +118,10 @@ index 3d0254634..91f6d1f7d 100644
cxt->grain = cxt->user_grain < granularity ? granularity : cxt->user_grain;
DBG(CXT, ul_debugobj(cxt, "new grain: %lu", cxt->grain));
diff --git a/libfdisk/src/context.c b/libfdisk/src/context.c
-index 206627849..6c3a17b98 100644
+index 083b255d3..a3bfff993 100644
--- a/libfdisk/src/context.c
+++ b/libfdisk/src/context.c
-@@ -894,7 +894,7 @@ int fdisk_reread_changes(struct fdisk_context *cxt, struct fdisk_table *org)
+@@ -919,7 +919,7 @@ int fdisk_reread_changes(struct fdisk_context *cxt, struct fdisk_table *org)
/* the current layout */
fdisk_get_partitions(cxt, &tb);
/* maximal number of partitions */
@@ -115,7 +130,7 @@ index 206627849..6c3a17b98 100644
while (fdisk_diff_tables(org, tb, &itr, &pa, &change) == 0) {
if (change == FDISK_DIFF_UNCHANGED)
-@@ -951,7 +951,7 @@ int fdisk_reread_changes(struct fdisk_context *cxt, struct fdisk_table *org)
+@@ -976,7 +976,7 @@ int fdisk_reread_changes(struct fdisk_context *cxt, struct fdisk_table *org)
/* Let's follow the Linux kernel and reduce
* DOS extended partition to 1 or 2 sectors.
*/
@@ -125,7 +140,7 @@ index 206627849..6c3a17b98 100644
if (partx_add_partition(cxt->dev_fd, pa->partno + 1,
pa->start * ssf, sz) != 0) {
diff --git a/libfdisk/src/gpt.c b/libfdisk/src/gpt.c
-index 29fcffa59..5e95b205d 100644
+index 5fd9b4d73..97e23767d 100644
--- a/libfdisk/src/gpt.c
+++ b/libfdisk/src/gpt.c
@@ -504,7 +504,7 @@ static int gpt_mknew_pmbr(struct fdisk_context *cxt)
@@ -137,7 +152,7 @@ index 29fcffa59..5e95b205d 100644
return 0;
}
-@@ -931,7 +931,7 @@ static int valid_pmbr(struct fdisk_context *cxt)
+@@ -956,7 +956,7 @@ static int valid_pmbr(struct fdisk_context *cxt)
/* Note that gpt_write_pmbr() overwrites PMBR, but we want to keep it valid already
* in memory too to disable warnings when valid_pmbr() called next time */
pmbr->partition_record[part].size_in_lba =
@@ -147,7 +162,7 @@ index 29fcffa59..5e95b205d 100644
}
}
diff --git a/libsmartcols/src/calculate.c b/libsmartcols/src/calculate.c
-index b6137fd23..ed6e8dd25 100644
+index 974fc340c..0c11627a7 100644
--- a/libsmartcols/src/calculate.c
+++ b/libsmartcols/src/calculate.c
@@ -57,7 +57,7 @@ static int count_cell_width(struct libscols_table *tb,
@@ -195,5 +210,5 @@ index c11df69f5..1285d42e6 100644
}
--
-2.29.2
+2.31.1
diff --git a/pkg/util-linux/patch/0009-Use-static-inline-function-for-cmp_numbers.patch b/pkg/util-linux/patch/0009-Use-static-inline-function-for-cmp_numbers.patch
@@ -1,4 +1,4 @@
-From 57af96ed8831118d42647b5dafcdf4f296877074 Mon Sep 17 00:00:00 2001
+From f9e192ecdbfd369fe42da4c9b8a3ab90cfa6f10f Mon Sep 17 00:00:00 2001
From: Michael Forney <mforney@mforney.org>
Date: Tue, 25 Jun 2019 00:13:43 -0700
Subject: [PATCH] Use static inline function for cmp_numbers
@@ -10,10 +10,10 @@ uintmax_t.
1 file changed, 5 insertions(+), 7 deletions(-)
diff --git a/include/c.h b/include/c.h
-index 7201b18af..549f1fa24 100644
+index fe82a8847..eb48e7f77 100644
--- a/include/c.h
+++ b/include/c.h
-@@ -138,13 +138,11 @@ umin(uintmax_t x, uintmax_t y)
+@@ -153,13 +153,11 @@ umin(uintmax_t x, uintmax_t y)
return x < y ? x : y;
}
@@ -33,5 +33,5 @@ index 7201b18af..549f1fa24 100644
#ifndef offsetof
#define offsetof(TYPE, MEMBER) ((size_t) &((TYPE *)0)->MEMBER)
--
-2.25.0
+2.31.1
diff --git a/pkg/util-linux/ver b/pkg/util-linux/ver
@@ -1 +1 @@
-2.36.2 r0
+2.37 r0