From 781e4d0274833764a48b67f8c76403a0b4b13ab4 Mon Sep 17 00:00:00 2001 From: Karel Zak Date: Thu, 16 Jul 2015 12:13:18 +0200 Subject: [PATCH 001/232] 2.26.2-3: fix spec file dates --- util-linux.spec | 29 ++++++++++++++++------------- 1 file changed, 16 insertions(+), 13 deletions(-) diff --git a/util-linux.spec b/util-linux.spec index 58e60cb..49f1479 100644 --- a/util-linux.spec +++ b/util-linux.spec @@ -2,7 +2,7 @@ Summary: A collection of basic system utilities Name: util-linux Version: 2.26.2 -Release: 2%{?dist} +Release: 3%{?dist} License: GPLv2 and GPLv2+ and LGPLv2+ and BSD with advertising and Public Domain Group: System Environment/Base URL: http://en.wikipedia.org/wiki/Util-linux @@ -367,7 +367,7 @@ for I in /sbin/sfdisk \ done %endif -# we install getopt-*.{bash,tcsh} by %doc directive +# we install getopt-*.{bash,tcsh} by doc directive chmod 644 misc-utils/getopt-*.{bash,tcsh} rm -f ${RPM_BUILD_ROOT}%{_datadir}/doc/util-linux/getopt/* rmdir ${RPM_BUILD_ROOT}%{_datadir}/doc/util-linux/getopt @@ -879,6 +879,9 @@ exit 0 %{_libdir}/python*/site-packages/libmount/* %changelog +* 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 @@ -911,7 +914,7 @@ exit 0 * Thu Nov 27 2014 Karel Zak 2.25.2-2 - fix #1168490 - CVE-2014-9114 util-linux: command injection flaw in blkid -* Wed Oct 24 2014 Karel Zak 2.25.2-1 +* 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 @@ -1077,7 +1080,7 @@ exit 0 - apply pathes from upstream stable/v2.22 branch - fix #865961 - wipefs -a should use O_EXCL -* Thu Oct 10 2012 Karel Zak 2.22.1-1 +* 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 @@ -1116,7 +1119,7 @@ exit 0 * Thu Feb 09 2012 Karel Zak 2.21-0.2 - fix #788703 - /run/blkid does not exist -* Thu Feb 07 2012 Karel Zak 2.21-0.1 +* 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 @@ -1151,7 +1154,7 @@ exit 0 - upgrade to the release 2.20-rc2 ftp://ftp.kernel.org/pub/linux/utils/util-linux/v2.20/v2.20-rc2-ChangeLog -* Fri Aug 2 2011 Karel Zak 2.20-0.1 +* 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 @@ -1259,7 +1262,7 @@ exit 0 - remove Provides: lib{uuid,blkid}-static (thanks to Michael Schwendt) - remove useless URL to sf.net -* Thu Jan 8 2010 Karel Zak 2.17-1 +* 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 @@ -1531,7 +1534,7 @@ exit 0 - fix #217240 - namei ignores non-directory components instead of saying "Not a directory" - fix #217241 - namei enforces symlink limits inconsistently -* Wed Dec 14 2006 Karel Zak 2.13-0.46 +* 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 @@ -1655,11 +1658,11 @@ exit 0 This drastically increases the total number of tcp mounts that can happen at once (ala autofs). -* Wed Mar 9 2006 Jesse Keating 2.13-0.20 +* 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 -* Wed Mar 9 2006 Jesse Keating 2.13-0.19 +* Thu Mar 9 2006 Jesse Keating 2.13-0.19 - restorecon /var/log/lastlog * Wed Mar 8 2006 Karel Zak 2.13-0.17 @@ -1923,7 +1926,7 @@ exit 0 - Ping NFS v4 servers before diving into kernel - Make v4 mount interruptible which also make the intr option on by default -* Sun Mar 13 2004 +* 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. @@ -2022,7 +2025,7 @@ exit 0 * Wed Jul 23 2003 Elliot Lee 2.11y-22 - #100433 patch -* Mon Jun 14 2003 Elliot Lee 2.11y-20 +* Sat Jun 14 2003 Elliot Lee 2.11y-20 - #97381 patch * Wed Jun 04 2003 Elliot Lee @@ -2204,7 +2207,7 @@ slang-devel. * Tue Feb 26 2002 Elliot Lee 2.11n-5 - Fix #60363 (tweak raw.8 man page, make rawdevices.8 symlink). -* Tue Jan 28 2002 Bill Nottingham 2.11n-4 +* Mon Jan 28 2002 Bill Nottingham 2.11n-4 - remove kbdrate (fixes kbd conflict) * Fri Dec 28 2001 Elliot Lee 2.11n-3 From 6278f8fb465f91a7de96aede89f6f5dd0fb65b96 Mon Sep 17 00:00:00 2001 From: Karel Zak Date: Thu, 16 Jul 2015 12:35:07 +0200 Subject: [PATCH 002/232] 2.26.2-3: add dependence on systemd --- util-linux.spec | 1 + 1 file changed, 1 insertion(+) diff --git a/util-linux.spec b/util-linux.spec index 49f1479..94c26ba 100644 --- a/util-linux.spec +++ b/util-linux.spec @@ -22,6 +22,7 @@ BuildRequires: zlib-devel BuildRequires: popt-devel BuildRequires: libutempter-devel Buildrequires: systemd-devel +BuildRequires: systemd Buildrequires: libuser-devel BuildRequires: libcap-ng-devel BuildRequires: python3-devel From bfcb468173e27c5cfbb2e18ed346be9acaf48d52 Mon Sep 17 00:00:00 2001 From: Karel Zak Date: Fri, 31 Jul 2015 13:10:27 +0200 Subject: [PATCH 003/232] v2.27: upgrade --- .gitignore | 1 + sources | 2 +- util-linux.spec | 14 +++++++++++--- 3 files changed, 13 insertions(+), 4 deletions(-) diff --git a/.gitignore b/.gitignore index 6139a25..47d5645 100644 --- a/.gitignore +++ b/.gitignore @@ -41,3 +41,4 @@ /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 diff --git a/sources b/sources index 07fa975..4481496 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -9bdf368c395f1b70325d0eb22c7f48fb util-linux-2.26.2.tar.xz +500b9de1acc3601a69d6a0b2310da471 util-linux-2.27-rc1.tar.xz diff --git a/util-linux.spec b/util-linux.spec index 94c26ba..97ace52 100644 --- a/util-linux.spec +++ b/util-linux.spec @@ -1,13 +1,13 @@ ### Header Summary: A collection of basic system utilities Name: util-linux -Version: 2.26.2 -Release: 3%{?dist} +Version: 2.27 +Release: 0.1%{?dist} License: GPLv2 and GPLv2+ and LGPLv2+ and BSD with advertising and Public Domain Group: System Environment/Base URL: http://en.wikipedia.org/wiki/Util-linux -%define upstream_version %{version} +%define upstream_version %{version}-rc1 ### Macros %define compldir %{_datadir}/bash-completion/completions/ @@ -515,6 +515,7 @@ exit 0 %{_bindir}/look %{_bindir}/lsblk %{_bindir}/lscpu +%{_bindir}/lsipc %{_bindir}/lslocks %{_bindir}/lslogins %{_bindir}/mcookie @@ -568,6 +569,7 @@ exit 0 %{_mandir}/man1/login.1* %{_mandir}/man1/look.1* %{_mandir}/man1/lscpu.1* +%{_mandir}/man1/lsipc.1* %{_mandir}/man1/lslogins.1* %{_mandir}/man1/mcookie.1* %{_mandir}/man1/mesg.1* @@ -716,6 +718,7 @@ exit 0 %{compldir}/losetup %{compldir}/lsblk %{compldir}/lscpu +%{compldir}/lsipc %{compldir}/lslocks %{compldir}/mcookie %{compldir}/mesg @@ -880,6 +883,11 @@ exit 0 %{_libdir}/python*/site-packages/libmount/* %changelog +* 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 From 185c052093bfbf83929466ef2395d9859f1d59ca Mon Sep 17 00:00:00 2001 From: Karel Zak Date: Wed, 12 Aug 2015 10:56:45 +0200 Subject: [PATCH 004/232] 2.27-0.2: #1251320 and specfile portability --- util-linux.spec | 26 +++++++++++++++++++------- 1 file changed, 19 insertions(+), 7 deletions(-) diff --git a/util-linux.spec b/util-linux.spec index 97ace52..0bd415e 100644 --- a/util-linux.spec +++ b/util-linux.spec @@ -2,12 +2,19 @@ Summary: A collection of basic system utilities Name: util-linux Version: 2.27 -Release: 0.1%{?dist} +Release: 0.2%{?dist} License: GPLv2 and GPLv2+ and LGPLv2+ and BSD with advertising and Public Domain Group: System Environment/Base URL: http://en.wikipedia.org/wiki/Util-linux %define upstream_version %{version}-rc1 +%if 0%{?fedora} >= 23 +%define pypkg python3 +%define pyver 3 +%else +%define pypkg python +%define pyver 2 +%endif ### Macros %define compldir %{_datadir}/bash-completion/completions/ @@ -25,10 +32,10 @@ Buildrequires: systemd-devel BuildRequires: systemd Buildrequires: libuser-devel BuildRequires: libcap-ng-devel -BuildRequires: python3-devel +BuildRequires: %{pypkg}-devel ### Sources -Source0: ftp://ftp.kernel.org/pub/linux/utils/util-linux/v2.26/util-linux-%{upstream_version}.tar.xz +Source0: ftp://ftp.kernel.org/pub/linux/utils/util-linux/v%{version}/util-linux-%{upstream_version}.tar.xz Source1: util-linux-login.pamd Source2: util-linux-remote.pamd Source3: util-linux-chsh-chfn.pamd @@ -231,13 +238,13 @@ uniqueness of time-based UUID generation even at very high rates on SMP systems. -%package -n python3-libmount +%package -n %{pypkg}-libmount Summary: Python bindings for the libmount library Group: Development/Libraries Requires: libmount = %{version}-%{release} License: LGPLv2+ -%description -n python3-libmount +%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, @@ -261,10 +268,11 @@ export DAEMON_LDFLAGS="$SUID_LDFLAGS" --disable-bfs \ --disable-pg \ --enable-chfn-chsh \ + --enable-usrdir-path \ --enable-write \ --enable-raw \ --enable-libmount-force-mountinfo \ - --with-python=3 \ + --with-python=%{pyver} \ --with-systemd \ --with-udev \ --with-selinux \ @@ -876,13 +884,17 @@ exit 0 %{_mandir}/man3/uuid_unparse.3* %{_libdir}/pkgconfig/uuid.pc -%files -n python3-libmount +%files -n %{pypkg}-libmount %defattr(-, root, root) %{!?_licensedir:%global license %%doc} %license Documentation/licenses/COPYING.LGPLv2.1 libmount/COPYING %{_libdir}/python*/site-packages/libmount/* %changelog +* 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 From bc1e34e1256db9ef13d1dcf1473d68b8c7f6f46d Mon Sep 17 00:00:00 2001 From: Karel Zak Date: Thu, 13 Aug 2015 10:41:08 +0200 Subject: [PATCH 005/232] 2.26.2-3: fix #1248115 --- 2.27-libfdisk-mbr-ext.patch | 99 +++++++++++++++++++++++++++++++++++++ util-linux.spec | 9 +++- 2 files changed, 107 insertions(+), 1 deletion(-) create mode 100644 2.27-libfdisk-mbr-ext.patch diff --git a/2.27-libfdisk-mbr-ext.patch b/2.27-libfdisk-mbr-ext.patch new file mode 100644 index 0000000..59954fe --- /dev/null +++ b/2.27-libfdisk-mbr-ext.patch @@ -0,0 +1,99 @@ +diff -up util-linux-2.26.2/libfdisk/src/dos.c.kzak util-linux-2.26.2/libfdisk/src/dos.c +--- util-linux-2.26.2/libfdisk/src/dos.c.kzak 2015-04-29 12:41:22.705973232 +0200 ++++ util-linux-2.26.2/libfdisk/src/dos.c 2015-08-13 10:24:23.651856847 +0200 +@@ -1529,7 +1529,7 @@ static int dos_add_partition(struct fdis + goto done; + + /* pa specifies that extended partition is wanted */ +- } else if (pa && pa->type && pa->type->code == MBR_DOS_EXTENDED_PARTITION) { ++ } else if (pa && pa->type && IS_EXTENDED(pa->type->code)) { + DBG(LABEL, ul_debug("DOS: pa template %p: add extened", pa)); + if (l->ext_offset) { + fdisk_warnx(cxt, _("Extended partition already exists.")); +@@ -1894,11 +1894,25 @@ static int dos_get_partition(struct fdis + return 0; + } + ++static int has_logical(struct fdisk_context *cxt) ++{ ++ size_t i; ++ struct fdisk_dos_label *l = self_label(cxt); ++ ++ for (i = 4; i < cxt->label->nparts_max; i++) { ++ if (l->ptes[i].pt_entry) ++ return 1; ++ } ++ return 0; ++} ++ + static int dos_set_partition(struct fdisk_context *cxt, size_t n, + struct fdisk_partition *pa) + { ++ struct fdisk_dos_label *l; + struct dos_partition *p; + struct pte *pe; ++ int orgtype; + fdisk_sector_t start, size; + + assert(cxt); +@@ -1909,17 +1923,29 @@ static int dos_set_partition(struct fdis + if (n >= cxt->label->nparts_max) + return -EINVAL; + +- if (pa->type && IS_EXTENDED(pa->type->code)) { +- fdisk_warnx(cxt, _("You cannot change a partition into an " +- "extended one or vice versa. Delete it first.")); +- return -EINVAL; +- } +- +- if (pa->type && !pa->type->code) +- fdisk_warnx(cxt, _("Type 0 means free space to many systems. " +- "Having partitions of type 0 is probably unwise.")); ++ l = self_label(cxt); + p = self_partition(cxt, n); + pe = self_pte(cxt, n); ++ orgtype = p->sys_ind; ++ ++ if (pa->type) { ++ if (IS_EXTENDED(pa->type->code) && l->ext_offset) { ++ fdisk_warnx(cxt, _("Extended partition already exists.")); ++ return -EINVAL; ++ } ++ ++ if (!pa->type->code) ++ fdisk_warnx(cxt, _("Type 0 means free space to many systems. " ++ "Having partitions of type 0 is probably unwise.")); ++ ++ if (IS_EXTENDED(p->sys_ind) && !IS_EXTENDED(pa->type->code) && has_logical(cxt)) { ++ fdisk_warnx(cxt, _( ++ "Cannot change type of the extended partition which is " ++ "already used by logical partitons. Delete logical " ++ "partitions first.")); ++ return -EINVAL; ++ } ++ } + + FDISK_INIT_UNDEF(start); + FDISK_INIT_UNDEF(size); +@@ -1950,6 +1976,21 @@ static int dos_set_partition(struct fdis + p->boot_ind = fdisk_partition_is_bootable(pa) ? ACTIVE_FLAG : 0; + } + ++ if (pa->type) { ++ if (IS_EXTENDED(pa->type->code) && !IS_EXTENDED(orgtype)) { ++ /* new extended partition - create a reference */ ++ l->ext_index = n; ++ l->ext_offset = dos_partition_get_start(p); ++ pe->ex_entry = p; ++ } else if (IS_EXTENDED(orgtype)) { ++ /* remove extended partition */ ++ cxt->label->nparts_max = 4; ++ l->ptes[l->ext_index].ex_entry = NULL; ++ l->ext_offset = 0; ++ l->ext_index = 0; ++ } ++ } ++ + partition_set_changed(cxt, n, 1); + return 0; + } diff --git a/util-linux.spec b/util-linux.spec index 58e60cb..84972de 100644 --- a/util-linux.spec +++ b/util-linux.spec @@ -2,7 +2,7 @@ Summary: A collection of basic system utilities Name: util-linux Version: 2.26.2 -Release: 2%{?dist} +Release: 3%{?dist} License: GPLv2 and GPLv2+ and LGPLv2+ and BSD with advertising and Public Domain Group: System Environment/Base URL: http://en.wikipedia.org/wiki/Util-linux @@ -78,6 +78,10 @@ Requires: libfdisk = %{version}-%{release} # 151635 - makeing /var/log/lastlog Patch0: 2.23-login-lastlog-create.patch +### Upstream patches +# 1248115 - sfdisk: you cannot change a partition into an extended one or vice versa +Patch1: 2.27-libfdisk-mbr-ext.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 @@ -879,6 +883,9 @@ exit 0 %{_libdir}/python*/site-packages/libmount/* %changelog +* Thu Aug 13 2015 Karel Zak 2.26.2-3 +- fix #1248115 - sfdisk: you cannot change a partition into an extended one or vice versa + * Fri Jun 19 2015 Fedora Release Engineering - 2.26.2-2 - Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild From 3d8e1cf3e56752741723519b13f30c5203621f28 Mon Sep 17 00:00:00 2001 From: Karel Zak Date: Thu, 16 Jul 2015 12:13:18 +0200 Subject: [PATCH 006/232] 2.26.2-3: fix specfile --- util-linux.spec | 25 +++++++++++++------------ 1 file changed, 13 insertions(+), 12 deletions(-) diff --git a/util-linux.spec b/util-linux.spec index 84972de..8310bf5 100644 --- a/util-linux.spec +++ b/util-linux.spec @@ -371,7 +371,7 @@ for I in /sbin/sfdisk \ done %endif -# we install getopt-*.{bash,tcsh} by %doc directive +# we install getopt-*.{bash,tcsh} by doc directive chmod 644 misc-utils/getopt-*.{bash,tcsh} rm -f ${RPM_BUILD_ROOT}%{_datadir}/doc/util-linux/getopt/* rmdir ${RPM_BUILD_ROOT}%{_datadir}/doc/util-linux/getopt @@ -885,6 +885,7 @@ exit 0 %changelog * Thu Aug 13 2015 Karel Zak 2.26.2-3 - fix #1248115 - sfdisk: you cannot change a partition into an extended one or vice versa +- 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 @@ -918,7 +919,7 @@ exit 0 * Thu Nov 27 2014 Karel Zak 2.25.2-2 - fix #1168490 - CVE-2014-9114 util-linux: command injection flaw in blkid -* Wed Oct 24 2014 Karel Zak 2.25.2-1 +* 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 @@ -1084,7 +1085,7 @@ exit 0 - apply pathes from upstream stable/v2.22 branch - fix #865961 - wipefs -a should use O_EXCL -* Thu Oct 10 2012 Karel Zak 2.22.1-1 +* 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 @@ -1123,7 +1124,7 @@ exit 0 * Thu Feb 09 2012 Karel Zak 2.21-0.2 - fix #788703 - /run/blkid does not exist -* Thu Feb 07 2012 Karel Zak 2.21-0.1 +* 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 @@ -1158,7 +1159,7 @@ exit 0 - upgrade to the release 2.20-rc2 ftp://ftp.kernel.org/pub/linux/utils/util-linux/v2.20/v2.20-rc2-ChangeLog -* Fri Aug 2 2011 Karel Zak 2.20-0.1 +* 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 @@ -1266,7 +1267,7 @@ exit 0 - remove Provides: lib{uuid,blkid}-static (thanks to Michael Schwendt) - remove useless URL to sf.net -* Thu Jan 8 2010 Karel Zak 2.17-1 +* 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 @@ -1538,7 +1539,7 @@ exit 0 - fix #217240 - namei ignores non-directory components instead of saying "Not a directory" - fix #217241 - namei enforces symlink limits inconsistently -* Wed Dec 14 2006 Karel Zak 2.13-0.46 +* 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 @@ -1662,11 +1663,11 @@ exit 0 This drastically increases the total number of tcp mounts that can happen at once (ala autofs). -* Wed Mar 9 2006 Jesse Keating 2.13-0.20 +* 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 -* Wed Mar 9 2006 Jesse Keating 2.13-0.19 +* Thu Mar 9 2006 Jesse Keating 2.13-0.19 - restorecon /var/log/lastlog * Wed Mar 8 2006 Karel Zak 2.13-0.17 @@ -1930,7 +1931,7 @@ exit 0 - Ping NFS v4 servers before diving into kernel - Make v4 mount interruptible which also make the intr option on by default -* Sun Mar 13 2004 +* 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. @@ -2029,7 +2030,7 @@ exit 0 * Wed Jul 23 2003 Elliot Lee 2.11y-22 - #100433 patch -* Mon Jun 14 2003 Elliot Lee 2.11y-20 +* Sat Jun 14 2003 Elliot Lee 2.11y-20 - #97381 patch * Wed Jun 04 2003 Elliot Lee @@ -2211,7 +2212,7 @@ slang-devel. * Tue Feb 26 2002 Elliot Lee 2.11n-5 - Fix #60363 (tweak raw.8 man page, make rawdevices.8 symlink). -* Tue Jan 28 2002 Bill Nottingham 2.11n-4 +* Mon Jan 28 2002 Bill Nottingham 2.11n-4 - remove kbdrate (fixes kbd conflict) * Fri Dec 28 2001 Elliot Lee 2.11n-3 From c01d3263c15e3ca019fdf49022bf4c6a2608c8dc Mon Sep 17 00:00:00 2001 From: Karel Zak Date: Thu, 13 Aug 2015 11:08:32 +0200 Subject: [PATCH 007/232] 2.26.2-3: add dependence on systemd --- util-linux.spec | 1 + 1 file changed, 1 insertion(+) diff --git a/util-linux.spec b/util-linux.spec index 8310bf5..5bb9986 100644 --- a/util-linux.spec +++ b/util-linux.spec @@ -22,6 +22,7 @@ BuildRequires: zlib-devel BuildRequires: popt-devel BuildRequires: libutempter-devel Buildrequires: systemd-devel +BuildRequires: systemd Buildrequires: libuser-devel BuildRequires: libcap-ng-devel BuildRequires: python3-devel From 298e4e50ad38132e6e1f63ff8f832bfeb6e28904 Mon Sep 17 00:00:00 2001 From: Karel Zak Date: Thu, 13 Aug 2015 11:35:50 +0200 Subject: [PATCH 008/232] 2.27-0.3: small spec file changes --- util-linux.spec | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/util-linux.spec b/util-linux.spec index 0bd415e..c194593 100644 --- a/util-linux.spec +++ b/util-linux.spec @@ -2,12 +2,17 @@ Summary: A collection of basic system utilities Name: util-linux Version: 2.27 -Release: 0.2%{?dist} +Release: 0.3%{?dist} License: GPLv2 and GPLv2+ and LGPLv2+ and BSD with advertising and Public Domain Group: System Environment/Base URL: http://en.wikipedia.org/wiki/Util-linux +### Macros %define upstream_version %{version}-rc1 +%define upstream_major %(eval echo %{version} | %{__sed} -e 's/\([[:digit:]]*\)\.\([[:digit:]]*\)\.[[:digit:]]*$/\1.\2/') + +%define compldir %{_datadir}/bash-completion/completions/ + %if 0%{?fedora} >= 23 %define pypkg python3 %define pyver 3 @@ -16,8 +21,6 @@ URL: http://en.wikipedia.org/wiki/Util-linux %define pyver 2 %endif -### Macros -%define compldir %{_datadir}/bash-completion/completions/ ### Dependencies BuildRequires: audit-libs-devel >= 1.0.6 @@ -35,7 +38,7 @@ BuildRequires: libcap-ng-devel BuildRequires: %{pypkg}-devel ### Sources -Source0: ftp://ftp.kernel.org/pub/linux/utils/util-linux/v%{version}/util-linux-%{upstream_version}.tar.xz +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 @@ -891,6 +894,9 @@ exit 0 %{_libdir}/python*/site-packages/libmount/* %changelog +* 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 From 1dd1b6a1821dc1f9e88371c25452de9f476eb7e1 Mon Sep 17 00:00:00 2001 From: Karel Zak Date: Mon, 24 Aug 2015 13:18:12 +0200 Subject: [PATCH 009/232] 2.27-0.4: upgrade to rc2 --- .gitignore | 1 + sources | 2 +- util-linux.spec | 7 +++++-- 3 files changed, 7 insertions(+), 3 deletions(-) diff --git a/.gitignore b/.gitignore index 47d5645..b6eea61 100644 --- a/.gitignore +++ b/.gitignore @@ -42,3 +42,4 @@ /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 diff --git a/sources b/sources index 4481496..b48dcbd 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -500b9de1acc3601a69d6a0b2310da471 util-linux-2.27-rc1.tar.xz +2fbd1d2a3f856155dd3231c2a61c2e98 util-linux-2.27-rc2.tar.xz diff --git a/util-linux.spec b/util-linux.spec index c194593..1351282 100644 --- a/util-linux.spec +++ b/util-linux.spec @@ -2,13 +2,13 @@ Summary: A collection of basic system utilities Name: util-linux Version: 2.27 -Release: 0.3%{?dist} +Release: 0.4%{?dist} License: GPLv2 and GPLv2+ and LGPLv2+ and BSD with advertising and Public Domain Group: System Environment/Base URL: http://en.wikipedia.org/wiki/Util-linux ### Macros -%define upstream_version %{version}-rc1 +%define upstream_version %{version}-rc2 %define upstream_major %(eval echo %{version} | %{__sed} -e 's/\([[:digit:]]*\)\.\([[:digit:]]*\)\.[[:digit:]]*$/\1.\2/') %define compldir %{_datadir}/bash-completion/completions/ @@ -894,6 +894,9 @@ exit 0 %{_libdir}/python*/site-packages/libmount/* %changelog +* 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 From 1a7e2063fd9b810edb24945d6ca7cdf397623cef Mon Sep 17 00:00:00 2001 From: Karel Zak Date: Mon, 7 Sep 2015 12:59:30 +0200 Subject: [PATCH 010/232] 2.27-1: upgrade to stable v2.27 --- .gitignore | 1 + sources | 2 +- util-linux.spec | 7 +++++-- 3 files changed, 7 insertions(+), 3 deletions(-) diff --git a/.gitignore b/.gitignore index b6eea61..09813fe 100644 --- a/.gitignore +++ b/.gitignore @@ -43,3 +43,4 @@ /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 diff --git a/sources b/sources index b48dcbd..e14f656 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -2fbd1d2a3f856155dd3231c2a61c2e98 util-linux-2.27-rc2.tar.xz +5b06bbda9309624ee7add15bc8d8ca22 util-linux-2.27.tar.xz diff --git a/util-linux.spec b/util-linux.spec index 1351282..d4a17a9 100644 --- a/util-linux.spec +++ b/util-linux.spec @@ -2,13 +2,13 @@ Summary: A collection of basic system utilities Name: util-linux Version: 2.27 -Release: 0.4%{?dist} +Release: 1%{?dist} License: GPLv2 and GPLv2+ and LGPLv2+ and BSD with advertising and Public Domain Group: System Environment/Base URL: http://en.wikipedia.org/wiki/Util-linux ### Macros -%define upstream_version %{version}-rc2 +%define upstream_version %{version} %define upstream_major %(eval echo %{version} | %{__sed} -e 's/\([[:digit:]]*\)\.\([[:digit:]]*\)\.[[:digit:]]*$/\1.\2/') %define compldir %{_datadir}/bash-completion/completions/ @@ -894,6 +894,9 @@ exit 0 %{_libdir}/python*/site-packages/libmount/* %changelog +* 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 From 6af60835d37c4d6d6bfb5733e9ab04354073d69a Mon Sep 17 00:00:00 2001 From: Karel Zak Date: Mon, 2 Nov 2015 12:37:45 +0100 Subject: [PATCH 011/232] 2.27.1-1: upgrade to stable release --- .gitignore | 1 + sources | 2 +- util-linux.spec | 6 +++++- 3 files changed, 7 insertions(+), 2 deletions(-) diff --git a/.gitignore b/.gitignore index 09813fe..f0b7163 100644 --- a/.gitignore +++ b/.gitignore @@ -44,3 +44,4 @@ /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 diff --git a/sources b/sources index e14f656..eb41972 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -5b06bbda9309624ee7add15bc8d8ca22 util-linux-2.27.tar.xz +3cd2698d1363a2c64091c2dadc974647 util-linux-2.27.1.tar.xz diff --git a/util-linux.spec b/util-linux.spec index d4a17a9..7ca01bd 100644 --- a/util-linux.spec +++ b/util-linux.spec @@ -1,7 +1,7 @@ ### Header Summary: A collection of basic system utilities Name: util-linux -Version: 2.27 +Version: 2.27.1 Release: 1%{?dist} License: GPLv2 and GPLv2+ and LGPLv2+ and BSD with advertising and Public Domain Group: System Environment/Base @@ -894,6 +894,10 @@ exit 0 %{_libdir}/python*/site-packages/libmount/* %changelog +* 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 From 9da9be552ab7ae7b5222e68c82d2057dc7bdd90c Mon Sep 17 00:00:00 2001 From: Peter Robinson Date: Tue, 10 Nov 2015 18:14:40 +0000 Subject: [PATCH 012/232] - Rebuilt for https://fedoraproject.org/wiki/Changes/python3.5 --- util-linux.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/util-linux.spec b/util-linux.spec index 7ca01bd..fa3fe5b 100644 --- a/util-linux.spec +++ b/util-linux.spec @@ -2,7 +2,7 @@ Summary: A collection of basic system utilities Name: util-linux Version: 2.27.1 -Release: 1%{?dist} +Release: 2%{?dist} License: GPLv2 and GPLv2+ and LGPLv2+ and BSD with advertising and Public Domain Group: System Environment/Base URL: http://en.wikipedia.org/wiki/Util-linux @@ -894,6 +894,9 @@ exit 0 %{_libdir}/python*/site-packages/libmount/* %changelog +* 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 From c9e662019e424711bc6ddd7c5c29c7a8e2df25b1 Mon Sep 17 00:00:00 2001 From: Karel Zak Date: Wed, 18 Nov 2015 12:23:52 +0100 Subject: [PATCH 013/232] 2.27.1-3: improve things for #1259745 --- 2.27-blkid-zfs-raid.patch | 13 +++++++++++++ util-linux.spec | 7 ++++++- 2 files changed, 19 insertions(+), 1 deletion(-) create mode 100644 2.27-blkid-zfs-raid.patch diff --git a/2.27-blkid-zfs-raid.patch b/2.27-blkid-zfs-raid.patch new file mode 100644 index 0000000..14f6926 --- /dev/null +++ b/2.27-blkid-zfs-raid.patch @@ -0,0 +1,13 @@ +diff -up util-linux-2.27.1/libblkid/src/probe.c.kzak util-linux-2.27.1/libblkid/src/probe.c +diff -up util-linux-2.27.1/libblkid/src/superblocks/zfs.c.kzak util-linux-2.27.1/libblkid/src/superblocks/zfs.c +--- util-linux-2.27.1/libblkid/src/superblocks/zfs.c.kzak 2015-11-02 10:07:34.567648465 +0100 ++++ util-linux-2.27.1/libblkid/src/superblocks/zfs.c 2015-11-18 12:13:32.716188023 +0100 +@@ -258,7 +258,7 @@ static int probe_zfs(blkid_probe pr, con + const struct blkid_idinfo zfs_idinfo = + { + .name = "zfs_member", +- .usage = BLKID_USAGE_RAID, ++ .usage = BLKID_USAGE_FILESYSTEM, + .probefunc = probe_zfs, + .minsz = 64 * 1024 * 1024, + .magics = BLKID_NONE_MAGIC diff --git a/util-linux.spec b/util-linux.spec index fa3fe5b..46c997b 100644 --- a/util-linux.spec +++ b/util-linux.spec @@ -2,7 +2,7 @@ Summary: A collection of basic system utilities Name: util-linux Version: 2.27.1 -Release: 2%{?dist} +Release: 3%{?dist} License: GPLv2 and GPLv2+ and LGPLv2+ and BSD with advertising and Public Domain Group: System Environment/Base URL: http://en.wikipedia.org/wiki/Util-linux @@ -88,6 +88,8 @@ Requires: libfdisk = %{version}-%{release} ### # 151635 - makeing /var/log/lastlog Patch0: 2.23-login-lastlog-create.patch +# 1259745 - Can't start installation in Rawhide or F23 recent development images +Patch1: 2.27-blkid-zfs-raid.patch %description The util-linux package contains a large variety of low-level system @@ -894,6 +896,9 @@ exit 0 %{_libdir}/python*/site-packages/libmount/* %changelog +* 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 From 9f9bfbd1691897fba7a55ac49fa219096d068f97 Mon Sep 17 00:00:00 2001 From: Karel Zak Date: Thu, 10 Dec 2015 10:12:25 +0100 Subject: [PATCH 014/232] 2.26.2-4: fix #1223894 --- util-linux.spec | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/util-linux.spec b/util-linux.spec index 5bb9986..0b9b9f9 100644 --- a/util-linux.spec +++ b/util-linux.spec @@ -2,7 +2,7 @@ Summary: A collection of basic system utilities Name: util-linux Version: 2.26.2 -Release: 3%{?dist} +Release: 4%{?dist} License: GPLv2 and GPLv2+ and LGPLv2+ and BSD with advertising and Public Domain Group: System Environment/Base URL: http://en.wikipedia.org/wiki/Util-linux @@ -27,6 +27,12 @@ Buildrequires: libuser-devel BuildRequires: libcap-ng-devel BuildRequires: python3-devel +# due to patch to build-sys +BuildRequires: gettext-devel +BuildRequires: automake +BuildRequires: autoconf +BuildRequires: libtool + ### Sources Source0: ftp://ftp.kernel.org/pub/linux/utils/util-linux/v2.26/util-linux-%{upstream_version}.tar.xz Source1: util-linux-login.pamd @@ -82,6 +88,8 @@ Patch0: 2.23-login-lastlog-create.patch ### Upstream patches # 1248115 - sfdisk: you cannot change a partition into an extended one or vice versa Patch1: 2.27-libfdisk-mbr-ext.patch +# 1223894 - util-linux FTBFS during stage1 bootstrap +Patch2: 2.27-buildsys-without.patch %description The util-linux package contains a large variety of low-level system @@ -250,6 +258,7 @@ mountinfo, etc) and mount filesystems. %prep %autosetup -p1 -n %{name}-%{upstream_version} +./autogen.sh %build unset LINGUAS || : @@ -884,6 +893,9 @@ exit 0 %{_libdir}/python*/site-packages/libmount/* %changelog +* Thu Dec 10 2015 Karel Zak 2.26.2-4 +- fix #1223894 - util-linux FTBFS during stage1 bootstrap + * Thu Aug 13 2015 Karel Zak 2.26.2-3 - fix #1248115 - sfdisk: you cannot change a partition into an extended one or vice versa - fix dates in the spec file From 4e0c0bf2d21b90fcfa54cf32144304da7175799d Mon Sep 17 00:00:00 2001 From: Karel Zak Date: Thu, 10 Dec 2015 10:26:12 +0100 Subject: [PATCH 015/232] add missing patch --- 2.27-buildsys-without.patch | 117 ++++++++++++++++++++++++++++++++++++ 1 file changed, 117 insertions(+) create mode 100644 2.27-buildsys-without.patch diff --git a/2.27-buildsys-without.patch b/2.27-buildsys-without.patch new file mode 100644 index 0000000..a6116c0 --- /dev/null +++ b/2.27-buildsys-without.patch @@ -0,0 +1,117 @@ +diff -up util-linux-2.25.2/configure.ac.kzak util-linux-2.25.2/configure.ac +--- util-linux-2.25.2/configure.ac.kzak 2014-10-24 12:24:02.952545559 +0200 ++++ util-linux-2.25.2/configure.ac 2015-05-22 13:08:25.120672632 +0200 +@@ -501,8 +501,28 @@ AS_CASE([$scanf_cv_alloc_modifier], + have_scanf_alloc_modifier=no] + ) + +-UL_CHECK_LIB([util], [openpty]) +-UL_CHECK_LIB([termcap], [tgetnum]) ++ ++AC_ARG_WITH([util], AS_HELP_STRING([--without-util], [compile without libutil]), ++ [], [with_util=auto] ++) ++AS_IF([test "x$with_util" = xno], [ ++ AM_CONDITIONAL([HAVE_UTIL], [false]) ++ have_util=no ++], [ ++ UL_CHECK_LIB([util], [openpty]) ++]) ++ ++ ++AC_ARG_WITH([termcap], AS_HELP_STRING([--without-termcap], [compile without libtermcap]), ++ [], [with_termcap=auto] ++) ++AS_IF([test "x$with_termcap" = xno], [ ++ AM_CONDITIONAL([HAVE_TERMCAP], [false]) ++ have_termcap=no ++], [ ++ UL_CHECK_LIB([termcap], [tgetnum]) ++]) ++ + + AC_CHECK_TYPES([union semun], [], [], [[ + #include +@@ -725,17 +745,24 @@ AS_IF([test "x$have_slang" = xyes -o "x$ + ]) + + +-dnl Try pkg-config for libtinfo +-PKG_CHECK_MODULES(TINFO, [tinfo], [have_tinfo=yes], [ +- dnl If that failed, fall back to classic searching. +- AC_CHECK_LIB([tinfo], [tgetent], [ +- have_tinfo=yes +- TINFO_LIBS="-ltinfo" +- TINFO_CFLAGS=""]) ++AC_ARG_WITH([tinfo], AS_HELP_STRING([--without-tinfo], [compile without libtinfo]), ++ [], [with_tinfo=auto] ++) ++have_tinfo=no ++AS_IF([test "x$with_tinfo" != xno], [ ++ dnl Try pkg-config for libtinfo ++ PKG_CHECK_MODULES(TINFO, [tinfo], [have_tinfo=yes], [ ++ dnl If that failed, fall back to classic searching. ++ AC_CHECK_LIB([tinfo], [tgetent], [ ++ have_tinfo=yes ++ TINFO_LIBS="-ltinfo" ++ TINFO_CFLAGS=""]) ++ ]) + ]) + AC_SUBST([TINFO_LIBS]) + AC_SUBST([TINFO_CFLAGS]) + AM_CONDITIONAL([HAVE_TINFO], [test "x$have_tinfo" = xyes]) ++AS_IF([test "x$have_tinfo" = xyes], [AC_DEFINE(HAVE_LIBTINFO, 1, [Define if libtinfo available.])]) + + + AC_ARG_WITH([utempter], +@@ -753,7 +780,6 @@ AS_IF([test "x$with_utempter" = xyes], [ + ]) + + +- + dnl + dnl libuuid + dnl +@@ -994,10 +1020,16 @@ UL_REQUIRES_SYSCALL_CHECK([nsenter], [UL + AM_CONDITIONAL([BUILD_NSENTER], [test "x$build_nsenter" = xyes]) + AC_CHECK_FUNCS([setns]) + +-dnl setpriv depends on libcap-ng. It would be possible to build +-dnl a version of setpriv with limited functionality without libcap-ng, +-dnl but this isn't currently supported. +-UL_CHECK_LIB([cap-ng], [capng_apply], [cap_ng]) ++ ++AC_ARG_WITH([cap_ng], ++ AS_HELP_STRING([--without-capng], [compile without libcap-ng]), ++ [], [with_cap_ng=auto] ++) ++AS_IF([test "x$with_cap_ng" = xno], [have_cap_ng=no],[ ++ UL_CHECK_LIB([cap-ng], [capng_apply], [cap_ng]) ++]) ++ ++ + AC_ARG_ENABLE([setpriv], + AS_HELP_STRING([--disable-setpriv], [do not build setpriv]), + [], [UL_DEFAULT_ENABLE([setpriv], [check])] +@@ -1027,12 +1059,20 @@ UL_BUILD_INIT([agetty]) + AM_CONDITIONAL([BUILD_AGETTY], [test "x$build_agetty" = xyes]) + + ++AC_ARG_WITH([libz], ++ AS_HELP_STRING([--without-libz], [compile without libz]), ++ [], [with_libz=auto] ++) ++AS_IF([test "x$with_libz" = xno], [have_z=no], [ ++ AC_CHECK_LIB([z], [crc32], [have_z=yes], [have_z=no]) ++]) ++ ++ + AC_ARG_ENABLE([cramfs], + AS_HELP_STRING([--disable-cramfs], [do not build fsck.cramfs, mkfs.cramfs]), + [], [UL_DEFAULT_ENABLE([cramfs], [check])] + ) + UL_BUILD_INIT([cramfs]) +-AC_CHECK_LIB([z], [crc32], [have_z=yes], [have_z=no]) + UL_REQUIRES_HAVE([cramfs], [z], [z library]) + AM_CONDITIONAL([BUILD_CRAMFS], [test "x$build_cramfs" = xyes]) + From 9f10eae074f834172f216585ed9ebd604e1ffbfa Mon Sep 17 00:00:00 2001 From: Karel Zak Date: Mon, 18 Jan 2016 15:15:15 +0100 Subject: [PATCH 016/232] 2.27.1-3: fix #1299255 --- libblkid-minix.patch | 13 +++++++++++++ util-linux.spec | 7 ++++++- 2 files changed, 19 insertions(+), 1 deletion(-) create mode 100644 libblkid-minix.patch diff --git a/libblkid-minix.patch b/libblkid-minix.patch new file mode 100644 index 0000000..c913938 --- /dev/null +++ b/libblkid-minix.patch @@ -0,0 +1,13 @@ +diff -up util-linux-2.27.1/libblkid/src/superblocks/minix.c.kzak util-linux-2.27.1/libblkid/src/superblocks/minix.c +--- util-linux-2.27.1/libblkid/src/superblocks/minix.c.kzak 2016-01-18 15:02:05.493738910 +0100 ++++ util-linux-2.27.1/libblkid/src/superblocks/minix.c 2016-01-18 15:04:20.020773281 +0100 +@@ -90,7 +90,8 @@ static int probe_minix(blkid_probe pr, c + struct minix_super_block *sb = (struct minix_super_block *) data; + int zones, ninodes, imaps, zmaps, firstz; + +- if (sb->s_imap_blocks == 0 || sb->s_zmap_blocks == 0) ++ if (sb->s_imap_blocks == 0 || sb->s_zmap_blocks == 0 || ++ sb->s_log_zone_size != 0) + return 1; + + zones = version == 2 ? minix_swab32(swabme, sb->s_zones) : diff --git a/util-linux.spec b/util-linux.spec index 46c997b..2efa016 100644 --- a/util-linux.spec +++ b/util-linux.spec @@ -2,7 +2,7 @@ Summary: A collection of basic system utilities Name: util-linux Version: 2.27.1 -Release: 3%{?dist} +Release: 4%{?dist} License: GPLv2 and GPLv2+ and LGPLv2+ and BSD with advertising and Public Domain Group: System Environment/Base URL: http://en.wikipedia.org/wiki/Util-linux @@ -90,6 +90,8 @@ Requires: libfdisk = %{version}-%{release} Patch0: 2.23-login-lastlog-create.patch # 1259745 - Can't start installation in Rawhide or F23 recent development images Patch1: 2.27-blkid-zfs-raid.patch +# 1299255 - boot.iso (from 20160117 Rawhide compose) incorrectly detected as minix FS +Patch2: libblkid-minix.patch %description The util-linux package contains a large variety of low-level system @@ -896,6 +898,9 @@ exit 0 %{_libdir}/python*/site-packages/libmount/* %changelog +* 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 From c3fa85dd816a1efb7391acb4a9bc93450417bc9f Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Fri, 5 Feb 2016 02:29:08 +0000 Subject: [PATCH 017/232] - Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild --- util-linux.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/util-linux.spec b/util-linux.spec index 2efa016..a7383a6 100644 --- a/util-linux.spec +++ b/util-linux.spec @@ -2,7 +2,7 @@ Summary: A collection of basic system utilities Name: util-linux Version: 2.27.1 -Release: 4%{?dist} +Release: 5%{?dist} License: GPLv2 and GPLv2+ and LGPLv2+ and BSD with advertising and Public Domain Group: System Environment/Base URL: http://en.wikipedia.org/wiki/Util-linux @@ -898,6 +898,9 @@ exit 0 %{_libdir}/python*/site-packages/libmount/* %changelog +* 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 From 3f8e6b01a10ec841065c82c2ec8161d62dcd218e Mon Sep 17 00:00:00 2001 From: Karel Zak Date: Tue, 22 Mar 2016 13:37:27 +0100 Subject: [PATCH 018/232] 2.28.0.1: upgrade --- .gitignore | 1 + sources | 2 +- util-linux.spec | 52 ++++++++++++++++++++++++++++++++++--------------- 3 files changed, 38 insertions(+), 17 deletions(-) diff --git a/.gitignore b/.gitignore index f0b7163..214cf02 100644 --- a/.gitignore +++ b/.gitignore @@ -45,3 +45,4 @@ /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 diff --git a/sources b/sources index eb41972..5b413b9 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -3cd2698d1363a2c64091c2dadc974647 util-linux-2.27.1.tar.xz +0ef0f83e2f28774301247c1235d0d1b1 util-linux-2.28-rc1.tar.xz diff --git a/util-linux.spec b/util-linux.spec index a7383a6..74286c3 100644 --- a/util-linux.spec +++ b/util-linux.spec @@ -1,14 +1,14 @@ ### Header Summary: A collection of basic system utilities Name: util-linux -Version: 2.27.1 -Release: 5%{?dist} +Version: 2.28 +Release: 0.1%{?dist} License: GPLv2 and GPLv2+ and LGPLv2+ and BSD with advertising and Public Domain Group: System Environment/Base URL: http://en.wikipedia.org/wiki/Util-linux ### Macros -%define upstream_version %{version} +%define upstream_version %{version}-rc1 %define upstream_major %(eval echo %{version} | %{__sed} -e 's/\([[:digit:]]*\)\.\([[:digit:]]*\)\.[[:digit:]]*$/\1.\2/') %define compldir %{_datadir}/bash-completion/completions/ @@ -88,10 +88,8 @@ Requires: libfdisk = %{version}-%{release} ### # 151635 - makeing /var/log/lastlog Patch0: 2.23-login-lastlog-create.patch -# 1259745 - Can't start installation in Rawhide or F23 recent development images -Patch1: 2.27-blkid-zfs-raid.patch -# 1299255 - boot.iso (from 20160117 Rawhide compose) incorrectly detected as minix FS -Patch2: libblkid-minix.patch +# temporary for v2.28-rc1 (fixed in upstream tree) +Patch1: 2.28-rc2-swapon.c %description The util-linux package contains a large variety of low-level system @@ -258,6 +256,16 @@ 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 +Group: System Environment/Base +Requires: util-linux = %{version}-%{release} +License: GPLv2 + +%description -n util-linux-user +chfn and chsh utilities with dependence on libuser + + %prep %autosetup -p1 -n %{name}-%{upstream_version} @@ -482,8 +490,6 @@ exit 0 %license Documentation/licenses/* %doc misc-utils/getopt-*.{bash,tcsh} -%config(noreplace) %{_sysconfdir}/pam.d/chfn -%config(noreplace) %{_sysconfdir}/pam.d/chsh %config(noreplace) %{_sysconfdir}/pam.d/login %config(noreplace) %{_sysconfdir}/pam.d/remote %config(noreplace) %{_sysconfdir}/pam.d/su @@ -496,8 +502,6 @@ exit 0 %attr(4755,root,root) %{_bindir}/umount %attr(4755,root,root) %{_bindir}/su %attr(755,root,root) %{_bindir}/login -%attr(4711,root,root) %{_bindir}/chfn -%attr(4711,root,root) %{_bindir}/chsh %attr(2755,root,tty) %{_bindir}/write %ghost %attr(0644,root,root) %verify(not md5 size mtime) /var/log/lastlog @@ -533,6 +537,7 @@ exit 0 %{_bindir}/lsipc %{_bindir}/lslocks %{_bindir}/lslogins +%{_bindir}/lsns %{_bindir}/mcookie %{_bindir}/mesg %{_bindir}/more @@ -560,9 +565,7 @@ exit 0 %{_bindir}/wdctl %{_bindir}/whereis %{_mandir}/man1/cal.1* -%{_mandir}/man1/chfn.1* %{_mandir}/man1/chrt.1* -%{_mandir}/man1/chsh.1* %{_mandir}/man1/col.1* %{_mandir}/man1/colcrt.1* %{_mandir}/man1/colrm.1* @@ -634,7 +637,8 @@ exit 0 %{_mandir}/man8/ldattach.8* %{_mandir}/man8/losetup.8* %{_mandir}/man8/lsblk.8* -%{_mandir}/man8/lslocks.8.gz +%{_mandir}/man8/lslocks.8* +%{_mandir}/man8/lsns.8* %{_mandir}/man8/mkfs.8* %{_mandir}/man8/mkfs.cramfs.8* %{_mandir}/man8/mkfs.minix.8* @@ -700,9 +704,7 @@ exit 0 %{compldir}/blockdev %{compldir}/cal %{compldir}/chcpu -%{compldir}/chfn %{compldir}/chrt -%{compldir}/chsh %{compldir}/col %{compldir}/colcrt %{compldir}/colrm @@ -802,6 +804,18 @@ exit 0 %{_bindir}/sunhostid %endif + +%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 %defattr(-,root,root) %{!?_licensedir:%global license %%doc} @@ -898,6 +912,12 @@ exit 0 %{_libdir}/python*/site-packages/libmount/* %changelog +* Tue Mar 22 2016 Karel Zak - 2.28-0.1 +- upgrade to v2.27-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 From ae201aa504c042eeee36cf8b26b52eb22472aed5 Mon Sep 17 00:00:00 2001 From: Karel Zak Date: Tue, 22 Mar 2016 13:53:06 +0100 Subject: [PATCH 019/232] commit missing patch --- 2.28-rc2-swapon.c | 649 ++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 649 insertions(+) create mode 100644 2.28-rc2-swapon.c diff --git a/2.28-rc2-swapon.c b/2.28-rc2-swapon.c new file mode 100644 index 0000000..70cc86e --- /dev/null +++ b/2.28-rc2-swapon.c @@ -0,0 +1,649 @@ +diff --git a/sys-utils/swapon.c b/sys-utils/swapon.c +index 914e69a..97acf1e 100644 +--- a/sys-utils/swapon.c ++++ b/sys-utils/swapon.c +@@ -99,22 +99,33 @@ struct colinfo infos[] = { + [COL_LABEL] = { "LABEL", 0.20, 0, N_("swap label")}, + }; + +-/* control struct */ +-struct swapon_ctl { +- const char *device; /* device or file to be turned on */ +- const char *options; /* fstab-compatible option string */ ++ ++/* swap area properties */ ++struct swap_prop { ++ int discard; /* discard policy */ ++ int priority; /* non-prioritized swap by default */ ++ int no_fail; /* skip device if not exist */ ++}; ++ ++/* device description */ ++struct swap_device { ++ const char *path; /* device or file to be turned on */ + const char *label; /* swap label */ + const char *uuid; /* unique identifier */ +- int discard; /* discard policy */ ++ unsigned int pagesize; ++}; ++ ++/* control struct */ ++struct swapon_ctl { + int columns[ARRAY_SIZE(infos) * 2]; /* --show columns */ +- int ncolumns; /* number of columns */ +- int priority; /* non-prioritized swap by default */ +- unsigned int pagesize; /* swap page size */ ++ int ncolumns; /* number of columns */ ++ ++ struct swap_prop props; /* global settings for all devices */ ++ + unsigned int + all:1, /* turn on all swap devices */ + bytes:1, /* display --show in bytes */ + fix_page_size:1, /* reinitialize page size */ +- no_fail:1, /* skip devices that do not exist */ + no_heading:1, /* toggle --show headers */ + raw:1, /* toggle --show alignment */ + show:1, /* display --show information */ +@@ -288,14 +299,17 @@ static int show_table(struct swapon_ctl *ctl) + } + + /* calls mkswap */ +-static int swap_reinitialize(struct swapon_ctl *ctl) ++static int swap_reinitialize(struct swap_device *dev) + { + pid_t pid; + int status, ret; + char const *cmd[7]; + int idx=0; + +- warnx(_("%s: reinitializing the swap."), ctl->device); ++ assert(dev); ++ assert(dev->path); ++ ++ warnx(_("%s: reinitializing the swap."), dev->path); + + switch ((pid=fork())) { + case -1: /* fork error */ +@@ -312,15 +326,15 @@ static int swap_reinitialize(struct swapon_ctl *ctl) + } + + cmd[idx++] = "mkswap"; +- if (ctl->label) { ++ if (dev->label) { + cmd[idx++] = "-L"; +- cmd[idx++] = ctl->label; ++ cmd[idx++] = dev->label; + } +- if (ctl->uuid) { ++ if (dev->uuid) { + cmd[idx++] = "-U"; +- cmd[idx++] = ctl->uuid; ++ cmd[idx++] = dev->uuid; + } +- cmd[idx++] = ctl->device; ++ cmd[idx++] = dev->path; + cmd[idx++] = NULL; + execvp(cmd[0], (char * const *) cmd); + err(EXIT_FAILURE, _("failed to execute %s"), cmd[0]); +@@ -343,31 +357,36 @@ static int swap_reinitialize(struct swapon_ctl *ctl) + return -1; /* error */ + } + +-static int swap_rewrite_signature(const struct swapon_ctl *ctl) ++/* Replaces unwanted SWSUSPEND signature with swap signature */ ++static int swap_rewrite_signature(const struct swap_device *dev) + { + int fd, rc = -1; + +- fd = open(ctl->device, O_WRONLY); ++ assert(dev); ++ assert(dev->path); ++ assert(dev->pagesize); ++ ++ fd = open(dev->path, O_WRONLY); + if (fd == -1) { +- warn(_("cannot open %s"), ctl->device); ++ warn(_("cannot open %s"), dev->path); + return -1; + } + +- if (lseek(fd, ctl->pagesize - SWAP_SIGNATURE_SZ, SEEK_SET) < 0) { +- warn(_("%s: lseek failed"), ctl->device); ++ if (lseek(fd, dev->pagesize - SWAP_SIGNATURE_SZ, SEEK_SET) < 0) { ++ warn(_("%s: lseek failed"), dev->path); + goto err; + } + + if (write(fd, (void *) SWAP_SIGNATURE, + SWAP_SIGNATURE_SZ) != SWAP_SIGNATURE_SZ) { +- warn(_("%s: write signature failed"), ctl->device); ++ warn(_("%s: write signature failed"), dev->path); + goto err; + } + + rc = 0; + err: + if (close_fd(fd) != 0) { +- warn(_("write failed: %s"), ctl->device); ++ warn(_("write failed: %s"), dev->path); + rc = -1; + } + return rc; +@@ -375,6 +394,9 @@ err: + + static int swap_detect_signature(const char *buf, int *sig) + { ++ assert(buf); ++ assert(sig); ++ + if (memcmp(buf, SWAP_SIGNATURE, SWAP_SIGNATURE_SZ) == 0) + *sig = SIG_SWAPSPACE; + +@@ -390,13 +412,16 @@ static int swap_detect_signature(const char *buf, int *sig) + return 1; + } + +-static char *swap_get_header(struct swapon_ctl *ctl, int fd, int *sig) ++static char *swap_get_header(int fd, int *sig, unsigned int *pagesize) + { + char *buf; + ssize_t datasz; + unsigned int page; + +- ctl->pagesize = 0; ++ assert(sig); ++ assert(pagesize); ++ ++ *pagesize = 0; + *sig = 0; + + buf = xmalloc(MAX_PAGESIZE); +@@ -415,12 +440,12 @@ static char *swap_get_header(struct swapon_ctl *ctl, int fd, int *sig) + if (datasz < 0 || (size_t) datasz < (page - SWAP_SIGNATURE_SZ)) + break; + if (swap_detect_signature(buf + page - SWAP_SIGNATURE_SZ, sig)) { +- ctl->pagesize = page; ++ *pagesize = page; + break; + } + } + +- if (ctl->pagesize) ++ if (*pagesize) + return buf; + err: + free(buf); +@@ -428,37 +453,34 @@ err: + } + + /* returns real size of swap space */ +-static unsigned long long swap_get_size(const struct swapon_ctl *ctl, const char *hdr) ++static unsigned long long swap_get_size(const struct swap_device *dev, ++ const char *hdr) + { + unsigned int last_page = 0; + const unsigned int swap_version = SWAP_VERSION; +- int flip = 0; + struct swap_header_v1_2 *s; + ++ assert(dev); ++ assert(dev->pagesize > 0); ++ + s = (struct swap_header_v1_2 *) hdr; +- if (s->version == swap_version) { ++ ++ if (s->version == swap_version) + last_page = s->last_page; +- } else if (swab32(s->version) == swap_version) { +- flip = 1; ++ else if (swab32(s->version) == swap_version) + last_page = swab32(s->last_page); +- } +- if (ctl->verbose) +- warnx(_("%s: found swap signature: version %ud, " +- "page-size %d, %s byte order"), +- ctl->device, +- swap_version, +- ctl->pagesize / 1024, +- flip ? _("different") : _("same")); +- +- return ((unsigned long long) last_page + 1) * ctl->pagesize; ++ ++ return ((unsigned long long) last_page + 1) * dev->pagesize; + } + +-static void swap_get_info(struct swapon_ctl *ctl, const char *hdr) ++static void swap_get_info(struct swap_device *dev, const char *hdr) + { + struct swap_header_v1_2 *s = (struct swap_header_v1_2 *) hdr; + ++ assert(dev); ++ + if (s && *s->volume_name) +- ctl->label = xstrdup(s->volume_name); ++ dev->label = xstrdup(s->volume_name); + + if (s && *s->uuid) { + const unsigned char *u = s->uuid; +@@ -471,11 +493,11 @@ static void swap_get_info(struct swapon_ctl *ctl, const char *hdr) + u[0], u[1], u[2], u[3], + u[4], u[5], u[6], u[7], + u[8], u[9], u[10], u[11], u[12], u[13], u[14], u[15]); +- ctl->uuid = xstrdup(str); ++ dev->uuid = xstrdup(str); + } + } + +-static int swapon_checks(struct swapon_ctl *ctl) ++static int swapon_checks(const struct swapon_ctl *ctl, struct swap_device *dev) + { + struct stat st; + int fd = -1, sig; +@@ -483,77 +505,88 @@ static int swapon_checks(struct swapon_ctl *ctl) + unsigned long long devsize = 0; + int permMask; + +- fd = open(ctl->device, O_RDONLY); ++ assert(ctl); ++ assert(dev); ++ assert(dev->path); ++ ++ fd = open(dev->path, O_RDONLY); + if (fd == -1) { +- warn(_("cannot open %s"), ctl->device); ++ warn(_("cannot open %s"), dev->path); + goto err; + } + + if (fstat(fd, &st) < 0) { +- warn(_("stat of %s failed"), ctl->device); ++ warn(_("stat of %s failed"), dev->path); + goto err; + } + + permMask = S_ISBLK(st.st_mode) ? 07007 : 07077; + if ((st.st_mode & permMask) != 0) + warnx(_("%s: insecure permissions %04o, %04o suggested."), +- ctl->device, st.st_mode & 07777, ++ dev->path, st.st_mode & 07777, + ~permMask & 0666); + + if (S_ISREG(st.st_mode) && st.st_uid != 0) + warnx(_("%s: insecure file owner %d, 0 (root) suggested."), +- ctl->device, st.st_uid); ++ dev->path, st.st_uid); + + /* test for holes by LBT */ + if (S_ISREG(st.st_mode)) { + if (st.st_blocks * 512 < st.st_size) { + warnx(_("%s: skipping - it appears to have holes."), +- ctl->device); ++ dev->path); + goto err; + } + devsize = st.st_size; + } + + if (S_ISBLK(st.st_mode) && blkdev_get_size(fd, &devsize)) { +- warnx(_("%s: get size failed"), ctl->device); ++ warnx(_("%s: get size failed"), dev->path); + goto err; + } + +- hdr = swap_get_header(ctl, fd, &sig); ++ hdr = swap_get_header(fd, &sig, &dev->pagesize); + if (!hdr) { +- warnx(_("%s: read swap header failed"), ctl->device); ++ warnx(_("%s: read swap header failed"), dev->path); + goto err; + } + +- if (sig == SIG_SWAPSPACE && ctl->pagesize) { +- unsigned long long swapsize = +- swap_get_size(ctl, hdr); ++ if (ctl->verbose) ++ warnx(_("%s: found signature [pagesize=%d, signature=%s]"), ++ dev->path, ++ dev->pagesize, ++ sig == SIG_SWAPSPACE ? "swap" : ++ sig == SIG_SWSUSPEND ? "suspend" : "unknown"); ++ ++ if (sig == SIG_SWAPSPACE && dev->pagesize) { ++ unsigned long long swapsize = swap_get_size(dev, hdr); + int syspg = getpagesize(); + + if (ctl->verbose) + warnx(_("%s: pagesize=%d, swapsize=%llu, devsize=%llu"), +- ctl->device, ctl->pagesize, swapsize, devsize); ++ dev->path, dev->pagesize, swapsize, devsize); + + if (swapsize > devsize) { + if (ctl->verbose) + warnx(_("%s: last_page 0x%08llx is larger" + " than actual size of swapspace"), +- ctl->device, swapsize); +- } else if (syspg < 0 || (unsigned int) syspg != ctl->pagesize) { ++ dev->path, swapsize); ++ ++ } else if (syspg < 0 || (unsigned int) syspg != dev->pagesize) { + if (ctl->fix_page_size) { + int rc; + +- swap_get_info(ctl, hdr); ++ swap_get_info(dev, hdr); + + warnx(_("%s: swap format pagesize does not match."), +- ctl->device); +- rc = swap_reinitialize(ctl); ++ dev->path); ++ rc = swap_reinitialize(dev); + if (rc < 0) + goto err; + } else + warnx(_("%s: swap format pagesize does not match. " + "(Use --fixpgsz to reinitialize it.)"), +- ctl->device); ++ dev->path); + } + } else if (sig == SIG_SWSUSPEND) { + /* We have to reinitialize swap with old (=useless) software suspend +@@ -562,8 +595,8 @@ static int swapon_checks(struct swapon_ctl *ctl) + */ + warnx(_("%s: software suspend data detected. " + "Rewriting the swap signature."), +- ctl->device); +- if (swap_rewrite_signature(ctl) < 0) ++ dev->path); ++ if (swap_rewrite_signature(dev) < 0) + goto err; + } + +@@ -577,33 +610,38 @@ err: + return -1; + } + +-static int do_swapon(struct swapon_ctl *ctl, const char *spec, int canonic) ++static int do_swapon(const struct swapon_ctl *ctl, ++ const struct swap_prop *prop, ++ const char *spec, ++ int canonic) + { ++ struct swap_device dev = { .path = NULL }; + int status; + int flags = 0; ++ int priority; + +- /* all initilized by do_swapon() */ +- ctl->device = ctl->label = ctl->uuid = NULL; +- +- if (ctl->verbose) +- printf(_("swapon %s\n"), ctl->device); ++ assert(ctl); ++ assert(prop); + + if (!canonic) { +- ctl->device = mnt_resolve_spec(spec, mntcache); +- if (!ctl->device) ++ dev.path = mnt_resolve_spec(spec, mntcache); ++ if (!dev.path) + return cannot_find(spec); + } else +- ctl->device = spec; ++ dev.path = spec; + +- if (swapon_checks(ctl)) ++ priority = prop->priority; ++ ++ if (swapon_checks(ctl, &dev)) + return -1; + + #ifdef SWAP_FLAG_PREFER +- if (ctl->priority >= 0) { +- if (ctl->priority > SWAP_FLAG_PRIO_MASK) +- ctl->priority = SWAP_FLAG_PRIO_MASK; ++ if (priority >= 0) { ++ if (priority > SWAP_FLAG_PRIO_MASK) ++ priority = SWAP_FLAG_PRIO_MASK; ++ + flags = SWAP_FLAG_PREFER +- | ((ctl->priority & SWAP_FLAG_PRIO_MASK) ++ | ((priority & SWAP_FLAG_PRIO_MASK) + << SWAP_FLAG_PRIO_SHIFT); + } + #endif +@@ -611,22 +649,25 @@ static int do_swapon(struct swapon_ctl *ctl, const char *spec, int canonic) + * Validate the discard flags passed and set them + * accordingly before calling sys_swapon. + */ +- if (ctl->discard && !(ctl->discard & ~SWAP_FLAGS_DISCARD_VALID)) { ++ if (prop->discard && !(prop->discard & ~SWAP_FLAGS_DISCARD_VALID)) { + /* + * If we get here with both discard policy flags set, + * we just need to tell the kernel to enable discards + * and it will do correctly, just as we expect. + */ +- if ((ctl->discard & SWAP_FLAG_DISCARD_ONCE) && +- (ctl->discard & SWAP_FLAG_DISCARD_PAGES)) ++ if ((prop->discard & SWAP_FLAG_DISCARD_ONCE) && ++ (prop->discard & SWAP_FLAG_DISCARD_PAGES)) + flags |= SWAP_FLAG_DISCARD; + else +- flags |= ctl->discard; ++ flags |= prop->discard; + } + +- status = swapon(ctl->device, flags); ++ if (ctl->verbose) ++ printf(_("swapon %s\n"), dev.path); ++ ++ status = swapon(dev.path, flags); + if (status < 0) +- warn(_("%s: swapon failed"), ctl->device); ++ warn(_("%s: swapon failed"), dev.path); + + return status; + } +@@ -634,45 +675,43 @@ static int do_swapon(struct swapon_ctl *ctl, const char *spec, int canonic) + static int swapon_by_label(struct swapon_ctl *ctl, const char *label) + { + char *device = mnt_resolve_tag("LABEL", label, mntcache); +- return device ? do_swapon(ctl, device, TRUE) : cannot_find(label); ++ return device ? do_swapon(ctl, &ctl->props, device, TRUE) : cannot_find(label); + } + + static int swapon_by_uuid(struct swapon_ctl *ctl, const char *uuid) + { + char *device = mnt_resolve_tag("UUID", uuid, mntcache); +- return device ? do_swapon(ctl, device, TRUE) : cannot_find(uuid); ++ return device ? do_swapon(ctl, &ctl->props, device, TRUE) : cannot_find(uuid); + } + + /* -o or fstab */ +-static int parse_options(struct swapon_ctl *ctl) ++static int parse_options(struct swap_prop *props, const char *options) + { + char *arg = NULL; + +- assert(ctl->options); +- assert(ctl->priority); +- assert(ctl->discard); +- assert(ctl->no_fail); ++ assert(props); ++ assert(options); + +- if (mnt_optstr_get_option(ctl->options, "nofail", NULL, 0) == 0) +- ctl->no_fail = 1; ++ if (mnt_optstr_get_option(options, "nofail", NULL, 0) == 0) ++ props->no_fail = 1; + +- if (mnt_optstr_get_option(ctl->options, "discard", &arg, NULL) == 0) { +- ctl->discard |= SWAP_FLAG_DISCARD; ++ if (mnt_optstr_get_option(options, "discard", &arg, NULL) == 0) { ++ props->discard |= SWAP_FLAG_DISCARD; + + if (arg) { + /* only single-time discards are wanted */ + if (strcmp(arg, "once") == 0) +- ctl->discard |= SWAP_FLAG_DISCARD_ONCE; ++ props->discard |= SWAP_FLAG_DISCARD_ONCE; + + /* do discard for every released swap page */ + if (strcmp(arg, "pages") == 0) +- ctl->discard |= SWAP_FLAG_DISCARD_PAGES; +- } ++ props->discard |= SWAP_FLAG_DISCARD_PAGES; ++ } + } + + arg = NULL; +- if (mnt_optstr_get_option(ctl->options, "pri", &arg, NULL) == 0 && arg) +- ctl->priority = atoi(arg); ++ if (mnt_optstr_get_option(options, "pri", &arg, NULL) == 0 && arg) ++ props->priority = atoi(arg); + + return 0; + } +@@ -696,24 +735,44 @@ static int swapon_all(struct swapon_ctl *ctl) + /* defaults */ + const char *opts; + const char *device; ++ struct swap_prop prop; /* per device setting */ + +- if (mnt_fs_get_option(fs, "noauto", NULL, NULL) == 0) ++ if (mnt_fs_get_option(fs, "noauto", NULL, NULL) == 0) { ++ if (ctl->verbose) ++ warnx(_("%s: noauto option -- ignored"), mnt_fs_get_source(fs)); + continue; ++ } ++ ++ /* default setting */ ++ prop = ctl->props; + ++ /* overwrite default by setting from fstab */ + opts = mnt_fs_get_options(fs); + if (opts) +- parse_options(ctl); ++ parse_options(&prop, opts); + ++ /* convert LABEL=, UUID= etc. from fstab to device name */ + device = mnt_resolve_spec(mnt_fs_get_source(fs), mntcache); + if (!device) { +- if (!ctl->no_fail) ++ if (!prop.no_fail) + status |= cannot_find(mnt_fs_get_source(fs)); + continue; + } + +- if (!is_active_swap(device) && +- (!ctl->no_fail || !access(device, R_OK))) +- status |= do_swapon(ctl, device, TRUE); ++ if (is_active_swap(device)) { ++ if (ctl->verbose) ++ warnx(_("%s: already active -- ignored"), device); ++ continue; ++ } ++ ++ if (prop.no_fail && access(device, R_OK) != 0) { ++ if (ctl->verbose) ++ warnx(_("%s: unaccessible -- ignored"), device); ++ continue; ++ } ++ ++ /* swapon */ ++ status |= do_swapon(ctl, &prop, device, TRUE); + } + + mnt_free_iter(itr); +@@ -775,6 +834,7 @@ int main(int argc, char *argv[]) + { + int status = 0, c; + size_t i; ++ char *options = NULL; + + enum { + BYTES_OPTION = CHAR_MAX + 1, +@@ -810,13 +870,16 @@ int main(int argc, char *argv[]) + }; + int excl_st[ARRAY_SIZE(excl)] = UL_EXCL_STATUS_INIT; + +- struct swapon_ctl ctl = { .priority = -1 }; ++ struct swapon_ctl ctl; + + setlocale(LC_ALL, ""); + bindtextdomain(PACKAGE, LOCALEDIR); + textdomain(PACKAGE); + atexit(close_stdout); + ++ memset(&ctl, 0, sizeof(struct swapon_ctl)); ++ ctl.props.priority = -1; ++ + mnt_init_debug(0); + mntcache = mnt_new_cache(); + +@@ -833,10 +896,10 @@ int main(int argc, char *argv[]) + usage(stdout); + break; + case 'o': +- ctl.options = optarg; ++ options = optarg; + break; + case 'p': /* priority */ +- ctl.priority = strtos16_or_err(optarg, ++ ctl.props.priority = strtos16_or_err(optarg, + _("failed to parse priority")); + break; + case 'L': +@@ -846,21 +909,21 @@ int main(int argc, char *argv[]) + add_uuid(optarg); + break; + case 'd': +- ctl.discard |= SWAP_FLAG_DISCARD; ++ ctl.props.discard |= SWAP_FLAG_DISCARD; + if (optarg) { + if (*optarg == '=') + optarg++; + + if (strcmp(optarg, "once") == 0) +- ctl.discard |= SWAP_FLAG_DISCARD_ONCE; ++ ctl.props.discard |= SWAP_FLAG_DISCARD_ONCE; + else if (strcmp(optarg, "pages") == 0) +- ctl.discard |= SWAP_FLAG_DISCARD_PAGES; ++ ctl.props.discard |= SWAP_FLAG_DISCARD_PAGES; + else + errx(EXIT_FAILURE, _("unsupported discard policy: %s"), optarg); + } + break; + case 'e': /* ifexists */ +- ctl.no_fail = 1; ++ ctl.props.no_fail = 1; + break; + case 'f': + ctl.fix_page_size = 1; +@@ -916,14 +979,14 @@ int main(int argc, char *argv[]) + return status; + } + +- if (ctl.no_fail && !ctl.all) ++ if (ctl.props.no_fail && !ctl.all) + usage(stderr); + + if (ctl.all) + status |= swapon_all(&ctl); + +- if (ctl.options) +- parse_options(&ctl); ++ if (options) ++ parse_options(&ctl.props, options); + + for (i = 0; i < numof_labels(); i++) + status |= swapon_by_label(&ctl, get_label(i)); +@@ -932,7 +995,7 @@ int main(int argc, char *argv[]) + status |= swapon_by_uuid(&ctl, get_uuid(i)); + + while (*argv != NULL) +- status |= do_swapon(&ctl, *argv++, FALSE); ++ status |= do_swapon(&ctl, &ctl.props, *argv++, FALSE); + + free_tables(); + mnt_unref_cache(mntcache); From c67f1a42d86f743c81029c09df5145fc6bf7f444 Mon Sep 17 00:00:00 2001 From: Karel Zak Date: Tue, 29 Mar 2016 11:19:22 +0200 Subject: [PATCH 020/232] 2.28.0.2: upgrade to rc2 --- .gitignore | 1 + 2.28-rc2-swapon.c | 649 ---------------------------------------------- sources | 2 +- util-linux.spec | 11 +- 4 files changed, 8 insertions(+), 655 deletions(-) delete mode 100644 2.28-rc2-swapon.c diff --git a/.gitignore b/.gitignore index 214cf02..2c3177e 100644 --- a/.gitignore +++ b/.gitignore @@ -46,3 +46,4 @@ /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 diff --git a/2.28-rc2-swapon.c b/2.28-rc2-swapon.c deleted file mode 100644 index 70cc86e..0000000 --- a/2.28-rc2-swapon.c +++ /dev/null @@ -1,649 +0,0 @@ -diff --git a/sys-utils/swapon.c b/sys-utils/swapon.c -index 914e69a..97acf1e 100644 ---- a/sys-utils/swapon.c -+++ b/sys-utils/swapon.c -@@ -99,22 +99,33 @@ struct colinfo infos[] = { - [COL_LABEL] = { "LABEL", 0.20, 0, N_("swap label")}, - }; - --/* control struct */ --struct swapon_ctl { -- const char *device; /* device or file to be turned on */ -- const char *options; /* fstab-compatible option string */ -+ -+/* swap area properties */ -+struct swap_prop { -+ int discard; /* discard policy */ -+ int priority; /* non-prioritized swap by default */ -+ int no_fail; /* skip device if not exist */ -+}; -+ -+/* device description */ -+struct swap_device { -+ const char *path; /* device or file to be turned on */ - const char *label; /* swap label */ - const char *uuid; /* unique identifier */ -- int discard; /* discard policy */ -+ unsigned int pagesize; -+}; -+ -+/* control struct */ -+struct swapon_ctl { - int columns[ARRAY_SIZE(infos) * 2]; /* --show columns */ -- int ncolumns; /* number of columns */ -- int priority; /* non-prioritized swap by default */ -- unsigned int pagesize; /* swap page size */ -+ int ncolumns; /* number of columns */ -+ -+ struct swap_prop props; /* global settings for all devices */ -+ - unsigned int - all:1, /* turn on all swap devices */ - bytes:1, /* display --show in bytes */ - fix_page_size:1, /* reinitialize page size */ -- no_fail:1, /* skip devices that do not exist */ - no_heading:1, /* toggle --show headers */ - raw:1, /* toggle --show alignment */ - show:1, /* display --show information */ -@@ -288,14 +299,17 @@ static int show_table(struct swapon_ctl *ctl) - } - - /* calls mkswap */ --static int swap_reinitialize(struct swapon_ctl *ctl) -+static int swap_reinitialize(struct swap_device *dev) - { - pid_t pid; - int status, ret; - char const *cmd[7]; - int idx=0; - -- warnx(_("%s: reinitializing the swap."), ctl->device); -+ assert(dev); -+ assert(dev->path); -+ -+ warnx(_("%s: reinitializing the swap."), dev->path); - - switch ((pid=fork())) { - case -1: /* fork error */ -@@ -312,15 +326,15 @@ static int swap_reinitialize(struct swapon_ctl *ctl) - } - - cmd[idx++] = "mkswap"; -- if (ctl->label) { -+ if (dev->label) { - cmd[idx++] = "-L"; -- cmd[idx++] = ctl->label; -+ cmd[idx++] = dev->label; - } -- if (ctl->uuid) { -+ if (dev->uuid) { - cmd[idx++] = "-U"; -- cmd[idx++] = ctl->uuid; -+ cmd[idx++] = dev->uuid; - } -- cmd[idx++] = ctl->device; -+ cmd[idx++] = dev->path; - cmd[idx++] = NULL; - execvp(cmd[0], (char * const *) cmd); - err(EXIT_FAILURE, _("failed to execute %s"), cmd[0]); -@@ -343,31 +357,36 @@ static int swap_reinitialize(struct swapon_ctl *ctl) - return -1; /* error */ - } - --static int swap_rewrite_signature(const struct swapon_ctl *ctl) -+/* Replaces unwanted SWSUSPEND signature with swap signature */ -+static int swap_rewrite_signature(const struct swap_device *dev) - { - int fd, rc = -1; - -- fd = open(ctl->device, O_WRONLY); -+ assert(dev); -+ assert(dev->path); -+ assert(dev->pagesize); -+ -+ fd = open(dev->path, O_WRONLY); - if (fd == -1) { -- warn(_("cannot open %s"), ctl->device); -+ warn(_("cannot open %s"), dev->path); - return -1; - } - -- if (lseek(fd, ctl->pagesize - SWAP_SIGNATURE_SZ, SEEK_SET) < 0) { -- warn(_("%s: lseek failed"), ctl->device); -+ if (lseek(fd, dev->pagesize - SWAP_SIGNATURE_SZ, SEEK_SET) < 0) { -+ warn(_("%s: lseek failed"), dev->path); - goto err; - } - - if (write(fd, (void *) SWAP_SIGNATURE, - SWAP_SIGNATURE_SZ) != SWAP_SIGNATURE_SZ) { -- warn(_("%s: write signature failed"), ctl->device); -+ warn(_("%s: write signature failed"), dev->path); - goto err; - } - - rc = 0; - err: - if (close_fd(fd) != 0) { -- warn(_("write failed: %s"), ctl->device); -+ warn(_("write failed: %s"), dev->path); - rc = -1; - } - return rc; -@@ -375,6 +394,9 @@ err: - - static int swap_detect_signature(const char *buf, int *sig) - { -+ assert(buf); -+ assert(sig); -+ - if (memcmp(buf, SWAP_SIGNATURE, SWAP_SIGNATURE_SZ) == 0) - *sig = SIG_SWAPSPACE; - -@@ -390,13 +412,16 @@ static int swap_detect_signature(const char *buf, int *sig) - return 1; - } - --static char *swap_get_header(struct swapon_ctl *ctl, int fd, int *sig) -+static char *swap_get_header(int fd, int *sig, unsigned int *pagesize) - { - char *buf; - ssize_t datasz; - unsigned int page; - -- ctl->pagesize = 0; -+ assert(sig); -+ assert(pagesize); -+ -+ *pagesize = 0; - *sig = 0; - - buf = xmalloc(MAX_PAGESIZE); -@@ -415,12 +440,12 @@ static char *swap_get_header(struct swapon_ctl *ctl, int fd, int *sig) - if (datasz < 0 || (size_t) datasz < (page - SWAP_SIGNATURE_SZ)) - break; - if (swap_detect_signature(buf + page - SWAP_SIGNATURE_SZ, sig)) { -- ctl->pagesize = page; -+ *pagesize = page; - break; - } - } - -- if (ctl->pagesize) -+ if (*pagesize) - return buf; - err: - free(buf); -@@ -428,37 +453,34 @@ err: - } - - /* returns real size of swap space */ --static unsigned long long swap_get_size(const struct swapon_ctl *ctl, const char *hdr) -+static unsigned long long swap_get_size(const struct swap_device *dev, -+ const char *hdr) - { - unsigned int last_page = 0; - const unsigned int swap_version = SWAP_VERSION; -- int flip = 0; - struct swap_header_v1_2 *s; - -+ assert(dev); -+ assert(dev->pagesize > 0); -+ - s = (struct swap_header_v1_2 *) hdr; -- if (s->version == swap_version) { -+ -+ if (s->version == swap_version) - last_page = s->last_page; -- } else if (swab32(s->version) == swap_version) { -- flip = 1; -+ else if (swab32(s->version) == swap_version) - last_page = swab32(s->last_page); -- } -- if (ctl->verbose) -- warnx(_("%s: found swap signature: version %ud, " -- "page-size %d, %s byte order"), -- ctl->device, -- swap_version, -- ctl->pagesize / 1024, -- flip ? _("different") : _("same")); -- -- return ((unsigned long long) last_page + 1) * ctl->pagesize; -+ -+ return ((unsigned long long) last_page + 1) * dev->pagesize; - } - --static void swap_get_info(struct swapon_ctl *ctl, const char *hdr) -+static void swap_get_info(struct swap_device *dev, const char *hdr) - { - struct swap_header_v1_2 *s = (struct swap_header_v1_2 *) hdr; - -+ assert(dev); -+ - if (s && *s->volume_name) -- ctl->label = xstrdup(s->volume_name); -+ dev->label = xstrdup(s->volume_name); - - if (s && *s->uuid) { - const unsigned char *u = s->uuid; -@@ -471,11 +493,11 @@ static void swap_get_info(struct swapon_ctl *ctl, const char *hdr) - u[0], u[1], u[2], u[3], - u[4], u[5], u[6], u[7], - u[8], u[9], u[10], u[11], u[12], u[13], u[14], u[15]); -- ctl->uuid = xstrdup(str); -+ dev->uuid = xstrdup(str); - } - } - --static int swapon_checks(struct swapon_ctl *ctl) -+static int swapon_checks(const struct swapon_ctl *ctl, struct swap_device *dev) - { - struct stat st; - int fd = -1, sig; -@@ -483,77 +505,88 @@ static int swapon_checks(struct swapon_ctl *ctl) - unsigned long long devsize = 0; - int permMask; - -- fd = open(ctl->device, O_RDONLY); -+ assert(ctl); -+ assert(dev); -+ assert(dev->path); -+ -+ fd = open(dev->path, O_RDONLY); - if (fd == -1) { -- warn(_("cannot open %s"), ctl->device); -+ warn(_("cannot open %s"), dev->path); - goto err; - } - - if (fstat(fd, &st) < 0) { -- warn(_("stat of %s failed"), ctl->device); -+ warn(_("stat of %s failed"), dev->path); - goto err; - } - - permMask = S_ISBLK(st.st_mode) ? 07007 : 07077; - if ((st.st_mode & permMask) != 0) - warnx(_("%s: insecure permissions %04o, %04o suggested."), -- ctl->device, st.st_mode & 07777, -+ dev->path, st.st_mode & 07777, - ~permMask & 0666); - - if (S_ISREG(st.st_mode) && st.st_uid != 0) - warnx(_("%s: insecure file owner %d, 0 (root) suggested."), -- ctl->device, st.st_uid); -+ dev->path, st.st_uid); - - /* test for holes by LBT */ - if (S_ISREG(st.st_mode)) { - if (st.st_blocks * 512 < st.st_size) { - warnx(_("%s: skipping - it appears to have holes."), -- ctl->device); -+ dev->path); - goto err; - } - devsize = st.st_size; - } - - if (S_ISBLK(st.st_mode) && blkdev_get_size(fd, &devsize)) { -- warnx(_("%s: get size failed"), ctl->device); -+ warnx(_("%s: get size failed"), dev->path); - goto err; - } - -- hdr = swap_get_header(ctl, fd, &sig); -+ hdr = swap_get_header(fd, &sig, &dev->pagesize); - if (!hdr) { -- warnx(_("%s: read swap header failed"), ctl->device); -+ warnx(_("%s: read swap header failed"), dev->path); - goto err; - } - -- if (sig == SIG_SWAPSPACE && ctl->pagesize) { -- unsigned long long swapsize = -- swap_get_size(ctl, hdr); -+ if (ctl->verbose) -+ warnx(_("%s: found signature [pagesize=%d, signature=%s]"), -+ dev->path, -+ dev->pagesize, -+ sig == SIG_SWAPSPACE ? "swap" : -+ sig == SIG_SWSUSPEND ? "suspend" : "unknown"); -+ -+ if (sig == SIG_SWAPSPACE && dev->pagesize) { -+ unsigned long long swapsize = swap_get_size(dev, hdr); - int syspg = getpagesize(); - - if (ctl->verbose) - warnx(_("%s: pagesize=%d, swapsize=%llu, devsize=%llu"), -- ctl->device, ctl->pagesize, swapsize, devsize); -+ dev->path, dev->pagesize, swapsize, devsize); - - if (swapsize > devsize) { - if (ctl->verbose) - warnx(_("%s: last_page 0x%08llx is larger" - " than actual size of swapspace"), -- ctl->device, swapsize); -- } else if (syspg < 0 || (unsigned int) syspg != ctl->pagesize) { -+ dev->path, swapsize); -+ -+ } else if (syspg < 0 || (unsigned int) syspg != dev->pagesize) { - if (ctl->fix_page_size) { - int rc; - -- swap_get_info(ctl, hdr); -+ swap_get_info(dev, hdr); - - warnx(_("%s: swap format pagesize does not match."), -- ctl->device); -- rc = swap_reinitialize(ctl); -+ dev->path); -+ rc = swap_reinitialize(dev); - if (rc < 0) - goto err; - } else - warnx(_("%s: swap format pagesize does not match. " - "(Use --fixpgsz to reinitialize it.)"), -- ctl->device); -+ dev->path); - } - } else if (sig == SIG_SWSUSPEND) { - /* We have to reinitialize swap with old (=useless) software suspend -@@ -562,8 +595,8 @@ static int swapon_checks(struct swapon_ctl *ctl) - */ - warnx(_("%s: software suspend data detected. " - "Rewriting the swap signature."), -- ctl->device); -- if (swap_rewrite_signature(ctl) < 0) -+ dev->path); -+ if (swap_rewrite_signature(dev) < 0) - goto err; - } - -@@ -577,33 +610,38 @@ err: - return -1; - } - --static int do_swapon(struct swapon_ctl *ctl, const char *spec, int canonic) -+static int do_swapon(const struct swapon_ctl *ctl, -+ const struct swap_prop *prop, -+ const char *spec, -+ int canonic) - { -+ struct swap_device dev = { .path = NULL }; - int status; - int flags = 0; -+ int priority; - -- /* all initilized by do_swapon() */ -- ctl->device = ctl->label = ctl->uuid = NULL; -- -- if (ctl->verbose) -- printf(_("swapon %s\n"), ctl->device); -+ assert(ctl); -+ assert(prop); - - if (!canonic) { -- ctl->device = mnt_resolve_spec(spec, mntcache); -- if (!ctl->device) -+ dev.path = mnt_resolve_spec(spec, mntcache); -+ if (!dev.path) - return cannot_find(spec); - } else -- ctl->device = spec; -+ dev.path = spec; - -- if (swapon_checks(ctl)) -+ priority = prop->priority; -+ -+ if (swapon_checks(ctl, &dev)) - return -1; - - #ifdef SWAP_FLAG_PREFER -- if (ctl->priority >= 0) { -- if (ctl->priority > SWAP_FLAG_PRIO_MASK) -- ctl->priority = SWAP_FLAG_PRIO_MASK; -+ if (priority >= 0) { -+ if (priority > SWAP_FLAG_PRIO_MASK) -+ priority = SWAP_FLAG_PRIO_MASK; -+ - flags = SWAP_FLAG_PREFER -- | ((ctl->priority & SWAP_FLAG_PRIO_MASK) -+ | ((priority & SWAP_FLAG_PRIO_MASK) - << SWAP_FLAG_PRIO_SHIFT); - } - #endif -@@ -611,22 +649,25 @@ static int do_swapon(struct swapon_ctl *ctl, const char *spec, int canonic) - * Validate the discard flags passed and set them - * accordingly before calling sys_swapon. - */ -- if (ctl->discard && !(ctl->discard & ~SWAP_FLAGS_DISCARD_VALID)) { -+ if (prop->discard && !(prop->discard & ~SWAP_FLAGS_DISCARD_VALID)) { - /* - * If we get here with both discard policy flags set, - * we just need to tell the kernel to enable discards - * and it will do correctly, just as we expect. - */ -- if ((ctl->discard & SWAP_FLAG_DISCARD_ONCE) && -- (ctl->discard & SWAP_FLAG_DISCARD_PAGES)) -+ if ((prop->discard & SWAP_FLAG_DISCARD_ONCE) && -+ (prop->discard & SWAP_FLAG_DISCARD_PAGES)) - flags |= SWAP_FLAG_DISCARD; - else -- flags |= ctl->discard; -+ flags |= prop->discard; - } - -- status = swapon(ctl->device, flags); -+ if (ctl->verbose) -+ printf(_("swapon %s\n"), dev.path); -+ -+ status = swapon(dev.path, flags); - if (status < 0) -- warn(_("%s: swapon failed"), ctl->device); -+ warn(_("%s: swapon failed"), dev.path); - - return status; - } -@@ -634,45 +675,43 @@ static int do_swapon(struct swapon_ctl *ctl, const char *spec, int canonic) - static int swapon_by_label(struct swapon_ctl *ctl, const char *label) - { - char *device = mnt_resolve_tag("LABEL", label, mntcache); -- return device ? do_swapon(ctl, device, TRUE) : cannot_find(label); -+ return device ? do_swapon(ctl, &ctl->props, device, TRUE) : cannot_find(label); - } - - static int swapon_by_uuid(struct swapon_ctl *ctl, const char *uuid) - { - char *device = mnt_resolve_tag("UUID", uuid, mntcache); -- return device ? do_swapon(ctl, device, TRUE) : cannot_find(uuid); -+ return device ? do_swapon(ctl, &ctl->props, device, TRUE) : cannot_find(uuid); - } - - /* -o or fstab */ --static int parse_options(struct swapon_ctl *ctl) -+static int parse_options(struct swap_prop *props, const char *options) - { - char *arg = NULL; - -- assert(ctl->options); -- assert(ctl->priority); -- assert(ctl->discard); -- assert(ctl->no_fail); -+ assert(props); -+ assert(options); - -- if (mnt_optstr_get_option(ctl->options, "nofail", NULL, 0) == 0) -- ctl->no_fail = 1; -+ if (mnt_optstr_get_option(options, "nofail", NULL, 0) == 0) -+ props->no_fail = 1; - -- if (mnt_optstr_get_option(ctl->options, "discard", &arg, NULL) == 0) { -- ctl->discard |= SWAP_FLAG_DISCARD; -+ if (mnt_optstr_get_option(options, "discard", &arg, NULL) == 0) { -+ props->discard |= SWAP_FLAG_DISCARD; - - if (arg) { - /* only single-time discards are wanted */ - if (strcmp(arg, "once") == 0) -- ctl->discard |= SWAP_FLAG_DISCARD_ONCE; -+ props->discard |= SWAP_FLAG_DISCARD_ONCE; - - /* do discard for every released swap page */ - if (strcmp(arg, "pages") == 0) -- ctl->discard |= SWAP_FLAG_DISCARD_PAGES; -- } -+ props->discard |= SWAP_FLAG_DISCARD_PAGES; -+ } - } - - arg = NULL; -- if (mnt_optstr_get_option(ctl->options, "pri", &arg, NULL) == 0 && arg) -- ctl->priority = atoi(arg); -+ if (mnt_optstr_get_option(options, "pri", &arg, NULL) == 0 && arg) -+ props->priority = atoi(arg); - - return 0; - } -@@ -696,24 +735,44 @@ static int swapon_all(struct swapon_ctl *ctl) - /* defaults */ - const char *opts; - const char *device; -+ struct swap_prop prop; /* per device setting */ - -- if (mnt_fs_get_option(fs, "noauto", NULL, NULL) == 0) -+ if (mnt_fs_get_option(fs, "noauto", NULL, NULL) == 0) { -+ if (ctl->verbose) -+ warnx(_("%s: noauto option -- ignored"), mnt_fs_get_source(fs)); - continue; -+ } -+ -+ /* default setting */ -+ prop = ctl->props; - -+ /* overwrite default by setting from fstab */ - opts = mnt_fs_get_options(fs); - if (opts) -- parse_options(ctl); -+ parse_options(&prop, opts); - -+ /* convert LABEL=, UUID= etc. from fstab to device name */ - device = mnt_resolve_spec(mnt_fs_get_source(fs), mntcache); - if (!device) { -- if (!ctl->no_fail) -+ if (!prop.no_fail) - status |= cannot_find(mnt_fs_get_source(fs)); - continue; - } - -- if (!is_active_swap(device) && -- (!ctl->no_fail || !access(device, R_OK))) -- status |= do_swapon(ctl, device, TRUE); -+ if (is_active_swap(device)) { -+ if (ctl->verbose) -+ warnx(_("%s: already active -- ignored"), device); -+ continue; -+ } -+ -+ if (prop.no_fail && access(device, R_OK) != 0) { -+ if (ctl->verbose) -+ warnx(_("%s: unaccessible -- ignored"), device); -+ continue; -+ } -+ -+ /* swapon */ -+ status |= do_swapon(ctl, &prop, device, TRUE); - } - - mnt_free_iter(itr); -@@ -775,6 +834,7 @@ int main(int argc, char *argv[]) - { - int status = 0, c; - size_t i; -+ char *options = NULL; - - enum { - BYTES_OPTION = CHAR_MAX + 1, -@@ -810,13 +870,16 @@ int main(int argc, char *argv[]) - }; - int excl_st[ARRAY_SIZE(excl)] = UL_EXCL_STATUS_INIT; - -- struct swapon_ctl ctl = { .priority = -1 }; -+ struct swapon_ctl ctl; - - setlocale(LC_ALL, ""); - bindtextdomain(PACKAGE, LOCALEDIR); - textdomain(PACKAGE); - atexit(close_stdout); - -+ memset(&ctl, 0, sizeof(struct swapon_ctl)); -+ ctl.props.priority = -1; -+ - mnt_init_debug(0); - mntcache = mnt_new_cache(); - -@@ -833,10 +896,10 @@ int main(int argc, char *argv[]) - usage(stdout); - break; - case 'o': -- ctl.options = optarg; -+ options = optarg; - break; - case 'p': /* priority */ -- ctl.priority = strtos16_or_err(optarg, -+ ctl.props.priority = strtos16_or_err(optarg, - _("failed to parse priority")); - break; - case 'L': -@@ -846,21 +909,21 @@ int main(int argc, char *argv[]) - add_uuid(optarg); - break; - case 'd': -- ctl.discard |= SWAP_FLAG_DISCARD; -+ ctl.props.discard |= SWAP_FLAG_DISCARD; - if (optarg) { - if (*optarg == '=') - optarg++; - - if (strcmp(optarg, "once") == 0) -- ctl.discard |= SWAP_FLAG_DISCARD_ONCE; -+ ctl.props.discard |= SWAP_FLAG_DISCARD_ONCE; - else if (strcmp(optarg, "pages") == 0) -- ctl.discard |= SWAP_FLAG_DISCARD_PAGES; -+ ctl.props.discard |= SWAP_FLAG_DISCARD_PAGES; - else - errx(EXIT_FAILURE, _("unsupported discard policy: %s"), optarg); - } - break; - case 'e': /* ifexists */ -- ctl.no_fail = 1; -+ ctl.props.no_fail = 1; - break; - case 'f': - ctl.fix_page_size = 1; -@@ -916,14 +979,14 @@ int main(int argc, char *argv[]) - return status; - } - -- if (ctl.no_fail && !ctl.all) -+ if (ctl.props.no_fail && !ctl.all) - usage(stderr); - - if (ctl.all) - status |= swapon_all(&ctl); - -- if (ctl.options) -- parse_options(&ctl); -+ if (options) -+ parse_options(&ctl.props, options); - - for (i = 0; i < numof_labels(); i++) - status |= swapon_by_label(&ctl, get_label(i)); -@@ -932,7 +995,7 @@ int main(int argc, char *argv[]) - status |= swapon_by_uuid(&ctl, get_uuid(i)); - - while (*argv != NULL) -- status |= do_swapon(&ctl, *argv++, FALSE); -+ status |= do_swapon(&ctl, &ctl.props, *argv++, FALSE); - - free_tables(); - mnt_unref_cache(mntcache); diff --git a/sources b/sources index 5b413b9..10139d0 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -0ef0f83e2f28774301247c1235d0d1b1 util-linux-2.28-rc1.tar.xz +ea0c349440708f28e6e3edbc715a467d util-linux-2.28-rc2.tar.xz diff --git a/util-linux.spec b/util-linux.spec index 74286c3..cf5661c 100644 --- a/util-linux.spec +++ b/util-linux.spec @@ -2,13 +2,13 @@ Summary: A collection of basic system utilities Name: util-linux Version: 2.28 -Release: 0.1%{?dist} +Release: 0.2%{?dist} License: GPLv2 and GPLv2+ and LGPLv2+ and BSD with advertising and Public Domain Group: System Environment/Base URL: http://en.wikipedia.org/wiki/Util-linux ### Macros -%define upstream_version %{version}-rc1 +%define upstream_version %{version}-rc2 %define upstream_major %(eval echo %{version} | %{__sed} -e 's/\([[:digit:]]*\)\.\([[:digit:]]*\)\.[[:digit:]]*$/\1.\2/') %define compldir %{_datadir}/bash-completion/completions/ @@ -88,8 +88,6 @@ Requires: libfdisk = %{version}-%{release} ### # 151635 - makeing /var/log/lastlog Patch0: 2.23-login-lastlog-create.patch -# temporary for v2.28-rc1 (fixed in upstream tree) -Patch1: 2.28-rc2-swapon.c %description The util-linux package contains a large variety of low-level system @@ -912,8 +910,11 @@ exit 0 %{_libdir}/python*/site-packages/libmount/* %changelog +* 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.27-rc1 +- 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) From e466e3cc2f6f6ae8d44dbcbce44aee1a2b32d22a Mon Sep 17 00:00:00 2001 From: Karel Zak Date: Tue, 29 Mar 2016 11:51:16 +0200 Subject: [PATCH 021/232] commit new completion scripts --- util-linux.spec | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/util-linux.spec b/util-linux.spec index cf5661c..67afb0a 100644 --- a/util-linux.spec +++ b/util-linux.spec @@ -399,6 +399,9 @@ ln -sf /proc/mounts %{buildroot}/etc/mtab # remove static libs rm -f $RPM_BUILD_ROOT%{_libdir}/lib{uuid,blkid,mount,smartcols,fdisk}.a +# temporary remove to avoid conflicts with bash-completion pkg +rm -f $RPM_BUILD_ROOT%{compldir}/{mount,umount} + # find MO files %find_lang %name @@ -723,6 +726,7 @@ exit 0 %{compldir}/getopt %{compldir}/hexdump %{compldir}/ionice +%{compldir}/ipcmk %{compldir}/ipcrm %{compldir}/ipcs %{compldir}/isosize @@ -735,6 +739,8 @@ exit 0 %{compldir}/lscpu %{compldir}/lsipc %{compldir}/lslocks +%{compldir}/lslogins +%{compldir}/lsns %{compldir}/mcookie %{compldir}/mesg %{compldir}/mkfs @@ -742,6 +748,7 @@ exit 0 %{compldir}/mkfs.minix %{compldir}/mkswap %{compldir}/more +#%{compldir}/mount %{compldir}/mountpoint %{compldir}/namei %{compldir}/nsenter @@ -764,10 +771,12 @@ exit 0 %{compldir}/setterm %{compldir}/su %{compldir}/swaplabel +%{compldir}/swapoff %{compldir}/swapon %{compldir}/tailf %{compldir}/taskset %{compldir}/ul +#%{compldir}/umount %{compldir}/unshare %{compldir}/utmpdump %{compldir}/uuidgen From 77818367d0d98ea9be20061d568461151ec657fa Mon Sep 17 00:00:00 2001 From: Karel Zak Date: Wed, 30 Mar 2016 15:04:47 +0200 Subject: [PATCH 022/232] 2.28-0.3: libblkid: bugfix --- 2.28-libblkid-mmap.patch | 160 +++++++++++++++++++++++++++++++++++++++ util-linux.spec | 7 +- 2 files changed, 166 insertions(+), 1 deletion(-) create mode 100644 2.28-libblkid-mmap.patch diff --git a/2.28-libblkid-mmap.patch b/2.28-libblkid-mmap.patch new file mode 100644 index 0000000..e9fbaa8 --- /dev/null +++ b/2.28-libblkid-mmap.patch @@ -0,0 +1,160 @@ +From e04f386084c72df17e1d1e7d7d3e1e420a198442 Mon Sep 17 00:00:00 2001 +From: Karel Zak +Date: Wed, 30 Mar 2016 14:53:33 +0200 +Subject: [PATCH] libblkid: revert mmap usage + +The implementation has not been ready for I/O errors and it seems that +there is no elegant way how to resolve this issue. Linux returns +SIGBUS on mmap errors and play with signals (or longjumps) in shared +library is really bad idea. + +It also seems that mmaped devices have some unexpected side-effects +with page-cache where for example dd returns old data for already +modified device etc. + +Signed-off-by: Karel Zak +--- + libblkid/src/blkidP.h | 1 - + libblkid/src/probe.c | 90 ++------------------------------------------------- + 2 files changed, 2 insertions(+), 89 deletions(-) + +diff --git a/libblkid/src/blkidP.h b/libblkid/src/blkidP.h +index 916deb0..e9a267e 100644 +--- a/libblkid/src/blkidP.h ++++ b/libblkid/src/blkidP.h +@@ -180,7 +180,6 @@ struct blkid_struct_probe + int fd; /* device file descriptor */ + uint64_t off; /* begin of data on the device */ + uint64_t size; /* end of data on the device */ +- size_t mmap_granularity; /* minimal size of mmaped buffer (PAGE_SIZE) */ + + dev_t devno; /* device number (st.st_rdev) */ + dev_t disk_devno; /* devno of the whole-disk or 0 */ +diff --git a/libblkid/src/probe.c b/libblkid/src/probe.c +index 9c48462..34d97b8 100644 +--- a/libblkid/src/probe.c ++++ b/libblkid/src/probe.c +@@ -104,7 +104,6 @@ + #include + #include + #include +-#include + + #ifdef HAVE_LIBUUID + # include +@@ -581,85 +580,6 @@ int __blkid_probe_filter_types(blkid_probe pr, int chain, int flag, char *names[ + return 0; + } + +-/* align to mmap granularity */ +-#define PROBE_ALIGN_OFF(p, o) ((o) & ~((p)->mmap_granularity - 1ULL)) +-/* default buffer sizes */ +-#define PROBE_MMAP_BEGINSIZ (1024ULL * 1024ULL * 2ULL) /* begin of the device */ +-#define PROBE_MMAP_ENDSIZ (1024ULL * 1024ULL * 2ULL) /* end of the device */ +-#define PROBE_MMAP_MIDSIZ (1024ULL * 1024ULL) /* middle of the device */ +- +-#define probe_is_mmap_wanted(p) (!S_ISCHR((p)->mode)) +- +-static struct blkid_bufinfo *mmap_buffer(blkid_probe pr, uint64_t real_off, uint64_t len) +-{ +- uint64_t map_len; +- uint64_t map_off = 0; +- struct blkid_bufinfo *bf = NULL; +- +- /* +- * libblkid heavily reads begin and end of the device, so it seems +- * better to mmap ~2MiB from the begin and end of the device to reduces +- * number of syscalls and necessary buffers. For random accees +- * somewhere in the middle of the device we use 1MiB buffers. +- */ +- if (!pr->mmap_granularity) +- pr->mmap_granularity = getpagesize(); +- +- /* begin of the device */ +- if (real_off == 0 || real_off + len < PROBE_MMAP_BEGINSIZ) { +- DBG(BUFFER, ul_debug("\tmapping begin of the device (max size: %"PRIu64")", pr->size)); +- map_off = 0; +- map_len = PROBE_MMAP_BEGINSIZ > pr->size ? pr->size : PROBE_MMAP_BEGINSIZ; +- +- +- /* end of the device */ +- } else if (real_off > pr->off + pr->size - PROBE_MMAP_ENDSIZ) { +- DBG(BUFFER, ul_debug("\tmapping end of the device (probing area: " +- "off=%"PRIu64", size=%"PRIu64")", pr->off, pr->size)); +- +- map_off = PROBE_ALIGN_OFF(pr, pr->off + pr->size - PROBE_MMAP_ENDSIZ); +- map_len = pr->off + pr->size - map_off; +- +- /* middle of the device */ +- } else { +- uint64_t minlen; +- +- map_off = PROBE_ALIGN_OFF(pr, real_off); +- minlen = real_off + len - map_off; +- +- map_len = minlen > PROBE_MMAP_MIDSIZ ? minlen : PROBE_MMAP_MIDSIZ; +- +- if (map_off + map_len > pr->off + pr->size) +- map_len = pr->size - map_off; +- } +- +- assert(map_off <= real_off); +- assert(map_off + map_len >= real_off + len); +- +- /* allocate buffer handler */ +- bf = malloc(sizeof(*bf)); +- if (!bf) { +- errno = ENOMEM; +- return NULL; +- } +- +- /* mmap into memmory */ +- bf->data = mmap(NULL, map_len, PROT_READ, MAP_SHARED, pr->fd, map_off); +- if (bf->data == MAP_FAILED) { +- DBG(BUFFER, ul_debug("\tmmap failed: %m")); +- free(bf); +- return NULL; +- } +- +- bf->off = map_off; +- bf->len = map_len; +- INIT_LIST_HEAD(&bf->bufs); +- +- DBG(BUFFER, ul_debug("\tmmap %p: off=%"PRIu64", len=%"PRIu64" (%"PRIu64" pages)", +- bf->data, map_off, map_len, map_len / pr->mmap_granularity)); +- return bf; +-} +- + static struct blkid_bufinfo *read_buffer(blkid_probe pr, uint64_t real_off, uint64_t len) + { + ssize_t ret; +@@ -759,10 +679,7 @@ unsigned char *blkid_probe_get_buffer(blkid_probe pr, uint64_t off, uint64_t len + + /* not found; read from disk */ + if (!bf) { +- if (probe_is_mmap_wanted(pr)) +- bf = mmap_buffer(pr, real_off, len); +- else +- bf = read_buffer(pr, real_off, len); ++ bf = read_buffer(pr, real_off, len); + if (!bf) + return NULL; + +@@ -794,13 +711,10 @@ static void blkid_probe_reset_buffer(blkid_probe pr) + + DBG(BUFFER, ul_debug(" remove buffer: %p [off=%"PRIu64", len=%"PRIu64"]", + bf->data, bf->off, bf->len)); +- +- if (probe_is_mmap_wanted(pr)) +- munmap(bf->data, bf->len); + free(bf); + } + +- DBG(LOWPROBE, ul_debug(" buffers summary: %"PRIu64" bytes by %"PRIu64" read/mmap() calls", ++ DBG(LOWPROBE, ul_debug(" buffers summary: %"PRIu64" bytes by %"PRIu64" read() calls", + len, ct)); + + INIT_LIST_HEAD(&pr->buffers); +-- +2.4.3 + diff --git a/util-linux.spec b/util-linux.spec index 67afb0a..018315c 100644 --- a/util-linux.spec +++ b/util-linux.spec @@ -2,7 +2,7 @@ Summary: A collection of basic system utilities Name: util-linux Version: 2.28 -Release: 0.2%{?dist} +Release: 0.3%{?dist} License: GPLv2 and GPLv2+ and LGPLv2+ and BSD with advertising and Public Domain Group: System Environment/Base URL: http://en.wikipedia.org/wiki/Util-linux @@ -88,6 +88,8 @@ Requires: libfdisk = %{version}-%{release} ### # 151635 - makeing /var/log/lastlog Patch0: 2.23-login-lastlog-create.patch +# upstream patch, revert mmap() based probing +Patch1: 2.28-libblkid-mmap.patch %description The util-linux package contains a large variety of low-level system @@ -919,6 +921,9 @@ exit 0 %{_libdir}/python*/site-packages/libmount/* %changelog +* 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 From 02e8b22b8e2789abb0ce04eef7512ea1b24c7ed5 Mon Sep 17 00:00:00 2001 From: Karel Zak Date: Tue, 12 Apr 2016 13:38:27 +0200 Subject: [PATCH 023/232] 2.28.1: upgrade --- .gitignore | 1 + 2.28-libblkid-mmap.patch | 160 --------------------------------------- sources | 2 +- util-linux.spec | 9 ++- 4 files changed, 7 insertions(+), 165 deletions(-) delete mode 100644 2.28-libblkid-mmap.patch diff --git a/.gitignore b/.gitignore index 2c3177e..9dec953 100644 --- a/.gitignore +++ b/.gitignore @@ -47,3 +47,4 @@ /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 diff --git a/2.28-libblkid-mmap.patch b/2.28-libblkid-mmap.patch deleted file mode 100644 index e9fbaa8..0000000 --- a/2.28-libblkid-mmap.patch +++ /dev/null @@ -1,160 +0,0 @@ -From e04f386084c72df17e1d1e7d7d3e1e420a198442 Mon Sep 17 00:00:00 2001 -From: Karel Zak -Date: Wed, 30 Mar 2016 14:53:33 +0200 -Subject: [PATCH] libblkid: revert mmap usage - -The implementation has not been ready for I/O errors and it seems that -there is no elegant way how to resolve this issue. Linux returns -SIGBUS on mmap errors and play with signals (or longjumps) in shared -library is really bad idea. - -It also seems that mmaped devices have some unexpected side-effects -with page-cache where for example dd returns old data for already -modified device etc. - -Signed-off-by: Karel Zak ---- - libblkid/src/blkidP.h | 1 - - libblkid/src/probe.c | 90 ++------------------------------------------------- - 2 files changed, 2 insertions(+), 89 deletions(-) - -diff --git a/libblkid/src/blkidP.h b/libblkid/src/blkidP.h -index 916deb0..e9a267e 100644 ---- a/libblkid/src/blkidP.h -+++ b/libblkid/src/blkidP.h -@@ -180,7 +180,6 @@ struct blkid_struct_probe - int fd; /* device file descriptor */ - uint64_t off; /* begin of data on the device */ - uint64_t size; /* end of data on the device */ -- size_t mmap_granularity; /* minimal size of mmaped buffer (PAGE_SIZE) */ - - dev_t devno; /* device number (st.st_rdev) */ - dev_t disk_devno; /* devno of the whole-disk or 0 */ -diff --git a/libblkid/src/probe.c b/libblkid/src/probe.c -index 9c48462..34d97b8 100644 ---- a/libblkid/src/probe.c -+++ b/libblkid/src/probe.c -@@ -104,7 +104,6 @@ - #include - #include - #include --#include - - #ifdef HAVE_LIBUUID - # include -@@ -581,85 +580,6 @@ int __blkid_probe_filter_types(blkid_probe pr, int chain, int flag, char *names[ - return 0; - } - --/* align to mmap granularity */ --#define PROBE_ALIGN_OFF(p, o) ((o) & ~((p)->mmap_granularity - 1ULL)) --/* default buffer sizes */ --#define PROBE_MMAP_BEGINSIZ (1024ULL * 1024ULL * 2ULL) /* begin of the device */ --#define PROBE_MMAP_ENDSIZ (1024ULL * 1024ULL * 2ULL) /* end of the device */ --#define PROBE_MMAP_MIDSIZ (1024ULL * 1024ULL) /* middle of the device */ -- --#define probe_is_mmap_wanted(p) (!S_ISCHR((p)->mode)) -- --static struct blkid_bufinfo *mmap_buffer(blkid_probe pr, uint64_t real_off, uint64_t len) --{ -- uint64_t map_len; -- uint64_t map_off = 0; -- struct blkid_bufinfo *bf = NULL; -- -- /* -- * libblkid heavily reads begin and end of the device, so it seems -- * better to mmap ~2MiB from the begin and end of the device to reduces -- * number of syscalls and necessary buffers. For random accees -- * somewhere in the middle of the device we use 1MiB buffers. -- */ -- if (!pr->mmap_granularity) -- pr->mmap_granularity = getpagesize(); -- -- /* begin of the device */ -- if (real_off == 0 || real_off + len < PROBE_MMAP_BEGINSIZ) { -- DBG(BUFFER, ul_debug("\tmapping begin of the device (max size: %"PRIu64")", pr->size)); -- map_off = 0; -- map_len = PROBE_MMAP_BEGINSIZ > pr->size ? pr->size : PROBE_MMAP_BEGINSIZ; -- -- -- /* end of the device */ -- } else if (real_off > pr->off + pr->size - PROBE_MMAP_ENDSIZ) { -- DBG(BUFFER, ul_debug("\tmapping end of the device (probing area: " -- "off=%"PRIu64", size=%"PRIu64")", pr->off, pr->size)); -- -- map_off = PROBE_ALIGN_OFF(pr, pr->off + pr->size - PROBE_MMAP_ENDSIZ); -- map_len = pr->off + pr->size - map_off; -- -- /* middle of the device */ -- } else { -- uint64_t minlen; -- -- map_off = PROBE_ALIGN_OFF(pr, real_off); -- minlen = real_off + len - map_off; -- -- map_len = minlen > PROBE_MMAP_MIDSIZ ? minlen : PROBE_MMAP_MIDSIZ; -- -- if (map_off + map_len > pr->off + pr->size) -- map_len = pr->size - map_off; -- } -- -- assert(map_off <= real_off); -- assert(map_off + map_len >= real_off + len); -- -- /* allocate buffer handler */ -- bf = malloc(sizeof(*bf)); -- if (!bf) { -- errno = ENOMEM; -- return NULL; -- } -- -- /* mmap into memmory */ -- bf->data = mmap(NULL, map_len, PROT_READ, MAP_SHARED, pr->fd, map_off); -- if (bf->data == MAP_FAILED) { -- DBG(BUFFER, ul_debug("\tmmap failed: %m")); -- free(bf); -- return NULL; -- } -- -- bf->off = map_off; -- bf->len = map_len; -- INIT_LIST_HEAD(&bf->bufs); -- -- DBG(BUFFER, ul_debug("\tmmap %p: off=%"PRIu64", len=%"PRIu64" (%"PRIu64" pages)", -- bf->data, map_off, map_len, map_len / pr->mmap_granularity)); -- return bf; --} -- - static struct blkid_bufinfo *read_buffer(blkid_probe pr, uint64_t real_off, uint64_t len) - { - ssize_t ret; -@@ -759,10 +679,7 @@ unsigned char *blkid_probe_get_buffer(blkid_probe pr, uint64_t off, uint64_t len - - /* not found; read from disk */ - if (!bf) { -- if (probe_is_mmap_wanted(pr)) -- bf = mmap_buffer(pr, real_off, len); -- else -- bf = read_buffer(pr, real_off, len); -+ bf = read_buffer(pr, real_off, len); - if (!bf) - return NULL; - -@@ -794,13 +711,10 @@ static void blkid_probe_reset_buffer(blkid_probe pr) - - DBG(BUFFER, ul_debug(" remove buffer: %p [off=%"PRIu64", len=%"PRIu64"]", - bf->data, bf->off, bf->len)); -- -- if (probe_is_mmap_wanted(pr)) -- munmap(bf->data, bf->len); - free(bf); - } - -- DBG(LOWPROBE, ul_debug(" buffers summary: %"PRIu64" bytes by %"PRIu64" read/mmap() calls", -+ DBG(LOWPROBE, ul_debug(" buffers summary: %"PRIu64" bytes by %"PRIu64" read() calls", - len, ct)); - - INIT_LIST_HEAD(&pr->buffers); --- -2.4.3 - diff --git a/sources b/sources index 10139d0..12f80fa 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -ea0c349440708f28e6e3edbc715a467d util-linux-2.28-rc2.tar.xz +e534e6ccc49107e5d31c329af798ef7d util-linux-2.28.tar.xz diff --git a/util-linux.spec b/util-linux.spec index 018315c..451061e 100644 --- a/util-linux.spec +++ b/util-linux.spec @@ -2,13 +2,13 @@ Summary: A collection of basic system utilities Name: util-linux Version: 2.28 -Release: 0.3%{?dist} +Release: 1%{?dist} License: GPLv2 and GPLv2+ and LGPLv2+ and BSD with advertising and Public Domain Group: System Environment/Base URL: http://en.wikipedia.org/wiki/Util-linux ### Macros -%define upstream_version %{version}-rc2 +%define upstream_version %{version} %define upstream_major %(eval echo %{version} | %{__sed} -e 's/\([[:digit:]]*\)\.\([[:digit:]]*\)\.[[:digit:]]*$/\1.\2/') %define compldir %{_datadir}/bash-completion/completions/ @@ -88,8 +88,6 @@ Requires: libfdisk = %{version}-%{release} ### # 151635 - makeing /var/log/lastlog Patch0: 2.23-login-lastlog-create.patch -# upstream patch, revert mmap() based probing -Patch1: 2.28-libblkid-mmap.patch %description The util-linux package contains a large variety of low-level system @@ -921,6 +919,9 @@ exit 0 %{_libdir}/python*/site-packages/libmount/* %changelog +* 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 From 2afb30fac64f6f7e8eb500bba326cde19157289c Mon Sep 17 00:00:00 2001 From: Karel Zak Date: Tue, 26 Apr 2016 12:48:18 +0200 Subject: [PATCH 024/232] v2.28-2: update a patch + /usr/bin/cat /builddir/build/SOURCES/2.23-login-lastlog-create.patch + /usr/bin/patch -p1 -s --fuzz=0 --no-backup-if-mismatch 1 out of 1 hunk FAILED -- saving rejects to file login-utils/login.c.rej Addresses: https://kojipkgs.fedoraproject.org/work/tasks/3930/13783930/build.log --- 2.23-login-lastlog-create.patch | 11 ----------- 2.28-login-lastlog-create.patch | 12 ++++++++++++ util-linux.spec | 7 +++++-- 3 files changed, 17 insertions(+), 13 deletions(-) delete mode 100644 2.23-login-lastlog-create.patch create mode 100644 2.28-login-lastlog-create.patch diff --git a/2.23-login-lastlog-create.patch b/2.23-login-lastlog-create.patch deleted file mode 100644 index 6db26e2..0000000 --- a/2.23-login-lastlog-create.patch +++ /dev/null @@ -1,11 +0,0 @@ -diff -up util-linux-2.23.2/login-utils/login.c.kzak util-linux-2.23.2/login-utils/login.c ---- util-linux-2.23.2/login-utils/login.c.kzak 2013-07-30 10:39:26.222738397 +0200 -+++ util-linux-2.23.2/login-utils/login.c 2013-09-09 09:01:39.923225757 +0200 -@@ -502,7 +502,7 @@ static void log_lastlog(struct login_con - if (!cxt->pwd) - return; - -- fd = open(_PATH_LASTLOG, O_RDWR, 0); -+ fd = open(_PATH_LASTLOG, O_RDWR | O_CREAT, 0); - if (fd < 0) - return; diff --git a/2.28-login-lastlog-create.patch b/2.28-login-lastlog-create.patch new file mode 100644 index 0000000..869543e --- /dev/null +++ b/2.28-login-lastlog-create.patch @@ -0,0 +1,12 @@ +diff -up util-linux-2.28/login-utils/login.c.kzak util-linux-2.28/login-utils/login.c +--- util-linux-2.28/login-utils/login.c.kzak 2016-03-08 14:28:16.724156218 +0100 ++++ util-linux-2.28/login-utils/login.c 2016-04-26 12:45:29.235326017 +0200 +@@ -510,7 +510,7 @@ static void log_lastlog(struct login_con + 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; + diff --git a/util-linux.spec b/util-linux.spec index 451061e..11bf5d1 100644 --- a/util-linux.spec +++ b/util-linux.spec @@ -2,7 +2,7 @@ Summary: A collection of basic system utilities Name: util-linux Version: 2.28 -Release: 1%{?dist} +Release: 2%{?dist} License: GPLv2 and GPLv2+ and LGPLv2+ and BSD with advertising and Public Domain Group: System Environment/Base URL: http://en.wikipedia.org/wiki/Util-linux @@ -87,7 +87,7 @@ Requires: libfdisk = %{version}-%{release} ### Ready for upstream? ### # 151635 - makeing /var/log/lastlog -Patch0: 2.23-login-lastlog-create.patch +Patch0: 2.28-login-lastlog-create.patch %description The util-linux package contains a large variety of low-level system @@ -919,6 +919,9 @@ exit 0 %{_libdir}/python*/site-packages/libmount/* %changelog +* 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 From de66720388fdd0e68a780b83e972f68addd11f71 Mon Sep 17 00:00:00 2001 From: Karel Zak Date: Mon, 13 Jun 2016 12:50:49 +0200 Subject: [PATCH 025/232] 2.28-3: fix #1234317 --- 2.28-libblkid-cdrom.patch | 34 ++++++++++++++++++++++++++++++++++ util-linux.spec | 8 +++++++- 2 files changed, 41 insertions(+), 1 deletion(-) create mode 100644 2.28-libblkid-cdrom.patch diff --git a/2.28-libblkid-cdrom.patch b/2.28-libblkid-cdrom.patch new file mode 100644 index 0000000..2dddbc2 --- /dev/null +++ b/2.28-libblkid-cdrom.patch @@ -0,0 +1,34 @@ +From 55ad13c26fe5d0e606be5a83937f31b8cf576588 Mon Sep 17 00:00:00 2001 +From: Karel Zak +Date: Thu, 28 Apr 2016 13:54:01 +0200 +Subject: [PATCH] libblkid: make I/O errors on CDROMs non-fatal + +It seems too tricky to get a real size of the data track on hybrid +disks with audio+data. It seems overkill to analyze all header in +libblkid and on some disks it's probably possible to get I/O error +almost everywhere due to crazy copy protection etc. + +Signed-off-by: Karel Zak +--- + libblkid/src/probe.c | 5 ++++- + 1 file changed, 4 insertions(+), 1 deletion(-) + +diff --git a/libblkid/src/probe.c b/libblkid/src/probe.c +index 63baed3..5d9f701 100644 +--- a/libblkid/src/probe.c ++++ b/libblkid/src/probe.c +@@ -615,7 +615,10 @@ static struct blkid_bufinfo *read_buffer(blkid_probe pr, uint64_t real_off, uint + if (ret != (ssize_t) len) { + DBG(LOWPROBE, ul_debug("\tread failed: %m")); + free(bf); +- if (ret >= 0) ++ ++ /* I/O errors on CDROMs are non-fatal to work with hybrid ++ * audio+data disks */ ++ if (ret >= 0 || blkid_probe_is_cdrom(pr)) + errno = 0; + return NULL; + } +-- +2.4.11 + diff --git a/util-linux.spec b/util-linux.spec index 11bf5d1..41e9a0f 100644 --- a/util-linux.spec +++ b/util-linux.spec @@ -2,7 +2,7 @@ Summary: A collection of basic system utilities Name: util-linux Version: 2.28 -Release: 2%{?dist} +Release: 3%{?dist} License: GPLv2 and GPLv2+ and LGPLv2+ and BSD with advertising and Public Domain Group: System Environment/Base URL: http://en.wikipedia.org/wiki/Util-linux @@ -89,6 +89,9 @@ Requires: libfdisk = %{version}-%{release} # 151635 - makeing /var/log/lastlog Patch0: 2.28-login-lastlog-create.patch +# upstream patch - #1234317 - CD / DVD are rarely automounted +Patch1: 2.28-libblkid-cdrom.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 @@ -919,6 +922,9 @@ exit 0 %{_libdir}/python*/site-packages/libmount/* %changelog +* 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 From e91f50c4067e02c29c88e494abc969c2682a9868 Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Tue, 19 Jul 2016 13:05:20 +0000 Subject: [PATCH 026/232] - https://fedoraproject.org/wiki/Changes/Automatic_Provides_for_Python_RPM_Packages --- util-linux.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/util-linux.spec b/util-linux.spec index 41e9a0f..2bc32c2 100644 --- a/util-linux.spec +++ b/util-linux.spec @@ -2,7 +2,7 @@ Summary: A collection of basic system utilities Name: util-linux Version: 2.28 -Release: 3%{?dist} +Release: 4%{?dist} License: GPLv2 and GPLv2+ and LGPLv2+ and BSD with advertising and Public Domain Group: System Environment/Base URL: http://en.wikipedia.org/wiki/Util-linux @@ -922,6 +922,9 @@ exit 0 %{_libdir}/python*/site-packages/libmount/* %changelog +* 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 From ef494ba0d6adac9d438fef98e66682b5f4b2f067 Mon Sep 17 00:00:00 2001 From: Karel Zak Date: Thu, 18 Aug 2016 09:59:05 +0200 Subject: [PATCH 027/232] v2.28.1: upgrade --- .gitignore | 1 + sources | 2 +- util-linux.spec | 11 ++++++----- 3 files changed, 8 insertions(+), 6 deletions(-) diff --git a/.gitignore b/.gitignore index 9dec953..0a2aa80 100644 --- a/.gitignore +++ b/.gitignore @@ -48,3 +48,4 @@ /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 diff --git a/sources b/sources index 12f80fa..76252b8 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -e534e6ccc49107e5d31c329af798ef7d util-linux-2.28.tar.xz +e2d863efaf4fd330a42c5efe9f1b02b4 util-linux-2.28.1.tar.xz diff --git a/util-linux.spec b/util-linux.spec index 2bc32c2..d889c64 100644 --- a/util-linux.spec +++ b/util-linux.spec @@ -1,8 +1,8 @@ ### Header Summary: A collection of basic system utilities Name: util-linux -Version: 2.28 -Release: 4%{?dist} +Version: 2.28.1 +Release: 1%{?dist} License: GPLv2 and GPLv2+ and LGPLv2+ and BSD with advertising and Public Domain Group: System Environment/Base URL: http://en.wikipedia.org/wiki/Util-linux @@ -89,9 +89,6 @@ Requires: libfdisk = %{version}-%{release} # 151635 - makeing /var/log/lastlog Patch0: 2.28-login-lastlog-create.patch -# upstream patch - #1234317 - CD / DVD are rarely automounted -Patch1: 2.28-libblkid-cdrom.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 @@ -922,6 +919,10 @@ exit 0 %{_libdir}/python*/site-packages/libmount/* %changelog +* 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 From b106becc251de00126d96b9682f70f55249565f3 Mon Sep 17 00:00:00 2001 From: Karel Zak Date: Wed, 7 Sep 2016 14:18:10 +0200 Subject: [PATCH 028/232] v2.28.2: upgrade --- .gitignore | 1 + sources | 2 +- util-linux.spec | 6 +++++- 3 files changed, 7 insertions(+), 2 deletions(-) diff --git a/.gitignore b/.gitignore index 0a2aa80..a176805 100644 --- a/.gitignore +++ b/.gitignore @@ -49,3 +49,4 @@ /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 diff --git a/sources b/sources index 76252b8..c1b9e55 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -e2d863efaf4fd330a42c5efe9f1b02b4 util-linux-2.28.1.tar.xz +46a232a37bce45371a86d19300edc47a util-linux-2.28.2.tar.xz diff --git a/util-linux.spec b/util-linux.spec index d889c64..b7e19b7 100644 --- a/util-linux.spec +++ b/util-linux.spec @@ -1,7 +1,7 @@ ### Header Summary: A collection of basic system utilities Name: util-linux -Version: 2.28.1 +Version: 2.28.2 Release: 1%{?dist} License: GPLv2 and GPLv2+ and LGPLv2+ and BSD with advertising and Public Domain Group: System Environment/Base @@ -919,6 +919,10 @@ exit 0 %{_libdir}/python*/site-packages/libmount/* %changelog +* 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 From c55c42ae5d813dd80a9ce080458d8fe3564e3930 Mon Sep 17 00:00:00 2001 From: Karel Zak Date: Fri, 30 Sep 2016 12:04:40 +0200 Subject: [PATCH 029/232] upgrade to v2.29-rc1 --- .gitignore | 1 + sources | 2 +- util-linux.spec | 10 +++++++--- 3 files changed, 9 insertions(+), 4 deletions(-) diff --git a/.gitignore b/.gitignore index a176805..bebe56b 100644 --- a/.gitignore +++ b/.gitignore @@ -50,3 +50,4 @@ /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 diff --git a/sources b/sources index c1b9e55..87509f9 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -46a232a37bce45371a86d19300edc47a util-linux-2.28.2.tar.xz +e1db567452c1849a0b0b4e5d284a7c88 util-linux-2.29-rc1.tar.xz diff --git a/util-linux.spec b/util-linux.spec index b7e19b7..a7a0eae 100644 --- a/util-linux.spec +++ b/util-linux.spec @@ -1,14 +1,14 @@ ### Header Summary: A collection of basic system utilities Name: util-linux -Version: 2.28.2 -Release: 1%{?dist} +Version: 2.29 +Release: 0.1%{?dist} License: GPLv2 and GPLv2+ and LGPLv2+ and BSD with advertising and Public Domain Group: System Environment/Base URL: http://en.wikipedia.org/wiki/Util-linux ### Macros -%define upstream_version %{version} +%define upstream_version %{version}-rc1 %define upstream_major %(eval echo %{version} | %{__sed} -e 's/\([[:digit:]]*\)\.\([[:digit:]]*\)\.[[:digit:]]*$/\1.\2/') %define compldir %{_datadir}/bash-completion/completions/ @@ -919,6 +919,10 @@ exit 0 %{_libdir}/python*/site-packages/libmount/* %changelog +* 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 From b570e8a4eb516d823eef83ad1bfc6de0ae98a8c8 Mon Sep 17 00:00:00 2001 From: Karel Zak Date: Wed, 19 Oct 2016 15:30:01 +0200 Subject: [PATCH 030/232] upgrade to v2.29-rc2 --- .gitignore | 1 + sources | 2 +- util-linux.spec | 7 +++++-- 3 files changed, 7 insertions(+), 3 deletions(-) diff --git a/.gitignore b/.gitignore index bebe56b..a67a702 100644 --- a/.gitignore +++ b/.gitignore @@ -51,3 +51,4 @@ /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 diff --git a/sources b/sources index 87509f9..b4e58a0 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -e1db567452c1849a0b0b4e5d284a7c88 util-linux-2.29-rc1.tar.xz +a3afca4e2b2be54e46fd859b7c8495ec util-linux-2.29-rc2.tar.xz diff --git a/util-linux.spec b/util-linux.spec index a7a0eae..9a9c5c5 100644 --- a/util-linux.spec +++ b/util-linux.spec @@ -2,13 +2,13 @@ Summary: A collection of basic system utilities Name: util-linux Version: 2.29 -Release: 0.1%{?dist} +Release: 0.2%{?dist} License: GPLv2 and GPLv2+ and LGPLv2+ and BSD with advertising and Public Domain Group: System Environment/Base URL: http://en.wikipedia.org/wiki/Util-linux ### Macros -%define upstream_version %{version}-rc1 +%define upstream_version %{version}-rc2 %define upstream_major %(eval echo %{version} | %{__sed} -e 's/\([[:digit:]]*\)\.\([[:digit:]]*\)\.[[:digit:]]*$/\1.\2/') %define compldir %{_datadir}/bash-completion/completions/ @@ -919,6 +919,9 @@ exit 0 %{_libdir}/python*/site-packages/libmount/* %changelog +* 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 From 3d940d4e8372094b837a69f2ac5ca2e15422ec9b Mon Sep 17 00:00:00 2001 From: Karel Zak Date: Tue, 8 Nov 2016 12:47:08 +0100 Subject: [PATCH 031/232] upgrade to v2.29 --- .gitignore | 1 + sources | 2 +- util-linux.spec | 7 +++++-- 3 files changed, 7 insertions(+), 3 deletions(-) diff --git a/.gitignore b/.gitignore index a67a702..634f034 100644 --- a/.gitignore +++ b/.gitignore @@ -52,3 +52,4 @@ /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 diff --git a/sources b/sources index b4e58a0..6ff3f41 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -a3afca4e2b2be54e46fd859b7c8495ec util-linux-2.29-rc2.tar.xz +07b6845f48a421ad5844aa9d58edb837 util-linux-2.29.tar.xz diff --git a/util-linux.spec b/util-linux.spec index 9a9c5c5..6f6b6e5 100644 --- a/util-linux.spec +++ b/util-linux.spec @@ -2,13 +2,13 @@ Summary: A collection of basic system utilities Name: util-linux Version: 2.29 -Release: 0.2%{?dist} +Release: 1%{?dist} License: GPLv2 and GPLv2+ and LGPLv2+ and BSD with advertising and Public Domain Group: System Environment/Base URL: http://en.wikipedia.org/wiki/Util-linux ### Macros -%define upstream_version %{version}-rc2 +%define upstream_version %{version} %define upstream_major %(eval echo %{version} | %{__sed} -e 's/\([[:digit:]]*\)\.\([[:digit:]]*\)\.[[:digit:]]*$/\1.\2/') %define compldir %{_datadir}/bash-completion/completions/ @@ -919,6 +919,9 @@ exit 0 %{_libdir}/python*/site-packages/libmount/* %changelog +* 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 From d3eae21d6953421230a3375a8970b0e3400c66b1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Miro=20Hron=C4=8Dok?= Date: Mon, 19 Dec 2016 18:20:38 +0100 Subject: [PATCH 032/232] Rebuild for Python 3.6 --- util-linux.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/util-linux.spec b/util-linux.spec index 6f6b6e5..7976268 100644 --- a/util-linux.spec +++ b/util-linux.spec @@ -2,7 +2,7 @@ Summary: A collection of basic system utilities Name: util-linux Version: 2.29 -Release: 1%{?dist} +Release: 2%{?dist} License: GPLv2 and GPLv2+ and LGPLv2+ and BSD with advertising and Public Domain Group: System Environment/Base URL: http://en.wikipedia.org/wiki/Util-linux @@ -919,6 +919,9 @@ exit 0 %{_libdir}/python*/site-packages/libmount/* %changelog +* 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 From 07ed6e64f828b49c4649f27d2f7b6a6488af19d3 Mon Sep 17 00:00:00 2001 From: Karel Zak Date: Fri, 20 Jan 2017 15:52:13 +0100 Subject: [PATCH 033/232] upgrade to v2.29.1 --- .gitignore | 1 + sources | 2 +- util-linux.spec | 8 ++++++-- 3 files changed, 8 insertions(+), 3 deletions(-) diff --git a/.gitignore b/.gitignore index 634f034..e4b5960 100644 --- a/.gitignore +++ b/.gitignore @@ -53,3 +53,4 @@ /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 diff --git a/sources b/sources index 6ff3f41..aa163ef 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -07b6845f48a421ad5844aa9d58edb837 util-linux-2.29.tar.xz +SHA512 (util-linux-2.29.1.tar.xz) = 38493f2750174184c436254ae4e78cf02aecf9f75e9fca21096e47755f779deb42640a9c6298225b61e08a0c15d7ff344a378b7705be0c5b5e6ede7a5b0e2b6c diff --git a/util-linux.spec b/util-linux.spec index 7976268..9981b88 100644 --- a/util-linux.spec +++ b/util-linux.spec @@ -1,8 +1,8 @@ ### Header Summary: A collection of basic system utilities Name: util-linux -Version: 2.29 -Release: 2%{?dist} +Version: 2.29.1 +Release: 1%{?dist} License: GPLv2 and GPLv2+ and LGPLv2+ and BSD with advertising and Public Domain Group: System Environment/Base URL: http://en.wikipedia.org/wiki/Util-linux @@ -919,6 +919,10 @@ exit 0 %{_libdir}/python*/site-packages/libmount/* %changelog +* 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 From 04f1d57f74fd4738d2c462a2302031bc92a186b9 Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Sat, 11 Feb 2017 16:52:10 +0000 Subject: [PATCH 034/232] - Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild --- util-linux.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/util-linux.spec b/util-linux.spec index 9981b88..f302b50 100644 --- a/util-linux.spec +++ b/util-linux.spec @@ -2,7 +2,7 @@ Summary: A collection of basic system utilities Name: util-linux Version: 2.29.1 -Release: 1%{?dist} +Release: 2%{?dist} License: GPLv2 and GPLv2+ and LGPLv2+ and BSD with advertising and Public Domain Group: System Environment/Base URL: http://en.wikipedia.org/wiki/Util-linux @@ -919,6 +919,9 @@ exit 0 %{_libdir}/python*/site-packages/libmount/* %changelog +* 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 From 4efad38df3458180a2f15d61a3ff89424d92d55e Mon Sep 17 00:00:00 2001 From: Karel Zak Date: Fri, 24 Feb 2017 12:25:37 +0100 Subject: [PATCH 035/232] upgrade to v2.29.2 --- .gitignore | 1 + sources | 2 +- util-linux.spec | 8 ++++++-- 3 files changed, 8 insertions(+), 3 deletions(-) diff --git a/.gitignore b/.gitignore index e4b5960..09915b9 100644 --- a/.gitignore +++ b/.gitignore @@ -54,3 +54,4 @@ /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 diff --git a/sources b/sources index aa163ef..8f0791a 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (util-linux-2.29.1.tar.xz) = 38493f2750174184c436254ae4e78cf02aecf9f75e9fca21096e47755f779deb42640a9c6298225b61e08a0c15d7ff344a378b7705be0c5b5e6ede7a5b0e2b6c +SHA512 (util-linux-2.29.2.tar.xz) = 0a87e6758531f74276f3de7607ef545f324b9b36b444aa5d163140c5fb0f4f7602655d7ec9939f92550dcb320d922cd69521a2183199d463795e67d3c27fce79 diff --git a/util-linux.spec b/util-linux.spec index f302b50..51c6fcd 100644 --- a/util-linux.spec +++ b/util-linux.spec @@ -1,8 +1,8 @@ ### Header Summary: A collection of basic system utilities Name: util-linux -Version: 2.29.1 -Release: 2%{?dist} +Version: 2.29.2 +Release: 1%{?dist} License: GPLv2 and GPLv2+ and LGPLv2+ and BSD with advertising and Public Domain Group: System Environment/Base URL: http://en.wikipedia.org/wiki/Util-linux @@ -919,6 +919,10 @@ exit 0 %{_libdir}/python*/site-packages/libmount/* %changelog +* 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 From 77887c051be014ed63793db0c4fa583e6647e18d Mon Sep 17 00:00:00 2001 From: Karel Zak Date: Wed, 17 May 2017 10:51:15 +0200 Subject: [PATCH 036/232] upgrade to v2.30-rc1 --- .gitignore | 1 + sources | 2 +- util-linux.spec | 27 +++++++++++++++++++++------ 3 files changed, 23 insertions(+), 7 deletions(-) diff --git a/.gitignore b/.gitignore index 09915b9..4710341 100644 --- a/.gitignore +++ b/.gitignore @@ -55,3 +55,4 @@ /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 diff --git a/sources b/sources index 8f0791a..d02ddf2 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (util-linux-2.29.2.tar.xz) = 0a87e6758531f74276f3de7607ef545f324b9b36b444aa5d163140c5fb0f4f7602655d7ec9939f92550dcb320d922cd69521a2183199d463795e67d3c27fce79 +SHA512 (util-linux-2.30-rc1.tar.xz) = 8f1aeb6938924d21474bec660e775ab511e359906079d2660e81680b8940fcbc70086f5f95f2a31acabcafa56740d2ad21b0c4bff793146431b35e119714819b diff --git a/util-linux.spec b/util-linux.spec index 51c6fcd..ace22da 100644 --- a/util-linux.spec +++ b/util-linux.spec @@ -1,14 +1,14 @@ ### Header Summary: A collection of basic system utilities Name: util-linux -Version: 2.29.2 -Release: 1%{?dist} +Version: 2.30 +Release: 0.1%{?dist} License: GPLv2 and GPLv2+ and LGPLv2+ and BSD with advertising and Public Domain Group: System Environment/Base URL: http://en.wikipedia.org/wiki/Util-linux ### Macros -%define upstream_version %{version} +%define upstream_version %{version}-rc1 %define upstream_major %(eval echo %{version} | %{__sed} -e 's/\([[:digit:]]*\)\.\([[:digit:]]*\)\.[[:digit:]]*$/\1.\2/') %define compldir %{_datadir}/bash-completion/completions/ @@ -516,9 +516,11 @@ exit 0 %{_bindir}/colcrt %{_bindir}/colrm %{_bindir}/column +%{_bindir}/chmem %{_bindir}/dmesg %{_bindir}/eject %{_bindir}/fallocate +%{_bindir}/fincore %{_bindir}/findmnt %{_bindir}/flock %{_bindir}/getopt @@ -538,6 +540,7 @@ exit 0 %{_bindir}/lsipc %{_bindir}/lslocks %{_bindir}/lslogins +%{_bindir}/lsmem %{_bindir}/lsns %{_bindir}/mcookie %{_bindir}/mesg @@ -556,7 +559,6 @@ exit 0 %{_bindir}/setpriv %{_bindir}/setsid %{_bindir}/setterm -%{_bindir}/tailf %{_bindir}/taskset %{_bindir}/ul %{_bindir}/unshare @@ -574,6 +576,7 @@ exit 0 %{_mandir}/man1/dmesg.1* %{_mandir}/man1/eject.1* %{_mandir}/man1/fallocate.1* +%{_mandir}/man1/fincore.1* %{_mandir}/man1/flock.1* %{_mandir}/man1/getopt.1* %{_mandir}/man1/hexdump.1* @@ -590,6 +593,7 @@ exit 0 %{_mandir}/man1/lscpu.1* %{_mandir}/man1/lsipc.1* %{_mandir}/man1/lslogins.1* +%{_mandir}/man1/lsmem.1* %{_mandir}/man1/mcookie.1* %{_mandir}/man1/mesg.1* %{_mandir}/man1/more.1* @@ -607,7 +611,6 @@ exit 0 %{_mandir}/man1/setsid.1* %{_mandir}/man1/setterm.1* %{_mandir}/man1/su.1* -%{_mandir}/man1/tailf.1* %{_mandir}/man1/taskset.1* %{_mandir}/man1/ul.1* %{_mandir}/man1/unshare.1* @@ -622,8 +625,10 @@ exit 0 %{_mandir}/man8/agetty.8* %{_mandir}/man8/blkdiscard.8* %{_mandir}/man8/blkid.8* +%{_mandir}/man8/blkzone.8* %{_mandir}/man8/blockdev.8* %{_mandir}/man8/chcpu.8* +%{_mandir}/man8/chmem.8* %{_mandir}/man8/ctrlaltdel.8* %{_mandir}/man8/delpart.8* %{_mandir}/man8/fdisk.8* @@ -667,6 +672,7 @@ exit 0 %{_sbindir}/agetty %{_sbindir}/blkdiscard %{_sbindir}/blkid +%{_sbindir}/blkzone %{_sbindir}/blockdev %{_sbindir}/chcpu %{_sbindir}/ctrlaltdel @@ -702,9 +708,11 @@ exit 0 %{compldir}/addpart %{compldir}/blkdiscard %{compldir}/blkid +%{compldir}/blkzone %{compldir}/blockdev %{compldir}/cal %{compldir}/chcpu +%{compldir}/chmem %{compldir}/chrt %{compldir}/col %{compldir}/colcrt @@ -716,6 +724,8 @@ exit 0 %{compldir}/eject %{compldir}/fallocate %{compldir}/fdisk +%{compldir}/fincore +%{compldir}/findfs %{compldir}/findmnt %{compldir}/flock %{compldir}/fsck @@ -740,6 +750,7 @@ exit 0 %{compldir}/lsipc %{compldir}/lslocks %{compldir}/lslogins +%{compldir}/lsmem %{compldir}/lsns %{compldir}/mcookie %{compldir}/mesg @@ -773,7 +784,6 @@ exit 0 %{compldir}/swaplabel %{compldir}/swapoff %{compldir}/swapon -%{compldir}/tailf %{compldir}/taskset %{compldir}/ul #%{compldir}/umount @@ -787,6 +797,7 @@ exit 0 %{compldir}/write %{compldir}/zramctl + %ifnarch s390 s390x %{_sbindir}/clock %{_sbindir}/fdformat @@ -919,6 +930,10 @@ exit 0 %{_libdir}/python*/site-packages/libmount/* %changelog +* 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 From 17b923cc1e92d6bdf567a338f60cf8e8d1eead2b Mon Sep 17 00:00:00 2001 From: Karel Zak Date: Fri, 2 Jun 2017 12:58:33 +0200 Subject: [PATCH 037/232] upgrade to v2.30 --- .gitignore | 1 + sources | 2 +- util-linux.spec | 7 +++++-- 3 files changed, 7 insertions(+), 3 deletions(-) diff --git a/.gitignore b/.gitignore index 4710341..bf0485b 100644 --- a/.gitignore +++ b/.gitignore @@ -56,3 +56,4 @@ /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 diff --git a/sources b/sources index d02ddf2..f0f16ef 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (util-linux-2.30-rc1.tar.xz) = 8f1aeb6938924d21474bec660e775ab511e359906079d2660e81680b8940fcbc70086f5f95f2a31acabcafa56740d2ad21b0c4bff793146431b35e119714819b +SHA512 (util-linux-2.30.tar.xz) = 30e311768718508066829567200e975fd08a22360915b27c8839f368fe6d84c8eca6c2f69a60f113d934eea9934e49f05cd98c3db7fd6bc5ad8f7f770badbc97 diff --git a/util-linux.spec b/util-linux.spec index ace22da..a4cf198 100644 --- a/util-linux.spec +++ b/util-linux.spec @@ -2,13 +2,13 @@ Summary: A collection of basic system utilities Name: util-linux Version: 2.30 -Release: 0.1%{?dist} +Release: 1%{?dist} License: GPLv2 and GPLv2+ and LGPLv2+ and BSD with advertising and Public Domain Group: System Environment/Base URL: http://en.wikipedia.org/wiki/Util-linux ### Macros -%define upstream_version %{version}-rc1 +%define upstream_version %{version} %define upstream_major %(eval echo %{version} | %{__sed} -e 's/\([[:digit:]]*\)\.\([[:digit:]]*\)\.[[:digit:]]*$/\1.\2/') %define compldir %{_datadir}/bash-completion/completions/ @@ -930,6 +930,9 @@ exit 0 %{_libdir}/python*/site-packages/libmount/* %changelog +* 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 From cdab8b4a761bfd2e5eabdf961646b157810095ef Mon Sep 17 00:00:00 2001 From: Karel Zak Date: Thu, 20 Jul 2017 14:16:09 +0200 Subject: [PATCH 038/232] upgrade to v2.30.1 Signed-off-by: Karel Zak --- .gitignore | 1 + sources | 2 +- util-linux.spec | 6 +++++- 3 files changed, 7 insertions(+), 2 deletions(-) diff --git a/.gitignore b/.gitignore index bf0485b..acf0c92 100644 --- a/.gitignore +++ b/.gitignore @@ -57,3 +57,4 @@ /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 diff --git a/sources b/sources index f0f16ef..d78b616 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (util-linux-2.30.tar.xz) = 30e311768718508066829567200e975fd08a22360915b27c8839f368fe6d84c8eca6c2f69a60f113d934eea9934e49f05cd98c3db7fd6bc5ad8f7f770badbc97 +SHA512 (util-linux-2.30.1.tar.xz) = bcf1807198660c133c380e13d6ba5dcdb7470c47bcaeea03ccc5a78a0d834e3df3d13ae5ffc35fd7f8fff7ba062629d4b1f5cde78452b846c9315c51c9e108f5 diff --git a/util-linux.spec b/util-linux.spec index a4cf198..972075e 100644 --- a/util-linux.spec +++ b/util-linux.spec @@ -1,7 +1,7 @@ ### Header Summary: A collection of basic system utilities Name: util-linux -Version: 2.30 +Version: 2.30.1 Release: 1%{?dist} License: GPLv2 and GPLv2+ and LGPLv2+ and BSD with advertising and Public Domain Group: System Environment/Base @@ -930,6 +930,10 @@ exit 0 %{_libdir}/python*/site-packages/libmount/* %changelog +* 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 From c186315fe82b9852455187006641cfc1afab86de Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Thu, 27 Jul 2017 21:07:09 +0000 Subject: [PATCH 039/232] - Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild --- util-linux.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/util-linux.spec b/util-linux.spec index 972075e..c02a1f6 100644 --- a/util-linux.spec +++ b/util-linux.spec @@ -2,7 +2,7 @@ Summary: A collection of basic system utilities Name: util-linux Version: 2.30.1 -Release: 1%{?dist} +Release: 2%{?dist} License: GPLv2 and GPLv2+ and LGPLv2+ and BSD with advertising and Public Domain Group: System Environment/Base URL: http://en.wikipedia.org/wiki/Util-linux @@ -930,6 +930,9 @@ exit 0 %{_libdir}/python*/site-packages/libmount/* %changelog +* 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 From f898c964678274e7776d33d85f70839f683d4c29 Mon Sep 17 00:00:00 2001 From: Karel Zak Date: Wed, 2 Aug 2017 15:09:23 +0200 Subject: [PATCH 040/232] 2.30.1-3: fix #1390191 --- util-linux.spec | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/util-linux.spec b/util-linux.spec index c02a1f6..c7c9f76 100644 --- a/util-linux.spec +++ b/util-linux.spec @@ -2,7 +2,7 @@ Summary: A collection of basic system utilities Name: util-linux Version: 2.30.1 -Release: 2%{?dist} +Release: 3%{?dist} License: GPLv2 and GPLv2+ and LGPLv2+ and BSD with advertising and Public Domain Group: System Environment/Base URL: http://en.wikipedia.org/wiki/Util-linux @@ -394,7 +394,7 @@ chmod 644 misc-utils/getopt-*.{bash,tcsh} rm -f ${RPM_BUILD_ROOT}%{_datadir}/doc/util-linux/getopt/* rmdir ${RPM_BUILD_ROOT}%{_datadir}/doc/util-linux/getopt -ln -sf /proc/mounts %{buildroot}/etc/mtab +ln -sf ../proc/self/mounts %{buildroot}/etc/mtab # remove static libs rm -f $RPM_BUILD_ROOT%{_libdir}/lib{uuid,blkid,mount,smartcols,fdisk}.a @@ -435,7 +435,7 @@ if [ -x /usr/sbin/selinuxenabled ] && /usr/sbin/selinuxenabled; then fi fi if [ ! -L /etc/mtab ]; then - ln -fs /proc/mounts /etc/mtab + ln -sf ../proc/self/mounts %{buildroot}/etc/mtab fi %post -n libblkid @@ -930,6 +930,9 @@ exit 0 %{_libdir}/python*/site-packages/libmount/* %changelog +* 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 From d8ee2107f14485db33cdf7dbd633d578bc6e041c Mon Sep 17 00:00:00 2001 From: Karel Zak Date: Fri, 4 Aug 2017 11:01:51 +0200 Subject: [PATCH 041/232] 2.30.1-4: fix post install script --- util-linux.spec | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/util-linux.spec b/util-linux.spec index c7c9f76..62c09e4 100644 --- a/util-linux.spec +++ b/util-linux.spec @@ -2,7 +2,7 @@ Summary: A collection of basic system utilities Name: util-linux Version: 2.30.1 -Release: 3%{?dist} +Release: 4%{?dist} License: GPLv2 and GPLv2+ and LGPLv2+ and BSD with advertising and Public Domain Group: System Environment/Base URL: http://en.wikipedia.org/wiki/Util-linux @@ -435,7 +435,7 @@ if [ -x /usr/sbin/selinuxenabled ] && /usr/sbin/selinuxenabled; then fi fi if [ ! -L /etc/mtab ]; then - ln -sf ../proc/self/mounts %{buildroot}/etc/mtab + ln -sf ../proc/self/mounts /etc/mtab fi %post -n libblkid @@ -930,6 +930,9 @@ exit 0 %{_libdir}/python*/site-packages/libmount/* %changelog +* 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 From 8aba564a5f30229b192d4332a0aee63f6391dfba Mon Sep 17 00:00:00 2001 From: Karel Zak Date: Mon, 14 Aug 2017 11:16:01 +0200 Subject: [PATCH 042/232] 2.30.1-5: ln-s more robust --- util-linux.spec | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/util-linux.spec b/util-linux.spec index 62c09e4..83c4cdb 100644 --- a/util-linux.spec +++ b/util-linux.spec @@ -2,7 +2,7 @@ Summary: A collection of basic system utilities Name: util-linux Version: 2.30.1 -Release: 4%{?dist} +Release: 5%{?dist} License: GPLv2 and GPLv2+ and LGPLv2+ and BSD with advertising and Public Domain Group: System Environment/Base URL: http://en.wikipedia.org/wiki/Util-linux @@ -435,7 +435,7 @@ if [ -x /usr/sbin/selinuxenabled ] && /usr/sbin/selinuxenabled; then fi fi if [ ! -L /etc/mtab ]; then - ln -sf ../proc/self/mounts /etc/mtab + ln -sf ../proc/self/mounts /etc/mtab || : fi %post -n libblkid @@ -930,6 +930,9 @@ exit 0 %{_libdir}/python*/site-packages/libmount/* %changelog +* 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 From 558fdf8110e5ab2799c553e1c9e75b6a8e3eb23d Mon Sep 17 00:00:00 2001 From: Karel Zak Date: Fri, 22 Sep 2017 10:17:26 +0200 Subject: [PATCH 043/232] upgrade to v2.30.2 --- .gitignore | 1 + sources | 2 +- util-linux.spec | 8 ++++++-- 3 files changed, 8 insertions(+), 3 deletions(-) diff --git a/.gitignore b/.gitignore index acf0c92..2ada1fd 100644 --- a/.gitignore +++ b/.gitignore @@ -58,3 +58,4 @@ /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 diff --git a/sources b/sources index d78b616..2cd4449 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (util-linux-2.30.1.tar.xz) = bcf1807198660c133c380e13d6ba5dcdb7470c47bcaeea03ccc5a78a0d834e3df3d13ae5ffc35fd7f8fff7ba062629d4b1f5cde78452b846c9315c51c9e108f5 +SHA512 (util-linux-2.30.2.tar.xz) = b92ec16d5e8a405ad9ebbac8673bb49c5bf0a7f630118477f12c7a3c6b3b3ee5d56868632dd71fffd5c0434821207c2769f6859b9d398c2df770ec6487d7c32d diff --git a/util-linux.spec b/util-linux.spec index 83c4cdb..29bca51 100644 --- a/util-linux.spec +++ b/util-linux.spec @@ -1,8 +1,8 @@ ### Header Summary: A collection of basic system utilities Name: util-linux -Version: 2.30.1 -Release: 5%{?dist} +Version: 2.30.2 +Release: 1%{?dist} License: GPLv2 and GPLv2+ and LGPLv2+ and BSD with advertising and Public Domain Group: System Environment/Base URL: http://en.wikipedia.org/wiki/Util-linux @@ -930,6 +930,10 @@ exit 0 %{_libdir}/python*/site-packages/libmount/* %changelog +* 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 From 93789c77213c06d1511edb39257ca6fdd590d342 Mon Sep 17 00:00:00 2001 From: Karel Zak Date: Fri, 22 Sep 2017 12:56:40 +0200 Subject: [PATCH 044/232] upgrade to v2.31-rc1 --- .gitignore | 1 + sources | 2 +- util-linux.spec | 16 +++++++++++++--- 3 files changed, 15 insertions(+), 4 deletions(-) diff --git a/.gitignore b/.gitignore index 2ada1fd..d8f51a7 100644 --- a/.gitignore +++ b/.gitignore @@ -59,3 +59,4 @@ /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 diff --git a/sources b/sources index 2cd4449..9e77ffc 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (util-linux-2.30.2.tar.xz) = b92ec16d5e8a405ad9ebbac8673bb49c5bf0a7f630118477f12c7a3c6b3b3ee5d56868632dd71fffd5c0434821207c2769f6859b9d398c2df770ec6487d7c32d +SHA512 (util-linux-2.31-rc1.tar.xz) = 027815da2ee4d342ff1578d5bba71ea63dc1cd6816ad753c644b5422b693e9dfe35ab158101ac9d7f8b7dbee1d2cf97e4930b24ed247eba7be1312e5292c3f9f diff --git a/util-linux.spec b/util-linux.spec index 29bca51..9c92eb3 100644 --- a/util-linux.spec +++ b/util-linux.spec @@ -1,14 +1,14 @@ ### Header Summary: A collection of basic system utilities Name: util-linux -Version: 2.30.2 -Release: 1%{?dist} +Version: 2.31 +Release: 0.1%{?dist} License: GPLv2 and GPLv2+ and LGPLv2+ and BSD with advertising and Public Domain Group: System Environment/Base URL: http://en.wikipedia.org/wiki/Util-linux ### Macros -%define upstream_version %{version} +%define upstream_version %{version}-rc1 %define upstream_major %(eval echo %{version} | %{__sed} -e 's/\([[:digit:]]*\)\.\([[:digit:]]*\)\.[[:digit:]]*$/\1.\2/') %define compldir %{_datadir}/bash-completion/completions/ @@ -553,6 +553,7 @@ exit 0 %{_bindir}/rename %{_bindir}/renice %{_bindir}/rev +%{_bindir}/rfkill %{_bindir}/script %{_bindir}/scriptreplay %{_bindir}/setarch @@ -564,6 +565,7 @@ exit 0 %{_bindir}/unshare %{_bindir}/utmpdump %{_bindir}/uuidgen +%{_bindir}/uuidparse %{_bindir}/wall %{_bindir}/wdctl %{_bindir}/whereis @@ -616,6 +618,7 @@ exit 0 %{_mandir}/man1/unshare.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* @@ -657,6 +660,7 @@ exit 0 %{_mandir}/man8/rawdevices.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 @@ -772,6 +776,7 @@ exit 0 %{compldir}/renice %{compldir}/resizepart %{compldir}/rev +%{compldir}/rfkill %{compldir}/rtcwake %{compldir}/runuser %{compldir}/script @@ -790,6 +795,7 @@ exit 0 %{compldir}/unshare %{compldir}/utmpdump %{compldir}/uuidgen +%{compldir}/uuidparse %{compldir}/wall %{compldir}/wdctl %{compldir}/whereis @@ -930,6 +936,10 @@ exit 0 %{_libdir}/python*/site-packages/libmount/* %changelog +* 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 From 2cbb58aee9f9ccba1daabd38edde9640162da8a6 Mon Sep 17 00:00:00 2001 From: Karel Zak Date: Mon, 25 Sep 2017 11:24:21 +0200 Subject: [PATCH 045/232] 2.31-0.2: disable rfkill Signed-off-by: Karel Zak --- util-linux.spec | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/util-linux.spec b/util-linux.spec index 9c92eb3..83744c6 100644 --- a/util-linux.spec +++ b/util-linux.spec @@ -2,7 +2,7 @@ Summary: A collection of basic system utilities Name: util-linux Version: 2.31 -Release: 0.1%{?dist} +Release: 0.2%{?dist} License: GPLv2 and GPLv2+ and LGPLv2+ and BSD with advertising and Public Domain Group: System Environment/Base URL: http://en.wikipedia.org/wiki/Util-linux @@ -278,6 +278,7 @@ export DAEMON_LDFLAGS="$SUID_LDFLAGS" %configure \ --with-systemdsystemunitdir=%{_unitdir} \ --disable-silent-rules \ + --disable-rfkill \ --disable-bfs \ --disable-pg \ --enable-chfn-chsh \ @@ -553,7 +554,7 @@ exit 0 %{_bindir}/rename %{_bindir}/renice %{_bindir}/rev -%{_bindir}/rfkill +#%{_bindir}/rfkill %{_bindir}/script %{_bindir}/scriptreplay %{_bindir}/setarch @@ -660,7 +661,7 @@ exit 0 %{_mandir}/man8/rawdevices.8* %{_mandir}/man8/readprofile.8* %{_mandir}/man8/resizepart.8* -%{_mandir}/man8/rfkill.8* +#%{_mandir}/man8/rfkill.8* %{_mandir}/man8/rtcwake.8* %{_mandir}/man8/setarch.8* %{_mandir}/man8/sulogin.8.gz @@ -776,7 +777,7 @@ exit 0 %{compldir}/renice %{compldir}/resizepart %{compldir}/rev -%{compldir}/rfkill +#%{compldir}/rfkill %{compldir}/rtcwake %{compldir}/runuser %{compldir}/script @@ -936,6 +937,9 @@ exit 0 %{_libdir}/python*/site-packages/libmount/* %changelog +* 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 From 208b062ff655c7ebfdacdd03b1d15bf10990c15f Mon Sep 17 00:00:00 2001 From: Karel Zak Date: Mon, 9 Oct 2017 10:42:31 +0200 Subject: [PATCH 046/232] 2.31-0.3: upgrade to rc2, enable rfkill --- util-linux.spec | 18 ++++++++++++------ 1 file changed, 12 insertions(+), 6 deletions(-) diff --git a/util-linux.spec b/util-linux.spec index 83744c6..58209f6 100644 --- a/util-linux.spec +++ b/util-linux.spec @@ -2,13 +2,13 @@ Summary: A collection of basic system utilities Name: util-linux Version: 2.31 -Release: 0.2%{?dist} +Release: 0.3%{?dist} License: GPLv2 and GPLv2+ and LGPLv2+ and BSD with advertising and Public Domain Group: System Environment/Base URL: http://en.wikipedia.org/wiki/Util-linux ### Macros -%define upstream_version %{version}-rc1 +%define upstream_version %{version}-rc2 %define upstream_major %(eval echo %{version} | %{__sed} -e 's/\([[:digit:]]*\)\.\([[:digit:]]*\)\.[[:digit:]]*$/\1.\2/') %define compldir %{_datadir}/bash-completion/completions/ @@ -55,6 +55,9 @@ 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 @@ -278,7 +281,6 @@ export DAEMON_LDFLAGS="$SUID_LDFLAGS" %configure \ --with-systemdsystemunitdir=%{_unitdir} \ --disable-silent-rules \ - --disable-rfkill \ --disable-bfs \ --disable-pg \ --enable-chfn-chsh \ @@ -554,7 +556,7 @@ exit 0 %{_bindir}/rename %{_bindir}/renice %{_bindir}/rev -#%{_bindir}/rfkill +%{_bindir}/rfkill %{_bindir}/script %{_bindir}/scriptreplay %{_bindir}/setarch @@ -661,7 +663,7 @@ exit 0 %{_mandir}/man8/rawdevices.8* %{_mandir}/man8/readprofile.8* %{_mandir}/man8/resizepart.8* -#%{_mandir}/man8/rfkill.8* +%{_mandir}/man8/rfkill.8* %{_mandir}/man8/rtcwake.8* %{_mandir}/man8/setarch.8* %{_mandir}/man8/sulogin.8.gz @@ -777,7 +779,7 @@ exit 0 %{compldir}/renice %{compldir}/resizepart %{compldir}/rev -#%{compldir}/rfkill +%{compldir}/rfkill %{compldir}/rtcwake %{compldir}/runuser %{compldir}/script @@ -937,6 +939,10 @@ exit 0 %{_libdir}/python*/site-packages/libmount/* %changelog +* 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) From 8aba0e5c790700887a07824dae25cbae76191c29 Mon Sep 17 00:00:00 2001 From: Karel Zak Date: Mon, 9 Oct 2017 10:49:50 +0200 Subject: [PATCH 047/232] new sources --- .gitignore | 1 + sources | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/.gitignore b/.gitignore index d8f51a7..0651f99 100644 --- a/.gitignore +++ b/.gitignore @@ -60,3 +60,4 @@ /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 diff --git a/sources b/sources index 9e77ffc..697cf7c 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (util-linux-2.31-rc1.tar.xz) = 027815da2ee4d342ff1578d5bba71ea63dc1cd6816ad753c644b5422b693e9dfe35ab158101ac9d7f8b7dbee1d2cf97e4930b24ed247eba7be1312e5292c3f9f +SHA512 (util-linux-2.31-rc2.tar.xz) = d5b882dbe566e5ad4cbf3ea328bc777ae643c271c4db4a119f270222ef50d89bdb2244524093df794caf0ec9a6b5f559c618f0e36f2c1e2ce30e24c60e876a97 From 401fd81490117cef8436227ad98764e85b874e81 Mon Sep 17 00:00:00 2001 From: Karel Zak Date: Mon, 9 Oct 2017 11:01:57 +0200 Subject: [PATCH 048/232] 2.31-0.4:fix losetup build error --- ...licting-types-for-loopcxt_set_blocks.patch | 44 +++++++++++++++++++ util-linux.spec | 10 +++-- 2 files changed, 51 insertions(+), 3 deletions(-) create mode 100644 0001-losetup-fix-conflicting-types-for-loopcxt_set_blocks.patch diff --git a/0001-losetup-fix-conflicting-types-for-loopcxt_set_blocks.patch b/0001-losetup-fix-conflicting-types-for-loopcxt_set_blocks.patch new file mode 100644 index 0000000..28e1980 --- /dev/null +++ b/0001-losetup-fix-conflicting-types-for-loopcxt_set_blocks.patch @@ -0,0 +1,44 @@ +From c4e60bc0807b04ab104594abc83301481d5d5995 Mon Sep 17 00:00:00 2001 +From: Karel Zak +Date: Wed, 4 Oct 2017 10:08:08 +0200 +Subject: [PATCH] =?UTF-8?q?losetup:=20fix=20conflicting=20types=20for=20?= + =?UTF-8?q?=E2=80=98loopcxt=5Fset=5Fblocksize=E2=80=99?= +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +Reported-by: Lars Wendler +Signed-off-by: Karel Zak +--- + lib/loopdev.c | 8 ++++++-- + 1 file changed, 6 insertions(+), 2 deletions(-) + +diff --git a/lib/loopdev.c b/lib/loopdev.c +index 66fa4f669..819aada32 100644 +--- a/lib/loopdev.c ++++ b/lib/loopdev.c +@@ -1430,7 +1430,11 @@ int loopcxt_set_dio(struct loopdev_cxt *lc, unsigned long use_dio) + return 0; + } + +-int loopcxt_set_blocksize(struct loopdev_cxt *lc, unsigned long blocksize) ++/* ++ * Kernel uses "unsigned long" as ioctl arg, but we use u64 for all sizes to ++ * keep loopdev internal API simple. ++ */ ++int loopcxt_set_blocksize(struct loopdev_cxt *lc, uint64_t blocksize) + { + int fd = loopcxt_get_fd(lc); + +@@ -1438,7 +1442,7 @@ int loopcxt_set_blocksize(struct loopdev_cxt *lc, unsigned long blocksize) + return -EINVAL; + + /* Kernels prior to v4.14 don't support this ioctl */ +- if (ioctl(fd, LOOP_SET_BLOCK_SIZE, blocksize) < 0) { ++ if (ioctl(fd, LOOP_SET_BLOCK_SIZE, (unsigned long) blocksize) < 0) { + int rc = -errno; + DBG(CXT, ul_debugobj(lc, "LOOP_SET_BLOCK_SIZE failed: %m")); + return rc; +-- +2.13.6 + diff --git a/util-linux.spec b/util-linux.spec index 58209f6..842539c 100644 --- a/util-linux.spec +++ b/util-linux.spec @@ -2,7 +2,7 @@ Summary: A collection of basic system utilities Name: util-linux Version: 2.31 -Release: 0.3%{?dist} +Release: 0.4%{?dist} License: GPLv2 and GPLv2+ and LGPLv2+ and BSD with advertising and Public Domain Group: System Environment/Base URL: http://en.wikipedia.org/wiki/Util-linux @@ -92,6 +92,9 @@ Requires: libfdisk = %{version}-%{release} # 151635 - makeing /var/log/lastlog Patch0: 2.28-login-lastlog-create.patch +# upstream patch +Patch1: 0001-losetup-fix-conflicting-types-for-loopcxt_set_blocks.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 @@ -766,7 +769,6 @@ exit 0 %{compldir}/mkfs.minix %{compldir}/mkswap %{compldir}/more -#%{compldir}/mount %{compldir}/mountpoint %{compldir}/namei %{compldir}/nsenter @@ -794,7 +796,6 @@ exit 0 %{compldir}/swapon %{compldir}/taskset %{compldir}/ul -#%{compldir}/umount %{compldir}/unshare %{compldir}/utmpdump %{compldir}/uuidgen @@ -939,6 +940,9 @@ exit 0 %{_libdir}/python*/site-packages/libmount/* %changelog +* 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 From a56a94947c082cd04f8b0303b86aa9961f81e8c8 Mon Sep 17 00:00:00 2001 From: Rachel Sibley Date: Mon, 16 Oct 2017 16:00:11 -0400 Subject: [PATCH 049/232] Initial commit for downstream tests using standard test interface --- tests/tests.yml | 12 ++++++++ tests/various/Makefile | 64 ++++++++++++++++++++++++++++++++++++++++ tests/various/PURPOSE | 3 ++ tests/various/runtest.sh | 52 ++++++++++++++++++++++++++++++++ 4 files changed, 131 insertions(+) create mode 100644 tests/tests.yml create mode 100644 tests/various/Makefile create mode 100644 tests/various/PURPOSE create mode 100755 tests/various/runtest.sh diff --git a/tests/tests.yml b/tests/tests.yml new file mode 100644 index 0000000..b6f2dd1 --- /dev/null +++ b/tests/tests.yml @@ -0,0 +1,12 @@ +# Test which run in classic and docker environemnt +- hosts: localhost + tags: + - classic + - container + roles: + - role: standard-test-beakerlib + tests: + - various + required_packages: + - util-linux + - util-linux-user 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 From 95b12b7aa0ddac68aaa7c46ccf8550534d20df8b Mon Sep 17 00:00:00 2001 From: Karel Zak Date: Mon, 23 Oct 2017 11:56:41 +0200 Subject: [PATCH 050/232] 2.31-1: upstream ugrade --- .gitignore | 1 + sources | 2 +- util-linux.spec | 13 ++++++++++--- 3 files changed, 12 insertions(+), 4 deletions(-) diff --git a/.gitignore b/.gitignore index 0651f99..cd9cdca 100644 --- a/.gitignore +++ b/.gitignore @@ -61,3 +61,4 @@ /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 diff --git a/sources b/sources index 697cf7c..8d319dc 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (util-linux-2.31-rc2.tar.xz) = d5b882dbe566e5ad4cbf3ea328bc777ae643c271c4db4a119f270222ef50d89bdb2244524093df794caf0ec9a6b5f559c618f0e36f2c1e2ce30e24c60e876a97 +SHA512 (util-linux-2.31.tar.xz) = 48b668526e96a132736b882090d0e33c20b4b3a0e1760502d83118ed98ccc9423d310848a2bb73f82f85e9c19f6191075ae2c5269b007e76be1fbd7b6b88fbf5 diff --git a/util-linux.spec b/util-linux.spec index 842539c..bbc05c2 100644 --- a/util-linux.spec +++ b/util-linux.spec @@ -2,13 +2,13 @@ Summary: A collection of basic system utilities Name: util-linux Version: 2.31 -Release: 0.4%{?dist} +Release: 1%{?dist} License: GPLv2 and GPLv2+ and LGPLv2+ and BSD with advertising and Public Domain Group: System Environment/Base URL: http://en.wikipedia.org/wiki/Util-linux ### Macros -%define upstream_version %{version}-rc2 +%define upstream_version %{version} %define upstream_major %(eval echo %{version} | %{__sed} -e 's/\([[:digit:]]*\)\.\([[:digit:]]*\)\.[[:digit:]]*$/\1.\2/') %define compldir %{_datadir}/bash-completion/completions/ @@ -339,6 +339,9 @@ echo '.so man8/raw.8' > $RPM_BUILD_ROOT%{_mandir}/man8/rawdevices.8 # sbin -> bin mv ${RPM_BUILD_ROOT}%{_sbindir}/raw ${RPM_BUILD_ROOT}%{_bindir}/raw +# bin -> sbin (v2.31 bug, will be fixed in v2.31.1) +mv ${RPM_BUILD_ROOT}%{_bindir}/rfkill ${RPM_BUILD_ROOT}%{_sbindir}/rfkill + # And a dirs uuidd needs that the makefiles don't create install -d ${RPM_BUILD_ROOT}/run/uuidd install -d ${RPM_BUILD_ROOT}/var/lib/libuuid @@ -559,7 +562,6 @@ exit 0 %{_bindir}/rename %{_bindir}/renice %{_bindir}/rev -%{_bindir}/rfkill %{_bindir}/script %{_bindir}/scriptreplay %{_bindir}/setarch @@ -705,6 +707,7 @@ exit 0 %{_sbindir}/pivot_root %{_sbindir}/readprofile %{_sbindir}/resizepart +%{_sbindir}/rfkill %{_sbindir}/rtcwake %{_sbindir}/runuser %{_sbindir}/sulogin @@ -940,6 +943,10 @@ exit 0 %{_libdir}/python*/site-packages/libmount/* %changelog +* 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 From 3251a896f8363d9a71a56e8b798a7aaf146bd5ef Mon Sep 17 00:00:00 2001 From: Karel Zak Date: Mon, 23 Oct 2017 12:29:38 +0200 Subject: [PATCH 051/232] 2.31-1: remove obsolete patch --- ...licting-types-for-loopcxt_set_blocks.patch | 44 ------------------- util-linux.spec | 3 -- 2 files changed, 47 deletions(-) delete mode 100644 0001-losetup-fix-conflicting-types-for-loopcxt_set_blocks.patch diff --git a/0001-losetup-fix-conflicting-types-for-loopcxt_set_blocks.patch b/0001-losetup-fix-conflicting-types-for-loopcxt_set_blocks.patch deleted file mode 100644 index 28e1980..0000000 --- a/0001-losetup-fix-conflicting-types-for-loopcxt_set_blocks.patch +++ /dev/null @@ -1,44 +0,0 @@ -From c4e60bc0807b04ab104594abc83301481d5d5995 Mon Sep 17 00:00:00 2001 -From: Karel Zak -Date: Wed, 4 Oct 2017 10:08:08 +0200 -Subject: [PATCH] =?UTF-8?q?losetup:=20fix=20conflicting=20types=20for=20?= - =?UTF-8?q?=E2=80=98loopcxt=5Fset=5Fblocksize=E2=80=99?= -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -Reported-by: Lars Wendler -Signed-off-by: Karel Zak ---- - lib/loopdev.c | 8 ++++++-- - 1 file changed, 6 insertions(+), 2 deletions(-) - -diff --git a/lib/loopdev.c b/lib/loopdev.c -index 66fa4f669..819aada32 100644 ---- a/lib/loopdev.c -+++ b/lib/loopdev.c -@@ -1430,7 +1430,11 @@ int loopcxt_set_dio(struct loopdev_cxt *lc, unsigned long use_dio) - return 0; - } - --int loopcxt_set_blocksize(struct loopdev_cxt *lc, unsigned long blocksize) -+/* -+ * Kernel uses "unsigned long" as ioctl arg, but we use u64 for all sizes to -+ * keep loopdev internal API simple. -+ */ -+int loopcxt_set_blocksize(struct loopdev_cxt *lc, uint64_t blocksize) - { - int fd = loopcxt_get_fd(lc); - -@@ -1438,7 +1442,7 @@ int loopcxt_set_blocksize(struct loopdev_cxt *lc, unsigned long blocksize) - return -EINVAL; - - /* Kernels prior to v4.14 don't support this ioctl */ -- if (ioctl(fd, LOOP_SET_BLOCK_SIZE, blocksize) < 0) { -+ if (ioctl(fd, LOOP_SET_BLOCK_SIZE, (unsigned long) blocksize) < 0) { - int rc = -errno; - DBG(CXT, ul_debugobj(lc, "LOOP_SET_BLOCK_SIZE failed: %m")); - return rc; --- -2.13.6 - diff --git a/util-linux.spec b/util-linux.spec index bbc05c2..6ccff93 100644 --- a/util-linux.spec +++ b/util-linux.spec @@ -92,9 +92,6 @@ Requires: libfdisk = %{version}-%{release} # 151635 - makeing /var/log/lastlog Patch0: 2.28-login-lastlog-create.patch -# upstream patch -Patch1: 0001-losetup-fix-conflicting-types-for-loopcxt_set_blocks.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 From 44205151811e8bf56ded49f13772e9a189a3ac34 Mon Sep 17 00:00:00 2001 From: Karel Zak Date: Mon, 30 Oct 2017 15:20:51 +0100 Subject: [PATCH 052/232] 2.31-2: dmesg fix --- ...-Revert-dmesg-fragment-concatenation.patch | 194 ++++++++++++++++++ util-linux.spec | 8 +- 2 files changed, 201 insertions(+), 1 deletion(-) create mode 100644 0001-Revert-dmesg-fragment-concatenation.patch diff --git a/0001-Revert-dmesg-fragment-concatenation.patch b/0001-Revert-dmesg-fragment-concatenation.patch new file mode 100644 index 0000000..7680766 --- /dev/null +++ b/0001-Revert-dmesg-fragment-concatenation.patch @@ -0,0 +1,194 @@ +From 8a6f0cfd96a3a7f0e72079407af4b8ed705c1ed2 Mon Sep 17 00:00:00 2001 +From: Karel Zak +Date: Mon, 30 Oct 2017 15:04:20 +0100 +Subject: [PATCH] Revert "dmesg: fragment concatenation" + +* introduces regressions +* stupid code; parse_kmsg_record() called more than once for each record + +This reverts commit 22eb2f0190d8a9850da750641439ccd284ac0bfe. +--- + sys-utils/dmesg.c | 117 ++++-------------------------------------------------- + 1 file changed, 7 insertions(+), 110 deletions(-) + +diff --git a/sys-utils/dmesg.c b/sys-utils/dmesg.c +index b626380f7..6e5911a76 100644 +--- a/sys-utils/dmesg.c ++++ b/sys-utils/dmesg.c +@@ -20,7 +20,6 @@ + #include + #include + #include +-#include + + #include "c.h" + #include "colors.h" +@@ -179,8 +178,6 @@ struct dmesg_control { + int kmsg; /* /dev/kmsg file descriptor */ + ssize_t kmsg_first_read;/* initial read() return code */ + char kmsg_buf[BUFSIZ];/* buffer to read kmsg data */ +- char kmsg_saved[BUFSIZ];/* buffer to save line after fragment */ +- ssize_t kmsg_saved_size; /* if nonzero, read from kmsg_saved */ + + /* + * For the --file option we mmap whole file. The unnecessary (already +@@ -209,7 +206,6 @@ struct dmesg_record { + int level; + int facility; + struct timeval tv; +- char flags; + + const char *next; /* buffer with next unparsed record */ + size_t next_size; /* size of the next buffer */ +@@ -226,13 +222,6 @@ struct dmesg_record { + + static int read_kmsg(struct dmesg_control *ctl); + +- +-static int parse_kmsg_record(struct dmesg_control *ctl, +- struct dmesg_record *rec, +- char *buf, +- size_t sz); +- +- + static int set_level_color(int log_level, const char *mesg, size_t mesgsz) + { + int id = -1; +@@ -1024,101 +1013,15 @@ static void print_buffer(struct dmesg_control *ctl, + print_record(ctl, &rec); + } + +-/* +- * Read one record from kmsg, automatically concatenating message fragments +- */ + static ssize_t read_kmsg_one(struct dmesg_control *ctl) + { + ssize_t size; +- struct dmesg_record rec = { .flags = 0 }; +- char fragment_buf[BUFSIZ] = { 0 }; +- ssize_t fragment_offset = 0; +- +- if (ctl->kmsg_saved_size != 0) { +- size = ctl->kmsg_saved_size; +- memcpy(ctl->kmsg_buf, ctl->kmsg_saved, size); +- ctl->kmsg_saved_size = 0; +- return size; +- } + +- /* +- * kmsg returns EPIPE if record was modified while reading. +- * Read records until there is one with a flag different from 'c'/'+', +- * which indicates that a fragment (if it exists) is complete. +- */ ++ /* kmsg returns EPIPE if record was modified while reading */ + do { +- /* +- * If there is a fragment in progress, and we're in follow mode, +- * read with a timeout so that if no line is read in 100ms, we can +- * assume that the fragment is the last line in /dev/kmsg and it +- * is completed. +- */ +- if (ctl->follow && fragment_offset) { +- struct pollfd pfd = {.fd = ctl->kmsg, .events = POLLIN}; +- poll(&pfd, 1, 100); +- /* If 100ms has passed and kmsg has no data to read() */ +- if (!(pfd.revents & POLLIN)) { +- memcpy(ctl->kmsg_buf, fragment_buf, fragment_offset); +- return fragment_offset + 1; +- } +- } +- size = read(ctl->kmsg, ctl->kmsg_buf, sizeof(ctl->kmsg_buf) - 1); +- +- /* +- * If read() would have blocked and we have a fragment in +- * progress, assume that it's completed (ie. it was the last line +- * in the ring buffer) otherwise it won't be displayed until +- * another non-fragment message is logged. +- */ +- if (errno == EAGAIN && fragment_offset) { +- memcpy(ctl->kmsg_buf, fragment_buf, fragment_offset); +- return fragment_offset + 1; +- } +- +- if (parse_kmsg_record(ctl, &rec, ctl->kmsg_buf, +- (size_t) size) == 0) { +- /* +- * 'c' can indicate a start of a fragment or a +- * continuation, '+' is used in older kernels to +- * indicate a continuation. +- */ +- if (rec.flags == 'c' || rec.flags == '+') { +- if (!fragment_offset) { +- memcpy(fragment_buf, ctl->kmsg_buf, size); +- fragment_offset = size - 1; +- } else { +- /* +- * In case of a buffer overflow, just +- * truncate the fragment - no one should +- * be logging this much anyway +- */ +- ssize_t truncate_size = min( +- fragment_offset + rec.mesg_size, +- sizeof(fragment_buf)); +- +- memcpy(fragment_buf + fragment_offset, +- rec.mesg, truncate_size); +- fragment_offset += rec.mesg_size; +- } +- +- } else if (rec.flags == '-') { +- /* +- * If there was a fragment being built, move it +- * into kmsg_buf, but first save a copy of the +- * current message so that it doesn't get lost. +- */ +- if (fragment_offset) { +- memcpy(ctl->kmsg_saved, +- ctl->kmsg_buf, size); +- ctl->kmsg_saved_size = size; +- memcpy(ctl->kmsg_buf, +- fragment_buf, fragment_offset); +- return fragment_offset + 1; +- } +- } +- } +- } while ((size < 0 && errno == EPIPE) || +- (rec.flags == 'c' || rec.flags == '+')); ++ size = read(ctl->kmsg, ctl->kmsg_buf, ++ sizeof(ctl->kmsg_buf) - 1); ++ } while (size < 0 && errno == EPIPE); + + return size; + } +@@ -1212,17 +1115,11 @@ static int parse_kmsg_record(struct dmesg_control *ctl, + if (LAST_KMSG_FIELD(p)) + goto mesg; + +- /* D) flags */ +- rec->flags = *p; // flag is one char +- p = p + 1; +- if (LAST_KMSG_FIELD(p)) +- goto mesg; +- +- /* E) optional fields (ignore) */ ++ /* D) optional fields (ignore) */ + p = skip_item(p, end, ";"); + + mesg: +- /* F) message text */ ++ /* E) message text */ + rec->mesg = p; + p = skip_item(p, end, "\n"); + +@@ -1238,7 +1135,7 @@ mesg: + */ + unhexmangle_to_buffer(rec->mesg, (char *) rec->mesg, rec->mesg_size + 1); + +- /* G) message tags (ignore) */ ++ /* F) message tags (ignore) */ + + return 0; + } +-- +2.13.6 + diff --git a/util-linux.spec b/util-linux.spec index 6ccff93..dc01344 100644 --- a/util-linux.spec +++ b/util-linux.spec @@ -2,7 +2,7 @@ Summary: A collection of basic system utilities Name: util-linux Version: 2.31 -Release: 1%{?dist} +Release: 2%{?dist} License: GPLv2 and GPLv2+ and LGPLv2+ and BSD with advertising and Public Domain Group: System Environment/Base URL: http://en.wikipedia.org/wiki/Util-linux @@ -92,6 +92,9 @@ Requires: libfdisk = %{version}-%{release} # 151635 - makeing /var/log/lastlog Patch0: 2.28-login-lastlog-create.patch +# upstream +Patch1: 0001-Revert-dmesg-fragment-concatenation.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 @@ -940,6 +943,9 @@ exit 0 %{_libdir}/python*/site-packages/libmount/* %changelog +* 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) From 55938ef1c2234684b829c2f6b69039f629952b45 Mon Sep 17 00:00:00 2001 From: Serhii Turivnyi Date: Fri, 15 Dec 2017 14:43:47 +0200 Subject: [PATCH 053/232] Add CI tests for Atomic Host using the standard test interface --- tests/tests.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/tests/tests.yml b/tests/tests.yml index b6f2dd1..1cd94fc 100644 --- a/tests/tests.yml +++ b/tests/tests.yml @@ -3,6 +3,7 @@ tags: - classic - container + - atomic roles: - role: standard-test-beakerlib tests: From 58bac092a5897bb9ef1c2e08c2566c2dbedb7504 Mon Sep 17 00:00:00 2001 From: Lumir Balhar Date: Wed, 3 Jan 2018 16:24:53 +0100 Subject: [PATCH 054/232] Fix directory ownership in python subpackage --- util-linux.spec | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/util-linux.spec b/util-linux.spec index dc01344..00ca98e 100644 --- a/util-linux.spec +++ b/util-linux.spec @@ -2,7 +2,7 @@ Summary: A collection of basic system utilities Name: util-linux Version: 2.31 -Release: 2%{?dist} +Release: 3%{?dist} License: GPLv2 and GPLv2+ and LGPLv2+ and BSD with advertising and Public Domain Group: System Environment/Base URL: http://en.wikipedia.org/wiki/Util-linux @@ -940,9 +940,12 @@ exit 0 %defattr(-, root, root) %{!?_licensedir:%global license %%doc} %license Documentation/licenses/COPYING.LGPLv2.1 libmount/COPYING -%{_libdir}/python*/site-packages/libmount/* +%{_libdir}/python*/site-packages/libmount/ %changelog +* 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 From 8039d29dfbb432ac97be1090201f4d49b6521707 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bj=C3=B6rn=20Esser?= Date: Sat, 20 Jan 2018 23:08:40 +0100 Subject: [PATCH 055/232] Rebuilt for switch to libxcrypt --- util-linux.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/util-linux.spec b/util-linux.spec index 00ca98e..3bb6400 100644 --- a/util-linux.spec +++ b/util-linux.spec @@ -2,7 +2,7 @@ Summary: A collection of basic system utilities Name: util-linux Version: 2.31 -Release: 3%{?dist} +Release: 4%{?dist} License: GPLv2 and GPLv2+ and LGPLv2+ and BSD with advertising and Public Domain Group: System Environment/Base URL: http://en.wikipedia.org/wiki/Util-linux @@ -943,6 +943,9 @@ exit 0 %{_libdir}/python*/site-packages/libmount/ %changelog +* 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 From 3d667f8a82e3838814463a4bf1f40f7acfa499b7 Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Fri, 9 Feb 2018 20:13:27 +0000 Subject: [PATCH 056/232] - Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild Signed-off-by: Fedora Release Engineering --- util-linux.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/util-linux.spec b/util-linux.spec index 3bb6400..728a80b 100644 --- a/util-linux.spec +++ b/util-linux.spec @@ -2,7 +2,7 @@ Summary: A collection of basic system utilities Name: util-linux Version: 2.31 -Release: 4%{?dist} +Release: 5%{?dist} License: GPLv2 and GPLv2+ and LGPLv2+ and BSD with advertising and Public Domain Group: System Environment/Base URL: http://en.wikipedia.org/wiki/Util-linux @@ -943,6 +943,9 @@ exit 0 %{_libdir}/python*/site-packages/libmount/ %changelog +* 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 From d3224d47ec659949e47c090e75b1190773144f44 Mon Sep 17 00:00:00 2001 From: Karel Zak Date: Tue, 13 Feb 2018 13:42:48 +0100 Subject: [PATCH 057/232] 2.32-0.1: upstream upgrade --- .gitignore | 1 + ...-Revert-dmesg-fragment-concatenation.patch | 194 ------------------ sources | 2 +- util-linux.spec | 16 +- 4 files changed, 9 insertions(+), 204 deletions(-) delete mode 100644 0001-Revert-dmesg-fragment-concatenation.patch diff --git a/.gitignore b/.gitignore index cd9cdca..8ab6480 100644 --- a/.gitignore +++ b/.gitignore @@ -62,3 +62,4 @@ /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 diff --git a/0001-Revert-dmesg-fragment-concatenation.patch b/0001-Revert-dmesg-fragment-concatenation.patch deleted file mode 100644 index 7680766..0000000 --- a/0001-Revert-dmesg-fragment-concatenation.patch +++ /dev/null @@ -1,194 +0,0 @@ -From 8a6f0cfd96a3a7f0e72079407af4b8ed705c1ed2 Mon Sep 17 00:00:00 2001 -From: Karel Zak -Date: Mon, 30 Oct 2017 15:04:20 +0100 -Subject: [PATCH] Revert "dmesg: fragment concatenation" - -* introduces regressions -* stupid code; parse_kmsg_record() called more than once for each record - -This reverts commit 22eb2f0190d8a9850da750641439ccd284ac0bfe. ---- - sys-utils/dmesg.c | 117 ++++-------------------------------------------------- - 1 file changed, 7 insertions(+), 110 deletions(-) - -diff --git a/sys-utils/dmesg.c b/sys-utils/dmesg.c -index b626380f7..6e5911a76 100644 ---- a/sys-utils/dmesg.c -+++ b/sys-utils/dmesg.c -@@ -20,7 +20,6 @@ - #include - #include - #include --#include - - #include "c.h" - #include "colors.h" -@@ -179,8 +178,6 @@ struct dmesg_control { - int kmsg; /* /dev/kmsg file descriptor */ - ssize_t kmsg_first_read;/* initial read() return code */ - char kmsg_buf[BUFSIZ];/* buffer to read kmsg data */ -- char kmsg_saved[BUFSIZ];/* buffer to save line after fragment */ -- ssize_t kmsg_saved_size; /* if nonzero, read from kmsg_saved */ - - /* - * For the --file option we mmap whole file. The unnecessary (already -@@ -209,7 +206,6 @@ struct dmesg_record { - int level; - int facility; - struct timeval tv; -- char flags; - - const char *next; /* buffer with next unparsed record */ - size_t next_size; /* size of the next buffer */ -@@ -226,13 +222,6 @@ struct dmesg_record { - - static int read_kmsg(struct dmesg_control *ctl); - -- --static int parse_kmsg_record(struct dmesg_control *ctl, -- struct dmesg_record *rec, -- char *buf, -- size_t sz); -- -- - static int set_level_color(int log_level, const char *mesg, size_t mesgsz) - { - int id = -1; -@@ -1024,101 +1013,15 @@ static void print_buffer(struct dmesg_control *ctl, - print_record(ctl, &rec); - } - --/* -- * Read one record from kmsg, automatically concatenating message fragments -- */ - static ssize_t read_kmsg_one(struct dmesg_control *ctl) - { - ssize_t size; -- struct dmesg_record rec = { .flags = 0 }; -- char fragment_buf[BUFSIZ] = { 0 }; -- ssize_t fragment_offset = 0; -- -- if (ctl->kmsg_saved_size != 0) { -- size = ctl->kmsg_saved_size; -- memcpy(ctl->kmsg_buf, ctl->kmsg_saved, size); -- ctl->kmsg_saved_size = 0; -- return size; -- } - -- /* -- * kmsg returns EPIPE if record was modified while reading. -- * Read records until there is one with a flag different from 'c'/'+', -- * which indicates that a fragment (if it exists) is complete. -- */ -+ /* kmsg returns EPIPE if record was modified while reading */ - do { -- /* -- * If there is a fragment in progress, and we're in follow mode, -- * read with a timeout so that if no line is read in 100ms, we can -- * assume that the fragment is the last line in /dev/kmsg and it -- * is completed. -- */ -- if (ctl->follow && fragment_offset) { -- struct pollfd pfd = {.fd = ctl->kmsg, .events = POLLIN}; -- poll(&pfd, 1, 100); -- /* If 100ms has passed and kmsg has no data to read() */ -- if (!(pfd.revents & POLLIN)) { -- memcpy(ctl->kmsg_buf, fragment_buf, fragment_offset); -- return fragment_offset + 1; -- } -- } -- size = read(ctl->kmsg, ctl->kmsg_buf, sizeof(ctl->kmsg_buf) - 1); -- -- /* -- * If read() would have blocked and we have a fragment in -- * progress, assume that it's completed (ie. it was the last line -- * in the ring buffer) otherwise it won't be displayed until -- * another non-fragment message is logged. -- */ -- if (errno == EAGAIN && fragment_offset) { -- memcpy(ctl->kmsg_buf, fragment_buf, fragment_offset); -- return fragment_offset + 1; -- } -- -- if (parse_kmsg_record(ctl, &rec, ctl->kmsg_buf, -- (size_t) size) == 0) { -- /* -- * 'c' can indicate a start of a fragment or a -- * continuation, '+' is used in older kernels to -- * indicate a continuation. -- */ -- if (rec.flags == 'c' || rec.flags == '+') { -- if (!fragment_offset) { -- memcpy(fragment_buf, ctl->kmsg_buf, size); -- fragment_offset = size - 1; -- } else { -- /* -- * In case of a buffer overflow, just -- * truncate the fragment - no one should -- * be logging this much anyway -- */ -- ssize_t truncate_size = min( -- fragment_offset + rec.mesg_size, -- sizeof(fragment_buf)); -- -- memcpy(fragment_buf + fragment_offset, -- rec.mesg, truncate_size); -- fragment_offset += rec.mesg_size; -- } -- -- } else if (rec.flags == '-') { -- /* -- * If there was a fragment being built, move it -- * into kmsg_buf, but first save a copy of the -- * current message so that it doesn't get lost. -- */ -- if (fragment_offset) { -- memcpy(ctl->kmsg_saved, -- ctl->kmsg_buf, size); -- ctl->kmsg_saved_size = size; -- memcpy(ctl->kmsg_buf, -- fragment_buf, fragment_offset); -- return fragment_offset + 1; -- } -- } -- } -- } while ((size < 0 && errno == EPIPE) || -- (rec.flags == 'c' || rec.flags == '+')); -+ size = read(ctl->kmsg, ctl->kmsg_buf, -+ sizeof(ctl->kmsg_buf) - 1); -+ } while (size < 0 && errno == EPIPE); - - return size; - } -@@ -1212,17 +1115,11 @@ static int parse_kmsg_record(struct dmesg_control *ctl, - if (LAST_KMSG_FIELD(p)) - goto mesg; - -- /* D) flags */ -- rec->flags = *p; // flag is one char -- p = p + 1; -- if (LAST_KMSG_FIELD(p)) -- goto mesg; -- -- /* E) optional fields (ignore) */ -+ /* D) optional fields (ignore) */ - p = skip_item(p, end, ";"); - - mesg: -- /* F) message text */ -+ /* E) message text */ - rec->mesg = p; - p = skip_item(p, end, "\n"); - -@@ -1238,7 +1135,7 @@ mesg: - */ - unhexmangle_to_buffer(rec->mesg, (char *) rec->mesg, rec->mesg_size + 1); - -- /* G) message tags (ignore) */ -+ /* F) message tags (ignore) */ - - return 0; - } --- -2.13.6 - diff --git a/sources b/sources index 8d319dc..d59c8b7 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (util-linux-2.31.tar.xz) = 48b668526e96a132736b882090d0e33c20b4b3a0e1760502d83118ed98ccc9423d310848a2bb73f82f85e9c19f6191075ae2c5269b007e76be1fbd7b6b88fbf5 +SHA512 (util-linux-2.32-rc1.tar.xz) = 46ccffb1b10b9b386ac04d1d627ae291a2e710f723546d527c6ffdf30e276694f8c19d4cbb563a0a5f1e5a30f1b4be7a5009f7de5a26b11d761138861c711fc1 diff --git a/util-linux.spec b/util-linux.spec index 728a80b..e44bfd1 100644 --- a/util-linux.spec +++ b/util-linux.spec @@ -1,14 +1,14 @@ ### Header Summary: A collection of basic system utilities Name: util-linux -Version: 2.31 -Release: 5%{?dist} +Version: 2.32 +Release: 0.1%{?dist} License: GPLv2 and GPLv2+ and LGPLv2+ and BSD with advertising and Public Domain Group: System Environment/Base URL: http://en.wikipedia.org/wiki/Util-linux ### Macros -%define upstream_version %{version} +%define upstream_version %{version}-rc1 %define upstream_major %(eval echo %{version} | %{__sed} -e 's/\([[:digit:]]*\)\.\([[:digit:]]*\)\.[[:digit:]]*$/\1.\2/') %define compldir %{_datadir}/bash-completion/completions/ @@ -92,9 +92,6 @@ Requires: libfdisk = %{version}-%{release} # 151635 - makeing /var/log/lastlog Patch0: 2.28-login-lastlog-create.patch -# upstream -Patch1: 0001-Revert-dmesg-fragment-concatenation.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 @@ -339,9 +336,6 @@ echo '.so man8/raw.8' > $RPM_BUILD_ROOT%{_mandir}/man8/rawdevices.8 # sbin -> bin mv ${RPM_BUILD_ROOT}%{_sbindir}/raw ${RPM_BUILD_ROOT}%{_bindir}/raw -# bin -> sbin (v2.31 bug, will be fixed in v2.31.1) -mv ${RPM_BUILD_ROOT}%{_bindir}/rfkill ${RPM_BUILD_ROOT}%{_sbindir}/rfkill - # And a dirs uuidd needs that the makefiles don't create install -d ${RPM_BUILD_ROOT}/run/uuidd install -d ${RPM_BUILD_ROOT}/var/lib/libuuid @@ -943,6 +937,10 @@ exit 0 %{_libdir}/python*/site-packages/libmount/ %changelog +* 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 From 279eda57a9fa7510ae5d5fa06574c38ffc423cf3 Mon Sep 17 00:00:00 2001 From: Karel Zak Date: Tue, 20 Feb 2018 12:20:35 +0100 Subject: [PATCH 058/232] 2.32-0.2: add BuildRequires gcc --- util-linux.spec | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/util-linux.spec b/util-linux.spec index e44bfd1..22b8b2c 100644 --- a/util-linux.spec +++ b/util-linux.spec @@ -2,7 +2,7 @@ Summary: A collection of basic system utilities Name: util-linux Version: 2.32 -Release: 0.1%{?dist} +Release: 0.2%{?dist} License: GPLv2 and GPLv2+ and LGPLv2+ and BSD with advertising and Public Domain Group: System Environment/Base URL: http://en.wikipedia.org/wiki/Util-linux @@ -36,6 +36,7 @@ BuildRequires: systemd Buildrequires: libuser-devel BuildRequires: libcap-ng-devel BuildRequires: %{pypkg}-devel +BuildRequires: gcc ### Sources Source0: ftp://ftp.kernel.org/pub/linux/utils/util-linux/v%{upstream_major}/util-linux-%{upstream_version}.tar.xz @@ -937,6 +938,9 @@ exit 0 %{_libdir}/python*/site-packages/libmount/ %changelog +* 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 From 4c91ee804ee7da95385cec0a738adaffb5f89802 Mon Sep 17 00:00:00 2001 From: Karel Zak Date: Wed, 21 Mar 2018 15:59:31 +0100 Subject: [PATCH 059/232] 2.32-1: upgrade --- .gitignore | 1 + sources | 2 +- util-linux.spec | 7 +++++-- 3 files changed, 7 insertions(+), 3 deletions(-) diff --git a/.gitignore b/.gitignore index 8ab6480..c38a79d 100644 --- a/.gitignore +++ b/.gitignore @@ -63,3 +63,4 @@ /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 diff --git a/sources b/sources index d59c8b7..492a6ce 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (util-linux-2.32-rc1.tar.xz) = 46ccffb1b10b9b386ac04d1d627ae291a2e710f723546d527c6ffdf30e276694f8c19d4cbb563a0a5f1e5a30f1b4be7a5009f7de5a26b11d761138861c711fc1 +SHA512 (util-linux-2.32.tar.xz) = 320c8d364f014aba16483dd26564d7cb47804337567c3e9c2dc495f3865f524e7480d3fec7ef5a05b6e99763b0278da70fffe6d2b88f3f1a832ada5932556482 diff --git a/util-linux.spec b/util-linux.spec index 22b8b2c..b4e5ba0 100644 --- a/util-linux.spec +++ b/util-linux.spec @@ -2,13 +2,13 @@ Summary: A collection of basic system utilities Name: util-linux Version: 2.32 -Release: 0.2%{?dist} +Release: 1%{?dist} License: GPLv2 and GPLv2+ and LGPLv2+ and BSD with advertising and Public Domain Group: System Environment/Base URL: http://en.wikipedia.org/wiki/Util-linux ### Macros -%define upstream_version %{version}-rc1 +%define upstream_version %{version} %define upstream_major %(eval echo %{version} | %{__sed} -e 's/\([[:digit:]]*\)\.\([[:digit:]]*\)\.[[:digit:]]*$/\1.\2/') %define compldir %{_datadir}/bash-completion/completions/ @@ -938,6 +938,9 @@ exit 0 %{_libdir}/python*/site-packages/libmount/ %changelog +* 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 From 3d6431f7c550d15b9fd518abbc14b2168bed4ee2 Mon Sep 17 00:00:00 2001 From: Karel Zak Date: Tue, 27 Mar 2018 11:07:40 +0200 Subject: [PATCH 060/232] remove unused patches --- 2.27-blkid-zfs-raid.patch | 13 ------------- 2.28-libblkid-cdrom.patch | 34 ---------------------------------- libblkid-minix.patch | 13 ------------- 3 files changed, 60 deletions(-) delete mode 100644 2.27-blkid-zfs-raid.patch delete mode 100644 2.28-libblkid-cdrom.patch delete mode 100644 libblkid-minix.patch diff --git a/2.27-blkid-zfs-raid.patch b/2.27-blkid-zfs-raid.patch deleted file mode 100644 index 14f6926..0000000 --- a/2.27-blkid-zfs-raid.patch +++ /dev/null @@ -1,13 +0,0 @@ -diff -up util-linux-2.27.1/libblkid/src/probe.c.kzak util-linux-2.27.1/libblkid/src/probe.c -diff -up util-linux-2.27.1/libblkid/src/superblocks/zfs.c.kzak util-linux-2.27.1/libblkid/src/superblocks/zfs.c ---- util-linux-2.27.1/libblkid/src/superblocks/zfs.c.kzak 2015-11-02 10:07:34.567648465 +0100 -+++ util-linux-2.27.1/libblkid/src/superblocks/zfs.c 2015-11-18 12:13:32.716188023 +0100 -@@ -258,7 +258,7 @@ static int probe_zfs(blkid_probe pr, con - const struct blkid_idinfo zfs_idinfo = - { - .name = "zfs_member", -- .usage = BLKID_USAGE_RAID, -+ .usage = BLKID_USAGE_FILESYSTEM, - .probefunc = probe_zfs, - .minsz = 64 * 1024 * 1024, - .magics = BLKID_NONE_MAGIC diff --git a/2.28-libblkid-cdrom.patch b/2.28-libblkid-cdrom.patch deleted file mode 100644 index 2dddbc2..0000000 --- a/2.28-libblkid-cdrom.patch +++ /dev/null @@ -1,34 +0,0 @@ -From 55ad13c26fe5d0e606be5a83937f31b8cf576588 Mon Sep 17 00:00:00 2001 -From: Karel Zak -Date: Thu, 28 Apr 2016 13:54:01 +0200 -Subject: [PATCH] libblkid: make I/O errors on CDROMs non-fatal - -It seems too tricky to get a real size of the data track on hybrid -disks with audio+data. It seems overkill to analyze all header in -libblkid and on some disks it's probably possible to get I/O error -almost everywhere due to crazy copy protection etc. - -Signed-off-by: Karel Zak ---- - libblkid/src/probe.c | 5 ++++- - 1 file changed, 4 insertions(+), 1 deletion(-) - -diff --git a/libblkid/src/probe.c b/libblkid/src/probe.c -index 63baed3..5d9f701 100644 ---- a/libblkid/src/probe.c -+++ b/libblkid/src/probe.c -@@ -615,7 +615,10 @@ static struct blkid_bufinfo *read_buffer(blkid_probe pr, uint64_t real_off, uint - if (ret != (ssize_t) len) { - DBG(LOWPROBE, ul_debug("\tread failed: %m")); - free(bf); -- if (ret >= 0) -+ -+ /* I/O errors on CDROMs are non-fatal to work with hybrid -+ * audio+data disks */ -+ if (ret >= 0 || blkid_probe_is_cdrom(pr)) - errno = 0; - return NULL; - } --- -2.4.11 - diff --git a/libblkid-minix.patch b/libblkid-minix.patch deleted file mode 100644 index c913938..0000000 --- a/libblkid-minix.patch +++ /dev/null @@ -1,13 +0,0 @@ -diff -up util-linux-2.27.1/libblkid/src/superblocks/minix.c.kzak util-linux-2.27.1/libblkid/src/superblocks/minix.c ---- util-linux-2.27.1/libblkid/src/superblocks/minix.c.kzak 2016-01-18 15:02:05.493738910 +0100 -+++ util-linux-2.27.1/libblkid/src/superblocks/minix.c 2016-01-18 15:04:20.020773281 +0100 -@@ -90,7 +90,8 @@ static int probe_minix(blkid_probe pr, c - struct minix_super_block *sb = (struct minix_super_block *) data; - int zones, ninodes, imaps, zmaps, firstz; - -- if (sb->s_imap_blocks == 0 || sb->s_zmap_blocks == 0) -+ if (sb->s_imap_blocks == 0 || sb->s_zmap_blocks == 0 || -+ sb->s_log_zone_size != 0) - return 1; - - zones = version == 2 ? minix_swab32(swabme, sb->s_zones) : From c96e764d51ae81f3a19c656bfd9c2ef3d5dcdf2c Mon Sep 17 00:00:00 2001 From: Karel Zak Date: Tue, 27 Mar 2018 11:17:39 +0200 Subject: [PATCH 061/232] 2.32-2: fix #1560283 --- column-fix-leading-space-characters-bug.patch | 148 ++++++++++++++++++ util-linux.spec | 7 +- 2 files changed, 154 insertions(+), 1 deletion(-) create mode 100644 column-fix-leading-space-characters-bug.patch diff --git a/column-fix-leading-space-characters-bug.patch b/column-fix-leading-space-characters-bug.patch new file mode 100644 index 0000000..e612d34 --- /dev/null +++ b/column-fix-leading-space-characters-bug.patch @@ -0,0 +1,148 @@ +From 651c5d428c2ef103ee8c5b1a310d6f29f0304744 Mon Sep 17 00:00:00 2001 +From: Karel Zak +Date: Tue, 27 Mar 2018 10:40:13 +0200 +Subject: [PATCH] column: fix leading space characters bug + +The bug has been introduced during column(1) rewrite. The function +read_input() need to skip leading space only temporary to detect empty +lines, but the rest of the code has to use the original buffer (line). +I've tried to fix one of the symptoms by 5c7b67fbbf41c973ca8d49b1e8bdba22dbb917aa +(alter), but this solution is unnecessary and too complex. + +Changes: + +* don't ignore leading space +* remove unnecessary stuff introduced by 5c7b67fbbf41c973ca8d49b1e8bdba22dbb917aa +* fix regression test with incorrect separator + +Addresses: https://github.com/karelzak/util-linux/issues/575 +Addresses: https://bugzilla.redhat.com/show_bug.cgi?id=1560283 +Signed-off-by: Karel Zak +--- + tests/expected/column/table-input-separator-space | 2 +- + tests/ts/column/table | 2 +- + text-utils/column.c | 36 ++--------------------- + 4 files changed, 5 insertions(+), 38 deletions(-) + +diff --git a/tests/expected/column/table-input-separator-space b/tests/expected/column/table-input-separator-space +index 8a6513c11..25d9b5ab0 100644 +--- a/tests/expected/column/table-input-separator-space ++++ b/tests/expected/column/table-input-separator-space +@@ -1,5 +1,5 @@ + AAA BBBB C DDDD +-BBB CCCC DDD ++ BBB CCCC DDD + AA BB DD + AAAA B CC D + AA CC DD +diff --git a/tests/ts/column/table b/tests/ts/column/table +index 27b52e7c8..5c89d5eaf 100755 +--- a/tests/ts/column/table ++++ b/tests/ts/column/table +@@ -37,7 +37,7 @@ $TS_CMD_COLUMN --separator ',' --table $TS_SELF/files/table-sep >> $TS_OUTPUT 2> + ts_finalize_subtest + + ts_init_subtest "input-separator-space" +-$TS_CMD_COLUMN --separator ',' --table $TS_SELF/files/table-sep-space >> $TS_OUTPUT 2>&1 ++$TS_CMD_COLUMN --separator "$(echo -e '\t')" --table $TS_SELF/files/table-sep-space >> $TS_OUTPUT 2>&1 + ts_finalize_subtest + + ts_init_subtest "long" +diff --git a/text-utils/column.c b/text-utils/column.c +index 89d46d280..195814328 100644 +--- a/text-utils/column.c ++++ b/text-utils/column.c +@@ -86,7 +86,6 @@ struct column_control { + const char *tree_parent; + + wchar_t *input_separator; +- char *input_separator_raw; + const char *output_separator; + + wchar_t **ents; /* input entries */ +@@ -96,7 +95,6 @@ struct column_control { + unsigned int greedy :1, + json :1, + header_repeat :1, +- input_sep_space : 1, /* input separator contains space chars */ + tab_noheadings :1; + }; + +@@ -470,19 +468,7 @@ static int read_input(struct column_control *ctl, FILE *fp) + char *buf = NULL; + size_t bufsz = 0; + size_t maxents = 0; +- int rc = 0, is_space_sep = 0; +- +- /* Check if columns separator contains spaces chars */ +- if (ctl->mode == COLUMN_MODE_TABLE && ctl->input_separator_raw) { +- char *p; +- +- for (p = ctl->input_separator_raw; *p; p++) { +- if (isspace(*p)) { +- is_space_sep = 1; +- break; +- } +- } +- } ++ int rc = 0; + + /* Read input */ + do { +@@ -496,19 +482,6 @@ static int read_input(struct column_control *ctl, FILE *fp) + err(EXIT_FAILURE, _("read failed")); + } + str = (char *) skip_space(buf); +- +- /* The table columns separator could be a space. In this case +- * don't skip the separator if at begin of the line. For example: +- * +- * echo -e "\tcol1\tcol2\nrow\t1\t2" \ +- * | column -t -s "$(echo -e '\t')" --table-columns A,B,C +- */ +- if (is_space_sep && str > buf) { +- char *x = strpbrk(buf, ctl->input_separator_raw); +- if (x && x < str) +- str = x; +- } +- + if (str) { + p = strchr(str, '\n'); + if (p) +@@ -517,13 +490,13 @@ static int read_input(struct column_control *ctl, FILE *fp) + if (!str || !*str) + continue; + +- wcs = mbs_to_wcs(str); ++ wcs = mbs_to_wcs(buf); + if (!wcs) { + /* + * Convert broken sequences to \x and continue. + */ + size_t tmpsz = 0; +- char *tmp = mbs_invalid_encode(str, &tmpsz); ++ char *tmp = mbs_invalid_encode(buf, &tmpsz); + + if (!tmp) + err(EXIT_FAILURE, _("read failed")); +@@ -720,7 +693,6 @@ int main(int argc, char **argv) + + ctl.output_separator = " "; + ctl.input_separator = mbs_to_wcs("\t "); +- ctl.input_separator_raw = xstrdup("\t "); + + while ((c = getopt_long(argc, argv, "c:dE:eH:hi:JN:n:O:o:p:R:r:s:T:tVW:x", longopts, NULL)) != -1) { + +@@ -775,9 +747,7 @@ int main(int argc, char **argv) + break; + case 's': + free(ctl.input_separator); +- free(ctl.input_separator_raw); + ctl.input_separator = mbs_to_wcs(optarg); +- ctl.input_separator_raw = xstrdup(optarg); + ctl.greedy = 0; + break; + case 'T': +-- +2.14.3 + diff --git a/util-linux.spec b/util-linux.spec index b4e5ba0..4327696 100644 --- a/util-linux.spec +++ b/util-linux.spec @@ -2,7 +2,7 @@ Summary: A collection of basic system utilities Name: util-linux Version: 2.32 -Release: 1%{?dist} +Release: 2%{?dist} License: GPLv2 and GPLv2+ and LGPLv2+ and BSD with advertising and Public Domain Group: System Environment/Base URL: http://en.wikipedia.org/wiki/Util-linux @@ -92,6 +92,8 @@ Requires: libfdisk = %{version}-%{release} ### # 151635 - makeing /var/log/lastlog Patch0: 2.28-login-lastlog-create.patch +# 1560283 - column does not properly handle spaces at beginning of tab-separated table columns +Patch1: column-fix-leading-space-characters-bug.patch %description The util-linux package contains a large variety of low-level system @@ -938,6 +940,9 @@ exit 0 %{_libdir}/python*/site-packages/libmount/ %changelog +* 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 From ba7c336b4c038f6815bf12f63dc433598709caec Mon Sep 17 00:00:00 2001 From: Karel Zak Date: Tue, 10 Apr 2018 14:56:50 +0200 Subject: [PATCH 062/232] 2.32-3: improve ./configure --- util-linux.spec | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/util-linux.spec b/util-linux.spec index 4327696..1332dfc 100644 --- a/util-linux.spec +++ b/util-linux.spec @@ -2,7 +2,7 @@ Summary: A collection of basic system utilities Name: util-linux Version: 2.32 -Release: 2%{?dist} +Release: 3%{?dist} License: GPLv2 and GPLv2+ and LGPLv2+ and BSD with advertising and Public Domain Group: System Environment/Base URL: http://en.wikipedia.org/wiki/Util-linux @@ -290,7 +290,6 @@ export DAEMON_LDFLAGS="$SUID_LDFLAGS" --enable-usrdir-path \ --enable-write \ --enable-raw \ - --enable-libmount-force-mountinfo \ --with-python=%{pyver} \ --with-systemd \ --with-udev \ @@ -940,6 +939,9 @@ exit 0 %{_libdir}/python*/site-packages/libmount/ %changelog +* 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 From c18880bcb1a8d606c702085d6e04d66f084b60bf Mon Sep 17 00:00:00 2001 From: Karel Zak Date: Wed, 11 Apr 2018 09:27:03 +0200 Subject: [PATCH 063/232] 2.32-4: fix uuidd.service --- util-linux.spec | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/util-linux.spec b/util-linux.spec index 1332dfc..1214c00 100644 --- a/util-linux.spec +++ b/util-linux.spec @@ -2,7 +2,7 @@ Summary: A collection of basic system utilities Name: util-linux Version: 2.32 -Release: 3%{?dist} +Release: 4%{?dist} License: GPLv2 and GPLv2+ and LGPLv2+ and BSD with advertising and Public Domain Group: System Environment/Base URL: http://en.wikipedia.org/wiki/Util-linux @@ -477,9 +477,13 @@ 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! +# 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 ]; then + /bin/systemctl start uuidd.service > /dev/null 2>&1 || : +fi %preun -n uuidd %systemd_preun uuidd.service @@ -939,6 +943,9 @@ exit 0 %{_libdir}/python*/site-packages/libmount/ %changelog +* 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) From 437d842852f975d8c1f02ab34d745cd48d9db2ff Mon Sep 17 00:00:00 2001 From: Karel Zak Date: Fri, 18 May 2018 10:47:36 +0200 Subject: [PATCH 064/232] 2.32-5: move /etc/adjtime from initscripts to util-linux --- util-linux.spec | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/util-linux.spec b/util-linux.spec index 1214c00..9f4a38f 100644 --- a/util-linux.spec +++ b/util-linux.spec @@ -2,7 +2,7 @@ Summary: A collection of basic system utilities Name: util-linux Version: 2.32 -Release: 4%{?dist} +Release: 5%{?dist} License: GPLv2 and GPLv2+ and LGPLv2+ and BSD with advertising and Public Domain Group: System Environment/Base URL: http://en.wikipedia.org/wiki/Util-linux @@ -50,6 +50,7 @@ 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 @@ -508,6 +509,8 @@ fi %config(noreplace) %{_sysconfdir}/pam.d/runuser-l %config(noreplace) %{_prefix}/lib/udev/rules.d/60-raw.rules +%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/adjtime + %attr(4755,root,root) %{_bindir}/mount %attr(4755,root,root) %{_bindir}/umount %attr(4755,root,root) %{_bindir}/su @@ -943,6 +946,9 @@ fi %{_libdir}/python*/site-packages/libmount/ %changelog +* 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 From 4ada5eaed783c2bbfda5867cc551227ffeabad10 Mon Sep 17 00:00:00 2001 From: Karel Zak Date: Fri, 18 May 2018 11:08:27 +0200 Subject: [PATCH 065/232] add adjtime file --- adjtime | 2 ++ util-linux.spec | 4 ++++ 2 files changed, 6 insertions(+) create mode 100644 adjtime 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/util-linux.spec b/util-linux.spec index 9f4a38f..9d352b0 100644 --- a/util-linux.spec +++ b/util-linux.spec @@ -44,6 +44,7 @@ Source1: util-linux-login.pamd Source2: util-linux-remote.pamd Source3: util-linux-chsh-chfn.pamd Source4: util-linux-60-raw.rules +Source5: adjtime Source12: util-linux-su.pamd Source13: util-linux-su-l.pamd Source14: util-linux-runuser.pamd @@ -343,6 +344,9 @@ mv ${RPM_BUILD_ROOT}%{_sbindir}/raw ${RPM_BUILD_ROOT}%{_bindir}/raw 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 From 5940ccada51ee0ebb95f26ff5a677bd5926db786 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Miro=20Hron=C4=8Dok?= Date: Tue, 19 Jun 2018 11:30:05 +0200 Subject: [PATCH 066/232] Rebuilt for Python 3.7 --- util-linux.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/util-linux.spec b/util-linux.spec index 9d352b0..ecdc9ba 100644 --- a/util-linux.spec +++ b/util-linux.spec @@ -2,7 +2,7 @@ Summary: A collection of basic system utilities Name: util-linux Version: 2.32 -Release: 5%{?dist} +Release: 6%{?dist} License: GPLv2 and GPLv2+ and LGPLv2+ and BSD with advertising and Public Domain Group: System Environment/Base URL: http://en.wikipedia.org/wiki/Util-linux @@ -950,6 +950,9 @@ fi %{_libdir}/python*/site-packages/libmount/ %changelog +* 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 From 052fa90bc6f14ad4ef71265d03d377f87e087369 Mon Sep 17 00:00:00 2001 From: Jason Tibbitts Date: Tue, 10 Jul 2018 01:43:37 -0500 Subject: [PATCH 067/232] Remove needless use of %defattr --- util-linux.spec | 13 ------------- 1 file changed, 13 deletions(-) diff --git a/util-linux.spec b/util-linux.spec index ecdc9ba..4033752 100644 --- a/util-linux.spec +++ b/util-linux.spec @@ -498,7 +498,6 @@ fi %files -f %{name}.files -%defattr(-,root,root) %doc README NEWS AUTHORS %doc Documentation/deprecated.txt %{!?_licensedir:%global license %%doc} @@ -855,7 +854,6 @@ fi %files -n uuidd -%defattr(-,root,root) %{!?_licensedir:%global license %%doc} %license Documentation/licenses/COPYING.GPLv2 %{_mandir}/man8/uuidd.8* @@ -867,51 +865,43 @@ fi %files -n libfdisk -%defattr(-,root,root) %{!?_licensedir:%global license %%doc} %license Documentation/licenses/COPYING.LGPLv2.1 libfdisk/COPYING %{_libdir}/libfdisk.so.* %files -n libfdisk-devel -%defattr(-,root,root) %{_libdir}/libfdisk.so %{_includedir}/libfdisk %{_libdir}/pkgconfig/fdisk.pc %files -n libsmartcols -%defattr(-,root,root) %{!?_licensedir:%global license %%doc} %license Documentation/licenses/COPYING.LGPLv2.1 libsmartcols/COPYING %{_libdir}/libsmartcols.so.* %files -n libsmartcols-devel -%defattr(-,root,root) %{_libdir}/libsmartcols.so %{_includedir}/libsmartcols %{_libdir}/pkgconfig/smartcols.pc %files -n libmount -%defattr(-,root,root) %{!?_licensedir:%global license %%doc} %license Documentation/licenses/COPYING.LGPLv2.1 libmount/COPYING %{_libdir}/libmount.so.* %files -n libmount-devel -%defattr(-,root,root) %{_libdir}/libmount.so %{_includedir}/libmount %{_libdir}/pkgconfig/mount.pc %files -n libblkid -%defattr(-,root,root) %doc libblkid/COPYING %{_libdir}/libblkid.so.* %files -n libblkid-devel -%defattr(-,root,root) %doc libblkid/COPYING %{_libdir}/libblkid.so %{_includedir}/blkid @@ -920,13 +910,11 @@ fi %files -n libuuid -%defattr(-,root,root) %{!?_licensedir:%global license %%doc} %license Documentation/licenses/COPYING.BSD-3 libuuid/COPYING %{_libdir}/libuuid.so.* %files -n libuuid-devel -%defattr(-,root,root) %{_libdir}/libuuid.so %{_includedir}/uuid %{_mandir}/man3/uuid.3* @@ -944,7 +932,6 @@ fi %{_libdir}/pkgconfig/uuid.pc %files -n %{pypkg}-libmount -%defattr(-, root, root) %{!?_licensedir:%global license %%doc} %license Documentation/licenses/COPYING.LGPLv2.1 libmount/COPYING %{_libdir}/python*/site-packages/libmount/ From bfac7fc8c6c0259f27c2f1b19707fd5f1549531a Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Sat, 14 Jul 2018 08:21:38 +0000 Subject: [PATCH 068/232] - Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild Signed-off-by: Fedora Release Engineering --- util-linux.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/util-linux.spec b/util-linux.spec index 4033752..1ea6131 100644 --- a/util-linux.spec +++ b/util-linux.spec @@ -2,7 +2,7 @@ Summary: A collection of basic system utilities Name: util-linux Version: 2.32 -Release: 6%{?dist} +Release: 7%{?dist} License: GPLv2 and GPLv2+ and LGPLv2+ and BSD with advertising and Public Domain Group: System Environment/Base URL: http://en.wikipedia.org/wiki/Util-linux @@ -937,6 +937,9 @@ fi %{_libdir}/python*/site-packages/libmount/ %changelog +* 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 From 59614e3019cdec5436e5380f388e2c2d59d33b06 Mon Sep 17 00:00:00 2001 From: Karel Zak Date: Mon, 16 Jul 2018 13:46:33 +0200 Subject: [PATCH 069/232] 2.32.1-1: upgrade Signed-off-by: Karel Zak --- .gitignore | 1 + sources | 2 +- util-linux.spec | 10 ++++++---- 3 files changed, 8 insertions(+), 5 deletions(-) diff --git a/.gitignore b/.gitignore index c38a79d..8b3baae 100644 --- a/.gitignore +++ b/.gitignore @@ -64,3 +64,4 @@ /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 diff --git a/sources b/sources index 492a6ce..64b0161 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (util-linux-2.32.tar.xz) = 320c8d364f014aba16483dd26564d7cb47804337567c3e9c2dc495f3865f524e7480d3fec7ef5a05b6e99763b0278da70fffe6d2b88f3f1a832ada5932556482 +SHA512 (util-linux-2.32.1.tar.xz) = 267fedae24a874ee4dc558081f6b8d07b33b955b0635f3348f021c111c17f2e95c01b2cbf909fe13c6ca448cbcf23c658c75f72f25749aa65e99f68fabb94698 diff --git a/util-linux.spec b/util-linux.spec index 1ea6131..9709bc3 100644 --- a/util-linux.spec +++ b/util-linux.spec @@ -1,8 +1,8 @@ ### Header Summary: A collection of basic system utilities Name: util-linux -Version: 2.32 -Release: 7%{?dist} +Version: 2.32.1 +Release: 1%{?dist} License: GPLv2 and GPLv2+ and LGPLv2+ and BSD with advertising and Public Domain Group: System Environment/Base URL: http://en.wikipedia.org/wiki/Util-linux @@ -94,8 +94,6 @@ Requires: libfdisk = %{version}-%{release} ### # 151635 - makeing /var/log/lastlog Patch0: 2.28-login-lastlog-create.patch -# 1560283 - column does not properly handle spaces at beginning of tab-separated table columns -Patch1: column-fix-leading-space-characters-bug.patch %description The util-linux package contains a large variety of low-level system @@ -937,6 +935,10 @@ fi %{_libdir}/python*/site-packages/libmount/ %changelog +* 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 From a3884eaf3e7582858fe0581912ee730664df2fab Mon Sep 17 00:00:00 2001 From: Karel Zak Date: Thu, 1 Nov 2018 10:09:29 +0100 Subject: [PATCH 070/232] 2.33-0.1: upgrade, ldconfig --- .gitignore | 1 + sources | 2 +- util-linux.spec | 40 +++++++++++++++++----------------------- 3 files changed, 19 insertions(+), 24 deletions(-) diff --git a/.gitignore b/.gitignore index 8b3baae..d4fe42f 100644 --- a/.gitignore +++ b/.gitignore @@ -65,3 +65,4 @@ /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 diff --git a/sources b/sources index 64b0161..d25ccf4 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (util-linux-2.32.1.tar.xz) = 267fedae24a874ee4dc558081f6b8d07b33b955b0635f3348f021c111c17f2e95c01b2cbf909fe13c6ca448cbcf23c658c75f72f25749aa65e99f68fabb94698 +SHA512 (util-linux-2.33-rc2.tar.xz) = 7a38a7408a42a47f4e67ead068b5418490c8871ed452613cd2459bd7af64b1a218dc4e826197730b2de60d5d757c02ef79dc7e0f8aeb3f24be9cf8934e40a5ad diff --git a/util-linux.spec b/util-linux.spec index 9709bc3..c9693c3 100644 --- a/util-linux.spec +++ b/util-linux.spec @@ -1,14 +1,14 @@ ### Header Summary: A collection of basic system utilities Name: util-linux -Version: 2.32.1 -Release: 1%{?dist} +Version: 2.33 +Release: 0.1%{?dist} License: GPLv2 and GPLv2+ and LGPLv2+ and BSD with advertising and Public Domain Group: System Environment/Base URL: http://en.wikipedia.org/wiki/Util-linux ### Macros -%define upstream_version %{version} +%define upstream_version %{version}-rc2 %define upstream_major %(eval echo %{version} | %{__sed} -e 's/\([[:digit:]]*\)\.\([[:digit:]]*\)\.[[:digit:]]*$/\1.\2/') %define compldir %{_datadir}/bash-completion/completions/ @@ -459,20 +459,6 @@ for I in /etc/blkid.tab /etc/blkid.tab.old \ fi done -%postun -n libblkid -p /sbin/ldconfig - -%post -n libuuid -p /sbin/ldconfig -%postun -n libuuid -p /sbin/ldconfig - -%post -n libmount -p /sbin/ldconfig -%postun -n libmount -p /sbin/ldconfig - -%post -n libsmartcols -p /sbin/ldconfig -%postun -n libsmartcols -p /sbin/ldconfig - -%post -n libfdisk -p /sbin/ldconfig -%postun -n libfdisk -p /sbin/ldconfig - %pre -n uuidd getent group uuidd >/dev/null || groupadd -r uuidd getent passwd uuidd >/dev/null || \ @@ -529,6 +515,7 @@ fi %{_bindir}/colcrt %{_bindir}/colrm %{_bindir}/column +%{_bindir}/choom %{_bindir}/chmem %{_bindir}/dmesg %{_bindir}/eject @@ -582,6 +569,7 @@ fi %{_bindir}/wdctl %{_bindir}/whereis %{_mandir}/man1/cal.1* +%{_mandir}/man1/choom.1* %{_mandir}/man1/chrt.1* %{_mandir}/man1/col.1* %{_mandir}/man1/colcrt.1* @@ -634,6 +622,7 @@ fi %{_mandir}/man1/wall.1* %{_mandir}/man1/whereis.1* %{_mandir}/man1/write.1* +%{_mandir}/man5/adjtime_config.5* %{_mandir}/man5/fstab.5* %{_mandir}/man5/terminal-colors.d.5* %{_mandir}/man8/addpart.8* @@ -853,7 +842,7 @@ fi %files -n uuidd %{!?_licensedir:%global license %%doc} -%license Documentation/licenses/COPYING.GPLv2 +%license Documentation/licenses/COPYING.GPL-2.0-or-later %{_mandir}/man8/uuidd.8* %{_sbindir}/uuidd %{_unitdir}/uuidd.* @@ -864,7 +853,7 @@ fi %files -n libfdisk %{!?_licensedir:%global license %%doc} -%license Documentation/licenses/COPYING.LGPLv2.1 libfdisk/COPYING +%license Documentation/licenses/COPYING.LGPL-2.1-or-later libfdisk/COPYING %{_libdir}/libfdisk.so.* %files -n libfdisk-devel @@ -875,7 +864,7 @@ fi %files -n libsmartcols %{!?_licensedir:%global license %%doc} -%license Documentation/licenses/COPYING.LGPLv2.1 libsmartcols/COPYING +%license Documentation/licenses/COPYING.LGPL-2.1-or-later libsmartcols/COPYING %{_libdir}/libsmartcols.so.* %files -n libsmartcols-devel @@ -886,7 +875,7 @@ fi %files -n libmount %{!?_licensedir:%global license %%doc} -%license Documentation/licenses/COPYING.LGPLv2.1 libmount/COPYING +%license Documentation/licenses/COPYING.LGPL-2.1-or-later libmount/COPYING %{_libdir}/libmount.so.* %files -n libmount-devel @@ -909,7 +898,7 @@ fi %files -n libuuid %{!?_licensedir:%global license %%doc} -%license Documentation/licenses/COPYING.BSD-3 libuuid/COPYING +%license Documentation/licenses/COPYING.BSD-3-Clause libuuid/COPYING %{_libdir}/libuuid.so.* %files -n libuuid-devel @@ -931,10 +920,15 @@ fi %files -n %{pypkg}-libmount %{!?_licensedir:%global license %%doc} -%license Documentation/licenses/COPYING.LGPLv2.1 libmount/COPYING +%license Documentation/licenses/COPYING.LGPL-2.1-or-later libmount/COPYING %{_libdir}/python*/site-packages/libmount/ %changelog +* 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 From bdd2c5116bd14cba1773cd04af6b0994bf7eca7c Mon Sep 17 00:00:00 2001 From: Karel Zak Date: Thu, 1 Nov 2018 11:24:45 +0100 Subject: [PATCH 071/232] fix build on s390 --- util-linux.spec | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/util-linux.spec b/util-linux.spec index c9693c3..645861c 100644 --- a/util-linux.spec +++ b/util-linux.spec @@ -622,7 +622,6 @@ fi %{_mandir}/man1/wall.1* %{_mandir}/man1/whereis.1* %{_mandir}/man1/write.1* -%{_mandir}/man5/adjtime_config.5* %{_mandir}/man5/fstab.5* %{_mandir}/man5/terminal-colors.d.5* %{_mandir}/man8/addpart.8* @@ -811,6 +810,7 @@ fi %{_mandir}/man8/fdformat.8* %{_mandir}/man8/hwclock.8* %{_mandir}/man8/clock.8* +%{_mandir}/man5/adjtime_config.5* %{compldir}/fdformat %{compldir}/hwclock %endif From ffe5e682638aa3549e12d159acc3f9e83cbae658 Mon Sep 17 00:00:00 2001 From: Karel Zak Date: Wed, 9 Jan 2019 11:54:05 +0100 Subject: [PATCH 072/232] 2.33.1-1: upgrade --- .gitignore | 1 + sources | 2 +- util-linux.spec | 10 +++++++--- 3 files changed, 9 insertions(+), 4 deletions(-) diff --git a/.gitignore b/.gitignore index d4fe42f..263a885 100644 --- a/.gitignore +++ b/.gitignore @@ -66,3 +66,4 @@ /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 diff --git a/sources b/sources index d25ccf4..4a5822a 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (util-linux-2.33-rc2.tar.xz) = 7a38a7408a42a47f4e67ead068b5418490c8871ed452613cd2459bd7af64b1a218dc4e826197730b2de60d5d757c02ef79dc7e0f8aeb3f24be9cf8934e40a5ad +SHA512 (util-linux-2.33.1.tar.xz) = 94ada47e472b62a612c26fd5a5b7423e09366690a8a96f777191a5d920981eb0f224474bc2f128e827299bf60062770011332757e1551a8cd3764b5c70ae4ba2 diff --git a/util-linux.spec b/util-linux.spec index 645861c..eaf19c6 100644 --- a/util-linux.spec +++ b/util-linux.spec @@ -1,14 +1,14 @@ ### Header Summary: A collection of basic system utilities Name: util-linux -Version: 2.33 -Release: 0.1%{?dist} +Version: 2.33.1 +Release: 1%{?dist} License: GPLv2 and GPLv2+ and LGPLv2+ and BSD with advertising and Public Domain Group: System Environment/Base URL: http://en.wikipedia.org/wiki/Util-linux ### Macros -%define upstream_version %{version}-rc2 +%define upstream_version %{version} %define upstream_major %(eval echo %{version} | %{__sed} -e 's/\([[:digit:]]*\)\.\([[:digit:]]*\)\.[[:digit:]]*$/\1.\2/') %define compldir %{_datadir}/bash-completion/completions/ @@ -924,6 +924,10 @@ fi %{_libdir}/python*/site-packages/libmount/ %changelog +* 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 From 7152f9510d5906d875849adf1b29286325d8487f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bj=C3=B6rn=20Esser?= Date: Mon, 14 Jan 2019 18:53:50 +0100 Subject: [PATCH 073/232] Rebuilt for libcrypt.so.2 (#1666033) --- util-linux.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/util-linux.spec b/util-linux.spec index eaf19c6..a2bbaf5 100644 --- a/util-linux.spec +++ b/util-linux.spec @@ -2,7 +2,7 @@ Summary: A collection of basic system utilities Name: util-linux Version: 2.33.1 -Release: 1%{?dist} +Release: 2%{?dist} License: GPLv2 and GPLv2+ and LGPLv2+ and BSD with advertising and Public Domain Group: System Environment/Base URL: http://en.wikipedia.org/wiki/Util-linux @@ -924,6 +924,9 @@ fi %{_libdir}/python*/site-packages/libmount/ %changelog +* 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 From 11d74871f220976cf2c399a886c5d1ca6e4ae429 Mon Sep 17 00:00:00 2001 From: Igor Gnatenko Date: Mon, 28 Jan 2019 20:18:29 +0100 Subject: [PATCH 074/232] Remove obsolete Group tag References: https://fedoraproject.org/wiki/Changes/Remove_Group_Tag --- util-linux.spec | 14 -------------- 1 file changed, 14 deletions(-) diff --git a/util-linux.spec b/util-linux.spec index a2bbaf5..0788e0b 100644 --- a/util-linux.spec +++ b/util-linux.spec @@ -4,7 +4,6 @@ Name: util-linux Version: 2.33.1 Release: 2%{?dist} License: GPLv2 and GPLv2+ and LGPLv2+ and BSD with advertising and Public Domain -Group: System Environment/Base URL: http://en.wikipedia.org/wiki/Util-linux ### Macros @@ -104,7 +103,6 @@ program. %package -n libfdisk Summary: Partitioning library for fdisk-like programs. -Group: Development/Libraries License: LGPLv2+ %description -n libfdisk @@ -113,7 +111,6 @@ This is library for fdisk-like programs, part of util-linux. %package -n libfdisk-devel Summary: Partitioning library for fdisk-like programs. -Group: Development/Libraries License: LGPLv2+ Requires: libfdisk = %{version}-%{release} Requires: pkgconfig @@ -125,7 +122,6 @@ part of util-linux. %package -n libsmartcols Summary: Formatting library for ls-like programs. -Group: Development/Libraries License: LGPLv2+ %description -n libsmartcols @@ -134,7 +130,6 @@ This is library for ls-like terminal programs, part of util-linux. %package -n libsmartcols-devel Summary: Formatting library for ls-like programs. -Group: Development/Libraries License: LGPLv2+ Requires: libsmartcols = %{version}-%{release} Requires: pkgconfig @@ -146,7 +141,6 @@ part of util-linux. %package -n libmount Summary: Device mounting library -Group: Development/Libraries License: LGPLv2+ Requires: libblkid = %{version}-%{release} Requires: libuuid = %{version}-%{release} @@ -158,7 +152,6 @@ This is the device mounting library, part of util-linux. %package -n libmount-devel Summary: Device mounting library -Group: Development/Libraries License: LGPLv2+ Requires: libmount = %{version}-%{release} Requires: pkgconfig @@ -170,7 +163,6 @@ part of util-linux. %package -n libblkid Summary: Block device ID library -Group: Development/Libraries License: LGPLv2+ Requires: libuuid = %{version}-%{release} Conflicts: filesystem < 3 @@ -182,7 +174,6 @@ This is block device identification library, part of util-linux. %package -n libblkid-devel Summary: Block device ID library -Group: Development/Libraries License: LGPLv2+ Requires: libblkid = %{version}-%{release} Requires: pkgconfig @@ -194,7 +185,6 @@ part of util-linux. %package -n libuuid Summary: Universally unique ID library -Group: Development/Libraries License: BSD Conflicts: filesystem < 3 @@ -212,7 +202,6 @@ See also the "uuid" package, which is a separate implementation. %package -n libuuid-devel Summary: Universally unique ID library -Group: Development/Libraries License: BSD Requires: libuuid = %{version}-%{release} Requires: pkgconfig @@ -233,7 +222,6 @@ See also the "uuid-devel" package, which is a separate implementation. %package -n uuidd Summary: Helper daemon to guarantee uniqueness of time-based UUIDs -Group: System Environment/Daemons Requires: libuuid = %{version}-%{release} License: GPLv2 Requires: systemd @@ -249,7 +237,6 @@ SMP systems. %package -n %{pypkg}-libmount Summary: Python bindings for the libmount library -Group: Development/Libraries Requires: libmount = %{version}-%{release} License: LGPLv2+ @@ -262,7 +249,6 @@ mountinfo, etc) and mount filesystems. %package -n util-linux-user Summary: libuser based util-linux utilities -Group: System Environment/Base Requires: util-linux = %{version}-%{release} License: GPLv2 From 8645c3a8bdda655c1d2a8b30fbacaf883e888c2f Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Sun, 3 Feb 2019 10:59:49 +0000 Subject: [PATCH 075/232] - Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild Signed-off-by: Fedora Release Engineering --- util-linux.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/util-linux.spec b/util-linux.spec index 0788e0b..f0dc513 100644 --- a/util-linux.spec +++ b/util-linux.spec @@ -2,7 +2,7 @@ Summary: A collection of basic system utilities Name: util-linux Version: 2.33.1 -Release: 2%{?dist} +Release: 3%{?dist} License: GPLv2 and GPLv2+ and LGPLv2+ and BSD with advertising and Public Domain URL: http://en.wikipedia.org/wiki/Util-linux @@ -910,6 +910,9 @@ fi %{_libdir}/python*/site-packages/libmount/ %changelog +* 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) From 6469bd527bcb629045957c4a4883cf1249e1fc63 Mon Sep 17 00:00:00 2001 From: Igor Gnatenko Date: Thu, 7 Mar 2019 11:20:51 +0100 Subject: [PATCH 076/232] Remove obsolete scriptlets Signed-off-by: Igor Gnatenko --- util-linux.spec | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/util-linux.spec b/util-linux.spec index f0dc513..2f1fb51 100644 --- a/util-linux.spec +++ b/util-linux.spec @@ -2,7 +2,7 @@ Summary: A collection of basic system utilities Name: util-linux Version: 2.33.1 -Release: 3%{?dist} +Release: 4%{?dist} License: GPLv2 and GPLv2+ and LGPLv2+ and BSD with advertising and Public Domain URL: http://en.wikipedia.org/wiki/Util-linux @@ -433,8 +433,6 @@ if [ ! -L /etc/mtab ]; then fi %post -n libblkid -/sbin/ldconfig - ### Move blkid cache to /run [ -d /run/blkid ] || mkdir -p /run/blkid for I in /etc/blkid.tab /etc/blkid.tab.old \ @@ -910,6 +908,9 @@ fi %{_libdir}/python*/site-packages/libmount/ %changelog +* 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 From 5ecbe52e91fc554604ef1581978d0b2fec5ba908 Mon Sep 17 00:00:00 2001 From: Karel Zak Date: Tue, 9 Apr 2019 16:11:49 +0200 Subject: [PATCH 077/232] 2.33.2-1: upgrade --- .gitignore | 1 + sources | 2 +- util-linux.spec | 8 ++++++-- 3 files changed, 8 insertions(+), 3 deletions(-) diff --git a/.gitignore b/.gitignore index 263a885..a1ca0dd 100644 --- a/.gitignore +++ b/.gitignore @@ -67,3 +67,4 @@ /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 diff --git a/sources b/sources index 4a5822a..34116f3 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (util-linux-2.33.1.tar.xz) = 94ada47e472b62a612c26fd5a5b7423e09366690a8a96f777191a5d920981eb0f224474bc2f128e827299bf60062770011332757e1551a8cd3764b5c70ae4ba2 +SHA512 (util-linux-2.33.2.tar.xz) = ac88790a0272366b384b54df19cb28318014d98819d5d96aa05528ff17ab57a8c66d012a2f1b59caca4c5d4ea669e8c041e1123517c1f1c2d9960ef701aaf749 diff --git a/util-linux.spec b/util-linux.spec index 2f1fb51..63863b3 100644 --- a/util-linux.spec +++ b/util-linux.spec @@ -1,8 +1,8 @@ ### Header Summary: A collection of basic system utilities Name: util-linux -Version: 2.33.1 -Release: 4%{?dist} +Version: 2.33.2 +Release: 1%{?dist} License: GPLv2 and GPLv2+ and LGPLv2+ and BSD with advertising and Public Domain URL: http://en.wikipedia.org/wiki/Util-linux @@ -908,6 +908,10 @@ fi %{_libdir}/python*/site-packages/libmount/ %changelog +* 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 From 351fc04cd1b0d1e141ae91ee1cad3f13dce0b5aa Mon Sep 17 00:00:00 2001 From: Karel Zak Date: Thu, 2 May 2019 10:03:39 +0200 Subject: [PATCH 078/232] 2.34-0.1: upgrade --- .gitignore | 1 + sources | 2 +- util-linux.spec | 18 +++++++++++++++--- 3 files changed, 17 insertions(+), 4 deletions(-) diff --git a/.gitignore b/.gitignore index a1ca0dd..0bd62c5 100644 --- a/.gitignore +++ b/.gitignore @@ -68,3 +68,4 @@ /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 diff --git a/sources b/sources index 34116f3..67f556e 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (util-linux-2.33.2.tar.xz) = ac88790a0272366b384b54df19cb28318014d98819d5d96aa05528ff17ab57a8c66d012a2f1b59caca4c5d4ea669e8c041e1123517c1f1c2d9960ef701aaf749 +SHA512 (util-linux-2.34-rc1.tar.xz) = 4f968f04394f6beaafd60a84daf1db808ec486dbfa82d2f58b0678f93adc37477395a1b22c0c2af33f9652c5fa82f8bb3c1ce8b62146c983bce270fe45c1419b diff --git a/util-linux.spec b/util-linux.spec index 63863b3..84d45ce 100644 --- a/util-linux.spec +++ b/util-linux.spec @@ -1,13 +1,13 @@ ### Header Summary: A collection of basic system utilities Name: util-linux -Version: 2.33.2 -Release: 1%{?dist} +Version: 2.34 +Release: 0.1%{?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_version %{version}-rc1 %define upstream_major %(eval echo %{version} | %{__sed} -e 's/\([[:digit:]]*\)\.\([[:digit:]]*\)\.[[:digit:]]*$/\1.\2/') %define compldir %{_datadir}/bash-completion/completions/ @@ -35,6 +35,7 @@ BuildRequires: systemd Buildrequires: libuser-devel BuildRequires: libcap-ng-devel BuildRequires: %{pypkg}-devel +BuildRequires: pcre2-devel BuildRequires: gcc ### Sources @@ -60,6 +61,9 @@ Provides: eject = 2.1.6 # rfkill has been merged into util-linux v2.31 Obsoletes: rfkill <= 0.5 Provides: rfkill = 0.5 +# hardlink has been merged into util-linux v2.34 +Obsoletes: hardlink <= 1:1.3-9 +Provides: hardlink = 1:1.3-9 # sulogin, utmpdump merged into util-linux v2.22; # last, lastb merged into util-linux v2.24 Conflicts: sysvinit-tools < 2.88-14 @@ -276,6 +280,7 @@ export DAEMON_LDFLAGS="$SUID_LDFLAGS" --enable-usrdir-path \ --enable-write \ --enable-raw \ + --enable-hardlink \ --with-python=%{pyver} \ --with-systemd \ --with-udev \ @@ -508,6 +513,7 @@ fi %{_bindir}/findmnt %{_bindir}/flock %{_bindir}/getopt +%{_bindir}/hardlink %{_bindir}/hexdump %{_bindir}/ionice %{_bindir}/ipcmk @@ -565,6 +571,7 @@ fi %{_mandir}/man1/fincore.1* %{_mandir}/man1/flock.1* %{_mandir}/man1/getopt.1* +%{_mandir}/man1/hardlink.1* %{_mandir}/man1/hexdump.1* %{_mandir}/man1/ionice.1* %{_mandir}/man1/ipcmk.1* @@ -908,6 +915,11 @@ fi %{_libdir}/python*/site-packages/libmount/ %changelog +* 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 From 7748eaf530fa705e9ccf8521ae499e8101487551 Mon Sep 17 00:00:00 2001 From: Karel Zak Date: Thu, 30 May 2019 12:44:03 +0200 Subject: [PATCH 079/232] 2.34-0.2: upgrade --- util-linux.spec | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/util-linux.spec b/util-linux.spec index 84d45ce..2974e5a 100644 --- a/util-linux.spec +++ b/util-linux.spec @@ -2,12 +2,12 @@ Summary: A collection of basic system utilities Name: util-linux Version: 2.34 -Release: 0.1%{?dist} +Release: 0.2%{?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}-rc1 +%define upstream_version %{version}-rc2 %define upstream_major %(eval echo %{version} | %{__sed} -e 's/\([[:digit:]]*\)\.\([[:digit:]]*\)\.[[:digit:]]*$/\1.\2/') %define compldir %{_datadir}/bash-completion/completions/ @@ -915,6 +915,9 @@ fi %{_libdir}/python*/site-packages/libmount/ %changelog +* 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 From c0267df5f2bad9bd7dc45e3c9f7671bc62c2c902 Mon Sep 17 00:00:00 2001 From: Karel Zak Date: Thu, 30 May 2019 12:50:39 +0200 Subject: [PATCH 080/232] 2.34-0.2: new sources --- .gitignore | 1 + sources | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/.gitignore b/.gitignore index 0bd62c5..b2bbd4f 100644 --- a/.gitignore +++ b/.gitignore @@ -69,3 +69,4 @@ /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 diff --git a/sources b/sources index 67f556e..3cfabf8 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (util-linux-2.34-rc1.tar.xz) = 4f968f04394f6beaafd60a84daf1db808ec486dbfa82d2f58b0678f93adc37477395a1b22c0c2af33f9652c5fa82f8bb3c1ce8b62146c983bce270fe45c1419b +SHA512 (util-linux-2.34-rc2.tar.xz) = 54ae5ab146a2f8185dd1e46b363d3f83fd6791eb95f83522307ea59dcf23be93a9496fd1ca10bb09788ebd429c62db8fcde8747ed793c7826340289efb4e77d0 From a495296401db9d5b759c0a55e7d1a26a766e0bcf Mon Sep 17 00:00:00 2001 From: Karel Zak Date: Fri, 14 Jun 2019 14:03:34 +0200 Subject: [PATCH 081/232] 2.34-1: upstream version upgrade --- .gitignore | 1 + sources | 2 +- util-linux.spec | 7 +++++-- 3 files changed, 7 insertions(+), 3 deletions(-) diff --git a/.gitignore b/.gitignore index b2bbd4f..6e5965e 100644 --- a/.gitignore +++ b/.gitignore @@ -70,3 +70,4 @@ /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 diff --git a/sources b/sources index 3cfabf8..d087cad 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (util-linux-2.34-rc2.tar.xz) = 54ae5ab146a2f8185dd1e46b363d3f83fd6791eb95f83522307ea59dcf23be93a9496fd1ca10bb09788ebd429c62db8fcde8747ed793c7826340289efb4e77d0 +SHA512 (util-linux-2.34.tar.xz) = 2d0b76f63d32e7afb7acf61a83fabbfd58baa34ab78b3a331ce87f9c676a5fd71c56a493ded95039540d2c46b6048caaa38d7fb4491eb3d52d7b09dc54655cd7 diff --git a/util-linux.spec b/util-linux.spec index 2974e5a..5f69681 100644 --- a/util-linux.spec +++ b/util-linux.spec @@ -2,12 +2,12 @@ Summary: A collection of basic system utilities Name: util-linux Version: 2.34 -Release: 0.2%{?dist} +Release: 1%{?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}-rc2 +%define upstream_version %{version} %define upstream_major %(eval echo %{version} | %{__sed} -e 's/\([[:digit:]]*\)\.\([[:digit:]]*\)\.[[:digit:]]*$/\1.\2/') %define compldir %{_datadir}/bash-completion/completions/ @@ -915,6 +915,9 @@ fi %{_libdir}/python*/site-packages/libmount/ %changelog +* 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 From a1ba076eea57e74c3894b3aa76462c64e0b287fd Mon Sep 17 00:00:00 2001 From: Karel Zak Date: Wed, 24 Jul 2019 17:00:02 +0200 Subject: [PATCH 082/232] 2.34-2: add BuildRequires: librtas-devel --- util-linux.spec | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/util-linux.spec b/util-linux.spec index 5f69681..4ca5423 100644 --- a/util-linux.spec +++ b/util-linux.spec @@ -2,7 +2,7 @@ Summary: A collection of basic system utilities Name: util-linux Version: 2.34 -Release: 1%{?dist} +Release: 2%{?dist} License: GPLv2 and GPLv2+ and LGPLv2+ and BSD with advertising and Public Domain URL: http://en.wikipedia.org/wiki/Util-linux @@ -37,6 +37,9 @@ BuildRequires: libcap-ng-devel BuildRequires: %{pypkg}-devel BuildRequires: pcre2-devel BuildRequires: gcc +%ifarch ppc64le +BuildRequires: librtas-devel +%endif ### Sources Source0: ftp://ftp.kernel.org/pub/linux/utils/util-linux/v%{upstream_major}/util-linux-%{upstream_version}.tar.xz @@ -915,6 +918,9 @@ fi %{_libdir}/python*/site-packages/libmount/ %changelog +* 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 From 4820f4132a7b7d3819524b22b7953d409b403dd5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Miro=20Hron=C4=8Dok?= Date: Mon, 19 Aug 2019 11:08:55 +0200 Subject: [PATCH 083/232] Rebuilt for Python 3.8 --- util-linux.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/util-linux.spec b/util-linux.spec index 4ca5423..9e2da0b 100644 --- a/util-linux.spec +++ b/util-linux.spec @@ -2,7 +2,7 @@ Summary: A collection of basic system utilities Name: util-linux Version: 2.34 -Release: 2%{?dist} +Release: 3%{?dist} License: GPLv2 and GPLv2+ and LGPLv2+ and BSD with advertising and Public Domain URL: http://en.wikipedia.org/wiki/Util-linux @@ -918,6 +918,9 @@ fi %{_libdir}/python*/site-packages/libmount/ %changelog +* 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 From 4ac61ab4ac5d0847628f40030ee1ce509d168a65 Mon Sep 17 00:00:00 2001 From: Karel Zak Date: Thu, 5 Sep 2019 13:04:30 +0200 Subject: [PATCH 084/232] 2.34-4: add BuildRequires: readline Note that the library is already in Fedora minimal base. --- util-linux.spec | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/util-linux.spec b/util-linux.spec index 9e2da0b..29d47d3 100644 --- a/util-linux.spec +++ b/util-linux.spec @@ -2,7 +2,7 @@ Summary: A collection of basic system utilities Name: util-linux Version: 2.34 -Release: 3%{?dist} +Release: 4%{?dist} License: GPLv2 and GPLv2+ and LGPLv2+ and BSD with advertising and Public Domain URL: http://en.wikipedia.org/wiki/Util-linux @@ -26,6 +26,7 @@ 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 @@ -918,6 +919,9 @@ fi %{_libdir}/python*/site-packages/libmount/ %changelog +* 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 From 83243ee93c91083741fce8a02ad16233ec4196c4 Mon Sep 17 00:00:00 2001 From: Karel Zak Date: Thu, 12 Sep 2019 11:31:43 +0200 Subject: [PATCH 085/232] 2.34-5: #1751290 (lsblk) --- ...-force-to-print-PKNAME-for-partition.patch | 33 +++++++++++++++++++ util-linux.spec | 8 ++++- 2 files changed, 40 insertions(+), 1 deletion(-) create mode 100644 lsblk-force-to-print-PKNAME-for-partition.patch diff --git a/lsblk-force-to-print-PKNAME-for-partition.patch b/lsblk-force-to-print-PKNAME-for-partition.patch new file mode 100644 index 0000000..9ccefea --- /dev/null +++ b/lsblk-force-to-print-PKNAME-for-partition.patch @@ -0,0 +1,33 @@ +From e3bb9bfb76c17b1d05814436ced62c05c4011f48 Mon Sep 17 00:00:00 2001 +From: Karel Zak +Date: Thu, 27 Jun 2019 09:22:18 +0200 +Subject: [PATCH] lsblk: force to print PKNAME for partition + +PKNAME (parent kernel device name) is based on printed tree according +to parent -> child relationship. The tree is optional and not printed +if partition specified (.e.g "lsblk -o+PKNAME /dev/sda1"), but old +versions print the PKNAME also in this case. + +Addresses: https://github.com/karelzak/util-linux/issues/813 +Signed-off-by: Karel Zak +--- + misc-utils/lsblk.c | 3 +++ + 1 file changed, 3 insertions(+) + +diff --git a/misc-utils/lsblk.c b/misc-utils/lsblk.c +index e95af7af0..3ce6da730 100644 +--- a/misc-utils/lsblk.c ++++ b/misc-utils/lsblk.c +@@ -1019,6 +1019,9 @@ static void device_to_scols( + DBG(DEV, ul_debugobj(dev, "add '%s' to scols", dev->name)); + ON_DBG(DEV, if (ul_path_isopen_dirfd(dev->sysfs)) ul_debugobj(dev, " %s ---> is open!", dev->name)); + ++ if (!parent && dev->wholedisk) ++ parent = dev->wholedisk; ++ + /* Do not print device more than one in --list mode */ + if (!(lsblk->flags & LSBLK_TREE) && dev->is_printed) + return; +-- +2.21.0 + diff --git a/util-linux.spec b/util-linux.spec index 29d47d3..e60744c 100644 --- a/util-linux.spec +++ b/util-linux.spec @@ -2,7 +2,7 @@ Summary: A collection of basic system utilities Name: util-linux Version: 2.34 -Release: 4%{?dist} +Release: 5%{?dist} License: GPLv2 and GPLv2+ and LGPLv2+ and BSD with advertising and Public Domain URL: http://en.wikipedia.org/wiki/Util-linux @@ -102,6 +102,9 @@ Requires: libfdisk = %{version}-%{release} # 151635 - makeing /var/log/lastlog Patch0: 2.28-login-lastlog-create.patch +# 1751290 - regression: lsblk not showing PKNAME in f31+ +Patch1: lsblk-force-to-print-PKNAME-for-partition.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 @@ -919,6 +922,9 @@ fi %{_libdir}/python*/site-packages/libmount/ %changelog +* 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 From 707076abd5e6bed7ee0ab8ceca8ae0841fd82be8 Mon Sep 17 00:00:00 2001 From: Karel Zak Date: Fri, 13 Sep 2019 09:53:00 +0200 Subject: [PATCH 086/232] 2.34-6: mountinfo issue --- libmount-improve-mountinfo-reliability.patch | 383 +++++++++++++++++++ util-linux.spec | 17 +- 2 files changed, 399 insertions(+), 1 deletion(-) create mode 100644 libmount-improve-mountinfo-reliability.patch diff --git a/libmount-improve-mountinfo-reliability.patch b/libmount-improve-mountinfo-reliability.patch new file mode 100644 index 0000000..9366c94 --- /dev/null +++ b/libmount-improve-mountinfo-reliability.patch @@ -0,0 +1,383 @@ +From 32fe4f1dd8fbc104bd848e24de613122947f095a Mon Sep 17 00:00:00 2001 +From: Karel Zak +Date: Wed, 28 Aug 2019 15:47:16 +0200 +Subject: [PATCH] libmount: improve mountinfo reliability +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +The standard way how we read mount table is not reliable because +during the read() syscalls the table may be modified by some another +process. The changes in the table is possible to detect by poll() +event, and in this case it seems better to lseek to the begin of the file +and read it again. It's expensive, but better than races... + +This patch does not modify mountinfo parser, but it reads all file to +memory (by read()+poll()) and than it creates memory stream +from the buffer and use it rather than a regular file stream. + +It means the parser is still possible to use for normal files +(e.g. fstab) as well as for mountinfo and it's also portable to +systems where for some reason is no fmemopen(). + +Addresses: https://github.com/systemd/systemd/issues/10872 +Addresses: https://bugzilla.redhat.com/show_bug.cgi?id=1751447 +Upstream: http://github.com/karelzak/util-linux/commit/e4925f591c1bfb83719418b56b952830d15b77eb +Upstream: http://github.com/karelzak/util-linux/commit/ee551c909f95437fd9fcd162f398c069d0ce9720 +Reported-by: Zbigniew Jędrzejewski-Szmek +Signed-off-by: Karel Zak +--- +diff -up util-linux-2.34/configure.ac.kzak util-linux-2.34/configure.ac +--- util-linux-2.34/configure.ac.kzak 2019-06-14 12:34:02.892209368 +0200 ++++ util-linux-2.34/configure.ac 2019-09-13 09:19:54.155419473 +0200 +@@ -466,6 +466,7 @@ AC_CHECK_FUNCS([ \ + err \ + errx \ + explicit_bzero \ ++ fmemopen \ + fsync \ + utimensat \ + getdomainname \ +diff -up util-linux-2.34/libmount/src/mountP.h.kzak util-linux-2.34/libmount/src/mountP.h +--- util-linux-2.34/libmount/src/mountP.h.kzak 2019-05-09 14:15:40.637552762 +0200 ++++ util-linux-2.34/libmount/src/mountP.h 2019-09-13 09:19:54.155419473 +0200 +@@ -97,6 +97,7 @@ extern int mnt_valid_tagname(const char + extern int append_string(char **a, const char *b); + + extern const char *mnt_statfs_get_fstype(struct statfs *vfs); ++extern int is_procfs_fd(int fd); + extern int is_file_empty(const char *name); + + extern int mnt_is_readonly(const char *path) +@@ -121,6 +122,7 @@ extern void mnt_free_filesystems(char ** + + extern char *mnt_get_kernel_cmdline_option(const char *name); + extern int mnt_stat_mountpoint(const char *target, struct stat *st); ++extern FILE *mnt_get_procfs_memstream(int fd, char **membuf); + + /* tab.c */ + extern int is_mountinfo(struct libmnt_table *tb); +diff -up util-linux-2.34/libmount/src/tab_parse.c.kzak util-linux-2.34/libmount/src/tab_parse.c +--- util-linux-2.34/libmount/src/tab_parse.c.kzak 2019-05-09 14:15:40.638552755 +0200 ++++ util-linux-2.34/libmount/src/tab_parse.c 2019-09-13 09:19:54.156419468 +0200 +@@ -698,15 +698,7 @@ static int kernel_fs_postparse(struct li + return rc; + } + +-/** +- * mnt_table_parse_stream: +- * @tb: tab pointer +- * @f: file stream +- * @filename: filename used for debug and error messages +- * +- * Returns: 0 on success, negative number in case of error. +- */ +-int mnt_table_parse_stream(struct libmnt_table *tb, FILE *f, const char *filename) ++static int __table_parse_stream(struct libmnt_table *tb, FILE *f, const char *filename) + { + int rc = -1; + int flags = 0; +@@ -781,6 +773,40 @@ err: + } + + /** ++ * mnt_table_parse_stream: ++ * @tb: tab pointer ++ * @f: file stream ++ * @filename: filename used for debug and error messages ++ * ++ * Returns: 0 on success, negative number in case of error. ++ */ ++int mnt_table_parse_stream(struct libmnt_table *tb, FILE *f, const char *filename) ++{ ++ int fd, rc; ++ FILE *memf = NULL; ++ char *membuf = NULL; ++ ++ /* ++ * For /proc/#/{mountinfo,mount} we read all file to memory and use it ++ * as memory stream. For more details see mnt_read_procfs_file(). ++ */ ++ if ((fd = fileno(f)) >= 0 ++ && (tb->fmt == MNT_FMT_GUESS || ++ tb->fmt == MNT_FMT_MOUNTINFO || ++ tb->fmt == MNT_FMT_MTAB) ++ && is_procfs_fd(fd) ++ && (memf = mnt_get_procfs_memstream(fd, &membuf))) { ++ ++ rc = __table_parse_stream(tb, memf, filename); ++ fclose(memf); ++ free(membuf); ++ } else ++ rc = __table_parse_stream(tb, f, filename); ++ ++ return rc; ++} ++ ++/** + * mnt_table_parse_file: + * @tb: tab pointer + * @filename: file +@@ -795,18 +821,49 @@ err: + int mnt_table_parse_file(struct libmnt_table *tb, const char *filename) + { + FILE *f; +- int rc; ++ int rc, fd = -1; + + if (!filename || !tb) + return -EINVAL; + +- f = fopen(filename, "r" UL_CLOEXECSTR); ++ /* ++ * Try to use read()+poll() to realiably read all ++ * /proc/#/{mount,mountinfo} file to memory ++ */ ++ if (tb->fmt != MNT_FMT_SWAPS ++ && strncmp(filename, "/proc/", 6) == 0) { ++ ++ FILE *memf; ++ char *membuf = NULL; ++ ++ fd = open(filename, O_RDONLY|O_CLOEXEC); ++ if (fd < 0) { ++ rc = -errno; ++ goto done; ++ } ++ memf = mnt_get_procfs_memstream(fd, &membuf); ++ if (memf) { ++ rc = __table_parse_stream(tb, memf, filename); ++ ++ fclose(memf); ++ free(membuf); ++ close(fd); ++ goto done; ++ } ++ /* else fallback to fopen/fdopen() */ ++ } ++ ++ if (fd >= 0) ++ f = fdopen(fd, "r" UL_CLOEXECSTR); ++ else ++ f = fopen(filename, "r" UL_CLOEXECSTR); ++ + if (f) { +- rc = mnt_table_parse_stream(tb, f, filename); ++ rc = __table_parse_stream(tb, f, filename); + fclose(f); + } else + rc = -errno; +- ++done: + DBG(TAB, ul_debugobj(tb, "parsing done [filename=%s, rc=%d]", filename, rc)); + return rc; + } +@@ -863,7 +920,7 @@ static int __mnt_table_parse_dir(struct + + f = fopen_at(dd, d->d_name, O_RDONLY|O_CLOEXEC, "r" UL_CLOEXECSTR); + if (f) { +- mnt_table_parse_stream(tb, f, d->d_name); ++ __table_parse_stream(tb, f, d->d_name); + fclose(f); + } + } +@@ -904,7 +961,7 @@ static int __mnt_table_parse_dir(struct + f = fopen_at(dirfd(dir), d->d_name, + O_RDONLY|O_CLOEXEC, "r" UL_CLOEXECSTR); + if (f) { +- mnt_table_parse_stream(tb, f, d->d_name); ++ __table_parse_stream(tb, f, d->d_name); + fclose(f); + } + } +diff -up util-linux-2.34/libmount/src/utils.c.kzak util-linux-2.34/libmount/src/utils.c +--- util-linux-2.34/libmount/src/utils.c.kzak 2019-06-13 13:26:04.946525187 +0200 ++++ util-linux-2.34/libmount/src/utils.c 2019-09-13 09:19:54.157419462 +0200 +@@ -19,6 +19,7 @@ + #include + #include + #include ++#include + #include + + #include "strutils.h" +@@ -424,6 +425,12 @@ const char *mnt_statfs_get_fstype(struct + return NULL; + } + ++int is_procfs_fd(int fd) ++{ ++ struct statfs sfs; ++ ++ return fstatfs(fd, &sfs) == 0 && sfs.f_type == STATFS_PROC_MAGIC; ++} + + /** + * mnt_match_fstype: +@@ -1140,8 +1147,158 @@ done: + return 1; + } + ++#if defined(HAVE_FMEMOPEN) || defined(TEST_PROGRAM) ++ ++/* ++ * This function tries to minimize possible races when we read ++ * /proc/#/{mountinfo,mount} files. ++ * ++ * The idea is to minimize number of read()s and check by poll() that during ++ * the read the mount table has not been modified. If yes, than re-read it ++ * (with some limitations to avoid never ending loop). ++ * ++ * Returns: <0 error, 0 success, 1 too many attempts ++ */ ++static int read_procfs_file(int fd, char **buf, size_t *bufsiz) ++{ ++ size_t bufmax = 0; ++ int rc = 0, tries = 0, ninters = 0; ++ char *bufptr = NULL;; ++ ++ assert(buf); ++ assert(bufsiz); ++ ++ *bufsiz = 0; ++ *buf = NULL; ++ ++ do { ++ ssize_t ret; ++ ++ if (!bufptr || bufmax == *bufsiz) { ++ char *tmp; ++ ++ bufmax = bufmax ? bufmax * 2 : (16 * 1024); ++ tmp = realloc(*buf, bufmax); ++ if (!tmp) ++ break; ++ *buf = tmp; ++ bufptr = tmp + *bufsiz; ++ } ++ ++ errno = 0; ++ ret = read(fd, bufptr, bufmax - *bufsiz); ++ ++ if (ret < 0) { ++ /* error */ ++ if ((errno == EAGAIN || errno == EINTR) && (ninters++ < 5)) { ++ xusleep(200000); ++ continue; ++ } ++ break; ++ ++ } else if (ret > 0) { ++ /* success -- verify no event during read */ ++ struct pollfd fds[] = { ++ { .fd = fd, .events = POLLPRI } ++ }; ++ ++ rc = poll(fds, 1, 0); ++ if (rc < 0) ++ break; /* poll() error */ ++ if (rc > 0) { ++ /* event -- read all again */ ++ if (lseek(fd, 0, SEEK_SET) != 0) ++ break; ++ *bufsiz = 0; ++ bufptr = *buf; ++ tries++; ++ ++ if (tries > 10) ++ /* busy system? -- wait */ ++ xusleep(10000); ++ continue; ++ } ++ ++ /* successful read() without active poll() */ ++ (*bufsiz) += (size_t) ret; ++ bufptr += ret; ++ tries = ninters = 0; ++ } else { ++ /* end-of-file */ ++ goto success; ++ } ++ } while (tries <= 100); ++ ++ rc = errno ? -errno : 1; ++ free(*buf); ++ return rc; ++ ++success: ++ return 0; ++} ++ ++/* ++ * Create FILE stream for data from read_procfs_file() ++ */ ++FILE *mnt_get_procfs_memstream(int fd, char **membuf) ++{ ++ FILE *memf; ++ size_t sz = 0; ++ off_t cur; ++ ++ /* in case of error, rewind to the original position */ ++ cur = lseek(fd, 0, SEEK_CUR); ++ ++ if (read_procfs_file(fd, membuf, &sz) == 0 ++ && sz > 0 ++ && (memf = fmemopen(*membuf, sz, "r"))) ++ return memf; ++ ++ /* error */ ++ lseek(fd, cur, SEEK_SET); ++ return NULL; ++} ++#else ++FILE *mnt_get_procfs_memstream(int fd __attribute((__unused__)), ++ char **membuf __attribute((__unused__))) ++{ ++ return NULL; ++} ++#endif /* HAVE_FMEMOPEN */ ++ + + #ifdef TEST_PROGRAM ++static int test_proc_read(struct libmnt_test *ts, int argc, char *argv[]) ++{ ++ char *buf = NULL; ++ char *filename = argv[1]; ++ size_t bufsiz = 0; ++ int rc = 0, fd = open(filename, O_RDONLY); ++ ++ if (fd <= 0) { ++ warn("%s: cannot open", filename); ++ return -errno; ++ } ++ ++ rc = read_procfs_file(fd, &buf, &bufsiz); ++ close(fd); ++ ++ switch (rc) { ++ case 0: ++ fwrite(buf, 1, bufsiz, stdout); ++ free(buf); ++ break; ++ case 1: ++ warnx("too many attempts"); ++ break; ++ default: ++ warn("%s: cannot read", filename); ++ break; ++ } ++ ++ return rc; ++} ++ + static int test_match_fstype(struct libmnt_test *ts, int argc, char *argv[]) + { + char *type = argv[1]; +@@ -1323,6 +1480,7 @@ int main(int argc, char *argv[]) + { "--guess-root", test_guess_root, "[]" }, + { "--mkdir", test_mkdir, "" }, + { "--statfs-type", test_statfs_type, "" }, ++ { "--read-procfs", test_proc_read, "" }, + + { NULL } + }; diff --git a/util-linux.spec b/util-linux.spec index e60744c..a3fdee6 100644 --- a/util-linux.spec +++ b/util-linux.spec @@ -2,7 +2,7 @@ Summary: A collection of basic system utilities Name: util-linux Version: 2.34 -Release: 5%{?dist} +Release: 6%{?dist} License: GPLv2 and GPLv2+ and LGPLv2+ and BSD with advertising and Public Domain URL: http://en.wikipedia.org/wiki/Util-linux @@ -41,6 +41,10 @@ BuildRequires: gcc %ifarch ppc64le BuildRequires: librtas-devel %endif +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 @@ -104,6 +108,8 @@ Patch0: 2.28-login-lastlog-create.patch # 1751290 - regression: lsblk not showing PKNAME in f31+ Patch1: lsblk-force-to-print-PKNAME-for-partition.patch +# https://github.com/systemd/systemd/issues/10872 +Patch2: libmount-improve-mountinfo-reliability.patch %description The util-linux package contains a large variety of low-level system @@ -273,6 +279,12 @@ chfn and chsh utilities with dependence on libuser %build unset LINGUAS || : +# unfortunately, we did changes to build-system +./autogen.sh + +# we modify .po files by RHEL patches +rm -f po/stamp* + 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" @@ -922,6 +934,9 @@ fi %{_libdir}/python*/site-packages/libmount/ %changelog +* 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+ From 42ab31a080559a66ad6ec02aa10343a125cb48b3 Mon Sep 17 00:00:00 2001 From: Karel Zak Date: Wed, 11 Dec 2019 12:57:10 +0100 Subject: [PATCH 087/232] 2.35-0.1: upgrade to usptream release --- .gitignore | 1 + libmount-improve-mountinfo-reliability.patch | 383 ------------------ ...-force-to-print-PKNAME-for-partition.patch | 33 -- sources | 2 +- util-linux.spec | 18 +- 5 files changed, 12 insertions(+), 425 deletions(-) delete mode 100644 libmount-improve-mountinfo-reliability.patch delete mode 100644 lsblk-force-to-print-PKNAME-for-partition.patch diff --git a/.gitignore b/.gitignore index 6e5965e..9102ba3 100644 --- a/.gitignore +++ b/.gitignore @@ -71,3 +71,4 @@ /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 diff --git a/libmount-improve-mountinfo-reliability.patch b/libmount-improve-mountinfo-reliability.patch deleted file mode 100644 index 9366c94..0000000 --- a/libmount-improve-mountinfo-reliability.patch +++ /dev/null @@ -1,383 +0,0 @@ -From 32fe4f1dd8fbc104bd848e24de613122947f095a Mon Sep 17 00:00:00 2001 -From: Karel Zak -Date: Wed, 28 Aug 2019 15:47:16 +0200 -Subject: [PATCH] libmount: improve mountinfo reliability -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -The standard way how we read mount table is not reliable because -during the read() syscalls the table may be modified by some another -process. The changes in the table is possible to detect by poll() -event, and in this case it seems better to lseek to the begin of the file -and read it again. It's expensive, but better than races... - -This patch does not modify mountinfo parser, but it reads all file to -memory (by read()+poll()) and than it creates memory stream -from the buffer and use it rather than a regular file stream. - -It means the parser is still possible to use for normal files -(e.g. fstab) as well as for mountinfo and it's also portable to -systems where for some reason is no fmemopen(). - -Addresses: https://github.com/systemd/systemd/issues/10872 -Addresses: https://bugzilla.redhat.com/show_bug.cgi?id=1751447 -Upstream: http://github.com/karelzak/util-linux/commit/e4925f591c1bfb83719418b56b952830d15b77eb -Upstream: http://github.com/karelzak/util-linux/commit/ee551c909f95437fd9fcd162f398c069d0ce9720 -Reported-by: Zbigniew Jędrzejewski-Szmek -Signed-off-by: Karel Zak ---- -diff -up util-linux-2.34/configure.ac.kzak util-linux-2.34/configure.ac ---- util-linux-2.34/configure.ac.kzak 2019-06-14 12:34:02.892209368 +0200 -+++ util-linux-2.34/configure.ac 2019-09-13 09:19:54.155419473 +0200 -@@ -466,6 +466,7 @@ AC_CHECK_FUNCS([ \ - err \ - errx \ - explicit_bzero \ -+ fmemopen \ - fsync \ - utimensat \ - getdomainname \ -diff -up util-linux-2.34/libmount/src/mountP.h.kzak util-linux-2.34/libmount/src/mountP.h ---- util-linux-2.34/libmount/src/mountP.h.kzak 2019-05-09 14:15:40.637552762 +0200 -+++ util-linux-2.34/libmount/src/mountP.h 2019-09-13 09:19:54.155419473 +0200 -@@ -97,6 +97,7 @@ extern int mnt_valid_tagname(const char - extern int append_string(char **a, const char *b); - - extern const char *mnt_statfs_get_fstype(struct statfs *vfs); -+extern int is_procfs_fd(int fd); - extern int is_file_empty(const char *name); - - extern int mnt_is_readonly(const char *path) -@@ -121,6 +122,7 @@ extern void mnt_free_filesystems(char ** - - extern char *mnt_get_kernel_cmdline_option(const char *name); - extern int mnt_stat_mountpoint(const char *target, struct stat *st); -+extern FILE *mnt_get_procfs_memstream(int fd, char **membuf); - - /* tab.c */ - extern int is_mountinfo(struct libmnt_table *tb); -diff -up util-linux-2.34/libmount/src/tab_parse.c.kzak util-linux-2.34/libmount/src/tab_parse.c ---- util-linux-2.34/libmount/src/tab_parse.c.kzak 2019-05-09 14:15:40.638552755 +0200 -+++ util-linux-2.34/libmount/src/tab_parse.c 2019-09-13 09:19:54.156419468 +0200 -@@ -698,15 +698,7 @@ static int kernel_fs_postparse(struct li - return rc; - } - --/** -- * mnt_table_parse_stream: -- * @tb: tab pointer -- * @f: file stream -- * @filename: filename used for debug and error messages -- * -- * Returns: 0 on success, negative number in case of error. -- */ --int mnt_table_parse_stream(struct libmnt_table *tb, FILE *f, const char *filename) -+static int __table_parse_stream(struct libmnt_table *tb, FILE *f, const char *filename) - { - int rc = -1; - int flags = 0; -@@ -781,6 +773,40 @@ err: - } - - /** -+ * mnt_table_parse_stream: -+ * @tb: tab pointer -+ * @f: file stream -+ * @filename: filename used for debug and error messages -+ * -+ * Returns: 0 on success, negative number in case of error. -+ */ -+int mnt_table_parse_stream(struct libmnt_table *tb, FILE *f, const char *filename) -+{ -+ int fd, rc; -+ FILE *memf = NULL; -+ char *membuf = NULL; -+ -+ /* -+ * For /proc/#/{mountinfo,mount} we read all file to memory and use it -+ * as memory stream. For more details see mnt_read_procfs_file(). -+ */ -+ if ((fd = fileno(f)) >= 0 -+ && (tb->fmt == MNT_FMT_GUESS || -+ tb->fmt == MNT_FMT_MOUNTINFO || -+ tb->fmt == MNT_FMT_MTAB) -+ && is_procfs_fd(fd) -+ && (memf = mnt_get_procfs_memstream(fd, &membuf))) { -+ -+ rc = __table_parse_stream(tb, memf, filename); -+ fclose(memf); -+ free(membuf); -+ } else -+ rc = __table_parse_stream(tb, f, filename); -+ -+ return rc; -+} -+ -+/** - * mnt_table_parse_file: - * @tb: tab pointer - * @filename: file -@@ -795,18 +821,49 @@ err: - int mnt_table_parse_file(struct libmnt_table *tb, const char *filename) - { - FILE *f; -- int rc; -+ int rc, fd = -1; - - if (!filename || !tb) - return -EINVAL; - -- f = fopen(filename, "r" UL_CLOEXECSTR); -+ /* -+ * Try to use read()+poll() to realiably read all -+ * /proc/#/{mount,mountinfo} file to memory -+ */ -+ if (tb->fmt != MNT_FMT_SWAPS -+ && strncmp(filename, "/proc/", 6) == 0) { -+ -+ FILE *memf; -+ char *membuf = NULL; -+ -+ fd = open(filename, O_RDONLY|O_CLOEXEC); -+ if (fd < 0) { -+ rc = -errno; -+ goto done; -+ } -+ memf = mnt_get_procfs_memstream(fd, &membuf); -+ if (memf) { -+ rc = __table_parse_stream(tb, memf, filename); -+ -+ fclose(memf); -+ free(membuf); -+ close(fd); -+ goto done; -+ } -+ /* else fallback to fopen/fdopen() */ -+ } -+ -+ if (fd >= 0) -+ f = fdopen(fd, "r" UL_CLOEXECSTR); -+ else -+ f = fopen(filename, "r" UL_CLOEXECSTR); -+ - if (f) { -- rc = mnt_table_parse_stream(tb, f, filename); -+ rc = __table_parse_stream(tb, f, filename); - fclose(f); - } else - rc = -errno; -- -+done: - DBG(TAB, ul_debugobj(tb, "parsing done [filename=%s, rc=%d]", filename, rc)); - return rc; - } -@@ -863,7 +920,7 @@ static int __mnt_table_parse_dir(struct - - f = fopen_at(dd, d->d_name, O_RDONLY|O_CLOEXEC, "r" UL_CLOEXECSTR); - if (f) { -- mnt_table_parse_stream(tb, f, d->d_name); -+ __table_parse_stream(tb, f, d->d_name); - fclose(f); - } - } -@@ -904,7 +961,7 @@ static int __mnt_table_parse_dir(struct - f = fopen_at(dirfd(dir), d->d_name, - O_RDONLY|O_CLOEXEC, "r" UL_CLOEXECSTR); - if (f) { -- mnt_table_parse_stream(tb, f, d->d_name); -+ __table_parse_stream(tb, f, d->d_name); - fclose(f); - } - } -diff -up util-linux-2.34/libmount/src/utils.c.kzak util-linux-2.34/libmount/src/utils.c ---- util-linux-2.34/libmount/src/utils.c.kzak 2019-06-13 13:26:04.946525187 +0200 -+++ util-linux-2.34/libmount/src/utils.c 2019-09-13 09:19:54.157419462 +0200 -@@ -19,6 +19,7 @@ - #include - #include - #include -+#include - #include - - #include "strutils.h" -@@ -424,6 +425,12 @@ const char *mnt_statfs_get_fstype(struct - return NULL; - } - -+int is_procfs_fd(int fd) -+{ -+ struct statfs sfs; -+ -+ return fstatfs(fd, &sfs) == 0 && sfs.f_type == STATFS_PROC_MAGIC; -+} - - /** - * mnt_match_fstype: -@@ -1140,8 +1147,158 @@ done: - return 1; - } - -+#if defined(HAVE_FMEMOPEN) || defined(TEST_PROGRAM) -+ -+/* -+ * This function tries to minimize possible races when we read -+ * /proc/#/{mountinfo,mount} files. -+ * -+ * The idea is to minimize number of read()s and check by poll() that during -+ * the read the mount table has not been modified. If yes, than re-read it -+ * (with some limitations to avoid never ending loop). -+ * -+ * Returns: <0 error, 0 success, 1 too many attempts -+ */ -+static int read_procfs_file(int fd, char **buf, size_t *bufsiz) -+{ -+ size_t bufmax = 0; -+ int rc = 0, tries = 0, ninters = 0; -+ char *bufptr = NULL;; -+ -+ assert(buf); -+ assert(bufsiz); -+ -+ *bufsiz = 0; -+ *buf = NULL; -+ -+ do { -+ ssize_t ret; -+ -+ if (!bufptr || bufmax == *bufsiz) { -+ char *tmp; -+ -+ bufmax = bufmax ? bufmax * 2 : (16 * 1024); -+ tmp = realloc(*buf, bufmax); -+ if (!tmp) -+ break; -+ *buf = tmp; -+ bufptr = tmp + *bufsiz; -+ } -+ -+ errno = 0; -+ ret = read(fd, bufptr, bufmax - *bufsiz); -+ -+ if (ret < 0) { -+ /* error */ -+ if ((errno == EAGAIN || errno == EINTR) && (ninters++ < 5)) { -+ xusleep(200000); -+ continue; -+ } -+ break; -+ -+ } else if (ret > 0) { -+ /* success -- verify no event during read */ -+ struct pollfd fds[] = { -+ { .fd = fd, .events = POLLPRI } -+ }; -+ -+ rc = poll(fds, 1, 0); -+ if (rc < 0) -+ break; /* poll() error */ -+ if (rc > 0) { -+ /* event -- read all again */ -+ if (lseek(fd, 0, SEEK_SET) != 0) -+ break; -+ *bufsiz = 0; -+ bufptr = *buf; -+ tries++; -+ -+ if (tries > 10) -+ /* busy system? -- wait */ -+ xusleep(10000); -+ continue; -+ } -+ -+ /* successful read() without active poll() */ -+ (*bufsiz) += (size_t) ret; -+ bufptr += ret; -+ tries = ninters = 0; -+ } else { -+ /* end-of-file */ -+ goto success; -+ } -+ } while (tries <= 100); -+ -+ rc = errno ? -errno : 1; -+ free(*buf); -+ return rc; -+ -+success: -+ return 0; -+} -+ -+/* -+ * Create FILE stream for data from read_procfs_file() -+ */ -+FILE *mnt_get_procfs_memstream(int fd, char **membuf) -+{ -+ FILE *memf; -+ size_t sz = 0; -+ off_t cur; -+ -+ /* in case of error, rewind to the original position */ -+ cur = lseek(fd, 0, SEEK_CUR); -+ -+ if (read_procfs_file(fd, membuf, &sz) == 0 -+ && sz > 0 -+ && (memf = fmemopen(*membuf, sz, "r"))) -+ return memf; -+ -+ /* error */ -+ lseek(fd, cur, SEEK_SET); -+ return NULL; -+} -+#else -+FILE *mnt_get_procfs_memstream(int fd __attribute((__unused__)), -+ char **membuf __attribute((__unused__))) -+{ -+ return NULL; -+} -+#endif /* HAVE_FMEMOPEN */ -+ - - #ifdef TEST_PROGRAM -+static int test_proc_read(struct libmnt_test *ts, int argc, char *argv[]) -+{ -+ char *buf = NULL; -+ char *filename = argv[1]; -+ size_t bufsiz = 0; -+ int rc = 0, fd = open(filename, O_RDONLY); -+ -+ if (fd <= 0) { -+ warn("%s: cannot open", filename); -+ return -errno; -+ } -+ -+ rc = read_procfs_file(fd, &buf, &bufsiz); -+ close(fd); -+ -+ switch (rc) { -+ case 0: -+ fwrite(buf, 1, bufsiz, stdout); -+ free(buf); -+ break; -+ case 1: -+ warnx("too many attempts"); -+ break; -+ default: -+ warn("%s: cannot read", filename); -+ break; -+ } -+ -+ return rc; -+} -+ - static int test_match_fstype(struct libmnt_test *ts, int argc, char *argv[]) - { - char *type = argv[1]; -@@ -1323,6 +1480,7 @@ int main(int argc, char *argv[]) - { "--guess-root", test_guess_root, "[]" }, - { "--mkdir", test_mkdir, "" }, - { "--statfs-type", test_statfs_type, "" }, -+ { "--read-procfs", test_proc_read, "" }, - - { NULL } - }; diff --git a/lsblk-force-to-print-PKNAME-for-partition.patch b/lsblk-force-to-print-PKNAME-for-partition.patch deleted file mode 100644 index 9ccefea..0000000 --- a/lsblk-force-to-print-PKNAME-for-partition.patch +++ /dev/null @@ -1,33 +0,0 @@ -From e3bb9bfb76c17b1d05814436ced62c05c4011f48 Mon Sep 17 00:00:00 2001 -From: Karel Zak -Date: Thu, 27 Jun 2019 09:22:18 +0200 -Subject: [PATCH] lsblk: force to print PKNAME for partition - -PKNAME (parent kernel device name) is based on printed tree according -to parent -> child relationship. The tree is optional and not printed -if partition specified (.e.g "lsblk -o+PKNAME /dev/sda1"), but old -versions print the PKNAME also in this case. - -Addresses: https://github.com/karelzak/util-linux/issues/813 -Signed-off-by: Karel Zak ---- - misc-utils/lsblk.c | 3 +++ - 1 file changed, 3 insertions(+) - -diff --git a/misc-utils/lsblk.c b/misc-utils/lsblk.c -index e95af7af0..3ce6da730 100644 ---- a/misc-utils/lsblk.c -+++ b/misc-utils/lsblk.c -@@ -1019,6 +1019,9 @@ static void device_to_scols( - DBG(DEV, ul_debugobj(dev, "add '%s' to scols", dev->name)); - ON_DBG(DEV, if (ul_path_isopen_dirfd(dev->sysfs)) ul_debugobj(dev, " %s ---> is open!", dev->name)); - -+ if (!parent && dev->wholedisk) -+ parent = dev->wholedisk; -+ - /* Do not print device more than one in --list mode */ - if (!(lsblk->flags & LSBLK_TREE) && dev->is_printed) - return; --- -2.21.0 - diff --git a/sources b/sources index d087cad..b5659fd 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (util-linux-2.34.tar.xz) = 2d0b76f63d32e7afb7acf61a83fabbfd58baa34ab78b3a331ce87f9c676a5fd71c56a493ded95039540d2c46b6048caaa38d7fb4491eb3d52d7b09dc54655cd7 +SHA512 (util-linux-2.35-rc1.tar.xz) = 1ecf0b6868409dad4a2cc6e7fda708b8bea939f0c2a02b97068d114dac316a3d27c27542e2b220fc4ebef307d6c78b4f318685c1b7877429689f794cb2d4dc7a diff --git a/util-linux.spec b/util-linux.spec index a3fdee6..e82cfc5 100644 --- a/util-linux.spec +++ b/util-linux.spec @@ -1,13 +1,13 @@ ### Header Summary: A collection of basic system utilities Name: util-linux -Version: 2.34 -Release: 6%{?dist} +Version: 2.35 +Release: 0.1%{?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_version %{version}-rc1 %define upstream_major %(eval echo %{version} | %{__sed} -e 's/\([[:digit:]]*\)\.\([[:digit:]]*\)\.[[:digit:]]*$/\1.\2/') %define compldir %{_datadir}/bash-completion/completions/ @@ -106,11 +106,6 @@ Requires: libfdisk = %{version}-%{release} # 151635 - makeing /var/log/lastlog Patch0: 2.28-login-lastlog-create.patch -# 1751290 - regression: lsblk not showing PKNAME in f31+ -Patch1: lsblk-force-to-print-PKNAME-for-partition.patch -# https://github.com/systemd/systemd/issues/10872 -Patch2: libmount-improve-mountinfo-reliability.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 @@ -564,6 +559,7 @@ fi %{_bindir}/rev %{_bindir}/script %{_bindir}/scriptreplay +%{_bindir}/scriptlive %{_bindir}/setarch %{_bindir}/setpriv %{_bindir}/setsid @@ -619,6 +615,7 @@ fi %{_mandir}/man1/runuser.1* %{_mandir}/man1/script.1* %{_mandir}/man1/scriptreplay.1* +%{_mandir}/man1/scriptlive.1* %{_mandir}/man1/setpriv.1* %{_mandir}/man1/setsid.1* %{_mandir}/man1/setterm.1* @@ -791,6 +788,7 @@ fi %{compldir}/runuser %{compldir}/script %{compldir}/scriptreplay +%{compldir}/scriptlive %{compldir}/setarch %{compldir}/setpriv %{compldir}/setsid @@ -934,6 +932,10 @@ fi %{_libdir}/python*/site-packages/libmount/ %changelog +* 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 From 2cde2b254661793ec8c21b75162a65446d933f1b Mon Sep 17 00:00:00 2001 From: Adam Williamson Date: Thu, 12 Dec 2019 18:07:54 -0800 Subject: [PATCH 088/232] Revert upstream commit 7ef86a0 to fix RHBZ #1783066 --- ...t-tests-add-missing-ts_check_prog-xz.patch | 39 ++++ ...improve-handling-of-ISO-files-with-p.patch | 208 ++++++++++++++++++ util-linux.spec | 12 +- 3 files changed, 258 insertions(+), 1 deletion(-) create mode 100644 0001-Revert-tests-add-missing-ts_check_prog-xz.patch create mode 100644 0002-Revert-libblkid-improve-handling-of-ISO-files-with-p.patch diff --git a/0001-Revert-tests-add-missing-ts_check_prog-xz.patch b/0001-Revert-tests-add-missing-ts_check_prog-xz.patch new file mode 100644 index 0000000..0ff1737 --- /dev/null +++ b/0001-Revert-tests-add-missing-ts_check_prog-xz.patch @@ -0,0 +1,39 @@ +From 908a490fa475c643f275ed1f4e3060ae17f51794 Mon Sep 17 00:00:00 2001 +From: Adam Williamson +Date: Thu, 12 Dec 2019 17:19:56 -0800 +Subject: [PATCH 1/2] Revert "tests: add missing 'ts_check_prog xz'" + +This reverts commit a72a19865d72481c2dd40110919863121cc644bd. +--- + tests/ts/blkid/iso-partitions | 1 - + tests/ts/hardlink/options | 2 -- + 2 files changed, 3 deletions(-) + +diff --git a/tests/ts/blkid/iso-partitions b/tests/ts/blkid/iso-partitions +index 4aaa164f7..02fdd4e50 100755 +--- a/tests/ts/blkid/iso-partitions ++++ b/tests/ts/blkid/iso-partitions +@@ -25,7 +25,6 @@ ts_init "$*" + + ts_check_test_command "$TS_CMD_BLKID" + ts_check_test_command "$TS_CMD_PARTX" +-ts_check_prog xz + + ts_skip_nonroot + +diff --git a/tests/ts/hardlink/options b/tests/ts/hardlink/options +index bb445caf4..16d26c4ac 100755 +--- a/tests/ts/hardlink/options ++++ b/tests/ts/hardlink/options +@@ -23,8 +23,6 @@ TS_DESC="options" + ts_init "$*" + + ts_check_test_command "$TS_CMD_HARDLINK" +-ts_check_prog xz +-ts_check_prog tar + + SRCDIR="$TS_OUTDIR/testdir1" + +-- +2.24.0 + diff --git a/0002-Revert-libblkid-improve-handling-of-ISO-files-with-p.patch b/0002-Revert-libblkid-improve-handling-of-ISO-files-with-p.patch new file mode 100644 index 0000000..66f38a6 --- /dev/null +++ b/0002-Revert-libblkid-improve-handling-of-ISO-files-with-p.patch @@ -0,0 +1,208 @@ +From f0e3bafa74b36f63e30ceb533b0f4e0844238f5b Mon Sep 17 00:00:00 2001 +From: Adam Williamson +Date: Thu, 12 Dec 2019 17:20:04 -0800 +Subject: [PATCH 2/2] Revert "libblkid: improve handling of ISO files with + partition tables" + +This reverts commit 7ef86a08914427d6486734614d7d3bbed1f108fe. +--- + libblkid/src/superblocks/iso9660.c | 37 --------- + .../blkid/iso-partitions-no_partitions | 9 --- + .../expected/blkid/iso-partitions-partitions | 25 ------ + tests/ts/blkid/iso-partitions | 71 ------------------ + tests/ts/blkid/iso-partitions.img.xz | Bin 1188 -> 0 bytes + 5 files changed, 142 deletions(-) + delete mode 100644 tests/expected/blkid/iso-partitions-no_partitions + delete mode 100644 tests/expected/blkid/iso-partitions-partitions + delete mode 100755 tests/ts/blkid/iso-partitions + delete mode 100644 tests/ts/blkid/iso-partitions.img.xz + +diff --git a/libblkid/src/superblocks/iso9660.c b/libblkid/src/superblocks/iso9660.c +index 730939f70..8dc2e5394 100644 +--- a/libblkid/src/superblocks/iso9660.c ++++ b/libblkid/src/superblocks/iso9660.c +@@ -13,7 +13,6 @@ + */ + #include + #include +-#include + #include + #include + #include +@@ -166,37 +165,6 @@ static int is_str_empty(const unsigned char *str, size_t len) + return 1; + } + +-/* +- * The ISO format specifically avoids the first 32kb to allow for a +- * partition table to be added, if desired. +- * When an ISO contains a partition table, the usual thing to do is to +- * have a partition that points at the iso filesystem. In such case, +- * we want to only probe the iso metadata for the corresponding partition +- * device, avoiding returning the metadata for the parent block device. +- */ +-static bool isofs_belongs_to_device(blkid_probe pr) +-{ +- dev_t devno; +- blkid_partlist ls; +- +- /* Get device number, but if that fails, assume we aren't dealing +- * with partitions, and continue probing. */ +- devno = blkid_probe_get_devno(pr); +- if (!devno) +- return true; +- +- /* Get partition table, but if that fails, assume we aren't dealing +- * with partitions, and continue probing. */ +- ls = blkid_probe_get_partitions(pr); +- if (!ls) +- return true; +- +- /* Check that the device we're working with corresponds to an +- * entry in the partition table. If so, this is the correct +- * device to return the iso metadata on. */ +- return blkid_partlist_devno_to_partition(ls, devno) != NULL; +-} +- + /* iso9660 [+ Microsoft Joliet Extension] */ + static int probe_iso9660(blkid_probe pr, const struct blkid_idmag *mag) + { +@@ -212,11 +180,6 @@ static int probe_iso9660(blkid_probe pr, const struct blkid_idmag *mag) + if (!iso) + return errno ? -errno : 1; + +- /* Check if the iso metadata should be returned on a different device +- * instead of this one. */ +- if (!isofs_belongs_to_device(pr)) +- return 1; +- + memcpy(label, iso->volume_id, sizeof(label)); + + blkid_probe_set_block_size(pr, 2048); +diff --git a/tests/expected/blkid/iso-partitions-no_partitions b/tests/expected/blkid/iso-partitions-no_partitions +deleted file mode 100644 +index dbfd57a34..000000000 +--- a/tests/expected/blkid/iso-partitions-no_partitions ++++ /dev/null +@@ -1,9 +0,0 @@ +-ID_FS_BLOCK_SIZE=2048 +-ID_FS_PUBLISHER_ID=UTIL-LINUX +-ID_FS_UUID=2019-09-24-09-31-05-00 +-ID_FS_UUID_ENC=2019-09-24-09-31-05-00 +-ID_FS_VERSION=Joliet\x20Extension +-ID_FS_LABEL=ISOIMAGE +-ID_FS_LABEL_ENC=ISOIMAGE +-ID_FS_TYPE=iso9660 +-ID_FS_USAGE=filesystem +diff --git a/tests/expected/blkid/iso-partitions-partitions b/tests/expected/blkid/iso-partitions-partitions +deleted file mode 100644 +index e34ca39fc..000000000 +--- a/tests/expected/blkid/iso-partitions-partitions ++++ /dev/null +@@ -1,25 +0,0 @@ +-ID_PART_TABLE_TYPE=dos +--- +-ID_FS_BLOCK_SIZE=2048 +-ID_FS_PUBLISHER_ID=UTIL-LINUX +-ID_FS_UUID=2019-09-24-09-31-05-00 +-ID_FS_UUID_ENC=2019-09-24-09-31-05-00 +-ID_FS_VERSION=Joliet\x20Extension +-ID_FS_LABEL=ISOIMAGE +-ID_FS_LABEL_ENC=ISOIMAGE +-ID_FS_TYPE=iso9660 +-ID_FS_USAGE=filesystem +-ID_PART_TABLE_TYPE=dos +-ID_PART_ENTRY_SCHEME=dos +-ID_PART_ENTRY_TYPE=0x83 +-ID_PART_ENTRY_NUMBER=1 +-ID_PART_ENTRY_OFFSET=0 +-ID_PART_ENTRY_SIZE=136 +-ID_PART_ENTRY_DISK=__ts_majorminor__ +--- +-ID_PART_ENTRY_SCHEME=dos +-ID_PART_ENTRY_TYPE=0xef +-ID_PART_ENTRY_NUMBER=2 +-ID_PART_ENTRY_OFFSET=136 +-ID_PART_ENTRY_SIZE=4096 +-ID_PART_ENTRY_DISK=__ts_majorminor__ +diff --git a/tests/ts/blkid/iso-partitions b/tests/ts/blkid/iso-partitions +deleted file mode 100755 +index 02fdd4e50..000000000 +--- a/tests/ts/blkid/iso-partitions ++++ /dev/null +@@ -1,71 +0,0 @@ +-#!/bin/bash +- +-# +-# Copyright (C) 2019 Endless Mobile, Inc. +-# +-# This file is part of util-linux. +-# +-# This file is free software; you can redistribute it and/or modify +-# it under the terms of the GNU General Public License as published by +-# the Free Software Foundation; either version 2 of the License, or +-# (at your option) any later version. +-# +-# This file 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. +-# +- +-TS_TOPDIR="${0%/*}/../.." +-TS_DESC="iso-partitions" +- +-. $TS_TOPDIR/functions.sh +- +-ts_init "$*" +- +-ts_check_test_command "$TS_CMD_BLKID" +-ts_check_test_command "$TS_CMD_PARTX" +- +-ts_skip_nonroot +- +-# set global variable TS_DEVICE +-ts_scsi_debug_init dev_size_mb=50 +- +-# This image (created by xorriso) has partition 1 pointing to the ISO +-# area, followed by an unformatted second partition. +-xz -dc ${TS_SELF}/iso-partitions.img.xz > ${TS_DEVICE} +-udevadm settle +- +-ts_init_subtest "partitions" +-$TS_CMD_PARTX -a ${TS_DEVICE} &>/dev/null +-udevadm settle +- +-# Check that the ISO metadata is not shown on the main disk device +-$TS_CMD_BLKID -p -o udev ${TS_DEVICE} >> $TS_OUTPUT +-echo -- >> $TS_OUTPUT +- +-# Check that the ISO metadata is shown on the "ISO partition" +-$TS_CMD_BLKID -p -o udev ${TS_DEVICE}1 >> $TS_OUTPUT +-echo -- >> $TS_OUTPUT +- +-# Check that the ISO metadata is not shown on the other partition +-$TS_CMD_BLKID -p -o udev ${TS_DEVICE}2 >> $TS_OUTPUT +- +-# substitute major/minor number before comparison +-sed -i \ +- -e 's/^\(ID_PART_ENTRY_DISK\)=.*/\1=__ts_majorminor__/' \ +- $TS_OUTPUT +- +-ts_finalize_subtest +- +-# Remove the partition table and check that the ISO metadata is shown on the +-# main disk device. +-ts_init_subtest "no_partitions" +-dd if=/dev/zero of=${TS_DEVICE} bs=512 count=1 &>/dev/null +-udevadm settle +-$TS_CMD_PARTX -d ${TS_DEVICE} &>/dev/null +-udevadm settle +-$TS_CMD_BLKID -p -o udev ${TS_DEVICE} >> $TS_OUTPUT +-ts_finalize_subtest +- +-ts_finalize + +-- +2.24.0 + diff --git a/util-linux.spec b/util-linux.spec index e82cfc5..023b9b0 100644 --- a/util-linux.spec +++ b/util-linux.spec @@ -2,7 +2,7 @@ Summary: A collection of basic system utilities Name: util-linux Version: 2.35 -Release: 0.1%{?dist} +Release: 0.2%{?dist} License: GPLv2 and GPLv2+ and LGPLv2+ and BSD with advertising and Public Domain URL: http://en.wikipedia.org/wiki/Util-linux @@ -106,6 +106,13 @@ Requires: libfdisk = %{version}-%{release} # 151635 - makeing /var/log/lastlog Patch0: 2.28-login-lastlog-create.patch +# Revert https://github.com/karelzak/util-linux/commit/7ef86a0 +# to fix boot of installer and live images as optical media: +# https://bugzilla.redhat.com/show_bug.cgi?id=1783066 +# Other reversion is needed for this revert to be clean +Patch1: 0001-Revert-tests-add-missing-ts_check_prog-xz.patch +Patch2: 0002-Revert-libblkid-improve-handling-of-ISO-files-with-p.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 @@ -932,6 +939,9 @@ fi %{_libdir}/python*/site-packages/libmount/ %changelog +* 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 From a61dbe7cc64a558b02bd52c46e5fbe45bbaa3fe5 Mon Sep 17 00:00:00 2001 From: Karel Zak Date: Fri, 20 Dec 2019 13:26:39 +0100 Subject: [PATCH 089/232] 2.35-0.3: upgrade to upstream snapshot --- .gitignore | 1 + ...t-tests-add-missing-ts_check_prog-xz.patch | 39 ---- ...improve-handling-of-ISO-files-with-p.patch | 208 ------------------ sources | 2 +- util-linux.spec | 15 +- 5 files changed, 8 insertions(+), 257 deletions(-) delete mode 100644 0001-Revert-tests-add-missing-ts_check_prog-xz.patch delete mode 100644 0002-Revert-libblkid-improve-handling-of-ISO-files-with-p.patch diff --git a/.gitignore b/.gitignore index 9102ba3..5cb48e9 100644 --- a/.gitignore +++ b/.gitignore @@ -72,3 +72,4 @@ /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 diff --git a/0001-Revert-tests-add-missing-ts_check_prog-xz.patch b/0001-Revert-tests-add-missing-ts_check_prog-xz.patch deleted file mode 100644 index 0ff1737..0000000 --- a/0001-Revert-tests-add-missing-ts_check_prog-xz.patch +++ /dev/null @@ -1,39 +0,0 @@ -From 908a490fa475c643f275ed1f4e3060ae17f51794 Mon Sep 17 00:00:00 2001 -From: Adam Williamson -Date: Thu, 12 Dec 2019 17:19:56 -0800 -Subject: [PATCH 1/2] Revert "tests: add missing 'ts_check_prog xz'" - -This reverts commit a72a19865d72481c2dd40110919863121cc644bd. ---- - tests/ts/blkid/iso-partitions | 1 - - tests/ts/hardlink/options | 2 -- - 2 files changed, 3 deletions(-) - -diff --git a/tests/ts/blkid/iso-partitions b/tests/ts/blkid/iso-partitions -index 4aaa164f7..02fdd4e50 100755 ---- a/tests/ts/blkid/iso-partitions -+++ b/tests/ts/blkid/iso-partitions -@@ -25,7 +25,6 @@ ts_init "$*" - - ts_check_test_command "$TS_CMD_BLKID" - ts_check_test_command "$TS_CMD_PARTX" --ts_check_prog xz - - ts_skip_nonroot - -diff --git a/tests/ts/hardlink/options b/tests/ts/hardlink/options -index bb445caf4..16d26c4ac 100755 ---- a/tests/ts/hardlink/options -+++ b/tests/ts/hardlink/options -@@ -23,8 +23,6 @@ TS_DESC="options" - ts_init "$*" - - ts_check_test_command "$TS_CMD_HARDLINK" --ts_check_prog xz --ts_check_prog tar - - SRCDIR="$TS_OUTDIR/testdir1" - --- -2.24.0 - diff --git a/0002-Revert-libblkid-improve-handling-of-ISO-files-with-p.patch b/0002-Revert-libblkid-improve-handling-of-ISO-files-with-p.patch deleted file mode 100644 index 66f38a6..0000000 --- a/0002-Revert-libblkid-improve-handling-of-ISO-files-with-p.patch +++ /dev/null @@ -1,208 +0,0 @@ -From f0e3bafa74b36f63e30ceb533b0f4e0844238f5b Mon Sep 17 00:00:00 2001 -From: Adam Williamson -Date: Thu, 12 Dec 2019 17:20:04 -0800 -Subject: [PATCH 2/2] Revert "libblkid: improve handling of ISO files with - partition tables" - -This reverts commit 7ef86a08914427d6486734614d7d3bbed1f108fe. ---- - libblkid/src/superblocks/iso9660.c | 37 --------- - .../blkid/iso-partitions-no_partitions | 9 --- - .../expected/blkid/iso-partitions-partitions | 25 ------ - tests/ts/blkid/iso-partitions | 71 ------------------ - tests/ts/blkid/iso-partitions.img.xz | Bin 1188 -> 0 bytes - 5 files changed, 142 deletions(-) - delete mode 100644 tests/expected/blkid/iso-partitions-no_partitions - delete mode 100644 tests/expected/blkid/iso-partitions-partitions - delete mode 100755 tests/ts/blkid/iso-partitions - delete mode 100644 tests/ts/blkid/iso-partitions.img.xz - -diff --git a/libblkid/src/superblocks/iso9660.c b/libblkid/src/superblocks/iso9660.c -index 730939f70..8dc2e5394 100644 ---- a/libblkid/src/superblocks/iso9660.c -+++ b/libblkid/src/superblocks/iso9660.c -@@ -13,7 +13,6 @@ - */ - #include - #include --#include - #include - #include - #include -@@ -166,37 +165,6 @@ static int is_str_empty(const unsigned char *str, size_t len) - return 1; - } - --/* -- * The ISO format specifically avoids the first 32kb to allow for a -- * partition table to be added, if desired. -- * When an ISO contains a partition table, the usual thing to do is to -- * have a partition that points at the iso filesystem. In such case, -- * we want to only probe the iso metadata for the corresponding partition -- * device, avoiding returning the metadata for the parent block device. -- */ --static bool isofs_belongs_to_device(blkid_probe pr) --{ -- dev_t devno; -- blkid_partlist ls; -- -- /* Get device number, but if that fails, assume we aren't dealing -- * with partitions, and continue probing. */ -- devno = blkid_probe_get_devno(pr); -- if (!devno) -- return true; -- -- /* Get partition table, but if that fails, assume we aren't dealing -- * with partitions, and continue probing. */ -- ls = blkid_probe_get_partitions(pr); -- if (!ls) -- return true; -- -- /* Check that the device we're working with corresponds to an -- * entry in the partition table. If so, this is the correct -- * device to return the iso metadata on. */ -- return blkid_partlist_devno_to_partition(ls, devno) != NULL; --} -- - /* iso9660 [+ Microsoft Joliet Extension] */ - static int probe_iso9660(blkid_probe pr, const struct blkid_idmag *mag) - { -@@ -212,11 +180,6 @@ static int probe_iso9660(blkid_probe pr, const struct blkid_idmag *mag) - if (!iso) - return errno ? -errno : 1; - -- /* Check if the iso metadata should be returned on a different device -- * instead of this one. */ -- if (!isofs_belongs_to_device(pr)) -- return 1; -- - memcpy(label, iso->volume_id, sizeof(label)); - - blkid_probe_set_block_size(pr, 2048); -diff --git a/tests/expected/blkid/iso-partitions-no_partitions b/tests/expected/blkid/iso-partitions-no_partitions -deleted file mode 100644 -index dbfd57a34..000000000 ---- a/tests/expected/blkid/iso-partitions-no_partitions -+++ /dev/null -@@ -1,9 +0,0 @@ --ID_FS_BLOCK_SIZE=2048 --ID_FS_PUBLISHER_ID=UTIL-LINUX --ID_FS_UUID=2019-09-24-09-31-05-00 --ID_FS_UUID_ENC=2019-09-24-09-31-05-00 --ID_FS_VERSION=Joliet\x20Extension --ID_FS_LABEL=ISOIMAGE --ID_FS_LABEL_ENC=ISOIMAGE --ID_FS_TYPE=iso9660 --ID_FS_USAGE=filesystem -diff --git a/tests/expected/blkid/iso-partitions-partitions b/tests/expected/blkid/iso-partitions-partitions -deleted file mode 100644 -index e34ca39fc..000000000 ---- a/tests/expected/blkid/iso-partitions-partitions -+++ /dev/null -@@ -1,25 +0,0 @@ --ID_PART_TABLE_TYPE=dos ---- --ID_FS_BLOCK_SIZE=2048 --ID_FS_PUBLISHER_ID=UTIL-LINUX --ID_FS_UUID=2019-09-24-09-31-05-00 --ID_FS_UUID_ENC=2019-09-24-09-31-05-00 --ID_FS_VERSION=Joliet\x20Extension --ID_FS_LABEL=ISOIMAGE --ID_FS_LABEL_ENC=ISOIMAGE --ID_FS_TYPE=iso9660 --ID_FS_USAGE=filesystem --ID_PART_TABLE_TYPE=dos --ID_PART_ENTRY_SCHEME=dos --ID_PART_ENTRY_TYPE=0x83 --ID_PART_ENTRY_NUMBER=1 --ID_PART_ENTRY_OFFSET=0 --ID_PART_ENTRY_SIZE=136 --ID_PART_ENTRY_DISK=__ts_majorminor__ ---- --ID_PART_ENTRY_SCHEME=dos --ID_PART_ENTRY_TYPE=0xef --ID_PART_ENTRY_NUMBER=2 --ID_PART_ENTRY_OFFSET=136 --ID_PART_ENTRY_SIZE=4096 --ID_PART_ENTRY_DISK=__ts_majorminor__ -diff --git a/tests/ts/blkid/iso-partitions b/tests/ts/blkid/iso-partitions -deleted file mode 100755 -index 02fdd4e50..000000000 ---- a/tests/ts/blkid/iso-partitions -+++ /dev/null -@@ -1,71 +0,0 @@ --#!/bin/bash -- --# --# Copyright (C) 2019 Endless Mobile, Inc. --# --# This file is part of util-linux. --# --# This file is free software; you can redistribute it and/or modify --# it under the terms of the GNU General Public License as published by --# the Free Software Foundation; either version 2 of the License, or --# (at your option) any later version. --# --# This file 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. --# -- --TS_TOPDIR="${0%/*}/../.." --TS_DESC="iso-partitions" -- --. $TS_TOPDIR/functions.sh -- --ts_init "$*" -- --ts_check_test_command "$TS_CMD_BLKID" --ts_check_test_command "$TS_CMD_PARTX" -- --ts_skip_nonroot -- --# set global variable TS_DEVICE --ts_scsi_debug_init dev_size_mb=50 -- --# This image (created by xorriso) has partition 1 pointing to the ISO --# area, followed by an unformatted second partition. --xz -dc ${TS_SELF}/iso-partitions.img.xz > ${TS_DEVICE} --udevadm settle -- --ts_init_subtest "partitions" --$TS_CMD_PARTX -a ${TS_DEVICE} &>/dev/null --udevadm settle -- --# Check that the ISO metadata is not shown on the main disk device --$TS_CMD_BLKID -p -o udev ${TS_DEVICE} >> $TS_OUTPUT --echo -- >> $TS_OUTPUT -- --# Check that the ISO metadata is shown on the "ISO partition" --$TS_CMD_BLKID -p -o udev ${TS_DEVICE}1 >> $TS_OUTPUT --echo -- >> $TS_OUTPUT -- --# Check that the ISO metadata is not shown on the other partition --$TS_CMD_BLKID -p -o udev ${TS_DEVICE}2 >> $TS_OUTPUT -- --# substitute major/minor number before comparison --sed -i \ -- -e 's/^\(ID_PART_ENTRY_DISK\)=.*/\1=__ts_majorminor__/' \ -- $TS_OUTPUT -- --ts_finalize_subtest -- --# Remove the partition table and check that the ISO metadata is shown on the --# main disk device. --ts_init_subtest "no_partitions" --dd if=/dev/zero of=${TS_DEVICE} bs=512 count=1 &>/dev/null --udevadm settle --$TS_CMD_PARTX -d ${TS_DEVICE} &>/dev/null --udevadm settle --$TS_CMD_BLKID -p -o udev ${TS_DEVICE} >> $TS_OUTPUT --ts_finalize_subtest -- --ts_finalize - --- -2.24.0 - diff --git a/sources b/sources index b5659fd..ff2c952 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (util-linux-2.35-rc1.tar.xz) = 1ecf0b6868409dad4a2cc6e7fda708b8bea939f0c2a02b97068d114dac316a3d27c27542e2b220fc4ebef307d6c78b4f318685c1b7877429689f794cb2d4dc7a +SHA512 (util-linux-2.35-rc1-20-63f8.tar.xz) = 0ed274a3b9954e60376bdf7842570fb844769e938d025572b67a9330e2f538dd792463f382a59038588bf63f26ba88579035c919d4f771f1c020bf66f2cfee6a diff --git a/util-linux.spec b/util-linux.spec index 023b9b0..d1c5d18 100644 --- a/util-linux.spec +++ b/util-linux.spec @@ -2,12 +2,12 @@ Summary: A collection of basic system utilities Name: util-linux Version: 2.35 -Release: 0.2%{?dist} +Release: 0.3%{?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}-rc1 +%define upstream_version %{version}-rc1-20-63f8 %define upstream_major %(eval echo %{version} | %{__sed} -e 's/\([[:digit:]]*\)\.\([[:digit:]]*\)\.[[:digit:]]*$/\1.\2/') %define compldir %{_datadir}/bash-completion/completions/ @@ -106,13 +106,6 @@ Requires: libfdisk = %{version}-%{release} # 151635 - makeing /var/log/lastlog Patch0: 2.28-login-lastlog-create.patch -# Revert https://github.com/karelzak/util-linux/commit/7ef86a0 -# to fix boot of installer and live images as optical media: -# https://bugzilla.redhat.com/show_bug.cgi?id=1783066 -# Other reversion is needed for this revert to be clean -Patch1: 0001-Revert-tests-add-missing-ts_check_prog-xz.patch -Patch2: 0002-Revert-libblkid-improve-handling-of-ISO-files-with-p.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 @@ -939,6 +932,10 @@ fi %{_libdir}/python*/site-packages/libmount/ %changelog +* 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 From 80deb7724939e8130871e84abd0cd98a1c4d8b2f Mon Sep 17 00:00:00 2001 From: Karel Zak Date: Fri, 20 Dec 2019 15:10:19 +0100 Subject: [PATCH 090/232] 2.35-0.4: fix agetty --- ...ep-freed-issue-file-pointer-zeroized.patch | 55 +++++++++++++++++++ util-linux.spec | 9 ++- 2 files changed, 63 insertions(+), 1 deletion(-) create mode 100644 0001-agetty-keep-freed-issue-file-pointer-zeroized.patch diff --git a/0001-agetty-keep-freed-issue-file-pointer-zeroized.patch b/0001-agetty-keep-freed-issue-file-pointer-zeroized.patch new file mode 100644 index 0000000..a5441b1 --- /dev/null +++ b/0001-agetty-keep-freed-issue-file-pointer-zeroized.patch @@ -0,0 +1,55 @@ +From 9418ba6d05feed6061f5343741b1bc56e7bde663 Mon Sep 17 00:00:00 2001 +From: Karel Zak +Date: Fri, 20 Dec 2019 15:05:33 +0100 +Subject: [PATCH] agetty: keep freed issue file pointer zeroized + +References: https://bugzilla.redhat.com/show_bug.cgi?id=1784536 +Signed-off-by: Karel Zak +--- + term-utils/agetty.c | 15 +++++++++++---- + 1 file changed, 11 insertions(+), 4 deletions(-) + +diff --git a/term-utils/agetty.c b/term-utils/agetty.c +index 3c20acc98..dfc4921f5 100644 +--- a/term-utils/agetty.c ++++ b/term-utils/agetty.c +@@ -1820,8 +1820,12 @@ static int issuefile_read_stream( + if (fstat(fileno(f), &st) || !S_ISREG(st.st_mode)) + return 1; + +- if (!ie->output) +- ie->output = open_memstream(&ie->mem, &ie->mem_sz); ++ if (!ie->output) { ++ free(ie->mem); ++ ie->mem_sz = 0; ++ ie->mem = NULL; ++ ie->output = open_memstream(&ie->mem, &ie->mem_sz); ++ } + + while ((c = getc(f)) != EOF) { + if (c == '\\') +@@ -1965,8 +1969,10 @@ done: + if (netlink_groups != 0) + open_netlink(); + #endif +- if (ie->output) ++ if (ie->output) { + fclose(ie->output); ++ ie->output = NULL; ++ } + } + + /* This is --show-issue backend, executed by normal user on the current +@@ -1985,7 +1991,8 @@ static void show_issue(struct options *op) + + if (ie.mem_sz) + write_all(STDOUT_FILENO, ie.mem, ie.mem_sz); +- ++ if (ie.output) ++ fclose(ie.output); + free(ie.mem); + } + +-- +2.21.0 + diff --git a/util-linux.spec b/util-linux.spec index d1c5d18..88fd569 100644 --- a/util-linux.spec +++ b/util-linux.spec @@ -2,7 +2,7 @@ Summary: A collection of basic system utilities Name: util-linux Version: 2.35 -Release: 0.3%{?dist} +Release: 0.4%{?dist} License: GPLv2 and GPLv2+ and LGPLv2+ and BSD with advertising and Public Domain URL: http://en.wikipedia.org/wiki/Util-linux @@ -106,6 +106,10 @@ Requires: libfdisk = %{version}-%{release} # 151635 - makeing /var/log/lastlog Patch0: 2.28-login-lastlog-create.patch +# 1784536 - Segfaults in agetty during Cloud image testing +Patch1: 0001-agetty-keep-freed-issue-file-pointer-zeroized.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 @@ -932,6 +936,9 @@ fi %{_libdir}/python*/site-packages/libmount/ %changelog +* 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 From 7c4fd7f42a25750667b2381687db5927bcab9437 Mon Sep 17 00:00:00 2001 From: Karel Zak Date: Thu, 9 Jan 2020 10:48:10 +0100 Subject: [PATCH 091/232] 2.35-0.5: upgrade to usptream -rc2 --- .gitignore | 1 + sources | 2 +- util-linux.spec | 11 +++++------ 3 files changed, 7 insertions(+), 7 deletions(-) diff --git a/.gitignore b/.gitignore index 5cb48e9..ae470ca 100644 --- a/.gitignore +++ b/.gitignore @@ -73,3 +73,4 @@ /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 diff --git a/sources b/sources index ff2c952..0e7f23a 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (util-linux-2.35-rc1-20-63f8.tar.xz) = 0ed274a3b9954e60376bdf7842570fb844769e938d025572b67a9330e2f538dd792463f382a59038588bf63f26ba88579035c919d4f771f1c020bf66f2cfee6a +SHA512 (util-linux-2.35-rc2.tar.xz) = 7c59608ba64f9fb377d350dbed9ac332707537d862dd13da65be95b0837b2da7ca54c111dad05b08f08563ec32eeb117f27ce10c904bc7a56f7c7eca4ac1a754 diff --git a/util-linux.spec b/util-linux.spec index 88fd569..5965932 100644 --- a/util-linux.spec +++ b/util-linux.spec @@ -2,12 +2,12 @@ Summary: A collection of basic system utilities Name: util-linux Version: 2.35 -Release: 0.4%{?dist} +Release: 0.5%{?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}-rc1-20-63f8 +%define upstream_version %{version}-rc2 %define upstream_major %(eval echo %{version} | %{__sed} -e 's/\([[:digit:]]*\)\.\([[:digit:]]*\)\.[[:digit:]]*$/\1.\2/') %define compldir %{_datadir}/bash-completion/completions/ @@ -106,10 +106,6 @@ Requires: libfdisk = %{version}-%{release} # 151635 - makeing /var/log/lastlog Patch0: 2.28-login-lastlog-create.patch -# 1784536 - Segfaults in agetty during Cloud image testing -Patch1: 0001-agetty-keep-freed-issue-file-pointer-zeroized.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 @@ -936,6 +932,9 @@ fi %{_libdir}/python*/site-packages/libmount/ %changelog +* 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 From b3e437baf20b8cc09f9bd2c8cf6ec05a5872d6d3 Mon Sep 17 00:00:00 2001 From: Karel Zak Date: Tue, 21 Jan 2020 12:13:20 +0100 Subject: [PATCH 092/232] 2.35-1: upgrade --- .gitignore | 1 + sources | 2 +- util-linux.spec | 7 +++++-- 3 files changed, 7 insertions(+), 3 deletions(-) diff --git a/.gitignore b/.gitignore index ae470ca..9733286 100644 --- a/.gitignore +++ b/.gitignore @@ -74,3 +74,4 @@ /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 diff --git a/sources b/sources index 0e7f23a..29bcec3 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (util-linux-2.35-rc2.tar.xz) = 7c59608ba64f9fb377d350dbed9ac332707537d862dd13da65be95b0837b2da7ca54c111dad05b08f08563ec32eeb117f27ce10c904bc7a56f7c7eca4ac1a754 +SHA512 (util-linux-2.35.tar.xz) = c95d26b9037d6b877a247e6aeb58d17aa80f7e1bd6b523a4e0fde559fe07b3d924ece6d373300fefb65d1f206b3f990aeddb3a03605040e72ce6d6ee88591021 diff --git a/util-linux.spec b/util-linux.spec index 5965932..a4c57df 100644 --- a/util-linux.spec +++ b/util-linux.spec @@ -2,12 +2,12 @@ Summary: A collection of basic system utilities Name: util-linux Version: 2.35 -Release: 0.5%{?dist} +Release: 1%{?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}-rc2 +%define upstream_version %{version} %define upstream_major %(eval echo %{version} | %{__sed} -e 's/\([[:digit:]]*\)\.\([[:digit:]]*\)\.[[:digit:]]*$/\1.\2/') %define compldir %{_datadir}/bash-completion/completions/ @@ -932,6 +932,9 @@ fi %{_libdir}/python*/site-packages/libmount/ %changelog +* 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 From 028de3ee58064f0ddef933bc54295af60fc424cb Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Fri, 31 Jan 2020 02:50:05 +0000 Subject: [PATCH 093/232] - Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild Signed-off-by: Fedora Release Engineering --- util-linux.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/util-linux.spec b/util-linux.spec index a4c57df..c950d86 100644 --- a/util-linux.spec +++ b/util-linux.spec @@ -2,7 +2,7 @@ Summary: A collection of basic system utilities Name: util-linux Version: 2.35 -Release: 1%{?dist} +Release: 2%{?dist} License: GPLv2 and GPLv2+ and LGPLv2+ and BSD with advertising and Public Domain URL: http://en.wikipedia.org/wiki/Util-linux @@ -932,6 +932,9 @@ fi %{_libdir}/python*/site-packages/libmount/ %changelog +* 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 From 086a8aa5c9b59573da9dd9a0232d679c226e33a6 Mon Sep 17 00:00:00 2001 From: Karel Zak Date: Mon, 3 Feb 2020 11:08:00 +0100 Subject: [PATCH 094/232] 2.35.1-1: upstream upgrade --- .gitignore | 1 + sources | 2 +- util-linux.spec | 23 +++++++++++------------ 3 files changed, 13 insertions(+), 13 deletions(-) diff --git a/.gitignore b/.gitignore index 9733286..02b5d18 100644 --- a/.gitignore +++ b/.gitignore @@ -75,3 +75,4 @@ /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 diff --git a/sources b/sources index 29bcec3..519bfd7 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (util-linux-2.35.tar.xz) = c95d26b9037d6b877a247e6aeb58d17aa80f7e1bd6b523a4e0fde559fe07b3d924ece6d373300fefb65d1f206b3f990aeddb3a03605040e72ce6d6ee88591021 +SHA512 (util-linux-2.35.1.tar.xz) = 6e27e08bfc02378970f015decfea5a52d6c342c4c8f4ac48dd07d248485eb797e506d91d290dbbca344c3e5cfe1fc150db80a23d510367427232f5abeabe591a diff --git a/util-linux.spec b/util-linux.spec index c950d86..cfd586b 100644 --- a/util-linux.spec +++ b/util-linux.spec @@ -1,8 +1,8 @@ ### Header Summary: A collection of basic system utilities Name: util-linux -Version: 2.35 -Release: 2%{?dist} +Version: 2.35.1 +Release: 1%{?dist} License: GPLv2 and GPLv2+ and LGPLv2+ and BSD with advertising and Public Domain URL: http://en.wikipedia.org/wiki/Util-linux @@ -41,10 +41,12 @@ BuildRequires: gcc %ifarch ppc64le BuildRequires: librtas-devel %endif -BuildRequires: autoconf -BuildRequires: automake -BuildRequires: libtool -BuildRequires: bison + +# 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 @@ -274,12 +276,6 @@ chfn and chsh utilities with dependence on libuser %build unset LINGUAS || : -# unfortunately, we did changes to build-system -./autogen.sh - -# we modify .po files by RHEL patches -rm -f po/stamp* - 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" @@ -932,6 +928,9 @@ fi %{_libdir}/python*/site-packages/libmount/ %changelog +* 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 From 523a7c4f54d89420e0b7e195b10adf0e776ab25a Mon Sep 17 00:00:00 2001 From: Karel Zak Date: Tue, 4 Feb 2020 15:31:56 +0100 Subject: [PATCH 095/232] 2.35.1-2: sfdisk issue --- ...accept-sector-size-ignore-unknown-he.patch | 134 ++++++++++++++++++ util-linux.spec | 7 +- 2 files changed, 140 insertions(+), 1 deletion(-) create mode 100644 0001-libfdisk-script-accept-sector-size-ignore-unknown-he.patch diff --git a/0001-libfdisk-script-accept-sector-size-ignore-unknown-he.patch b/0001-libfdisk-script-accept-sector-size-ignore-unknown-he.patch new file mode 100644 index 0000000..9d624f2 --- /dev/null +++ b/0001-libfdisk-script-accept-sector-size-ignore-unknown-he.patch @@ -0,0 +1,134 @@ +From 00e53f17c8462cb34ece08cc10db60a7da29a305 Mon Sep 17 00:00:00 2001 +From: Karel Zak +Date: Tue, 4 Feb 2020 15:11:19 +0100 +Subject: [PATCH] libfdisk: (script) accept sector-size, ignore unknown headers + +- add sector-size between supported headers (already in --dump output) + +- report unknown headers by -ENOTSUP + +- ignore ENOTSUP in sfdisk (but print warning) and in fdisk_script_read_file() + +Addresses: https://github.com/karelzak/util-linux/issues/949 +Signed-off-by: Karel Zak +--- + disk-utils/sfdisk.c | 6 +++++- + libfdisk/src/script.c | 49 +++++++++++++++++++++++-------------------- + 2 files changed, 31 insertions(+), 24 deletions(-) + +diff --git a/disk-utils/sfdisk.c b/disk-utils/sfdisk.c +index bb6e1c6df..c0bea7046 100644 +--- a/disk-utils/sfdisk.c ++++ b/disk-utils/sfdisk.c +@@ -1782,7 +1782,11 @@ static int command_fdisk(struct sfdisk *sf, int argc, char **argv) + } + + rc = fdisk_script_read_line(dp, stdin, buf, sizeof(buf)); +- if (rc < 0) { ++ if (rc == -ENOTSUP) { ++ buf[sizeof(buf) - 1] = '\0'; ++ fdisk_warnx(sf->cxt, _("Unknown script header '%s' -- ignore."), buf); ++ continue; ++ } else if (rc < 0) { + DBG(PARSE, ul_debug("script parsing failed, trying sfdisk specific commands")); + buf[sizeof(buf) - 1] = '\0'; + rc = loop_control_commands(sf, dp, buf); +diff --git a/libfdisk/src/script.c b/libfdisk/src/script.c +index a21771b6a..d3e67fa9c 100644 +--- a/libfdisk/src/script.c ++++ b/libfdisk/src/script.c +@@ -805,8 +805,12 @@ static inline int is_header_line(const char *s) + /* parses ": value", note modifies @s*/ + static int parse_line_header(struct fdisk_script *dp, char *s) + { +- int rc = -EINVAL; ++ size_t i; + char *name, *value; ++ static const char *supported[] = { ++ "label", "unit", "label-id", "device", "grain", ++ "first-lba", "last-lba", "table-length", "sector-size" ++ }; + + DBG(SCRIPT, ul_debugobj(dp, " parse header '%s'", s)); + +@@ -816,7 +820,7 @@ static int parse_line_header(struct fdisk_script *dp, char *s) + name = s; + value = strchr(s, ':'); + if (!value) +- goto done; ++ return -EINVAL; + *value = '\0'; + value++; + +@@ -825,32 +829,30 @@ static int parse_line_header(struct fdisk_script *dp, char *s) + ltrim_whitespace((unsigned char *) value); + rtrim_whitespace((unsigned char *) value); + ++ if (!*name || !*value) ++ return -EINVAL; ++ ++ /* check header name */ ++ for (i = 0; i < ARRAY_SIZE(supported); i++) { ++ if (strcmp(name, supported[i]) == 0) ++ break; ++ } ++ if (i == ARRAY_SIZE(supported)) ++ return -ENOTSUP; ++ ++ /* header specific actions */ + if (strcmp(name, "label") == 0) { + if (dp->cxt && !fdisk_get_label(dp->cxt, value)) +- goto done; /* unknown label name */ ++ return -EINVAL; /* unknown label name */ + dp->force_label = 1; ++ + } else if (strcmp(name, "unit") == 0) { + if (strcmp(value, "sectors") != 0) +- goto done; /* only "sectors" supported */ +- } else if (strcmp(name, "label-id") == 0 +- || strcmp(name, "device") == 0 +- || strcmp(name, "grain") == 0 +- || strcmp(name, "first-lba") == 0 +- || strcmp(name, "last-lba") == 0 +- || strcmp(name, "table-length") == 0) { +- ; /* whatever is possible */ +- } else +- goto done; /* unknown header */ ++ return -EINVAL; /* only "sectors" supported */ + +- if (*name && *value) +- rc = fdisk_script_set_header(dp, name, value); +-done: +- if (rc) +- DBG(SCRIPT, ul_debugobj(dp, "header parse error: " +- "[rc=%d, name='%s', value='%s']", +- rc, name, value)); +- return rc; ++ } + ++ return fdisk_script_set_header(dp, name, value); + } + + /* returns zero terminated string with next token and @str is updated */ +@@ -1363,7 +1365,8 @@ int fdisk_script_set_fgets(struct fdisk_script *dp, + * + * Reads next line into dump. + * +- * Returns: 0 on success, <0 on error, 1 when nothing to read. ++ * Returns: 0 on success, <0 on error, 1 when nothing to read. For unknown headers ++ * returns -ENOTSUP, it's usually safe to ignore this error. + */ + int fdisk_script_read_line(struct fdisk_script *dp, FILE *f, char *buf, size_t bufsz) + { +@@ -1428,7 +1431,7 @@ int fdisk_script_read_file(struct fdisk_script *dp, FILE *f) + + while (!feof(f)) { + rc = fdisk_script_read_line(dp, f, buf, sizeof(buf)); +- if (rc) ++ if (rc && rc != -ENOTSUP) + break; + } + +-- +2.24.1 + diff --git a/util-linux.spec b/util-linux.spec index cfd586b..0d44777 100644 --- a/util-linux.spec +++ b/util-linux.spec @@ -2,7 +2,7 @@ Summary: A collection of basic system utilities Name: util-linux Version: 2.35.1 -Release: 1%{?dist} +Release: 2%{?dist} License: GPLv2 and GPLv2+ and LGPLv2+ and BSD with advertising and Public Domain URL: http://en.wikipedia.org/wiki/Util-linux @@ -107,6 +107,8 @@ Requires: libfdisk = %{version}-%{release} ### # 151635 - makeing /var/log/lastlog Patch0: 2.28-login-lastlog-create.patch +# https://github.com/karelzak/util-linux/issues/949 +Patch1: 0001-libfdisk-script-accept-sector-size-ignore-unknown-he.patch %description The util-linux package contains a large variety of low-level system @@ -928,6 +930,9 @@ fi %{_libdir}/python*/site-packages/libmount/ %changelog +* 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 From 2831759869bed6e25a9a2f7dda67e9e8b844858a Mon Sep 17 00:00:00 2001 From: Karel Zak Date: Tue, 4 Feb 2020 16:33:07 +0100 Subject: [PATCH 096/232] 2.35.1-3: fix fstrim.service --- ...e-Protect-setting-in-systemd-service.patch | 34 +++++++++++++++++++ util-linux.spec | 7 +++- 2 files changed, 40 insertions(+), 1 deletion(-) create mode 100644 0002-fstrim-do-not-use-Protect-setting-in-systemd-service.patch diff --git a/0002-fstrim-do-not-use-Protect-setting-in-systemd-service.patch b/0002-fstrim-do-not-use-Protect-setting-in-systemd-service.patch new file mode 100644 index 0000000..5ba1d2b --- /dev/null +++ b/0002-fstrim-do-not-use-Protect-setting-in-systemd-service.patch @@ -0,0 +1,34 @@ +From 61b384b36105fe682ddf16b9379f446d935603bc Mon Sep 17 00:00:00 2001 +From: Karel Zak +Date: Tue, 4 Feb 2020 16:17:42 +0100 +Subject: [PATCH] fstrim: do not use Protect setting in systemd service + +The ProtectHome= and ProtectSystem= settings mounts all stuff for the service in read-only mode. + +The fstrim ioctl operates on read-only mountpoint file descriptor, but +on some read-only filesystem the operation can fail, so since +2d22ac64e4 we check for read-only volumes and skip it. + +References: Upstream: http://github.com/karelzak/util-linux/commit/2d22ac64e4d6e6732640f38b7232b5bcdc84a877 +Addresses: https://github.com/karelzak/util-linux/issues/948 +Signed-off-by: Karel Zak +--- + sys-utils/fstrim.service.in | 2 -- + 1 file changed, 2 deletions(-) + +diff --git a/sys-utils/fstrim.service.in b/sys-utils/fstrim.service.in +index a8b631730..b58728ef4 100644 +--- a/sys-utils/fstrim.service.in ++++ b/sys-utils/fstrim.service.in +@@ -6,8 +6,6 @@ ConditionVirtualization=!container + [Service] + Type=oneshot + ExecStart=@sbindir@/fstrim --fstab --verbose --quiet +-ProtectSystem=strict +-ProtectHome=read-only + PrivateDevices=no + PrivateNetwork=yes + PrivateUsers=no +-- +2.24.1 + diff --git a/util-linux.spec b/util-linux.spec index 0d44777..2e29cac 100644 --- a/util-linux.spec +++ b/util-linux.spec @@ -2,7 +2,7 @@ Summary: A collection of basic system utilities Name: util-linux Version: 2.35.1 -Release: 2%{?dist} +Release: 3%{?dist} License: GPLv2 and GPLv2+ and LGPLv2+ and BSD with advertising and Public Domain URL: http://en.wikipedia.org/wiki/Util-linux @@ -109,6 +109,8 @@ Requires: libfdisk = %{version}-%{release} Patch0: 2.28-login-lastlog-create.patch # https://github.com/karelzak/util-linux/issues/949 Patch1: 0001-libfdisk-script-accept-sector-size-ignore-unknown-he.patch +# https://github.com/karelzak/util-linux/issues/948 +Patch2: 0002-fstrim-do-not-use-Protect-setting-in-systemd-service.patch %description The util-linux package contains a large variety of low-level system @@ -930,6 +932,9 @@ fi %{_libdir}/python*/site-packages/libmount/ %changelog +* 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) From 20ae04497c34f190e461e47d01ea34c4bbac8116 Mon Sep 17 00:00:00 2001 From: Karel Zak Date: Thu, 6 Feb 2020 11:59:30 +0100 Subject: [PATCH 097/232] 2.35.1-4: enable fstrim.timer when upgrading During upgrades of Fedora 30/31 to 32/33, enable fstrim.timer per the new vendor preset so they're the same as a clean install. Addresses: https://fedoraproject.org/wiki/Changes/EnableFSTrimTimer Addresses: https://pagure.io/fesco/issue/2309 --- util-linux.spec | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/util-linux.spec b/util-linux.spec index 2e29cac..cd6f33d 100644 --- a/util-linux.spec +++ b/util-linux.spec @@ -2,7 +2,7 @@ Summary: A collection of basic system utilities Name: util-linux Version: 2.35.1 -Release: 3%{?dist} +Release: 4%{?dist} License: GPLv2 and GPLv2+ and LGPLv2+ and BSD with advertising and Public Domain URL: http://en.wikipedia.org/wiki/Util-linux @@ -483,6 +483,8 @@ fi %postun -n uuidd %systemd_postun_with_restart uuidd.service +%triggerpostun -- fedora-release < 32 +%systemd_post fstrim.timer %files -f %{name}.files %doc README NEWS AUTHORS @@ -932,6 +934,9 @@ fi %{_libdir}/python*/site-packages/libmount/ %changelog +* 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) From f1bf9845c349d7c515ae9aed59e7e05591333f89 Mon Sep 17 00:00:00 2001 From: Karel Zak Date: Tue, 25 Feb 2020 15:57:29 +0100 Subject: [PATCH 098/232] 2.35.1-5: fix lsblk -P --- 0003-lsblk-fix-P-regression-from-v2.34.patch | 80 ++++++++++++++++++++ util-linux.spec | 7 +- 2 files changed, 86 insertions(+), 1 deletion(-) create mode 100644 0003-lsblk-fix-P-regression-from-v2.34.patch diff --git a/0003-lsblk-fix-P-regression-from-v2.34.patch b/0003-lsblk-fix-P-regression-from-v2.34.patch new file mode 100644 index 0000000..6d9b6da --- /dev/null +++ b/0003-lsblk-fix-P-regression-from-v2.34.patch @@ -0,0 +1,80 @@ +From 91b636b5654576d0b808d0030ca9d773099e1db9 Mon Sep 17 00:00:00 2001 +From: Karel Zak +Date: Tue, 25 Feb 2020 15:31:23 +0100 +Subject: [PATCH] lsblk: fix -P regression from v2.34 + +Since v2.34 --list prints devices only once to make the output +user-readable. Unfortunately, it's regression for scripts/applications +where we need to parse lsblk output. So, let's make --pairs and --raw +backwardly compatible with versions before 2.34 and print all hierarchy. + +Addresses: https://github.com/ibm-s390-tools/s390-tools/issues/80 +Signed-off-by: Karel Zak +--- + misc-utils/lsblk.8 | 10 ++++++---- + misc-utils/lsblk.c | 9 +++++---- + 2 files changed, 11 insertions(+), 8 deletions(-) + +diff --git a/misc-utils/lsblk.8 b/misc-utils/lsblk.8 +index 373a80ee2..416b28298 100644 +--- a/misc-utils/lsblk.8 ++++ b/misc-utils/lsblk.8 +@@ -96,7 +96,8 @@ also \fB\-\-tree\fR if necessary. + .BR \-l , " \-\-list" + Produce output in the form of a list. The output does not provide information + about relationships between devices and since version 2.34 every device is +-printed only once. ++printed only once if \fB\-\-pairs\fR or \fB\-\-raw\fR not specified (the ++parsable outputs are maintained in backwardly compatible way). + .TP + .BR \-M , " \-\-merge" + Group parents of sub-trees to provide more readable output for RAIDs and +@@ -122,14 +123,15 @@ specified in the format \fI+list\fP (e.g., \fBlsblk \-o +UUID\fP). + Output all available columns. + .TP + .BR \-P , " \-\-pairs" +-Produce output in the form of key="value" pairs. +-All potentially unsafe characters are hex-escaped (\\x). ++Produce output in the form of key="value" pairs. The output lines are still ordered by ++dependencies. All potentially unsafe characters are hex-escaped (\\x). + .TP + .BR \-p , " \-\-paths" + Print full device paths. + .TP + .BR \-r , " \-\-raw" +-Produce output in raw format. All potentially unsafe characters are hex-escaped ++Produce output in raw format. The output lines are still ordered by ++dependencies. All potentially unsafe characters are hex-escaped + (\\x) in the NAME, KNAME, LABEL, PARTLABEL and MOUNTPOINT columns. + .TP + .BR \-S , " \-\-scsi" +diff --git a/misc-utils/lsblk.c b/misc-utils/lsblk.c +index 441655e24..72ac7b483 100644 +--- a/misc-utils/lsblk.c ++++ b/misc-utils/lsblk.c +@@ -1058,8 +1058,8 @@ static void device_to_scols( + if (!parent && dev->wholedisk) + parent = dev->wholedisk; + +- /* Do not print device more than one in --list mode */ +- if (!(lsblk->flags & LSBLK_TREE) && dev->is_printed) ++ /* Do not print device more than once on --list if tree order is not requested */ ++ if (!(lsblk->flags & LSBLK_TREE) && !lsblk->force_tree_order && dev->is_printed) + return; + + if (lsblk->merge && list_count_entries(&dev->parents) > 1) { +@@ -2044,8 +2044,9 @@ int main(int argc, char *argv[]) + * /sys is no more sorted */ + lsblk->sort_id = COL_MAJMIN; + +- /* For --inverse --list we still follow parent->child relation */ +- if (lsblk->inverse && !(lsblk->flags & LSBLK_TREE)) ++ /* For --{inverse,raw,pairs} --list we still follow parent->child relation */ ++ if (!(lsblk->flags & LSBLK_TREE) ++ && (lsblk->inverse || lsblk->flags & LSBLK_EXPORT || lsblk->flags & LSBLK_RAW)) + lsblk->force_tree_order = 1; + + if (lsblk->sort_id >= 0 && column_id_to_number(lsblk->sort_id) < 0) { +-- +2.24.1 + diff --git a/util-linux.spec b/util-linux.spec index cd6f33d..ac93504 100644 --- a/util-linux.spec +++ b/util-linux.spec @@ -2,7 +2,7 @@ Summary: A collection of basic system utilities Name: util-linux Version: 2.35.1 -Release: 4%{?dist} +Release: 5%{?dist} License: GPLv2 and GPLv2+ and LGPLv2+ and BSD with advertising and Public Domain URL: http://en.wikipedia.org/wiki/Util-linux @@ -111,6 +111,8 @@ Patch0: 2.28-login-lastlog-create.patch Patch1: 0001-libfdisk-script-accept-sector-size-ignore-unknown-he.patch # https://github.com/karelzak/util-linux/issues/948 Patch2: 0002-fstrim-do-not-use-Protect-setting-in-systemd-service.patch +# https://github.com/ibm-s390-tools/s390-tools/issues/80 +Patch3: 0003-lsblk-fix-P-regression-from-v2.34.patch %description The util-linux package contains a large variety of low-level system @@ -934,6 +936,9 @@ fi %{_libdir}/python*/site-packages/libmount/ %changelog +* 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) From 9a75633915424f681be1d7fbd570c81560804adf Mon Sep 17 00:00:00 2001 From: Karel Zak Date: Thu, 19 Mar 2020 10:22:45 +0100 Subject: [PATCH 099/232] 2.35.1-6: fix #1811506 (triggerpostun) --- util-linux.spec | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/util-linux.spec b/util-linux.spec index ac93504..91e90a9 100644 --- a/util-linux.spec +++ b/util-linux.spec @@ -2,7 +2,7 @@ Summary: A collection of basic system utilities Name: util-linux Version: 2.35.1 -Release: 5%{?dist} +Release: 6%{?dist} License: GPLv2 and GPLv2+ and LGPLv2+ and BSD with advertising and Public Domain URL: http://en.wikipedia.org/wiki/Util-linux @@ -485,7 +485,7 @@ fi %postun -n uuidd %systemd_postun_with_restart uuidd.service -%triggerpostun -- fedora-release < 32 +%triggerpostun -- util-linux < 2.35 %systemd_post fstrim.timer %files -f %{name}.files @@ -936,6 +936,9 @@ fi %{_libdir}/python*/site-packages/libmount/ %changelog +* 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. From 580f0fece06126aa68c59586590a9f2531ba7cce Mon Sep 17 00:00:00 2001 From: Kalev Lember Date: Tue, 24 Mar 2020 13:50:01 +0100 Subject: [PATCH 100/232] Another attempt at enabling fstrim.timer on F32 upgrades (#1811506) Avoid using %systemd_post as it is guarding the trigger with '$1 -eq 1' which not true for %triggerpostun (it's 2 for updates in triggerpostun). Also, while at this, fine-tune the trigger condition to trigger for package updates from older F32 versions as well -- this makes it much easier to test this fix, and also fixes fstrim.timer for anyone who installed from F32 beta media. --- util-linux.spec | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/util-linux.spec b/util-linux.spec index 91e90a9..a76c5a3 100644 --- a/util-linux.spec +++ b/util-linux.spec @@ -2,7 +2,7 @@ Summary: A collection of basic system utilities Name: util-linux Version: 2.35.1 -Release: 6%{?dist} +Release: 7%{?dist} License: GPLv2 and GPLv2+ and LGPLv2+ and BSD with advertising and Public Domain URL: http://en.wikipedia.org/wiki/Util-linux @@ -485,8 +485,11 @@ fi %postun -n uuidd %systemd_postun_with_restart uuidd.service -%triggerpostun -- util-linux < 2.35 -%systemd_post fstrim.timer +%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 @@ -936,6 +939,9 @@ fi %{_libdir}/python*/site-packages/libmount/ %changelog +* 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) From 7c81cc769ffa275f94b333933d8de230c99a0e61 Mon Sep 17 00:00:00 2001 From: Karel Zak Date: Wed, 15 Apr 2020 09:57:05 +0200 Subject: [PATCH 101/232] 2.35.1-8: fix #1822226 #1823463 --- 0004-hwclock-make-glibc-2.31-compatible.patch | 165 ++++++++++++++++++ util-linux-login.pamd | 1 - util-linux.spec | 8 +- 3 files changed, 172 insertions(+), 2 deletions(-) create mode 100644 0004-hwclock-make-glibc-2.31-compatible.patch diff --git a/0004-hwclock-make-glibc-2.31-compatible.patch b/0004-hwclock-make-glibc-2.31-compatible.patch new file mode 100644 index 0000000..2feec6a --- /dev/null +++ b/0004-hwclock-make-glibc-2.31-compatible.patch @@ -0,0 +1,165 @@ +From 0967f9a3f18e0320571db8dbc347c1e38b97f286 Mon Sep 17 00:00:00 2001 +From: J William Piggott +Date: Fri, 21 Feb 2020 20:03:47 -0500 +Subject: [PATCH] hwclock: make glibc 2.31 compatible + +______________________________________________________ +GNU C Library NEWS -- history of user-visible changes. +Version 2.31 +Deprecated and removed features, and other changes affecting compatibility: + +* The settimeofday function can still be used to set a system-wide time + zone when the operating system supports it. This is because the Linux + kernel reused the API, on some architectures, to describe a system-wide + time-zone-like offset between the software clock maintained by the kernel, + and the "RTC" clock that keeps time when the system is shut down. + + However, to reduce the odds of this offset being set by accident, + settimeofday can no longer be used to set the time and the offset + simultaneously. If both of its two arguments are non-null, the call + will fail (setting errno to EINVAL). + + Callers attempting to set this offset should also be prepared for the call + to fail and set errno to ENOSYS; this already happens on the Hurd and on + some Linux architectures. The Linux kernel maintainers are discussing a + more principled replacement for the reused API. After a replacement + becomes available, we will change settimeofday to fail with ENOSYS on all + platforms when its 'tzp' argument is not a null pointer. + + settimeofday itself is obsolescent according to POSIX. Programs that set + the system time should use clock_settime and/or the adjtime family of + functions instead. We may cease to make settimeofday available to newly + linked binaries after there is a replacement for Linux's time-zone-like + offset API. +______________________________________________________ + +hwclock(8) had one settimeofday(2) call where both args were set for +--hctosys when the RTC was ticking UTC. This allowed setting the system +time, timezone, and locking the warp_clock function with a single call. +That operation now takes 3 calls of settimeofday(2). + +Although this common operation now takes three calls, the overall logic +for the set_system_clock() function was simplified. + +Co-Author: Karel Zak +Signed-off-by: J William Piggott +--- + sys-utils/hwclock.c | 71 +++++++++++++++++++++++---------------------- + 1 file changed, 37 insertions(+), 34 deletions(-) + +diff --git a/sys-utils/hwclock.c b/sys-utils/hwclock.c +index e736da717..1191a8571 100644 +--- a/sys-utils/hwclock.c ++++ b/sys-utils/hwclock.c +@@ -643,28 +643,28 @@ display_time(struct timeval hwctime) + * tz.tz_minuteswest argument and sets PCIL (see below). At boot settimeofday(2) + * has one-shot access to this function as shown in the table below. + * +- * +-------------------------------------------------------------------+ +- * | settimeofday(tv, tz) | +- * |-------------------------------------------------------------------| +- * | Arguments | System Time | PCIL | | warp_clock | +- * | tv | tz | set | warped | set | firsttime | locked | +- * |---------|---------|---------------|------|-----------|------------| +- * | pointer | NULL | yes | no | no | 1 | no | +- * | pointer | pointer | yes | no | no | 0 | yes | +- * | NULL | ptr2utc | no | no | no | 0 | yes | +- * | NULL | pointer | no | yes | yes | 0 | yes | +- * +-------------------------------------------------------------------+ ++ * +-------------------------------------------------------------------------+ ++ * | settimeofday(tv, tz) | ++ * |-------------------------------------------------------------------------| ++ * | Arguments | System Time | TZ | PCIL | | warp_clock | ++ * | tv | tz | set | warped | set | set | firsttime | locked | ++ * |---------|---------|---------------|-----|------|-----------|------------| ++ * | pointer | NULL | yes | no | no | no | 1 | no | ++ * | NULL | ptr2utc | no | no | yes | no | 0 | yes | ++ * | NULL | pointer | no | yes | yes | yes | 0 | yes | ++ * +-------------------------------------------------------------------------+ + * ptr2utc: tz.tz_minuteswest is zero (UTC). + * PCIL: persistent_clock_is_local, sets the "11 minute mode" timescale. + * firsttime: locks the warp_clock function (initialized to 1 at boot). ++ * Since glibc v2.31 settimeofday() will fail if both args are non NULL + * + * +---------------------------------------------------------------------------+ + * | op | RTC scale | settimeofday calls | + * |---------|-----------|-----------------------------------------------------| + * | systz | Local | 1) warps system time*, sets PCIL* and kernel tz | + * | systz | UTC | 1st) locks warp_clock* 2nd) sets kernel tz | +- * | hctosys | Local | 1st) sets PCIL* 2nd) sets system time and kernel tz | +- * | hctosys | UTC | 1) sets system time and kernel tz | ++ * | hctosys | Local | 1st) sets PCIL* & kernel tz 2nd) sets system time | ++ * | hctosys | UTC | 1st) locks warp* 2nd) sets tz 3rd) sets system time | + * +---------------------------------------------------------------------------+ + * * only on first call after boot + */ +@@ -675,42 +675,45 @@ set_system_clock(const struct hwclock_control *ctl, + struct tm broken; + int minuteswest; + int rc = 0; +- const struct timezone tz_utc = { 0 }; + + localtime_r(&newtime.tv_sec, &broken); + minuteswest = -get_gmtoff(&broken) / 60; + + if (ctl->verbose) { +- if (ctl->hctosys && !ctl->universal) +- printf(_("Calling settimeofday(NULL, %d) to set " +- "persistent_clock_is_local.\n"), minuteswest); +- if (ctl->systz && ctl->universal) ++ if (ctl->universal) { + puts(_("Calling settimeofday(NULL, 0) " +- "to lock the warp function.")); ++ "to lock the warp_clock function.")); ++ if (!( ctl->universal && !minuteswest )) ++ printf(_("Calling settimeofday(NULL, %d) " ++ "to set the kernel timezone.\n"), ++ minuteswest); ++ } else ++ printf(_("Calling settimeofday(NULL, %d) to warp " ++ "System time, set PCIL and the kernel tz.\n"), ++ minuteswest); ++ + if (ctl->hctosys) +- printf(_("Calling settimeofday(%ld.%06ld, %d)\n"), +- newtime.tv_sec, newtime.tv_usec, minuteswest); +- else { +- printf(_("Calling settimeofday(NULL, %d) "), minuteswest); +- if (ctl->universal) +- puts(_("to set the kernel timezone.")); +- else +- puts(_("to warp System time.")); +- } ++ printf(_("Calling settimeofday(%ld.%06ld, NULL) " ++ "to set the System time.\n"), ++ newtime.tv_sec, newtime.tv_usec); + } + + if (!ctl->testing) { ++ const struct timezone tz_utc = { 0 }; + const struct timezone tz = { minuteswest }; + +- if (ctl->hctosys && !ctl->universal) /* set PCIL */ +- rc = settimeofday(NULL, &tz); +- if (ctl->systz && ctl->universal) /* lock warp_clock */ ++ /* If UTC RTC: lock warp_clock and PCIL */ ++ if (ctl->universal) + rc = settimeofday(NULL, &tz_utc); +- if (!rc && ctl->hctosys) +- rc = settimeofday(&newtime, &tz); +- else if (!rc) ++ ++ /* Set kernel tz; if localtime RTC: warp_clock and set PCIL */ ++ if (!rc && !( ctl->universal && !minuteswest )) + rc = settimeofday(NULL, &tz); + ++ /* Set the System Clock */ ++ if ((!rc || errno == ENOSYS) && ctl->hctosys) ++ rc = settimeofday(&newtime, NULL); ++ + if (rc) { + warn(_("settimeofday() failed")); + return EXIT_FAILURE; +-- +2.25.2 + diff --git a/util-linux-login.pamd b/util-linux-login.pamd index 98e30d7..517b798 100644 --- a/util-linux-login.pamd +++ b/util-linux-login.pamd @@ -7,7 +7,6 @@ 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 -session optional pam_console.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 diff --git a/util-linux.spec b/util-linux.spec index a76c5a3..eae7195 100644 --- a/util-linux.spec +++ b/util-linux.spec @@ -2,7 +2,7 @@ Summary: A collection of basic system utilities Name: util-linux Version: 2.35.1 -Release: 7%{?dist} +Release: 8%{?dist} License: GPLv2 and GPLv2+ and LGPLv2+ and BSD with advertising and Public Domain URL: http://en.wikipedia.org/wiki/Util-linux @@ -113,6 +113,8 @@ Patch1: 0001-libfdisk-script-accept-sector-size-ignore-unknown-he.patch Patch2: 0002-fstrim-do-not-use-Protect-setting-in-systemd-service.patch # https://github.com/ibm-s390-tools/s390-tools/issues/80 Patch3: 0003-lsblk-fix-P-regression-from-v2.34.patch +# 1823463 - hwclock unable to set system time +Patch4: 0004-hwclock-make-glibc-2.31-compatible.patch %description The util-linux package contains a large variety of low-level system @@ -939,6 +941,10 @@ fi %{_libdir}/python*/site-packages/libmount/ %changelog +* Wed Apr 15 2020 Kalev Lember - 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) From fe0e3c74370cd0ceee18fa66af86a0a197af6514 Mon Sep 17 00:00:00 2001 From: Karel Zak Date: Wed, 15 Apr 2020 10:29:57 +0200 Subject: [PATCH 102/232] 2.35.1-9: fix typo --- util-linux.spec | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/util-linux.spec b/util-linux.spec index eae7195..b3e9a50 100644 --- a/util-linux.spec +++ b/util-linux.spec @@ -2,7 +2,7 @@ Summary: A collection of basic system utilities Name: util-linux Version: 2.35.1 -Release: 8%{?dist} +Release: 9%{?dist} License: GPLv2 and GPLv2+ and LGPLv2+ and BSD with advertising and Public Domain URL: http://en.wikipedia.org/wiki/Util-linux @@ -941,7 +941,10 @@ fi %{_libdir}/python*/site-packages/libmount/ %changelog -* Wed Apr 15 2020 Kalev Lember - 2.35.1-8 +* 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 From 098671aa4dd2f67af290c1ba35f0508c701e63a1 Mon Sep 17 00:00:00 2001 From: Troy Dawson Date: Wed, 13 May 2020 19:06:17 +0000 Subject: [PATCH 103/232] Minor conditional tweaks for ELN Signed-off-by: Troy Dawson tdawson@redhat.com --- util-linux.spec | 6 ------ 1 file changed, 6 deletions(-) diff --git a/util-linux.spec b/util-linux.spec index b3e9a50..0b40ae0 100644 --- a/util-linux.spec +++ b/util-linux.spec @@ -12,14 +12,8 @@ URL: http://en.wikipedia.org/wiki/Util-linux %define compldir %{_datadir}/bash-completion/completions/ -%if 0%{?fedora} >= 23 %define pypkg python3 %define pyver 3 -%else -%define pypkg python -%define pyver 2 -%endif - ### Dependencies BuildRequires: audit-libs-devel >= 1.0.6 From e998a685f7dd16987f02b6b9b1acefb0bf9ee216 Mon Sep 17 00:00:00 2001 From: Karel Zak Date: Wed, 20 May 2020 16:47:06 +0200 Subject: [PATCH 104/232] 2.35.2-1: upstream stable update --- ...accept-sector-size-ignore-unknown-he.patch | 134 -------------- ...e-Protect-setting-in-systemd-service.patch | 34 ---- 0003-lsblk-fix-P-regression-from-v2.34.patch | 80 --------- 0004-hwclock-make-glibc-2.31-compatible.patch | 165 ------------------ util-linux.spec | 16 +- 5 files changed, 6 insertions(+), 423 deletions(-) delete mode 100644 0001-libfdisk-script-accept-sector-size-ignore-unknown-he.patch delete mode 100644 0002-fstrim-do-not-use-Protect-setting-in-systemd-service.patch delete mode 100644 0003-lsblk-fix-P-regression-from-v2.34.patch delete mode 100644 0004-hwclock-make-glibc-2.31-compatible.patch diff --git a/0001-libfdisk-script-accept-sector-size-ignore-unknown-he.patch b/0001-libfdisk-script-accept-sector-size-ignore-unknown-he.patch deleted file mode 100644 index 9d624f2..0000000 --- a/0001-libfdisk-script-accept-sector-size-ignore-unknown-he.patch +++ /dev/null @@ -1,134 +0,0 @@ -From 00e53f17c8462cb34ece08cc10db60a7da29a305 Mon Sep 17 00:00:00 2001 -From: Karel Zak -Date: Tue, 4 Feb 2020 15:11:19 +0100 -Subject: [PATCH] libfdisk: (script) accept sector-size, ignore unknown headers - -- add sector-size between supported headers (already in --dump output) - -- report unknown headers by -ENOTSUP - -- ignore ENOTSUP in sfdisk (but print warning) and in fdisk_script_read_file() - -Addresses: https://github.com/karelzak/util-linux/issues/949 -Signed-off-by: Karel Zak ---- - disk-utils/sfdisk.c | 6 +++++- - libfdisk/src/script.c | 49 +++++++++++++++++++++++-------------------- - 2 files changed, 31 insertions(+), 24 deletions(-) - -diff --git a/disk-utils/sfdisk.c b/disk-utils/sfdisk.c -index bb6e1c6df..c0bea7046 100644 ---- a/disk-utils/sfdisk.c -+++ b/disk-utils/sfdisk.c -@@ -1782,7 +1782,11 @@ static int command_fdisk(struct sfdisk *sf, int argc, char **argv) - } - - rc = fdisk_script_read_line(dp, stdin, buf, sizeof(buf)); -- if (rc < 0) { -+ if (rc == -ENOTSUP) { -+ buf[sizeof(buf) - 1] = '\0'; -+ fdisk_warnx(sf->cxt, _("Unknown script header '%s' -- ignore."), buf); -+ continue; -+ } else if (rc < 0) { - DBG(PARSE, ul_debug("script parsing failed, trying sfdisk specific commands")); - buf[sizeof(buf) - 1] = '\0'; - rc = loop_control_commands(sf, dp, buf); -diff --git a/libfdisk/src/script.c b/libfdisk/src/script.c -index a21771b6a..d3e67fa9c 100644 ---- a/libfdisk/src/script.c -+++ b/libfdisk/src/script.c -@@ -805,8 +805,12 @@ static inline int is_header_line(const char *s) - /* parses ": value", note modifies @s*/ - static int parse_line_header(struct fdisk_script *dp, char *s) - { -- int rc = -EINVAL; -+ size_t i; - char *name, *value; -+ static const char *supported[] = { -+ "label", "unit", "label-id", "device", "grain", -+ "first-lba", "last-lba", "table-length", "sector-size" -+ }; - - DBG(SCRIPT, ul_debugobj(dp, " parse header '%s'", s)); - -@@ -816,7 +820,7 @@ static int parse_line_header(struct fdisk_script *dp, char *s) - name = s; - value = strchr(s, ':'); - if (!value) -- goto done; -+ return -EINVAL; - *value = '\0'; - value++; - -@@ -825,32 +829,30 @@ static int parse_line_header(struct fdisk_script *dp, char *s) - ltrim_whitespace((unsigned char *) value); - rtrim_whitespace((unsigned char *) value); - -+ if (!*name || !*value) -+ return -EINVAL; -+ -+ /* check header name */ -+ for (i = 0; i < ARRAY_SIZE(supported); i++) { -+ if (strcmp(name, supported[i]) == 0) -+ break; -+ } -+ if (i == ARRAY_SIZE(supported)) -+ return -ENOTSUP; -+ -+ /* header specific actions */ - if (strcmp(name, "label") == 0) { - if (dp->cxt && !fdisk_get_label(dp->cxt, value)) -- goto done; /* unknown label name */ -+ return -EINVAL; /* unknown label name */ - dp->force_label = 1; -+ - } else if (strcmp(name, "unit") == 0) { - if (strcmp(value, "sectors") != 0) -- goto done; /* only "sectors" supported */ -- } else if (strcmp(name, "label-id") == 0 -- || strcmp(name, "device") == 0 -- || strcmp(name, "grain") == 0 -- || strcmp(name, "first-lba") == 0 -- || strcmp(name, "last-lba") == 0 -- || strcmp(name, "table-length") == 0) { -- ; /* whatever is possible */ -- } else -- goto done; /* unknown header */ -+ return -EINVAL; /* only "sectors" supported */ - -- if (*name && *value) -- rc = fdisk_script_set_header(dp, name, value); --done: -- if (rc) -- DBG(SCRIPT, ul_debugobj(dp, "header parse error: " -- "[rc=%d, name='%s', value='%s']", -- rc, name, value)); -- return rc; -+ } - -+ return fdisk_script_set_header(dp, name, value); - } - - /* returns zero terminated string with next token and @str is updated */ -@@ -1363,7 +1365,8 @@ int fdisk_script_set_fgets(struct fdisk_script *dp, - * - * Reads next line into dump. - * -- * Returns: 0 on success, <0 on error, 1 when nothing to read. -+ * Returns: 0 on success, <0 on error, 1 when nothing to read. For unknown headers -+ * returns -ENOTSUP, it's usually safe to ignore this error. - */ - int fdisk_script_read_line(struct fdisk_script *dp, FILE *f, char *buf, size_t bufsz) - { -@@ -1428,7 +1431,7 @@ int fdisk_script_read_file(struct fdisk_script *dp, FILE *f) - - while (!feof(f)) { - rc = fdisk_script_read_line(dp, f, buf, sizeof(buf)); -- if (rc) -+ if (rc && rc != -ENOTSUP) - break; - } - --- -2.24.1 - diff --git a/0002-fstrim-do-not-use-Protect-setting-in-systemd-service.patch b/0002-fstrim-do-not-use-Protect-setting-in-systemd-service.patch deleted file mode 100644 index 5ba1d2b..0000000 --- a/0002-fstrim-do-not-use-Protect-setting-in-systemd-service.patch +++ /dev/null @@ -1,34 +0,0 @@ -From 61b384b36105fe682ddf16b9379f446d935603bc Mon Sep 17 00:00:00 2001 -From: Karel Zak -Date: Tue, 4 Feb 2020 16:17:42 +0100 -Subject: [PATCH] fstrim: do not use Protect setting in systemd service - -The ProtectHome= and ProtectSystem= settings mounts all stuff for the service in read-only mode. - -The fstrim ioctl operates on read-only mountpoint file descriptor, but -on some read-only filesystem the operation can fail, so since -2d22ac64e4 we check for read-only volumes and skip it. - -References: Upstream: http://github.com/karelzak/util-linux/commit/2d22ac64e4d6e6732640f38b7232b5bcdc84a877 -Addresses: https://github.com/karelzak/util-linux/issues/948 -Signed-off-by: Karel Zak ---- - sys-utils/fstrim.service.in | 2 -- - 1 file changed, 2 deletions(-) - -diff --git a/sys-utils/fstrim.service.in b/sys-utils/fstrim.service.in -index a8b631730..b58728ef4 100644 ---- a/sys-utils/fstrim.service.in -+++ b/sys-utils/fstrim.service.in -@@ -6,8 +6,6 @@ ConditionVirtualization=!container - [Service] - Type=oneshot - ExecStart=@sbindir@/fstrim --fstab --verbose --quiet --ProtectSystem=strict --ProtectHome=read-only - PrivateDevices=no - PrivateNetwork=yes - PrivateUsers=no --- -2.24.1 - diff --git a/0003-lsblk-fix-P-regression-from-v2.34.patch b/0003-lsblk-fix-P-regression-from-v2.34.patch deleted file mode 100644 index 6d9b6da..0000000 --- a/0003-lsblk-fix-P-regression-from-v2.34.patch +++ /dev/null @@ -1,80 +0,0 @@ -From 91b636b5654576d0b808d0030ca9d773099e1db9 Mon Sep 17 00:00:00 2001 -From: Karel Zak -Date: Tue, 25 Feb 2020 15:31:23 +0100 -Subject: [PATCH] lsblk: fix -P regression from v2.34 - -Since v2.34 --list prints devices only once to make the output -user-readable. Unfortunately, it's regression for scripts/applications -where we need to parse lsblk output. So, let's make --pairs and --raw -backwardly compatible with versions before 2.34 and print all hierarchy. - -Addresses: https://github.com/ibm-s390-tools/s390-tools/issues/80 -Signed-off-by: Karel Zak ---- - misc-utils/lsblk.8 | 10 ++++++---- - misc-utils/lsblk.c | 9 +++++---- - 2 files changed, 11 insertions(+), 8 deletions(-) - -diff --git a/misc-utils/lsblk.8 b/misc-utils/lsblk.8 -index 373a80ee2..416b28298 100644 ---- a/misc-utils/lsblk.8 -+++ b/misc-utils/lsblk.8 -@@ -96,7 +96,8 @@ also \fB\-\-tree\fR if necessary. - .BR \-l , " \-\-list" - Produce output in the form of a list. The output does not provide information - about relationships between devices and since version 2.34 every device is --printed only once. -+printed only once if \fB\-\-pairs\fR or \fB\-\-raw\fR not specified (the -+parsable outputs are maintained in backwardly compatible way). - .TP - .BR \-M , " \-\-merge" - Group parents of sub-trees to provide more readable output for RAIDs and -@@ -122,14 +123,15 @@ specified in the format \fI+list\fP (e.g., \fBlsblk \-o +UUID\fP). - Output all available columns. - .TP - .BR \-P , " \-\-pairs" --Produce output in the form of key="value" pairs. --All potentially unsafe characters are hex-escaped (\\x). -+Produce output in the form of key="value" pairs. The output lines are still ordered by -+dependencies. All potentially unsafe characters are hex-escaped (\\x). - .TP - .BR \-p , " \-\-paths" - Print full device paths. - .TP - .BR \-r , " \-\-raw" --Produce output in raw format. All potentially unsafe characters are hex-escaped -+Produce output in raw format. The output lines are still ordered by -+dependencies. All potentially unsafe characters are hex-escaped - (\\x) in the NAME, KNAME, LABEL, PARTLABEL and MOUNTPOINT columns. - .TP - .BR \-S , " \-\-scsi" -diff --git a/misc-utils/lsblk.c b/misc-utils/lsblk.c -index 441655e24..72ac7b483 100644 ---- a/misc-utils/lsblk.c -+++ b/misc-utils/lsblk.c -@@ -1058,8 +1058,8 @@ static void device_to_scols( - if (!parent && dev->wholedisk) - parent = dev->wholedisk; - -- /* Do not print device more than one in --list mode */ -- if (!(lsblk->flags & LSBLK_TREE) && dev->is_printed) -+ /* Do not print device more than once on --list if tree order is not requested */ -+ if (!(lsblk->flags & LSBLK_TREE) && !lsblk->force_tree_order && dev->is_printed) - return; - - if (lsblk->merge && list_count_entries(&dev->parents) > 1) { -@@ -2044,8 +2044,9 @@ int main(int argc, char *argv[]) - * /sys is no more sorted */ - lsblk->sort_id = COL_MAJMIN; - -- /* For --inverse --list we still follow parent->child relation */ -- if (lsblk->inverse && !(lsblk->flags & LSBLK_TREE)) -+ /* For --{inverse,raw,pairs} --list we still follow parent->child relation */ -+ if (!(lsblk->flags & LSBLK_TREE) -+ && (lsblk->inverse || lsblk->flags & LSBLK_EXPORT || lsblk->flags & LSBLK_RAW)) - lsblk->force_tree_order = 1; - - if (lsblk->sort_id >= 0 && column_id_to_number(lsblk->sort_id) < 0) { --- -2.24.1 - diff --git a/0004-hwclock-make-glibc-2.31-compatible.patch b/0004-hwclock-make-glibc-2.31-compatible.patch deleted file mode 100644 index 2feec6a..0000000 --- a/0004-hwclock-make-glibc-2.31-compatible.patch +++ /dev/null @@ -1,165 +0,0 @@ -From 0967f9a3f18e0320571db8dbc347c1e38b97f286 Mon Sep 17 00:00:00 2001 -From: J William Piggott -Date: Fri, 21 Feb 2020 20:03:47 -0500 -Subject: [PATCH] hwclock: make glibc 2.31 compatible - -______________________________________________________ -GNU C Library NEWS -- history of user-visible changes. -Version 2.31 -Deprecated and removed features, and other changes affecting compatibility: - -* The settimeofday function can still be used to set a system-wide time - zone when the operating system supports it. This is because the Linux - kernel reused the API, on some architectures, to describe a system-wide - time-zone-like offset between the software clock maintained by the kernel, - and the "RTC" clock that keeps time when the system is shut down. - - However, to reduce the odds of this offset being set by accident, - settimeofday can no longer be used to set the time and the offset - simultaneously. If both of its two arguments are non-null, the call - will fail (setting errno to EINVAL). - - Callers attempting to set this offset should also be prepared for the call - to fail and set errno to ENOSYS; this already happens on the Hurd and on - some Linux architectures. The Linux kernel maintainers are discussing a - more principled replacement for the reused API. After a replacement - becomes available, we will change settimeofday to fail with ENOSYS on all - platforms when its 'tzp' argument is not a null pointer. - - settimeofday itself is obsolescent according to POSIX. Programs that set - the system time should use clock_settime and/or the adjtime family of - functions instead. We may cease to make settimeofday available to newly - linked binaries after there is a replacement for Linux's time-zone-like - offset API. -______________________________________________________ - -hwclock(8) had one settimeofday(2) call where both args were set for ---hctosys when the RTC was ticking UTC. This allowed setting the system -time, timezone, and locking the warp_clock function with a single call. -That operation now takes 3 calls of settimeofday(2). - -Although this common operation now takes three calls, the overall logic -for the set_system_clock() function was simplified. - -Co-Author: Karel Zak -Signed-off-by: J William Piggott ---- - sys-utils/hwclock.c | 71 +++++++++++++++++++++++---------------------- - 1 file changed, 37 insertions(+), 34 deletions(-) - -diff --git a/sys-utils/hwclock.c b/sys-utils/hwclock.c -index e736da717..1191a8571 100644 ---- a/sys-utils/hwclock.c -+++ b/sys-utils/hwclock.c -@@ -643,28 +643,28 @@ display_time(struct timeval hwctime) - * tz.tz_minuteswest argument and sets PCIL (see below). At boot settimeofday(2) - * has one-shot access to this function as shown in the table below. - * -- * +-------------------------------------------------------------------+ -- * | settimeofday(tv, tz) | -- * |-------------------------------------------------------------------| -- * | Arguments | System Time | PCIL | | warp_clock | -- * | tv | tz | set | warped | set | firsttime | locked | -- * |---------|---------|---------------|------|-----------|------------| -- * | pointer | NULL | yes | no | no | 1 | no | -- * | pointer | pointer | yes | no | no | 0 | yes | -- * | NULL | ptr2utc | no | no | no | 0 | yes | -- * | NULL | pointer | no | yes | yes | 0 | yes | -- * +-------------------------------------------------------------------+ -+ * +-------------------------------------------------------------------------+ -+ * | settimeofday(tv, tz) | -+ * |-------------------------------------------------------------------------| -+ * | Arguments | System Time | TZ | PCIL | | warp_clock | -+ * | tv | tz | set | warped | set | set | firsttime | locked | -+ * |---------|---------|---------------|-----|------|-----------|------------| -+ * | pointer | NULL | yes | no | no | no | 1 | no | -+ * | NULL | ptr2utc | no | no | yes | no | 0 | yes | -+ * | NULL | pointer | no | yes | yes | yes | 0 | yes | -+ * +-------------------------------------------------------------------------+ - * ptr2utc: tz.tz_minuteswest is zero (UTC). - * PCIL: persistent_clock_is_local, sets the "11 minute mode" timescale. - * firsttime: locks the warp_clock function (initialized to 1 at boot). -+ * Since glibc v2.31 settimeofday() will fail if both args are non NULL - * - * +---------------------------------------------------------------------------+ - * | op | RTC scale | settimeofday calls | - * |---------|-----------|-----------------------------------------------------| - * | systz | Local | 1) warps system time*, sets PCIL* and kernel tz | - * | systz | UTC | 1st) locks warp_clock* 2nd) sets kernel tz | -- * | hctosys | Local | 1st) sets PCIL* 2nd) sets system time and kernel tz | -- * | hctosys | UTC | 1) sets system time and kernel tz | -+ * | hctosys | Local | 1st) sets PCIL* & kernel tz 2nd) sets system time | -+ * | hctosys | UTC | 1st) locks warp* 2nd) sets tz 3rd) sets system time | - * +---------------------------------------------------------------------------+ - * * only on first call after boot - */ -@@ -675,42 +675,45 @@ set_system_clock(const struct hwclock_control *ctl, - struct tm broken; - int minuteswest; - int rc = 0; -- const struct timezone tz_utc = { 0 }; - - localtime_r(&newtime.tv_sec, &broken); - minuteswest = -get_gmtoff(&broken) / 60; - - if (ctl->verbose) { -- if (ctl->hctosys && !ctl->universal) -- printf(_("Calling settimeofday(NULL, %d) to set " -- "persistent_clock_is_local.\n"), minuteswest); -- if (ctl->systz && ctl->universal) -+ if (ctl->universal) { - puts(_("Calling settimeofday(NULL, 0) " -- "to lock the warp function.")); -+ "to lock the warp_clock function.")); -+ if (!( ctl->universal && !minuteswest )) -+ printf(_("Calling settimeofday(NULL, %d) " -+ "to set the kernel timezone.\n"), -+ minuteswest); -+ } else -+ printf(_("Calling settimeofday(NULL, %d) to warp " -+ "System time, set PCIL and the kernel tz.\n"), -+ minuteswest); -+ - if (ctl->hctosys) -- printf(_("Calling settimeofday(%ld.%06ld, %d)\n"), -- newtime.tv_sec, newtime.tv_usec, minuteswest); -- else { -- printf(_("Calling settimeofday(NULL, %d) "), minuteswest); -- if (ctl->universal) -- puts(_("to set the kernel timezone.")); -- else -- puts(_("to warp System time.")); -- } -+ printf(_("Calling settimeofday(%ld.%06ld, NULL) " -+ "to set the System time.\n"), -+ newtime.tv_sec, newtime.tv_usec); - } - - if (!ctl->testing) { -+ const struct timezone tz_utc = { 0 }; - const struct timezone tz = { minuteswest }; - -- if (ctl->hctosys && !ctl->universal) /* set PCIL */ -- rc = settimeofday(NULL, &tz); -- if (ctl->systz && ctl->universal) /* lock warp_clock */ -+ /* If UTC RTC: lock warp_clock and PCIL */ -+ if (ctl->universal) - rc = settimeofday(NULL, &tz_utc); -- if (!rc && ctl->hctosys) -- rc = settimeofday(&newtime, &tz); -- else if (!rc) -+ -+ /* Set kernel tz; if localtime RTC: warp_clock and set PCIL */ -+ if (!rc && !( ctl->universal && !minuteswest )) - rc = settimeofday(NULL, &tz); - -+ /* Set the System Clock */ -+ if ((!rc || errno == ENOSYS) && ctl->hctosys) -+ rc = settimeofday(&newtime, NULL); -+ - if (rc) { - warn(_("settimeofday() failed")); - return EXIT_FAILURE; --- -2.25.2 - diff --git a/util-linux.spec b/util-linux.spec index b3e9a50..eae812e 100644 --- a/util-linux.spec +++ b/util-linux.spec @@ -1,8 +1,8 @@ ### Header Summary: A collection of basic system utilities Name: util-linux -Version: 2.35.1 -Release: 9%{?dist} +Version: 2.35.2 +Release: 1%{?dist} License: GPLv2 and GPLv2+ and LGPLv2+ and BSD with advertising and Public Domain URL: http://en.wikipedia.org/wiki/Util-linux @@ -107,14 +107,6 @@ Requires: libfdisk = %{version}-%{release} ### # 151635 - makeing /var/log/lastlog Patch0: 2.28-login-lastlog-create.patch -# https://github.com/karelzak/util-linux/issues/949 -Patch1: 0001-libfdisk-script-accept-sector-size-ignore-unknown-he.patch -# https://github.com/karelzak/util-linux/issues/948 -Patch2: 0002-fstrim-do-not-use-Protect-setting-in-systemd-service.patch -# https://github.com/ibm-s390-tools/s390-tools/issues/80 -Patch3: 0003-lsblk-fix-P-regression-from-v2.34.patch -# 1823463 - hwclock unable to set system time -Patch4: 0004-hwclock-make-glibc-2.31-compatible.patch %description The util-linux package contains a large variety of low-level system @@ -941,6 +933,10 @@ fi %{_libdir}/python*/site-packages/libmount/ %changelog +* 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 From acc3919c15c179b9320353102820977c7719148c Mon Sep 17 00:00:00 2001 From: Karel Zak Date: Wed, 20 May 2020 17:09:41 +0200 Subject: [PATCH 105/232] new v2.35.2 tarball --- .gitignore | 1 + sources | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/.gitignore b/.gitignore index 02b5d18..1a63250 100644 --- a/.gitignore +++ b/.gitignore @@ -76,3 +76,4 @@ /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 diff --git a/sources b/sources index 519bfd7..1716aeb 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (util-linux-2.35.1.tar.xz) = 6e27e08bfc02378970f015decfea5a52d6c342c4c8f4ac48dd07d248485eb797e506d91d290dbbca344c3e5cfe1fc150db80a23d510367427232f5abeabe591a +SHA512 (util-linux-2.35.2.tar.xz) = 59e038ba71aa74c9af6f927b357483a965f675ab3ffcd25cf0c1b043656312d2d2d07c55659fd3da69ede165bec313e0ae7e1cd73758e49681ae610604b399a2 From ed9b0d362726d3d2e9e5e3dc770e030616c167d0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Miro=20Hron=C4=8Dok?= Date: Tue, 26 May 2020 03:54:15 +0200 Subject: [PATCH 106/232] Rebuilt for Python 3.9 --- util-linux.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/util-linux.spec b/util-linux.spec index eae812e..b0e48f5 100644 --- a/util-linux.spec +++ b/util-linux.spec @@ -2,7 +2,7 @@ Summary: A collection of basic system utilities Name: util-linux Version: 2.35.2 -Release: 1%{?dist} +Release: 2%{?dist} License: GPLv2 and GPLv2+ and LGPLv2+ and BSD with advertising and Public Domain URL: http://en.wikipedia.org/wiki/Util-linux @@ -933,6 +933,9 @@ fi %{_libdir}/python*/site-packages/libmount/ %changelog +* 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 From f991f6faa904115c1487450a36cf3f1171fbb694 Mon Sep 17 00:00:00 2001 From: Karel Zak Date: Thu, 23 Jul 2020 14:51:41 +0200 Subject: [PATCH 107/232] 2.36-1: upgrade --- .gitignore | 1 + 2.28-login-lastlog-create.patch | 12 ------------ 2.36-login-lastlog-create.patch | 12 ++++++++++++ sources | 2 +- util-linux.spec | 27 +++++++++++++++++++-------- 5 files changed, 33 insertions(+), 21 deletions(-) delete mode 100644 2.28-login-lastlog-create.patch create mode 100644 2.36-login-lastlog-create.patch diff --git a/.gitignore b/.gitignore index 1a63250..3126fff 100644 --- a/.gitignore +++ b/.gitignore @@ -77,3 +77,4 @@ /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 diff --git a/2.28-login-lastlog-create.patch b/2.28-login-lastlog-create.patch deleted file mode 100644 index 869543e..0000000 --- a/2.28-login-lastlog-create.patch +++ /dev/null @@ -1,12 +0,0 @@ -diff -up util-linux-2.28/login-utils/login.c.kzak util-linux-2.28/login-utils/login.c ---- util-linux-2.28/login-utils/login.c.kzak 2016-03-08 14:28:16.724156218 +0100 -+++ util-linux-2.28/login-utils/login.c 2016-04-26 12:45:29.235326017 +0200 -@@ -510,7 +510,7 @@ static void log_lastlog(struct login_con - 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; - diff --git a/2.36-login-lastlog-create.patch b/2.36-login-lastlog-create.patch new file mode 100644 index 0000000..e2523d3 --- /dev/null +++ b/2.36-login-lastlog-create.patch @@ -0,0 +1,12 @@ +diff -up util-linux-2.36/login-utils/login.c.kzak util-linux-2.36/login-utils/login.c +--- util-linux-2.36/login-utils/login.c.kzak 2020-07-23 14:13:26.777030764 +0200 ++++ util-linux-2.36/login-utils/login.c 2020-07-23 14:11:22.793686983 +0200 +@@ -585,7 +585,7 @@ static void log_lastlog(struct login_con + 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); diff --git a/sources b/sources index 1716aeb..e271813 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (util-linux-2.35.2.tar.xz) = 59e038ba71aa74c9af6f927b357483a965f675ab3ffcd25cf0c1b043656312d2d2d07c55659fd3da69ede165bec313e0ae7e1cd73758e49681ae610604b399a2 +SHA512 (util-linux-2.36.tar.xz) = cbb4975da8d99a1edd45514171d59ea7b019ce0f77a81e88b447a733f725e91c53540d9dc78bc626dc011dca129b8b150aaf9e64ccf62a4202ae816581acf4fd diff --git a/util-linux.spec b/util-linux.spec index e8cbc1a..55f4255 100644 --- a/util-linux.spec +++ b/util-linux.spec @@ -1,8 +1,8 @@ ### Header Summary: A collection of basic system utilities Name: util-linux -Version: 2.35.2 -Release: 2%{?dist} +Version: 2.36 +Release: 1%{?dist} License: GPLv2 and GPLv2+ and LGPLv2+ and BSD with advertising and Public Domain URL: http://en.wikipedia.org/wiki/Util-linux @@ -100,7 +100,7 @@ Requires: libfdisk = %{version}-%{release} ### Ready for upstream? ### # 151635 - makeing /var/log/lastlog -Patch0: 2.28-login-lastlog-create.patch +Patch0: 2.36-login-lastlog-create.patch %description The util-linux package contains a large variety of low-level system @@ -508,13 +508,13 @@ fi %{_unitdir}/fstrim.* %{_bindir}/cal +%{_bindir}/chmem +%{_bindir}/choom %{_bindir}/chrt %{_bindir}/col %{_bindir}/colcrt %{_bindir}/colrm %{_bindir}/column -%{_bindir}/choom -%{_bindir}/chmem %{_bindir}/dmesg %{_bindir}/eject %{_bindir}/fallocate @@ -528,6 +528,7 @@ fi %{_bindir}/ipcmk %{_bindir}/ipcrm %{_bindir}/ipcs +%{_bindir}/irqtop %{_bindir}/isosize %{_bindir}/kill %{_bindir}/last @@ -537,6 +538,7 @@ fi %{_bindir}/lsblk %{_bindir}/lscpu %{_bindir}/lsipc +%{_bindir}/lsirq %{_bindir}/lslocks %{_bindir}/lslogins %{_bindir}/lsmem @@ -553,8 +555,8 @@ fi %{_bindir}/renice %{_bindir}/rev %{_bindir}/script -%{_bindir}/scriptreplay %{_bindir}/scriptlive +%{_bindir}/scriptreplay %{_bindir}/setarch %{_bindir}/setpriv %{_bindir}/setsid @@ -587,6 +589,7 @@ fi %{_mandir}/man1/ipcmk.1* %{_mandir}/man1/ipcrm.1* %{_mandir}/man1/ipcs.1* +%{_mandir}/man1/irqtop.1* %{_mandir}/man1/kill.1* %{_mandir}/man1/last.1* %{_mandir}/man1/lastb.1* @@ -595,6 +598,7 @@ fi %{_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* @@ -609,8 +613,8 @@ fi %{_mandir}/man1/rev.1* %{_mandir}/man1/runuser.1* %{_mandir}/man1/script.1* -%{_mandir}/man1/scriptreplay.1* %{_mandir}/man1/scriptlive.1* +%{_mandir}/man1/scriptreplay.1* %{_mandir}/man1/setpriv.1* %{_mandir}/man1/setsid.1* %{_mandir}/man1/setterm.1* @@ -746,6 +750,7 @@ fi %{compldir}/ipcmk %{compldir}/ipcrm %{compldir}/ipcs +%{compldir}/irqtop %{compldir}/isosize %{compldir}/last %{compldir}/ldattach @@ -755,6 +760,7 @@ fi %{compldir}/lsblk %{compldir}/lscpu %{compldir}/lsipc +%{compldir}/lsirq %{compldir}/lslocks %{compldir}/lslogins %{compldir}/lsmem @@ -782,8 +788,8 @@ fi %{compldir}/rtcwake %{compldir}/runuser %{compldir}/script -%{compldir}/scriptreplay %{compldir}/scriptlive +%{compldir}/scriptreplay %{compldir}/setarch %{compldir}/setpriv %{compldir}/setsid @@ -927,6 +933,11 @@ fi %{_libdir}/python*/site-packages/libmount/ %changelog +* 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 From 5aecaa99fe04e1afc94945377d4ebaf4e009576d Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Wed, 29 Jul 2020 13:28:25 +0000 Subject: [PATCH 108/232] - Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild Signed-off-by: Fedora Release Engineering --- util-linux.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/util-linux.spec b/util-linux.spec index 55f4255..6e0006b 100644 --- a/util-linux.spec +++ b/util-linux.spec @@ -2,7 +2,7 @@ Summary: A collection of basic system utilities Name: util-linux Version: 2.36 -Release: 1%{?dist} +Release: 2%{?dist} License: GPLv2 and GPLv2+ and LGPLv2+ and BSD with advertising and Public Domain URL: http://en.wikipedia.org/wiki/Util-linux @@ -933,6 +933,9 @@ fi %{_libdir}/python*/site-packages/libmount/ %changelog +* 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 From 16f25ffc54770b552921cc99c22f3c4b069dedcd Mon Sep 17 00:00:00 2001 From: Karel Zak Date: Tue, 1 Sep 2020 12:45:28 +0200 Subject: [PATCH 109/232] 2.36-3: remove libmount mountinfo workaround --- ...unt-remove-read-mountinfo-workaround.patch | 396 ++++++++++++++++++ util-linux.spec | 8 +- 2 files changed, 403 insertions(+), 1 deletion(-) create mode 100644 libmount-remove-read-mountinfo-workaround.patch diff --git a/libmount-remove-read-mountinfo-workaround.patch b/libmount-remove-read-mountinfo-workaround.patch new file mode 100644 index 0000000..38f8e34 --- /dev/null +++ b/libmount-remove-read-mountinfo-workaround.patch @@ -0,0 +1,396 @@ +From 57898c3a7ee8fc5933cddd4526bb3980bef85a02 Mon Sep 17 00:00:00 2001 +From: Karel Zak +Date: Tue, 1 Sep 2020 10:15:14 +0200 +Subject: [PATCH] libmount: remove read-mountinfo workaround + +This workaround has been introduced by +http://github.com/karelzak/util-linux/commit/e4925f591c1bfb83719418b56b952830d15b77eb + +And originally requested by https://github.com/systemd/systemd/issues/10872 + +It seems we do not need it anymore as the problem should be fixed in kernel since 5.8 +(kernel commit 9f6c61f96f2d97cbb5f7fa85607bc398f843ff0f). + +Note that the libmount solution is very expensive as it repeats read() +many times (until we get consistent result) if kernel is busy with +mount table modification. This behaviour makes events management in +systemd (or other places) pretty difficult as read mountinfo takes +time on busy systems. + +Addresses: https://github.com/systemd/systemd/pull/16537 +Signed-off-by: Karel Zak +--- + configure.ac | 1 - + libmount/src/mountP.h | 2 - + libmount/src/tab_parse.c | 87 ++++---------------- + libmount/src/utils.c | 166 --------------------------------------- + 4 files changed, 15 insertions(+), 241 deletions(-) + +diff --git a/configure.ac b/configure.ac +index 2d178f3af..1e31ca3e2 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -504,7 +504,6 @@ AC_CHECK_FUNCS([ \ + err \ + errx \ + explicit_bzero \ +- fmemopen \ + fsync \ + utimensat \ + getdomainname \ +diff --git a/libmount/src/mountP.h b/libmount/src/mountP.h +index d8ba0abad..ee97c6b4a 100644 +--- a/libmount/src/mountP.h ++++ b/libmount/src/mountP.h +@@ -98,7 +98,6 @@ extern int mnt_valid_tagname(const char *tagname); + extern int append_string(char **a, const char *b); + + extern const char *mnt_statfs_get_fstype(struct statfs *vfs); +-extern int is_procfs_fd(int fd); + extern int is_file_empty(const char *name); + + extern int mnt_is_readonly(const char *path) +@@ -124,7 +123,6 @@ extern void mnt_free_filesystems(char **filesystems); + extern char *mnt_get_kernel_cmdline_option(const char *name); + extern int mnt_stat_mountpoint(const char *target, struct stat *st); + extern int mnt_lstat_mountpoint(const char *target, struct stat *st); +-extern FILE *mnt_get_procfs_memstream(int fd, char **membuf); + + /* tab.c */ + extern int is_mountinfo(struct libmnt_table *tb); +diff --git a/libmount/src/tab_parse.c b/libmount/src/tab_parse.c +index 329987bcb..ac12dce54 100644 +--- a/libmount/src/tab_parse.c ++++ b/libmount/src/tab_parse.c +@@ -694,7 +694,15 @@ static int kernel_fs_postparse(struct libmnt_table *tb, + return rc; + } + +-static int __table_parse_stream(struct libmnt_table *tb, FILE *f, const char *filename) ++/** ++ * mnt_table_parse_stream: ++ * @tb: tab pointer ++ * @f: file stream ++ * @filename: filename used for debug and error messages ++ * ++ * Returns: 0 on success, negative number in case of error. ++ */ ++int mnt_table_parse_stream(struct libmnt_table *tb, FILE *f, const char *filename) + { + int rc = -1; + int flags = 0; +@@ -773,40 +781,6 @@ err: + return rc; + } + +-/** +- * mnt_table_parse_stream: +- * @tb: tab pointer +- * @f: file stream +- * @filename: filename used for debug and error messages +- * +- * Returns: 0 on success, negative number in case of error. +- */ +-int mnt_table_parse_stream(struct libmnt_table *tb, FILE *f, const char *filename) +-{ +- int fd, rc; +- FILE *memf = NULL; +- char *membuf = NULL; +- +- /* +- * For /proc/#/{mountinfo,mount} we read all file to memory and use it +- * as memory stream. For more details see mnt_read_procfs_file(). +- */ +- if ((fd = fileno(f)) >= 0 +- && (tb->fmt == MNT_FMT_GUESS || +- tb->fmt == MNT_FMT_MOUNTINFO || +- tb->fmt == MNT_FMT_MTAB) +- && is_procfs_fd(fd) +- && (memf = mnt_get_procfs_memstream(fd, &membuf))) { +- +- rc = __table_parse_stream(tb, memf, filename); +- fclose(memf); +- free(membuf); +- } else +- rc = __table_parse_stream(tb, f, filename); +- +- return rc; +-} +- + /** + * mnt_table_parse_file: + * @tb: tab pointer +@@ -822,49 +796,18 @@ int mnt_table_parse_stream(struct libmnt_table *tb, FILE *f, const char *filenam + int mnt_table_parse_file(struct libmnt_table *tb, const char *filename) + { + FILE *f; +- int rc, fd = -1; ++ int rc; + + if (!filename || !tb) + return -EINVAL; + +- /* +- * Try to use read()+poll() to realiably read all +- * /proc/#/{mount,mountinfo} file to memory +- */ +- if (tb->fmt != MNT_FMT_SWAPS +- && strncmp(filename, "/proc/", 6) == 0) { +- +- FILE *memf; +- char *membuf = NULL; +- +- fd = open(filename, O_RDONLY|O_CLOEXEC); +- if (fd < 0) { +- rc = -errno; +- goto done; +- } +- memf = mnt_get_procfs_memstream(fd, &membuf); +- if (memf) { +- rc = __table_parse_stream(tb, memf, filename); +- +- fclose(memf); +- free(membuf); +- close(fd); +- goto done; +- } +- /* else fallback to fopen/fdopen() */ +- } +- +- if (fd >= 0) +- f = fdopen(fd, "r" UL_CLOEXECSTR); +- else +- f = fopen(filename, "r" UL_CLOEXECSTR); +- ++ f = fopen(filename, "r" UL_CLOEXECSTR); + if (f) { +- rc = __table_parse_stream(tb, f, filename); ++ rc = mnt_table_parse_stream(tb, f, filename); + fclose(f); + } else + rc = -errno; +-done: ++ + DBG(TAB, ul_debugobj(tb, "parsing done [filename=%s, rc=%d]", filename, rc)); + return rc; + } +@@ -921,7 +864,7 @@ static int __mnt_table_parse_dir(struct libmnt_table *tb, const char *dirname) + + f = fopen_at(dd, d->d_name, O_RDONLY|O_CLOEXEC, "r" UL_CLOEXECSTR); + if (f) { +- __table_parse_stream(tb, f, d->d_name); ++ mnt_table_parse_stream(tb, f, d->d_name); + fclose(f); + } + } +@@ -962,7 +905,7 @@ static int __mnt_table_parse_dir(struct libmnt_table *tb, const char *dirname) + f = fopen_at(dirfd(dir), d->d_name, + O_RDONLY|O_CLOEXEC, "r" UL_CLOEXECSTR); + if (f) { +- __table_parse_stream(tb, f, d->d_name); ++ mnt_table_parse_stream(tb, f, d->d_name); + fclose(f); + } + } +diff --git a/libmount/src/utils.c b/libmount/src/utils.c +index 92829ebb0..40b45f11d 100644 +--- a/libmount/src/utils.c ++++ b/libmount/src/utils.c +@@ -19,7 +19,6 @@ + #include + #include + #include +-#include + #include + + #include "strutils.h" +@@ -448,13 +447,6 @@ const char *mnt_statfs_get_fstype(struct statfs *vfs) + return NULL; + } + +-int is_procfs_fd(int fd) +-{ +- struct statfs sfs; +- +- return fstatfs(fd, &sfs) == 0 && sfs.f_type == STATFS_PROC_MAGIC; +-} +- + /** + * mnt_match_fstype: + * @type: filesystem type +@@ -1174,164 +1166,7 @@ done: + return 1; + } + +-#if defined(HAVE_FMEMOPEN) || defined(TEST_PROGRAM) +- +-/* +- * This function tries to minimize possible races when we read +- * /proc/#/{mountinfo,mount} files. +- * +- * The idea is to minimize number of read()s and check by poll() that during +- * the read the mount table has not been modified. If yes, than re-read it +- * (with some limitations to avoid never ending loop). +- * +- * Returns: <0 error, 0 success, 1 too many attempts +- */ +-static int read_procfs_file(int fd, char **buf, size_t *bufsiz) +-{ +- size_t bufmax = 0; +- int rc = 0, tries = 0, ninters = 0; +- char *bufptr = NULL; +- +- assert(buf); +- assert(bufsiz); +- +- *bufsiz = 0; +- *buf = NULL; +- +- do { +- ssize_t ret; +- +- if (!bufptr || bufmax == *bufsiz) { +- char *tmp; +- +- bufmax = bufmax ? bufmax * 2 : (16 * 1024); +- tmp = realloc(*buf, bufmax); +- if (!tmp) +- break; +- *buf = tmp; +- bufptr = tmp + *bufsiz; +- } +- +- errno = 0; +- ret = read(fd, bufptr, bufmax - *bufsiz); +- +- if (ret < 0) { +- /* error */ +- if ((errno == EAGAIN || errno == EINTR) && (ninters++ < 5)) { +- xusleep(200000); +- continue; +- } +- break; +- +- } if (ret > 0) { +- /* success -- verify no event during read */ +- struct pollfd fds[] = { +- { .fd = fd, .events = POLLPRI } +- }; +- +- rc = poll(fds, 1, 0); +- if (rc < 0) +- break; /* poll() error */ +- if (rc > 0) { +- /* event -- read all again */ +- if (lseek(fd, 0, SEEK_SET) != 0) +- break; +- *bufsiz = 0; +- bufptr = *buf; +- tries++; +- +- if (tries > 10) +- /* busy system? -- wait */ +- xusleep(10000); +- continue; +- } +- +- /* successful read() without active poll() */ +- (*bufsiz) += (size_t) ret; +- bufptr += ret; +- tries = ninters = 0; +- } else { +- /* end-of-file */ +- goto success; +- } +- } while (tries <= 100); +- +- rc = errno ? -errno : 1; +- free(*buf); +- return rc; +- +-success: +- return 0; +-} +- +-/* +- * Create FILE stream for data from read_procfs_file() +- */ +-FILE *mnt_get_procfs_memstream(int fd, char **membuf) +-{ +- size_t sz = 0; +- off_t cur; +- +- *membuf = NULL; +- +- /* in case of error, rewind to the original position */ +- cur = lseek(fd, 0, SEEK_CUR); +- +- if (read_procfs_file(fd, membuf, &sz) == 0 && sz > 0) { +- FILE *memf = fmemopen(*membuf, sz, "r"); +- if (memf) +- return memf; /* success */ +- +- free(*membuf); +- *membuf = NULL; +- } +- +- /* error */ +- if (cur != (off_t) -1) +- lseek(fd, cur, SEEK_SET); +- return NULL; +-} +-#else +-FILE *mnt_get_procfs_memstream(int fd __attribute((__unused__)), +- char **membuf __attribute((__unused__))) +-{ +- return NULL; +-} +-#endif /* HAVE_FMEMOPEN */ +- +- + #ifdef TEST_PROGRAM +-static int test_proc_read(struct libmnt_test *ts, int argc, char *argv[]) +-{ +- char *buf = NULL; +- char *filename = argv[1]; +- size_t bufsiz = 0; +- int rc = 0, fd = open(filename, O_RDONLY); +- +- if (fd <= 0) { +- warn("%s: cannot open", filename); +- return -errno; +- } +- +- rc = read_procfs_file(fd, &buf, &bufsiz); +- close(fd); +- +- switch (rc) { +- case 0: +- fwrite(buf, 1, bufsiz, stdout); +- free(buf); +- break; +- case 1: +- warnx("too many attempts"); +- break; +- default: +- warn("%s: cannot read", filename); +- break; +- } +- +- return rc; +-} +- + static int test_match_fstype(struct libmnt_test *ts, int argc, char *argv[]) + { + char *type = argv[1]; +@@ -1513,7 +1348,6 @@ int main(int argc, char *argv[]) + { "--guess-root", test_guess_root, "[]" }, + { "--mkdir", test_mkdir, "" }, + { "--statfs-type", test_statfs_type, "" }, +- { "--read-procfs", test_proc_read, "" }, + + { NULL } + }; +-- +2.25.4 + diff --git a/util-linux.spec b/util-linux.spec index 6e0006b..9819085 100644 --- a/util-linux.spec +++ b/util-linux.spec @@ -2,7 +2,7 @@ Summary: A collection of basic system utilities Name: util-linux Version: 2.36 -Release: 2%{?dist} +Release: 3%{?dist} License: GPLv2 and GPLv2+ and LGPLv2+ and BSD with advertising and Public Domain URL: http://en.wikipedia.org/wiki/Util-linux @@ -101,6 +101,9 @@ Requires: libfdisk = %{version}-%{release} ### # 151635 - makeing /var/log/lastlog Patch0: 2.36-login-lastlog-create.patch +# https://github.com/karelzak/util-linux/commit/57898c3a7ee8fc5933cddd4526bb3980bef85a02 +# The workaround is unnecessary on Fedora with kernel >= 5.8. +Patch1: libmount-remove-read-mountinfo-workaround.patch %description The util-linux package contains a large variety of low-level system @@ -933,6 +936,9 @@ fi %{_libdir}/python*/site-packages/libmount/ %changelog +* Tue Sep 01 2020 Karel Zak - 2.36-3 +- remove mountinfo workaround (unnecessary for kernel 5.8) + * Wed Jul 29 2020 Fedora Release Engineering - 2.36-2 - Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild From b0e9e3bcb8bd546c41905e69efe1e7f2856bef11 Mon Sep 17 00:00:00 2001 From: Karel Zak Date: Thu, 27 Aug 2020 15:22:40 +0200 Subject: [PATCH 110/232] 2.36-3: #1860461 - sfdisk gaps and add autotools to BuildRequires --- ...t-free-sector-detection-if-partition.patch | 42 +++++++++++++++++++ ...unt-remove-read-mountinfo-workaround.patch | 0 util-linux.spec | 8 +++- 3 files changed, 49 insertions(+), 1 deletion(-) create mode 100644 0001-libfdisk-fix-last-free-sector-detection-if-partition.patch rename libmount-remove-read-mountinfo-workaround.patch => 0002-libmount-remove-read-mountinfo-workaround.patch (100%) diff --git a/0001-libfdisk-fix-last-free-sector-detection-if-partition.patch b/0001-libfdisk-fix-last-free-sector-detection-if-partition.patch new file mode 100644 index 0000000..eca67e6 --- /dev/null +++ b/0001-libfdisk-fix-last-free-sector-detection-if-partition.patch @@ -0,0 +1,42 @@ +From 430952f254cddf1ccb47a5f8caf5b5cd64193c3a Mon Sep 17 00:00:00 2001 +From: Karel Zak +Date: Mon, 10 Aug 2020 11:37:32 +0200 +Subject: [PATCH] libfdisk: fix last free sector detection if partition size + specified + +We need to skip useless gaps between partition if the gap is no large +enough for a new partition. Unfortunately, the current code checks +size of the gap, but does not care for location of the gap -- this is +good enough for dialog driven partitioning, but it's pretty bad if +start of the partition is explicitly specified (e.g. sfdisk). + +Addresses: https://bugzilla.redhat.com/show_bug.cgi?id=1860461 +Signed-off-by: Karel Zak +--- + libfdisk/src/dos.c | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/libfdisk/src/dos.c b/libfdisk/src/dos.c +index 176969883..890e33a26 100644 +--- a/libfdisk/src/dos.c ++++ b/libfdisk/src/dos.c +@@ -1274,14 +1274,14 @@ static int add_partition(struct fdisk_context *cxt, size_t n, + fdisk_sector_t last; + + rc = find_last_free(cxt, is_logical, start, limit, &last); +- + if (rc == 0 && last - start + 1 < fdisk_partition_get_size(pa)) { + DBG(LABEL, ul_debug("DOS: area <%ju,%ju> too small [wanted=%ju aval=%ju]", + (uintmax_t) start, (uintmax_t) last, + fdisk_partition_get_size(pa), + last - start)); + +- if (fdisk_partition_has_start(pa)) ++ if (fdisk_partition_has_start(pa) ++ && fdisk_partition_get_start(pa) <= last) + rc = -ENOSPC; + else { + start = last + 1; +-- +2.25.4 + diff --git a/libmount-remove-read-mountinfo-workaround.patch b/0002-libmount-remove-read-mountinfo-workaround.patch similarity index 100% rename from libmount-remove-read-mountinfo-workaround.patch rename to 0002-libmount-remove-read-mountinfo-workaround.patch diff --git a/util-linux.spec b/util-linux.spec index 9819085..b98ff97 100644 --- a/util-linux.spec +++ b/util-linux.spec @@ -32,6 +32,9 @@ BuildRequires: libcap-ng-devel BuildRequires: %{pypkg}-devel BuildRequires: pcre2-devel BuildRequires: gcc +BuildRequires: autoconf +BuildRequires: automake +BuildRequires: libtool %ifarch ppc64le BuildRequires: librtas-devel %endif @@ -101,9 +104,11 @@ Requires: libfdisk = %{version}-%{release} ### # 151635 - makeing /var/log/lastlog Patch0: 2.36-login-lastlog-create.patch +# 1860461 - sfdisk regression creating simple 3 partition MBR disk +Patch1: 0001-libfdisk-fix-last-free-sector-detection-if-partition.patch # https://github.com/karelzak/util-linux/commit/57898c3a7ee8fc5933cddd4526bb3980bef85a02 # The workaround is unnecessary on Fedora with kernel >= 5.8. -Patch1: libmount-remove-read-mountinfo-workaround.patch +Patch2: 0002-libmount-remove-read-mountinfo-workaround.patch %description The util-linux package contains a large variety of low-level system @@ -938,6 +943,7 @@ fi %changelog * 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 From b441300c920b353f75cb400c4726b561409b6268 Mon Sep 17 00:00:00 2001 From: Tom Stellard Date: Thu, 12 Nov 2020 11:10:09 +0100 Subject: [PATCH 111/232] v2.36-4: Use make macros https://fedoraproject.org/wiki/Changes/UseMakeBuildInstallMacro [kzak@redhat.com: - port to the current master branch] --- util-linux.spec | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/util-linux.spec b/util-linux.spec index b98ff97..396faad 100644 --- a/util-linux.spec +++ b/util-linux.spec @@ -2,7 +2,7 @@ Summary: A collection of basic system utilities Name: util-linux Version: 2.36 -Release: 3%{?dist} +Release: 4%{?dist} License: GPLv2 and GPLv2+ and LGPLv2+ and BSD with advertising and Public Domain URL: http://en.wikipedia.org/wiki/Util-linux @@ -306,7 +306,7 @@ export DAEMON_LDFLAGS="$SUID_LDFLAGS" %endif # build util-linux -make %{?_smp_mflags} +%make_build %check #to run tests use "--with check" @@ -326,7 +326,7 @@ touch ${RPM_BUILD_ROOT}/var/log/lastlog chmod 0644 ${RPM_BUILD_ROOT}/var/log/lastlog # install util-linux -make install DESTDIR=${RPM_BUILD_ROOT} +%make_install # raw echo '.so man8/raw.8' > $RPM_BUILD_ROOT%{_mandir}/man8/rawdevices.8 @@ -941,6 +941,10 @@ fi %{_libdir}/python*/site-packages/libmount/ %changelog +* Tue Jul 14 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 From c48435329aabbed661ee62ed8724dd990cf44bc5 Mon Sep 17 00:00:00 2001 From: Karel Zak Date: Mon, 16 Nov 2020 14:56:03 +0100 Subject: [PATCH 112/232] 2.36.1: upgrade --- ...t-free-sector-detection-if-partition.patch | 42 ------------------- util-linux.spec | 12 +++--- 2 files changed, 7 insertions(+), 47 deletions(-) delete mode 100644 0001-libfdisk-fix-last-free-sector-detection-if-partition.patch diff --git a/0001-libfdisk-fix-last-free-sector-detection-if-partition.patch b/0001-libfdisk-fix-last-free-sector-detection-if-partition.patch deleted file mode 100644 index eca67e6..0000000 --- a/0001-libfdisk-fix-last-free-sector-detection-if-partition.patch +++ /dev/null @@ -1,42 +0,0 @@ -From 430952f254cddf1ccb47a5f8caf5b5cd64193c3a Mon Sep 17 00:00:00 2001 -From: Karel Zak -Date: Mon, 10 Aug 2020 11:37:32 +0200 -Subject: [PATCH] libfdisk: fix last free sector detection if partition size - specified - -We need to skip useless gaps between partition if the gap is no large -enough for a new partition. Unfortunately, the current code checks -size of the gap, but does not care for location of the gap -- this is -good enough for dialog driven partitioning, but it's pretty bad if -start of the partition is explicitly specified (e.g. sfdisk). - -Addresses: https://bugzilla.redhat.com/show_bug.cgi?id=1860461 -Signed-off-by: Karel Zak ---- - libfdisk/src/dos.c | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -diff --git a/libfdisk/src/dos.c b/libfdisk/src/dos.c -index 176969883..890e33a26 100644 ---- a/libfdisk/src/dos.c -+++ b/libfdisk/src/dos.c -@@ -1274,14 +1274,14 @@ static int add_partition(struct fdisk_context *cxt, size_t n, - fdisk_sector_t last; - - rc = find_last_free(cxt, is_logical, start, limit, &last); -- - if (rc == 0 && last - start + 1 < fdisk_partition_get_size(pa)) { - DBG(LABEL, ul_debug("DOS: area <%ju,%ju> too small [wanted=%ju aval=%ju]", - (uintmax_t) start, (uintmax_t) last, - fdisk_partition_get_size(pa), - last - start)); - -- if (fdisk_partition_has_start(pa)) -+ if (fdisk_partition_has_start(pa) -+ && fdisk_partition_get_start(pa) <= last) - rc = -ENOSPC; - else { - start = last + 1; --- -2.25.4 - diff --git a/util-linux.spec b/util-linux.spec index 396faad..85cf53a 100644 --- a/util-linux.spec +++ b/util-linux.spec @@ -1,8 +1,8 @@ ### Header Summary: A collection of basic system utilities Name: util-linux -Version: 2.36 -Release: 4%{?dist} +Version: 2.36.1 +Release: 1%{?dist} License: GPLv2 and GPLv2+ and LGPLv2+ and BSD with advertising and Public Domain URL: http://en.wikipedia.org/wiki/Util-linux @@ -104,11 +104,9 @@ Requires: libfdisk = %{version}-%{release} ### # 151635 - makeing /var/log/lastlog Patch0: 2.36-login-lastlog-create.patch -# 1860461 - sfdisk regression creating simple 3 partition MBR disk -Patch1: 0001-libfdisk-fix-last-free-sector-detection-if-partition.patch # https://github.com/karelzak/util-linux/commit/57898c3a7ee8fc5933cddd4526bb3980bef85a02 # The workaround is unnecessary on Fedora with kernel >= 5.8. -Patch2: 0002-libmount-remove-read-mountinfo-workaround.patch +Patch1: 0002-libmount-remove-read-mountinfo-workaround.patch %description The util-linux package contains a large variety of low-level system @@ -941,6 +939,10 @@ fi %{_libdir}/python*/site-packages/libmount/ %changelog +* Mon Nov 16 2020 Karel Zak - 2.36.1-1 +- upgrade to stable upstream 2.36.1 + https://www.kernel.org/pub/linux/utils/util-linux/v2.36/v2.36.1-ReleaseNotes + * Tue Jul 14 2020 Tom Stellard - 2.36-4 - Use make macros - https://fedoraproject.org/wiki/Changes/UseMakeBuildInstallMacro From 347549f079887ce61f62e6ffd3cdf29d1a245626 Mon Sep 17 00:00:00 2001 From: Karel Zak Date: Mon, 16 Nov 2020 15:32:39 +0100 Subject: [PATCH 113/232] upload sources --- .gitignore | 1 + sources | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/.gitignore b/.gitignore index 3126fff..8149425 100644 --- a/.gitignore +++ b/.gitignore @@ -78,3 +78,4 @@ /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 diff --git a/sources b/sources index e271813..bf4b5be 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (util-linux-2.36.tar.xz) = cbb4975da8d99a1edd45514171d59ea7b019ce0f77a81e88b447a733f725e91c53540d9dc78bc626dc011dca129b8b150aaf9e64ccf62a4202ae816581acf4fd +SHA512 (util-linux-2.36.1.tar.xz) = 9dfd01ae4c16fa35015dafd222d555988b72e4d1d2fbadd140791b9ef78f84fa8254d4d08dc67cabf41e873338867f19e786b989d708ccfe5161c4f7679bba7a From 5977e189d6cfbb091395521ccc6d4c680cc1298b Mon Sep 17 00:00:00 2001 From: Karel Zak Date: Thu, 19 Nov 2020 11:50:25 +0100 Subject: [PATCH 114/232] 2.36.1-2: cleanup patches, fix 'symfollow' mount issue --- ...ep-freed-issue-file-pointer-zeroized.patch | 55 ------- column-fix-leading-space-characters-bug.patch | 148 ------------------ ...se-symfollow-for-helpers-on-user-mou.patch | 40 +++++ ...unt-remove-read-mountinfo-workaround.patch | 0 ...create.patch => login-lastlog-create.patch | 0 util-linux.spec | 13 +- 6 files changed, 50 insertions(+), 206 deletions(-) delete mode 100644 0001-agetty-keep-freed-issue-file-pointer-zeroized.patch delete mode 100644 column-fix-leading-space-characters-bug.patch create mode 100644 libmount-don-t-use-symfollow-for-helpers-on-user-mou.patch rename 0002-libmount-remove-read-mountinfo-workaround.patch => libmount-remove-read-mountinfo-workaround.patch (100%) rename 2.36-login-lastlog-create.patch => login-lastlog-create.patch (100%) diff --git a/0001-agetty-keep-freed-issue-file-pointer-zeroized.patch b/0001-agetty-keep-freed-issue-file-pointer-zeroized.patch deleted file mode 100644 index a5441b1..0000000 --- a/0001-agetty-keep-freed-issue-file-pointer-zeroized.patch +++ /dev/null @@ -1,55 +0,0 @@ -From 9418ba6d05feed6061f5343741b1bc56e7bde663 Mon Sep 17 00:00:00 2001 -From: Karel Zak -Date: Fri, 20 Dec 2019 15:05:33 +0100 -Subject: [PATCH] agetty: keep freed issue file pointer zeroized - -References: https://bugzilla.redhat.com/show_bug.cgi?id=1784536 -Signed-off-by: Karel Zak ---- - term-utils/agetty.c | 15 +++++++++++---- - 1 file changed, 11 insertions(+), 4 deletions(-) - -diff --git a/term-utils/agetty.c b/term-utils/agetty.c -index 3c20acc98..dfc4921f5 100644 ---- a/term-utils/agetty.c -+++ b/term-utils/agetty.c -@@ -1820,8 +1820,12 @@ static int issuefile_read_stream( - if (fstat(fileno(f), &st) || !S_ISREG(st.st_mode)) - return 1; - -- if (!ie->output) -- ie->output = open_memstream(&ie->mem, &ie->mem_sz); -+ if (!ie->output) { -+ free(ie->mem); -+ ie->mem_sz = 0; -+ ie->mem = NULL; -+ ie->output = open_memstream(&ie->mem, &ie->mem_sz); -+ } - - while ((c = getc(f)) != EOF) { - if (c == '\\') -@@ -1965,8 +1969,10 @@ done: - if (netlink_groups != 0) - open_netlink(); - #endif -- if (ie->output) -+ if (ie->output) { - fclose(ie->output); -+ ie->output = NULL; -+ } - } - - /* This is --show-issue backend, executed by normal user on the current -@@ -1985,7 +1991,8 @@ static void show_issue(struct options *op) - - if (ie.mem_sz) - write_all(STDOUT_FILENO, ie.mem, ie.mem_sz); -- -+ if (ie.output) -+ fclose(ie.output); - free(ie.mem); - } - --- -2.21.0 - diff --git a/column-fix-leading-space-characters-bug.patch b/column-fix-leading-space-characters-bug.patch deleted file mode 100644 index e612d34..0000000 --- a/column-fix-leading-space-characters-bug.patch +++ /dev/null @@ -1,148 +0,0 @@ -From 651c5d428c2ef103ee8c5b1a310d6f29f0304744 Mon Sep 17 00:00:00 2001 -From: Karel Zak -Date: Tue, 27 Mar 2018 10:40:13 +0200 -Subject: [PATCH] column: fix leading space characters bug - -The bug has been introduced during column(1) rewrite. The function -read_input() need to skip leading space only temporary to detect empty -lines, but the rest of the code has to use the original buffer (line). -I've tried to fix one of the symptoms by 5c7b67fbbf41c973ca8d49b1e8bdba22dbb917aa -(alter), but this solution is unnecessary and too complex. - -Changes: - -* don't ignore leading space -* remove unnecessary stuff introduced by 5c7b67fbbf41c973ca8d49b1e8bdba22dbb917aa -* fix regression test with incorrect separator - -Addresses: https://github.com/karelzak/util-linux/issues/575 -Addresses: https://bugzilla.redhat.com/show_bug.cgi?id=1560283 -Signed-off-by: Karel Zak ---- - tests/expected/column/table-input-separator-space | 2 +- - tests/ts/column/table | 2 +- - text-utils/column.c | 36 ++--------------------- - 4 files changed, 5 insertions(+), 38 deletions(-) - -diff --git a/tests/expected/column/table-input-separator-space b/tests/expected/column/table-input-separator-space -index 8a6513c11..25d9b5ab0 100644 ---- a/tests/expected/column/table-input-separator-space -+++ b/tests/expected/column/table-input-separator-space -@@ -1,5 +1,5 @@ - AAA BBBB C DDDD --BBB CCCC DDD -+ BBB CCCC DDD - AA BB DD - AAAA B CC D - AA CC DD -diff --git a/tests/ts/column/table b/tests/ts/column/table -index 27b52e7c8..5c89d5eaf 100755 ---- a/tests/ts/column/table -+++ b/tests/ts/column/table -@@ -37,7 +37,7 @@ $TS_CMD_COLUMN --separator ',' --table $TS_SELF/files/table-sep >> $TS_OUTPUT 2> - ts_finalize_subtest - - ts_init_subtest "input-separator-space" --$TS_CMD_COLUMN --separator ',' --table $TS_SELF/files/table-sep-space >> $TS_OUTPUT 2>&1 -+$TS_CMD_COLUMN --separator "$(echo -e '\t')" --table $TS_SELF/files/table-sep-space >> $TS_OUTPUT 2>&1 - ts_finalize_subtest - - ts_init_subtest "long" -diff --git a/text-utils/column.c b/text-utils/column.c -index 89d46d280..195814328 100644 ---- a/text-utils/column.c -+++ b/text-utils/column.c -@@ -86,7 +86,6 @@ struct column_control { - const char *tree_parent; - - wchar_t *input_separator; -- char *input_separator_raw; - const char *output_separator; - - wchar_t **ents; /* input entries */ -@@ -96,7 +95,6 @@ struct column_control { - unsigned int greedy :1, - json :1, - header_repeat :1, -- input_sep_space : 1, /* input separator contains space chars */ - tab_noheadings :1; - }; - -@@ -470,19 +468,7 @@ static int read_input(struct column_control *ctl, FILE *fp) - char *buf = NULL; - size_t bufsz = 0; - size_t maxents = 0; -- int rc = 0, is_space_sep = 0; -- -- /* Check if columns separator contains spaces chars */ -- if (ctl->mode == COLUMN_MODE_TABLE && ctl->input_separator_raw) { -- char *p; -- -- for (p = ctl->input_separator_raw; *p; p++) { -- if (isspace(*p)) { -- is_space_sep = 1; -- break; -- } -- } -- } -+ int rc = 0; - - /* Read input */ - do { -@@ -496,19 +482,6 @@ static int read_input(struct column_control *ctl, FILE *fp) - err(EXIT_FAILURE, _("read failed")); - } - str = (char *) skip_space(buf); -- -- /* The table columns separator could be a space. In this case -- * don't skip the separator if at begin of the line. For example: -- * -- * echo -e "\tcol1\tcol2\nrow\t1\t2" \ -- * | column -t -s "$(echo -e '\t')" --table-columns A,B,C -- */ -- if (is_space_sep && str > buf) { -- char *x = strpbrk(buf, ctl->input_separator_raw); -- if (x && x < str) -- str = x; -- } -- - if (str) { - p = strchr(str, '\n'); - if (p) -@@ -517,13 +490,13 @@ static int read_input(struct column_control *ctl, FILE *fp) - if (!str || !*str) - continue; - -- wcs = mbs_to_wcs(str); -+ wcs = mbs_to_wcs(buf); - if (!wcs) { - /* - * Convert broken sequences to \x and continue. - */ - size_t tmpsz = 0; -- char *tmp = mbs_invalid_encode(str, &tmpsz); -+ char *tmp = mbs_invalid_encode(buf, &tmpsz); - - if (!tmp) - err(EXIT_FAILURE, _("read failed")); -@@ -720,7 +693,6 @@ int main(int argc, char **argv) - - ctl.output_separator = " "; - ctl.input_separator = mbs_to_wcs("\t "); -- ctl.input_separator_raw = xstrdup("\t "); - - while ((c = getopt_long(argc, argv, "c:dE:eH:hi:JN:n:O:o:p:R:r:s:T:tVW:x", longopts, NULL)) != -1) { - -@@ -775,9 +747,7 @@ int main(int argc, char **argv) - break; - case 's': - free(ctl.input_separator); -- free(ctl.input_separator_raw); - ctl.input_separator = mbs_to_wcs(optarg); -- ctl.input_separator_raw = xstrdup(optarg); - ctl.greedy = 0; - break; - case 'T': --- -2.14.3 - diff --git a/libmount-don-t-use-symfollow-for-helpers-on-user-mou.patch b/libmount-don-t-use-symfollow-for-helpers-on-user-mou.patch new file mode 100644 index 0000000..edc7477 --- /dev/null +++ b/libmount-don-t-use-symfollow-for-helpers-on-user-mou.patch @@ -0,0 +1,40 @@ +From 76bb9b30cfcf54b59591a57a3d2a747e514469b2 Mon Sep 17 00:00:00 2001 +From: Karel Zak +Date: Thu, 19 Nov 2020 09:49:16 +0100 +Subject: [PATCH] libmount: don't use "symfollow" for helpers on user mounts + +Addresses: https://github.com/karelzak/util-linux/issues/1193 +Signed-off-by: Karel Zak +--- + libmount/src/context_mount.c | 6 +++--- + 1 file changed, 3 insertions(+), 3 deletions(-) + +diff --git a/libmount/src/context_mount.c b/libmount/src/context_mount.c +index 8c394c1ff..dd1786176 100644 +--- a/libmount/src/context_mount.c ++++ b/libmount/src/context_mount.c +@@ -415,6 +415,9 @@ static int generate_helper_optstr(struct libmnt_context *cxt, char **optstr) + * string, because there is nothing like MS_EXEC (we only have + * MS_NOEXEC in mount flags and we don't care about the original + * mount string in libmount for VFS options). ++ * ++ * This use-case makes sense for MS_SECURE flags only (see ++ * mnt_optstr_get_flags() and mnt_context_merge_mflags()). + */ + if (!(cxt->mountflags & MS_NOEXEC)) + mnt_optstr_append_option(optstr, "exec", NULL); +@@ -422,11 +425,8 @@ static int generate_helper_optstr(struct libmnt_context *cxt, char **optstr) + mnt_optstr_append_option(optstr, "suid", NULL); + if (!(cxt->mountflags & MS_NODEV)) + mnt_optstr_append_option(optstr, "dev", NULL); +- if (!(cxt->mountflags & MS_NOSYMFOLLOW)) +- mnt_optstr_append_option(optstr, "symfollow", NULL); + } + +- + if (cxt->flags & MNT_FL_SAVED_USER) + rc = mnt_optstr_set_option(optstr, "user", cxt->orig_user); + if (rc) +-- +2.25.4 + diff --git a/0002-libmount-remove-read-mountinfo-workaround.patch b/libmount-remove-read-mountinfo-workaround.patch similarity index 100% rename from 0002-libmount-remove-read-mountinfo-workaround.patch rename to libmount-remove-read-mountinfo-workaround.patch diff --git a/2.36-login-lastlog-create.patch b/login-lastlog-create.patch similarity index 100% rename from 2.36-login-lastlog-create.patch rename to login-lastlog-create.patch diff --git a/util-linux.spec b/util-linux.spec index 85cf53a..4541839 100644 --- a/util-linux.spec +++ b/util-linux.spec @@ -2,7 +2,7 @@ Summary: A collection of basic system utilities Name: util-linux Version: 2.36.1 -Release: 1%{?dist} +Release: 2%{?dist} License: GPLv2 and GPLv2+ and LGPLv2+ and BSD with advertising and Public Domain URL: http://en.wikipedia.org/wiki/Util-linux @@ -103,10 +103,12 @@ Requires: libfdisk = %{version}-%{release} ### Ready for upstream? ### # 151635 - makeing /var/log/lastlog -Patch0: 2.36-login-lastlog-create.patch +Patch0: login-lastlog-create.patch # https://github.com/karelzak/util-linux/commit/57898c3a7ee8fc5933cddd4526bb3980bef85a02 # The workaround is unnecessary on Fedora with kernel >= 5.8. -Patch1: 0002-libmount-remove-read-mountinfo-workaround.patch +Patch1: libmount-remove-read-mountinfo-workaround.patch +# usptream patch, https://github.com/karelzak/util-linux/issues/1193 +Patch2: libmount-don-t-use-symfollow-for-helpers-on-user-mou.patch %description The util-linux package contains a large variety of low-level system @@ -939,6 +941,11 @@ fi %{_libdir}/python*/site-packages/libmount/ %changelog +* 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 https://www.kernel.org/pub/linux/utils/util-linux/v2.36/v2.36.1-ReleaseNotes From 08aad7c19083120c329d523810ec9d8ee609018a Mon Sep 17 00:00:00 2001 From: Tom Stellard Date: Sat, 9 Jan 2021 00:31:51 +0000 Subject: [PATCH 115/232] Add BuildRequires: make https://fedoraproject.org/wiki/Changes/Remove_make_from_BuildRoot --- util-linux.spec | 1 + 1 file changed, 1 insertion(+) diff --git a/util-linux.spec b/util-linux.spec index 4541839..fc87cac 100644 --- a/util-linux.spec +++ b/util-linux.spec @@ -16,6 +16,7 @@ URL: http://en.wikipedia.org/wiki/Util-linux %define pyver 3 ### Dependencies +BuildRequires: make BuildRequires: audit-libs-devel >= 1.0.6 BuildRequires: gettext-devel BuildRequires: libselinux-devel From b188598d3532ba6239c1278447e7b928d6ae386e Mon Sep 17 00:00:00 2001 From: Karel Zak Date: Thu, 14 Jan 2021 15:38:22 +0100 Subject: [PATCH 116/232] 2.36.1-3: improve uuidd scriptlets It seems we need to explicitly restart and uninstall uuiddd.socket unit too. --- util-linux.spec | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/util-linux.spec b/util-linux.spec index fc87cac..b86d8f3 100644 --- a/util-linux.spec +++ b/util-linux.spec @@ -2,7 +2,7 @@ Summary: A collection of basic system utilities Name: util-linux Version: 2.36.1 -Release: 2%{?dist} +Release: 3%{?dist} License: GPLv2 and GPLv2+ and LGPLv2+ and BSD with advertising and Public Domain URL: http://en.wikipedia.org/wiki/Util-linux @@ -472,14 +472,17 @@ exit 0 # "systemctl preset" and it enable/disable service only. %post -n uuidd %systemd_post uuidd.service -if [ $1 -eq 1 ]; then +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 @@ -942,6 +945,9 @@ fi %{_libdir}/python*/site-packages/libmount/ %changelog +* 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 @@ -949,7 +955,6 @@ fi * Mon Nov 16 2020 Karel Zak - 2.36.1-1 - upgrade to stable upstream 2.36.1 - https://www.kernel.org/pub/linux/utils/util-linux/v2.36/v2.36.1-ReleaseNotes * Tue Jul 14 2020 Tom Stellard - 2.36-4 - Use make macros From 1c853c1f4ba6f4afeb9009710e49f0783af53720 Mon Sep 17 00:00:00 2001 From: Kelvin Fan Date: Wed, 27 Jan 2021 17:16:53 +0100 Subject: [PATCH 117/232] 2.36.1-4: Add patch to add /run/motd.d to default MOTD_FILE in login(1) --- login-default-motd-file.patch | 13 +++++++++++++ util-linux.spec | 8 +++++++- 2 files changed, 20 insertions(+), 1 deletion(-) create mode 100644 login-default-motd-file.patch diff --git a/login-default-motd-file.patch b/login-default-motd-file.patch new file mode 100644 index 0000000..3670848 --- /dev/null +++ b/login-default-motd-file.patch @@ -0,0 +1,13 @@ +diff --git a/include/pathnames.h b/include/pathnames.h +index 3845d4c33..fac3a0783 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 diff --git a/util-linux.spec b/util-linux.spec index b86d8f3..e0da321 100644 --- a/util-linux.spec +++ b/util-linux.spec @@ -2,7 +2,7 @@ Summary: A collection of basic system utilities Name: util-linux Version: 2.36.1 -Release: 3%{?dist} +Release: 4%{?dist} License: GPLv2 and GPLv2+ and LGPLv2+ and BSD with advertising and Public Domain URL: http://en.wikipedia.org/wiki/Util-linux @@ -110,6 +110,9 @@ Patch0: login-lastlog-create.patch Patch1: libmount-remove-read-mountinfo-workaround.patch # usptream patch, https://github.com/karelzak/util-linux/issues/1193 Patch2: libmount-don-t-use-symfollow-for-helpers-on-user-mou.patch +# Add `/run/motd.d` to the hardcoded MOTD_FILE +# https://github.com/coreos/console-login-helper-messages/issues/60 +Patch3: login-default-motd-file.patch %description The util-linux package contains a large variety of low-level system @@ -945,6 +948,9 @@ fi %{_libdir}/python*/site-packages/libmount/ %changelog +* 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) From 8abfa7439245c37968309eb89927ae22bcb884aa Mon Sep 17 00:00:00 2001 From: Karel Zak Date: Fri, 12 Feb 2021 16:07:58 +0100 Subject: [PATCH 118/232] 2.36.2-1: upgrade --- .gitignore | 1 + ...se-symfollow-for-helpers-on-user-mou.patch | 40 ------------------- sources | 2 +- util-linux.spec | 12 +++--- 4 files changed, 9 insertions(+), 46 deletions(-) delete mode 100644 libmount-don-t-use-symfollow-for-helpers-on-user-mou.patch diff --git a/.gitignore b/.gitignore index 8149425..fa06b03 100644 --- a/.gitignore +++ b/.gitignore @@ -79,3 +79,4 @@ /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 diff --git a/libmount-don-t-use-symfollow-for-helpers-on-user-mou.patch b/libmount-don-t-use-symfollow-for-helpers-on-user-mou.patch deleted file mode 100644 index edc7477..0000000 --- a/libmount-don-t-use-symfollow-for-helpers-on-user-mou.patch +++ /dev/null @@ -1,40 +0,0 @@ -From 76bb9b30cfcf54b59591a57a3d2a747e514469b2 Mon Sep 17 00:00:00 2001 -From: Karel Zak -Date: Thu, 19 Nov 2020 09:49:16 +0100 -Subject: [PATCH] libmount: don't use "symfollow" for helpers on user mounts - -Addresses: https://github.com/karelzak/util-linux/issues/1193 -Signed-off-by: Karel Zak ---- - libmount/src/context_mount.c | 6 +++--- - 1 file changed, 3 insertions(+), 3 deletions(-) - -diff --git a/libmount/src/context_mount.c b/libmount/src/context_mount.c -index 8c394c1ff..dd1786176 100644 ---- a/libmount/src/context_mount.c -+++ b/libmount/src/context_mount.c -@@ -415,6 +415,9 @@ static int generate_helper_optstr(struct libmnt_context *cxt, char **optstr) - * string, because there is nothing like MS_EXEC (we only have - * MS_NOEXEC in mount flags and we don't care about the original - * mount string in libmount for VFS options). -+ * -+ * This use-case makes sense for MS_SECURE flags only (see -+ * mnt_optstr_get_flags() and mnt_context_merge_mflags()). - */ - if (!(cxt->mountflags & MS_NOEXEC)) - mnt_optstr_append_option(optstr, "exec", NULL); -@@ -422,11 +425,8 @@ static int generate_helper_optstr(struct libmnt_context *cxt, char **optstr) - mnt_optstr_append_option(optstr, "suid", NULL); - if (!(cxt->mountflags & MS_NODEV)) - mnt_optstr_append_option(optstr, "dev", NULL); -- if (!(cxt->mountflags & MS_NOSYMFOLLOW)) -- mnt_optstr_append_option(optstr, "symfollow", NULL); - } - -- - if (cxt->flags & MNT_FL_SAVED_USER) - rc = mnt_optstr_set_option(optstr, "user", cxt->orig_user); - if (rc) --- -2.25.4 - diff --git a/sources b/sources index bf4b5be..cb31284 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (util-linux-2.36.1.tar.xz) = 9dfd01ae4c16fa35015dafd222d555988b72e4d1d2fbadd140791b9ef78f84fa8254d4d08dc67cabf41e873338867f19e786b989d708ccfe5161c4f7679bba7a +SHA512 (util-linux-2.36.2.tar.xz) = 6ab141f44ca4cb6b600081f10eae17e15d23abd122a37eb3ac6c845513a6a4396dc9dcff30b3032de80116ddde50e27dfbc86f92708c1051f84f0c919194664b diff --git a/util-linux.spec b/util-linux.spec index e0da321..4383207 100644 --- a/util-linux.spec +++ b/util-linux.spec @@ -1,8 +1,8 @@ ### Header Summary: A collection of basic system utilities Name: util-linux -Version: 2.36.1 -Release: 4%{?dist} +Version: 2.36.2 +Release: 1%{?dist} License: GPLv2 and GPLv2+ and LGPLv2+ and BSD with advertising and Public Domain URL: http://en.wikipedia.org/wiki/Util-linux @@ -108,11 +108,9 @@ Patch0: login-lastlog-create.patch # https://github.com/karelzak/util-linux/commit/57898c3a7ee8fc5933cddd4526bb3980bef85a02 # The workaround is unnecessary on Fedora with kernel >= 5.8. Patch1: libmount-remove-read-mountinfo-workaround.patch -# usptream patch, https://github.com/karelzak/util-linux/issues/1193 -Patch2: libmount-don-t-use-symfollow-for-helpers-on-user-mou.patch # Add `/run/motd.d` to the hardcoded MOTD_FILE # https://github.com/coreos/console-login-helper-messages/issues/60 -Patch3: login-default-motd-file.patch +Patch2: login-default-motd-file.patch %description The util-linux package contains a large variety of low-level system @@ -948,6 +946,10 @@ fi %{_libdir}/python*/site-packages/libmount/ %changelog +* 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) From 2002e7d43829fffbabeeab583e09d80cc7f792b0 Mon Sep 17 00:00:00 2001 From: Robert Scheck Date: Wed, 13 Jan 2021 22:17:52 +0000 Subject: [PATCH 119/232] 2.36.2-2: Spec file cleanup [kzak@redhat.com: - add changelog entry to spec file] --- util-linux.spec | 37 ++++++++++++++++--------------------- 1 file changed, 16 insertions(+), 21 deletions(-) diff --git a/util-linux.spec b/util-linux.spec index 4383207..19ac788 100644 --- a/util-linux.spec +++ b/util-linux.spec @@ -1,10 +1,10 @@ ### Header -Summary: A collection of basic system utilities +Summary: Collection of basic system utilities Name: util-linux Version: 2.36.2 -Release: 1%{?dist} +Release: 2%{?dist} License: GPLv2 and GPLv2+ and LGPLv2+ and BSD with advertising and Public Domain -URL: http://en.wikipedia.org/wiki/Util-linux +URL: https://en.wikipedia.org/wiki/Util-linux ### Macros %define upstream_version %{version} @@ -47,7 +47,7 @@ BuildRequires: librtas-devel #BuildRequires: bison ### Sources -Source0: ftp://ftp.kernel.org/pub/linux/utils/util-linux/v%{upstream_major}/util-linux-%{upstream_version}.tar.xz +Source0: https://www.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 @@ -130,7 +130,7 @@ 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: libfdisk%{?_isa} = %{version}-%{release} Requires: pkgconfig %description -n libfdisk-devel @@ -149,7 +149,7 @@ 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: libsmartcols%{?_isa} = %{version}-%{release} Requires: pkgconfig %description -n libsmartcols-devel @@ -160,8 +160,8 @@ part of util-linux. %package -n libmount Summary: Device mounting library License: LGPLv2+ -Requires: libblkid = %{version}-%{release} -Requires: libuuid = %{version}-%{release} +Requires: libblkid%{?_isa} = %{version}-%{release} +Requires: libuuid%{?_isa} = %{version}-%{release} Conflicts: filesystem < 3 %description -n libmount @@ -171,7 +171,7 @@ 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: libmount%{?_isa} = %{version}-%{release} Requires: pkgconfig %description -n libmount-devel @@ -182,7 +182,7 @@ part of util-linux. %package -n libblkid Summary: Block device ID library License: LGPLv2+ -Requires: libuuid = %{version}-%{release} +Requires: libuuid%{?_isa} = %{version}-%{release} Conflicts: filesystem < 3 Requires(post): coreutils @@ -193,7 +193,7 @@ 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: libblkid%{?_isa} = %{version}-%{release} Requires: pkgconfig %description -n libblkid-devel @@ -221,7 +221,7 @@ 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: libuuid%{?_isa} = %{version}-%{release} Requires: pkgconfig %description -n libuuid-devel @@ -255,7 +255,7 @@ SMP systems. %package -n %{pypkg}-libmount Summary: Python bindings for the libmount library -Requires: libmount = %{version}-%{release} +Requires: libmount%{?_isa} = %{version}-%{release} License: LGPLv2+ %description -n %{pypkg}-libmount @@ -318,7 +318,6 @@ make check %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} @@ -495,7 +494,6 @@ 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} @@ -863,7 +861,6 @@ fi %files -n uuidd -%{!?_licensedir:%global license %%doc} %license Documentation/licenses/COPYING.GPL-2.0-or-later %{_mandir}/man8/uuidd.8* %{_sbindir}/uuidd @@ -874,7 +871,6 @@ fi %files -n libfdisk -%{!?_licensedir:%global license %%doc} %license Documentation/licenses/COPYING.LGPL-2.1-or-later libfdisk/COPYING %{_libdir}/libfdisk.so.* @@ -885,7 +881,6 @@ fi %files -n libsmartcols -%{!?_licensedir:%global license %%doc} %license Documentation/licenses/COPYING.LGPL-2.1-or-later libsmartcols/COPYING %{_libdir}/libsmartcols.so.* @@ -896,7 +891,6 @@ fi %files -n libmount -%{!?_licensedir:%global license %%doc} %license Documentation/licenses/COPYING.LGPL-2.1-or-later libmount/COPYING %{_libdir}/libmount.so.* @@ -919,7 +913,6 @@ fi %files -n libuuid -%{!?_licensedir:%global license %%doc} %license Documentation/licenses/COPYING.BSD-3-Clause libuuid/COPYING %{_libdir}/libuuid.so.* @@ -941,11 +934,13 @@ fi %{_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 +* Tue Mar 2 2021 Karel Zak - 2.36.2-2 +- spec file cleanup https://src.fedoraproject.org/rpms/util-linux/pull-request/9 + * 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 From 05489e2334a12a20a70dc70f845ecf6529489d83 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= Date: Tue, 2 Mar 2021 16:12:05 +0100 Subject: [PATCH 120/232] Rebuilt for updated systemd-rpm-macros See https://pagure.io/fesco/issue/2583. --- util-linux.spec | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/util-linux.spec b/util-linux.spec index 19ac788..b4d2b67 100644 --- a/util-linux.spec +++ b/util-linux.spec @@ -2,7 +2,7 @@ Summary: Collection of basic system utilities Name: util-linux Version: 2.36.2 -Release: 2%{?dist} +Release: 3%{?dist} License: GPLv2 and GPLv2+ and LGPLv2+ and BSD with advertising and Public Domain URL: https://en.wikipedia.org/wiki/Util-linux @@ -938,6 +938,10 @@ fi %{_libdir}/python*/site-packages/libmount/ %changelog +* Tue Mar 02 2021 Zbigniew Jędrzejewski-Szmek - 2.36.2-3 +- Rebuilt for updated systemd-rpm-macros + See https://pagure.io/fesco/issue/2583. + * Tue Mar 2 2021 Karel Zak - 2.36.2-2 - spec file cleanup https://src.fedoraproject.org/rpms/util-linux/pull-request/9 From 985b3cb330ab080d92c55e3a42ce4d6c09efede2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= Date: Wed, 21 Apr 2021 17:04:24 +0200 Subject: [PATCH 121/232] Make changelog chronological again --- util-linux.spec | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/util-linux.spec b/util-linux.spec index b4d2b67..615585a 100644 --- a/util-linux.spec +++ b/util-linux.spec @@ -963,7 +963,7 @@ fi * Mon Nov 16 2020 Karel Zak - 2.36.1-1 - upgrade to stable upstream 2.36.1 -* Tue Jul 14 2020 Tom Stellard - 2.36-4 +* Thu Nov 12 2020 Tom Stellard - 2.36-4 - Use make macros - https://fedoraproject.org/wiki/Changes/UseMakeBuildInstallMacro From f00635cf14df42287c612f707ae1e3383d69fde3 Mon Sep 17 00:00:00 2001 From: Karel Zak Date: Fri, 14 May 2021 10:42:53 +0200 Subject: [PATCH 122/232] 2.37-0.1: upgrade to upstream v2.37-rc2 --- .gitignore | 1 + ...unt-remove-read-mountinfo-workaround.patch | 396 ------------------ sources | 2 +- util-linux.spec | 27 +- 4 files changed, 19 insertions(+), 407 deletions(-) delete mode 100644 libmount-remove-read-mountinfo-workaround.patch diff --git a/.gitignore b/.gitignore index fa06b03..96efde9 100644 --- a/.gitignore +++ b/.gitignore @@ -80,3 +80,4 @@ /util-linux-2.36.tar.xz /util-linux-2.36.1.tar.xz /util-linux-2.36.2.tar.xz +/util-linux-2.37-rc2.tar.xz diff --git a/libmount-remove-read-mountinfo-workaround.patch b/libmount-remove-read-mountinfo-workaround.patch deleted file mode 100644 index 38f8e34..0000000 --- a/libmount-remove-read-mountinfo-workaround.patch +++ /dev/null @@ -1,396 +0,0 @@ -From 57898c3a7ee8fc5933cddd4526bb3980bef85a02 Mon Sep 17 00:00:00 2001 -From: Karel Zak -Date: Tue, 1 Sep 2020 10:15:14 +0200 -Subject: [PATCH] libmount: remove read-mountinfo workaround - -This workaround has been introduced by -http://github.com/karelzak/util-linux/commit/e4925f591c1bfb83719418b56b952830d15b77eb - -And originally requested by https://github.com/systemd/systemd/issues/10872 - -It seems we do not need it anymore as the problem should be fixed in kernel since 5.8 -(kernel commit 9f6c61f96f2d97cbb5f7fa85607bc398f843ff0f). - -Note that the libmount solution is very expensive as it repeats read() -many times (until we get consistent result) if kernel is busy with -mount table modification. This behaviour makes events management in -systemd (or other places) pretty difficult as read mountinfo takes -time on busy systems. - -Addresses: https://github.com/systemd/systemd/pull/16537 -Signed-off-by: Karel Zak ---- - configure.ac | 1 - - libmount/src/mountP.h | 2 - - libmount/src/tab_parse.c | 87 ++++---------------- - libmount/src/utils.c | 166 --------------------------------------- - 4 files changed, 15 insertions(+), 241 deletions(-) - -diff --git a/configure.ac b/configure.ac -index 2d178f3af..1e31ca3e2 100644 ---- a/configure.ac -+++ b/configure.ac -@@ -504,7 +504,6 @@ AC_CHECK_FUNCS([ \ - err \ - errx \ - explicit_bzero \ -- fmemopen \ - fsync \ - utimensat \ - getdomainname \ -diff --git a/libmount/src/mountP.h b/libmount/src/mountP.h -index d8ba0abad..ee97c6b4a 100644 ---- a/libmount/src/mountP.h -+++ b/libmount/src/mountP.h -@@ -98,7 +98,6 @@ extern int mnt_valid_tagname(const char *tagname); - extern int append_string(char **a, const char *b); - - extern const char *mnt_statfs_get_fstype(struct statfs *vfs); --extern int is_procfs_fd(int fd); - extern int is_file_empty(const char *name); - - extern int mnt_is_readonly(const char *path) -@@ -124,7 +123,6 @@ extern void mnt_free_filesystems(char **filesystems); - extern char *mnt_get_kernel_cmdline_option(const char *name); - extern int mnt_stat_mountpoint(const char *target, struct stat *st); - extern int mnt_lstat_mountpoint(const char *target, struct stat *st); --extern FILE *mnt_get_procfs_memstream(int fd, char **membuf); - - /* tab.c */ - extern int is_mountinfo(struct libmnt_table *tb); -diff --git a/libmount/src/tab_parse.c b/libmount/src/tab_parse.c -index 329987bcb..ac12dce54 100644 ---- a/libmount/src/tab_parse.c -+++ b/libmount/src/tab_parse.c -@@ -694,7 +694,15 @@ static int kernel_fs_postparse(struct libmnt_table *tb, - return rc; - } - --static int __table_parse_stream(struct libmnt_table *tb, FILE *f, const char *filename) -+/** -+ * mnt_table_parse_stream: -+ * @tb: tab pointer -+ * @f: file stream -+ * @filename: filename used for debug and error messages -+ * -+ * Returns: 0 on success, negative number in case of error. -+ */ -+int mnt_table_parse_stream(struct libmnt_table *tb, FILE *f, const char *filename) - { - int rc = -1; - int flags = 0; -@@ -773,40 +781,6 @@ err: - return rc; - } - --/** -- * mnt_table_parse_stream: -- * @tb: tab pointer -- * @f: file stream -- * @filename: filename used for debug and error messages -- * -- * Returns: 0 on success, negative number in case of error. -- */ --int mnt_table_parse_stream(struct libmnt_table *tb, FILE *f, const char *filename) --{ -- int fd, rc; -- FILE *memf = NULL; -- char *membuf = NULL; -- -- /* -- * For /proc/#/{mountinfo,mount} we read all file to memory and use it -- * as memory stream. For more details see mnt_read_procfs_file(). -- */ -- if ((fd = fileno(f)) >= 0 -- && (tb->fmt == MNT_FMT_GUESS || -- tb->fmt == MNT_FMT_MOUNTINFO || -- tb->fmt == MNT_FMT_MTAB) -- && is_procfs_fd(fd) -- && (memf = mnt_get_procfs_memstream(fd, &membuf))) { -- -- rc = __table_parse_stream(tb, memf, filename); -- fclose(memf); -- free(membuf); -- } else -- rc = __table_parse_stream(tb, f, filename); -- -- return rc; --} -- - /** - * mnt_table_parse_file: - * @tb: tab pointer -@@ -822,49 +796,18 @@ int mnt_table_parse_stream(struct libmnt_table *tb, FILE *f, const char *filenam - int mnt_table_parse_file(struct libmnt_table *tb, const char *filename) - { - FILE *f; -- int rc, fd = -1; -+ int rc; - - if (!filename || !tb) - return -EINVAL; - -- /* -- * Try to use read()+poll() to realiably read all -- * /proc/#/{mount,mountinfo} file to memory -- */ -- if (tb->fmt != MNT_FMT_SWAPS -- && strncmp(filename, "/proc/", 6) == 0) { -- -- FILE *memf; -- char *membuf = NULL; -- -- fd = open(filename, O_RDONLY|O_CLOEXEC); -- if (fd < 0) { -- rc = -errno; -- goto done; -- } -- memf = mnt_get_procfs_memstream(fd, &membuf); -- if (memf) { -- rc = __table_parse_stream(tb, memf, filename); -- -- fclose(memf); -- free(membuf); -- close(fd); -- goto done; -- } -- /* else fallback to fopen/fdopen() */ -- } -- -- if (fd >= 0) -- f = fdopen(fd, "r" UL_CLOEXECSTR); -- else -- f = fopen(filename, "r" UL_CLOEXECSTR); -- -+ f = fopen(filename, "r" UL_CLOEXECSTR); - if (f) { -- rc = __table_parse_stream(tb, f, filename); -+ rc = mnt_table_parse_stream(tb, f, filename); - fclose(f); - } else - rc = -errno; --done: -+ - DBG(TAB, ul_debugobj(tb, "parsing done [filename=%s, rc=%d]", filename, rc)); - return rc; - } -@@ -921,7 +864,7 @@ static int __mnt_table_parse_dir(struct libmnt_table *tb, const char *dirname) - - f = fopen_at(dd, d->d_name, O_RDONLY|O_CLOEXEC, "r" UL_CLOEXECSTR); - if (f) { -- __table_parse_stream(tb, f, d->d_name); -+ mnt_table_parse_stream(tb, f, d->d_name); - fclose(f); - } - } -@@ -962,7 +905,7 @@ static int __mnt_table_parse_dir(struct libmnt_table *tb, const char *dirname) - f = fopen_at(dirfd(dir), d->d_name, - O_RDONLY|O_CLOEXEC, "r" UL_CLOEXECSTR); - if (f) { -- __table_parse_stream(tb, f, d->d_name); -+ mnt_table_parse_stream(tb, f, d->d_name); - fclose(f); - } - } -diff --git a/libmount/src/utils.c b/libmount/src/utils.c -index 92829ebb0..40b45f11d 100644 ---- a/libmount/src/utils.c -+++ b/libmount/src/utils.c -@@ -19,7 +19,6 @@ - #include - #include - #include --#include - #include - - #include "strutils.h" -@@ -448,13 +447,6 @@ const char *mnt_statfs_get_fstype(struct statfs *vfs) - return NULL; - } - --int is_procfs_fd(int fd) --{ -- struct statfs sfs; -- -- return fstatfs(fd, &sfs) == 0 && sfs.f_type == STATFS_PROC_MAGIC; --} -- - /** - * mnt_match_fstype: - * @type: filesystem type -@@ -1174,164 +1166,7 @@ done: - return 1; - } - --#if defined(HAVE_FMEMOPEN) || defined(TEST_PROGRAM) -- --/* -- * This function tries to minimize possible races when we read -- * /proc/#/{mountinfo,mount} files. -- * -- * The idea is to minimize number of read()s and check by poll() that during -- * the read the mount table has not been modified. If yes, than re-read it -- * (with some limitations to avoid never ending loop). -- * -- * Returns: <0 error, 0 success, 1 too many attempts -- */ --static int read_procfs_file(int fd, char **buf, size_t *bufsiz) --{ -- size_t bufmax = 0; -- int rc = 0, tries = 0, ninters = 0; -- char *bufptr = NULL; -- -- assert(buf); -- assert(bufsiz); -- -- *bufsiz = 0; -- *buf = NULL; -- -- do { -- ssize_t ret; -- -- if (!bufptr || bufmax == *bufsiz) { -- char *tmp; -- -- bufmax = bufmax ? bufmax * 2 : (16 * 1024); -- tmp = realloc(*buf, bufmax); -- if (!tmp) -- break; -- *buf = tmp; -- bufptr = tmp + *bufsiz; -- } -- -- errno = 0; -- ret = read(fd, bufptr, bufmax - *bufsiz); -- -- if (ret < 0) { -- /* error */ -- if ((errno == EAGAIN || errno == EINTR) && (ninters++ < 5)) { -- xusleep(200000); -- continue; -- } -- break; -- -- } if (ret > 0) { -- /* success -- verify no event during read */ -- struct pollfd fds[] = { -- { .fd = fd, .events = POLLPRI } -- }; -- -- rc = poll(fds, 1, 0); -- if (rc < 0) -- break; /* poll() error */ -- if (rc > 0) { -- /* event -- read all again */ -- if (lseek(fd, 0, SEEK_SET) != 0) -- break; -- *bufsiz = 0; -- bufptr = *buf; -- tries++; -- -- if (tries > 10) -- /* busy system? -- wait */ -- xusleep(10000); -- continue; -- } -- -- /* successful read() without active poll() */ -- (*bufsiz) += (size_t) ret; -- bufptr += ret; -- tries = ninters = 0; -- } else { -- /* end-of-file */ -- goto success; -- } -- } while (tries <= 100); -- -- rc = errno ? -errno : 1; -- free(*buf); -- return rc; -- --success: -- return 0; --} -- --/* -- * Create FILE stream for data from read_procfs_file() -- */ --FILE *mnt_get_procfs_memstream(int fd, char **membuf) --{ -- size_t sz = 0; -- off_t cur; -- -- *membuf = NULL; -- -- /* in case of error, rewind to the original position */ -- cur = lseek(fd, 0, SEEK_CUR); -- -- if (read_procfs_file(fd, membuf, &sz) == 0 && sz > 0) { -- FILE *memf = fmemopen(*membuf, sz, "r"); -- if (memf) -- return memf; /* success */ -- -- free(*membuf); -- *membuf = NULL; -- } -- -- /* error */ -- if (cur != (off_t) -1) -- lseek(fd, cur, SEEK_SET); -- return NULL; --} --#else --FILE *mnt_get_procfs_memstream(int fd __attribute((__unused__)), -- char **membuf __attribute((__unused__))) --{ -- return NULL; --} --#endif /* HAVE_FMEMOPEN */ -- -- - #ifdef TEST_PROGRAM --static int test_proc_read(struct libmnt_test *ts, int argc, char *argv[]) --{ -- char *buf = NULL; -- char *filename = argv[1]; -- size_t bufsiz = 0; -- int rc = 0, fd = open(filename, O_RDONLY); -- -- if (fd <= 0) { -- warn("%s: cannot open", filename); -- return -errno; -- } -- -- rc = read_procfs_file(fd, &buf, &bufsiz); -- close(fd); -- -- switch (rc) { -- case 0: -- fwrite(buf, 1, bufsiz, stdout); -- free(buf); -- break; -- case 1: -- warnx("too many attempts"); -- break; -- default: -- warn("%s: cannot read", filename); -- break; -- } -- -- return rc; --} -- - static int test_match_fstype(struct libmnt_test *ts, int argc, char *argv[]) - { - char *type = argv[1]; -@@ -1513,7 +1348,6 @@ int main(int argc, char *argv[]) - { "--guess-root", test_guess_root, "[]" }, - { "--mkdir", test_mkdir, "" }, - { "--statfs-type", test_statfs_type, "" }, -- { "--read-procfs", test_proc_read, "" }, - - { NULL } - }; --- -2.25.4 - diff --git a/sources b/sources index cb31284..d14d216 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (util-linux-2.36.2.tar.xz) = 6ab141f44ca4cb6b600081f10eae17e15d23abd122a37eb3ac6c845513a6a4396dc9dcff30b3032de80116ddde50e27dfbc86f92708c1051f84f0c919194664b +SHA512 (util-linux-2.37-rc2.tar.xz) = 9a7f301604c2ae914b8c33f17a22563ec0128e45d7687bf11142d190bb1f51adeff7f392efc27b87ac088c615097ccc270a886a5c912e363f4748b3ed6f5a6ef diff --git a/util-linux.spec b/util-linux.spec index 615585a..15526a9 100644 --- a/util-linux.spec +++ b/util-linux.spec @@ -1,13 +1,13 @@ ### Header Summary: Collection of basic system utilities Name: util-linux -Version: 2.36.2 -Release: 3%{?dist} +Version: 2.37 +Release: 0.1%{?dist} License: GPLv2 and GPLv2+ and LGPLv2+ and BSD with advertising and Public Domain URL: https://en.wikipedia.org/wiki/Util-linux ### Macros -%define upstream_version %{version} +%define upstream_version %{version}-rc2 %define upstream_major %(eval echo %{version} | %{__sed} -e 's/\([[:digit:]]*\)\.\([[:digit:]]*\)\.[[:digit:]]*$/\1.\2/') %define compldir %{_datadir}/bash-completion/completions/ @@ -36,6 +36,7 @@ BuildRequires: gcc BuildRequires: autoconf BuildRequires: automake BuildRequires: libtool +BuildRequires: rubygem-asciidoctor %ifarch ppc64le BuildRequires: librtas-devel %endif @@ -105,12 +106,9 @@ Requires: libfdisk = %{version}-%{release} ### # 151635 - makeing /var/log/lastlog Patch0: login-lastlog-create.patch -# https://github.com/karelzak/util-linux/commit/57898c3a7ee8fc5933cddd4526bb3980bef85a02 -# The workaround is unnecessary on Fedora with kernel >= 5.8. -Patch1: libmount-remove-read-mountinfo-workaround.patch # Add `/run/motd.d` to the hardcoded MOTD_FILE # https://github.com/coreos/console-login-helper-messages/issues/60 -Patch2: login-default-motd-file.patch +Patch1: login-default-motd-file.patch %description The util-linux package contains a large variety of low-level system @@ -295,6 +293,8 @@ export DAEMON_LDFLAGS="$SUID_LDFLAGS" --enable-write \ --enable-raw \ --enable-hardlink \ + --enable-fdformat \ + --enable-asciidoc \ --with-python=%{pyver} \ --with-systemd \ --with-udev \ @@ -402,9 +402,9 @@ done %endif # we install getopt-*.{bash,tcsh} by doc directive -chmod 644 misc-utils/getopt-*.{bash,tcsh} -rm -f ${RPM_BUILD_ROOT}%{_datadir}/doc/util-linux/getopt/* -rmdir ${RPM_BUILD_ROOT}%{_datadir}/doc/util-linux/getopt +#chmod 644 misc-utils/getopt-*.{bash,tcsh} +#rm -f ${RPM_BUILD_ROOT}%{_datadir}/doc/util-linux/getopt/* +#rmdir ${RPM_BUILD_ROOT}%{_datadir}/doc/util-linux/getopt ln -sf ../proc/self/mounts %{buildroot}/etc/mtab @@ -573,6 +573,7 @@ fi %{_bindir}/setsid %{_bindir}/setterm %{_bindir}/taskset +%{_bindir}/uclampset %{_bindir}/ul %{_bindir}/unshare %{_bindir}/utmpdump @@ -631,6 +632,7 @@ fi %{_mandir}/man1/setterm.1* %{_mandir}/man1/su.1* %{_mandir}/man1/taskset.1* +%{_mandir}/man1/uclampset.1.* %{_mandir}/man1/ul.1* %{_mandir}/man1/unshare.1* %{_mandir}/man1/utmpdump.1.gz @@ -810,6 +812,7 @@ fi %{compldir}/swapoff %{compldir}/swapon %{compldir}/taskset +%{compldir}/uclampset %{compldir}/ul %{compldir}/unshare %{compldir}/utmpdump @@ -938,6 +941,10 @@ fi %{_libdir}/python*/site-packages/libmount/ %changelog +* Fri May 14 2021 Karel Zak - 2.37-0.1 +- upgrade to v2.37-rc2 + https://kernel.org/pub/linux/utils/util-linux/v2.37/v2.37-ReleaseNotes + * Tue Mar 02 2021 Zbigniew Jędrzejewski-Szmek - 2.36.2-3 - Rebuilt for updated systemd-rpm-macros See https://pagure.io/fesco/issue/2583. From b50e3f3a0775402df458a0c0a08411b86271fcb6 Mon Sep 17 00:00:00 2001 From: Karel Zak Date: Tue, 1 Jun 2021 12:23:41 +0200 Subject: [PATCH 123/232] 2.37-1: upgrade, add util-linux-core --- .gitignore | 1 + sources | 2 +- util-linux.spec | 227 ++++++++++++++++++++++++++---------------------- 3 files changed, 127 insertions(+), 103 deletions(-) diff --git a/.gitignore b/.gitignore index 96efde9..ab82158 100644 --- a/.gitignore +++ b/.gitignore @@ -81,3 +81,4 @@ /util-linux-2.36.1.tar.xz /util-linux-2.36.2.tar.xz /util-linux-2.37-rc2.tar.xz +/util-linux-2.37.tar.xz diff --git a/sources b/sources index d14d216..249ef34 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (util-linux-2.37-rc2.tar.xz) = 9a7f301604c2ae914b8c33f17a22563ec0128e45d7687bf11142d190bb1f51adeff7f392efc27b87ac088c615097ccc270a886a5c912e363f4748b3ed6f5a6ef +SHA512 (util-linux-2.37.tar.xz) = 84cf1df46165f286caa1a1204b335dc1fc826a8e1d52a817c28eb80ef19734eccd6efdfb078e87ade9e4381a9102e59d4df83e9bb100e4c73aff2aa4bfb85615 diff --git a/util-linux.spec b/util-linux.spec index 15526a9..89ed926 100644 --- a/util-linux.spec +++ b/util-linux.spec @@ -2,12 +2,12 @@ Summary: Collection of basic system utilities Name: util-linux Version: 2.37 -Release: 0.1%{?dist} +Release: 1%{?dist} License: GPLv2 and GPLv2+ and LGPLv2+ and BSD with advertising and Public Domain URL: https://en.wikipedia.org/wiki/Util-linux ### Macros -%define upstream_version %{version}-rc2 +%define upstream_version %{version} %define upstream_major %(eval echo %{version} | %{__sed} -e 's/\([[:digit:]]*\)\.\([[:digit:]]*\)\.[[:digit:]]*$/\1.\2/') %define compldir %{_datadir}/bash-completion/completions/ @@ -70,28 +70,15 @@ Provides: eject = 2.1.6 # rfkill has been merged into util-linux v2.31 Obsoletes: rfkill <= 0.5 Provides: rfkill = 0.5 -# hardlink has been merged into util-linux v2.34 -Obsoletes: hardlink <= 1:1.3-9 -Provides: hardlink = 1:1.3-9 # sulogin, utmpdump merged into util-linux v2.22; # last, lastb merged into util-linux v2.24 Conflicts: sysvinit-tools < 2.88-14 -# old versions of e2fsprogs contain fsck, uuidgen -Conflicts: e2fsprogs < 1.41.8-5 # 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: /bin/dmesg -Provides: /bin/kill -Provides: /bin/more -Provides: /bin/mount -Provides: /bin/umount -Provides: /sbin/blkid -Provides: /sbin/blockdev -Provides: /sbin/findfs -Provides: /sbin/fsck Provides: /sbin/nologin +Provides: /sbin/findfs Requires(post): coreutils Requires: pam >= 1.1.3-7, /etc/pam.d/system-auth @@ -101,6 +88,7 @@ Requires: libblkid = %{version}-%{release} Requires: libmount = %{version}-%{release} Requires: libsmartcols = %{version}-%{release} Requires: libfdisk = %{version}-%{release} +Requires: util-linux-core = %{version}-%{release} ### Ready for upstream? ### @@ -117,6 +105,32 @@ 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+ @@ -429,6 +443,7 @@ 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 # only for minimal buildroots without /var/log [ -d /var/log ] || mkdir -p /var/log @@ -446,6 +461,8 @@ if [ -x /usr/sbin/selinuxenabled ] && /usr/sbin/selinuxenabled; then /usr/bin/chcon "$SECXT" /var/log/lastlog >/dev/null 2>&1 || : fi fi + +%post -n util-linux-core if [ ! -L /etc/mtab ]; then ln -sf ../proc/self/mounts /etc/mtab || : fi @@ -507,44 +524,30 @@ fi %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/adjtime -%attr(4755,root,root) %{_bindir}/mount -%attr(4755,root,root) %{_bindir}/umount %attr(4755,root,root) %{_bindir}/su %attr(755,root,root) %{_bindir}/login %attr(2755,root,tty) %{_bindir}/write %ghost %attr(0644,root,root) %verify(not md5 size mtime) /var/log/lastlog -%ghost %verify(not md5 size mtime) %config(noreplace,missingok) /etc/mtab %{_unitdir}/fstrim.* %{_bindir}/cal %{_bindir}/chmem %{_bindir}/choom -%{_bindir}/chrt %{_bindir}/col %{_bindir}/colcrt %{_bindir}/colrm %{_bindir}/column -%{_bindir}/dmesg %{_bindir}/eject %{_bindir}/fallocate %{_bindir}/fincore -%{_bindir}/findmnt -%{_bindir}/flock %{_bindir}/getopt -%{_bindir}/hardlink %{_bindir}/hexdump -%{_bindir}/ionice -%{_bindir}/ipcmk -%{_bindir}/ipcrm -%{_bindir}/ipcs %{_bindir}/irqtop %{_bindir}/isosize -%{_bindir}/kill %{_bindir}/last %{_bindir}/lastb -%{_bindir}/logger %{_bindir}/look %{_bindir}/lsblk %{_bindir}/lscpu @@ -556,26 +559,19 @@ fi %{_bindir}/lsns %{_bindir}/mcookie %{_bindir}/mesg -%{_bindir}/more -%{_bindir}/mountpoint %{_bindir}/namei -%{_bindir}/nsenter %{_bindir}/prlimit %{_bindir}/raw %{_bindir}/rename -%{_bindir}/renice %{_bindir}/rev %{_bindir}/script %{_bindir}/scriptlive %{_bindir}/scriptreplay %{_bindir}/setarch %{_bindir}/setpriv -%{_bindir}/setsid %{_bindir}/setterm -%{_bindir}/taskset %{_bindir}/uclampset %{_bindir}/ul -%{_bindir}/unshare %{_bindir}/utmpdump %{_bindir}/uuidgen %{_bindir}/uuidparse @@ -584,28 +580,18 @@ fi %{_bindir}/whereis %{_mandir}/man1/cal.1* %{_mandir}/man1/choom.1* -%{_mandir}/man1/chrt.1* %{_mandir}/man1/col.1* %{_mandir}/man1/colcrt.1* %{_mandir}/man1/colrm.1* %{_mandir}/man1/column.1* -%{_mandir}/man1/dmesg.1* %{_mandir}/man1/eject.1* %{_mandir}/man1/fallocate.1* %{_mandir}/man1/fincore.1* -%{_mandir}/man1/flock.1* %{_mandir}/man1/getopt.1* -%{_mandir}/man1/hardlink.1* %{_mandir}/man1/hexdump.1* -%{_mandir}/man1/ionice.1* -%{_mandir}/man1/ipcmk.1* -%{_mandir}/man1/ipcrm.1* -%{_mandir}/man1/ipcs.1* %{_mandir}/man1/irqtop.1* -%{_mandir}/man1/kill.1* %{_mandir}/man1/last.1* %{_mandir}/man1/lastb.1* -%{_mandir}/man1/logger.1* %{_mandir}/man1/login.1* %{_mandir}/man1/look.1* %{_mandir}/man1/lscpu.1* @@ -615,26 +601,19 @@ fi %{_mandir}/man1/lsmem.1* %{_mandir}/man1/mcookie.1* %{_mandir}/man1/mesg.1* -%{_mandir}/man1/more.1* -%{_mandir}/man1/mountpoint.1* %{_mandir}/man1/namei.1* -%{_mandir}/man1/nsenter.1* %{_mandir}/man1/prlimit.1* %{_mandir}/man1/rename.1* -%{_mandir}/man1/renice.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/setsid.1* %{_mandir}/man1/setterm.1* %{_mandir}/man1/su.1* -%{_mandir}/man1/taskset.1* %{_mandir}/man1/uclampset.1.* %{_mandir}/man1/ul.1* -%{_mandir}/man1/unshare.1* %{_mandir}/man1/utmpdump.1.gz %{_mandir}/man1/uuidgen.1* %{_mandir}/man1/uuidparse.1* @@ -644,36 +623,27 @@ fi %{_mandir}/man5/fstab.5* %{_mandir}/man5/terminal-colors.d.5* %{_mandir}/man8/addpart.8* -%{_mandir}/man8/agetty.8* %{_mandir}/man8/blkdiscard.8* -%{_mandir}/man8/blkid.8* %{_mandir}/man8/blkzone.8* -%{_mandir}/man8/blockdev.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/findmnt.8* -%{_mandir}/man8/fsck.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/losetup.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/mkswap.8* -%{_mandir}/man8/mount.8* %{_mandir}/man8/nologin.8* -%{_mandir}/man8/partx.8* %{_mandir}/man8/pivot_root.8* %{_mandir}/man8/raw.8* %{_mandir}/man8/rawdevices.8* @@ -684,37 +654,26 @@ fi %{_mandir}/man8/setarch.8* %{_mandir}/man8/sulogin.8.gz %{_mandir}/man8/swaplabel.8* -%{_mandir}/man8/swapoff.8* -%{_mandir}/man8/swapon.8* -%{_mandir}/man8/switch_root.8* -%{_mandir}/man8/umount.8* %{_mandir}/man8/wdctl.8.gz %{_mandir}/man8/wipefs.8* %{_mandir}/man8/zramctl.8* %{_sbindir}/addpart -%{_sbindir}/agetty %{_sbindir}/blkdiscard -%{_sbindir}/blkid %{_sbindir}/blkzone -%{_sbindir}/blockdev %{_sbindir}/chcpu %{_sbindir}/ctrlaltdel %{_sbindir}/delpart %{_sbindir}/fdisk %{_sbindir}/findfs -%{_sbindir}/fsck %{_sbindir}/fsck.cramfs %{_sbindir}/fsck.minix %{_sbindir}/fsfreeze %{_sbindir}/fstrim %{_sbindir}/ldattach -%{_sbindir}/losetup %{_sbindir}/mkfs %{_sbindir}/mkfs.cramfs %{_sbindir}/mkfs.minix -%{_sbindir}/mkswap %{_sbindir}/nologin -%{_sbindir}/partx %{_sbindir}/pivot_root %{_sbindir}/readprofile %{_sbindir}/resizepart @@ -723,53 +682,37 @@ fi %{_sbindir}/runuser %{_sbindir}/sulogin %{_sbindir}/swaplabel -%{_sbindir}/swapoff -%{_sbindir}/swapon -%{_sbindir}/switch_root %{_sbindir}/wipefs %{_sbindir}/zramctl %{compldir}/addpart %{compldir}/blkdiscard -%{compldir}/blkid %{compldir}/blkzone -%{compldir}/blockdev %{compldir}/cal %{compldir}/chcpu %{compldir}/chmem -%{compldir}/chrt %{compldir}/col %{compldir}/colcrt %{compldir}/colrm %{compldir}/column %{compldir}/ctrlaltdel %{compldir}/delpart -%{compldir}/dmesg %{compldir}/eject %{compldir}/fallocate %{compldir}/fdisk %{compldir}/fincore %{compldir}/findfs -%{compldir}/findmnt -%{compldir}/flock -%{compldir}/fsck %{compldir}/fsck.cramfs %{compldir}/fsck.minix %{compldir}/fsfreeze %{compldir}/fstrim %{compldir}/getopt %{compldir}/hexdump -%{compldir}/ionice -%{compldir}/ipcmk -%{compldir}/ipcrm -%{compldir}/ipcs %{compldir}/irqtop %{compldir}/isosize %{compldir}/last %{compldir}/ldattach -%{compldir}/logger %{compldir}/look -%{compldir}/losetup %{compldir}/lsblk %{compldir}/lscpu %{compldir}/lsipc @@ -783,18 +726,12 @@ fi %{compldir}/mkfs %{compldir}/mkfs.cramfs %{compldir}/mkfs.minix -%{compldir}/mkswap -%{compldir}/more -%{compldir}/mountpoint %{compldir}/namei -%{compldir}/nsenter -%{compldir}/partx %{compldir}/pivot_root %{compldir}/prlimit %{compldir}/raw %{compldir}/readprofile %{compldir}/rename -%{compldir}/renice %{compldir}/resizepart %{compldir}/rev %{compldir}/rfkill @@ -805,16 +742,11 @@ fi %{compldir}/scriptreplay %{compldir}/setarch %{compldir}/setpriv -%{compldir}/setsid %{compldir}/setterm %{compldir}/su %{compldir}/swaplabel -%{compldir}/swapoff -%{compldir}/swapon -%{compldir}/taskset %{compldir}/uclampset %{compldir}/ul -%{compldir}/unshare %{compldir}/utmpdump %{compldir}/uuidgen %{compldir}/uuidparse @@ -825,7 +757,6 @@ fi %{compldir}/write %{compldir}/zramctl - %ifnarch s390 s390x %{_sbindir}/clock %{_sbindir}/fdformat @@ -852,6 +783,94 @@ fi %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}/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 @@ -941,6 +960,10 @@ fi %{_libdir}/python*/site-packages/libmount/ %changelog +* Tue Jun 1 2021 Karel Zak - 2.37-1 +- upgrade to v2.37 +- introduce util-linux-core subpackage + * Fri May 14 2021 Karel Zak - 2.37-0.1 - upgrade to v2.37-rc2 https://kernel.org/pub/linux/utils/util-linux/v2.37/v2.37-ReleaseNotes From e86e462be56e6e9392cf98f947b992c0a2d03c96 Mon Sep 17 00:00:00 2001 From: Python Maint Date: Fri, 4 Jun 2021 21:19:06 +0200 Subject: [PATCH 124/232] Rebuilt for Python 3.10 --- util-linux.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/util-linux.spec b/util-linux.spec index 89ed926..9df0647 100644 --- a/util-linux.spec +++ b/util-linux.spec @@ -2,7 +2,7 @@ Summary: Collection of basic system utilities Name: util-linux Version: 2.37 -Release: 1%{?dist} +Release: 2%{?dist} License: GPLv2 and GPLv2+ and LGPLv2+ and BSD with advertising and Public Domain URL: https://en.wikipedia.org/wiki/Util-linux @@ -960,6 +960,9 @@ fi %{_libdir}/python*/site-packages/libmount/ %changelog +* Fri Jun 04 2021 Python Maint - 2.37-2 +- Rebuilt for Python 3.10 + * Tue Jun 1 2021 Karel Zak - 2.37-1 - upgrade to v2.37 - introduce util-linux-core subpackage From cca6bc092d5451821b6bb70dfb2a868d1bb62d20 Mon Sep 17 00:00:00 2001 From: "Richard W.M. Jones" Date: Wed, 16 Jun 2021 11:55:56 +0100 Subject: [PATCH 125/232] Rebuild for updated pcre2 The package fails to install in Rawhide at the moment with: DEBUG util.py:444: Error: DEBUG util.py:444: Problem: package util-linux-2.37-2.fc35.x86_64 requires util-linux-core = 2.37-2.fc35, but none of the providers can be installed DEBUG util.py:444: - conflicting requests DEBUG util.py:444: - nothing provides libpcre2-posix.so.2()(64bit) needed by util-linux-core-2.37-2.fc35.x86_64 This is my attempt to see if I can fix this with a simple rebuild. If not I will file a bug. --- util-linux.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/util-linux.spec b/util-linux.spec index 9df0647..a1f80f5 100644 --- a/util-linux.spec +++ b/util-linux.spec @@ -2,7 +2,7 @@ Summary: Collection of basic system utilities Name: util-linux Version: 2.37 -Release: 2%{?dist} +Release: 3%{?dist} License: GPLv2 and GPLv2+ and LGPLv2+ and BSD with advertising and Public Domain URL: https://en.wikipedia.org/wiki/Util-linux @@ -960,6 +960,9 @@ fi %{_libdir}/python*/site-packages/libmount/ %changelog +* Wed Jun 16 2021 Richard W.M. Jones - 2.37-3 +- Rebuild for updated pcre2 + * Fri Jun 04 2021 Python Maint - 2.37-2 - Rebuilt for Python 3.10 From e7be6ae5f5d5bdb28d802d616b596304b6b3280e Mon Sep 17 00:00:00 2001 From: Karel Zak Date: Wed, 14 Jul 2021 17:40:22 +0200 Subject: [PATCH 126/232] 2.37-4: fix #1981729 (close_range(), remove raw(8) and PCRE2 use) --- hardlink-remove-pcre2posix.h-support.patch | 49 +++++++++++++++++ login-fix-close_range-use.patch | 62 ++++++++++++++++++++++ util-linux.spec | 41 +++++++------- 3 files changed, 131 insertions(+), 21 deletions(-) create mode 100644 hardlink-remove-pcre2posix.h-support.patch create mode 100644 login-fix-close_range-use.patch diff --git a/hardlink-remove-pcre2posix.h-support.patch b/hardlink-remove-pcre2posix.h-support.patch new file mode 100644 index 0000000..5c2368b --- /dev/null +++ b/hardlink-remove-pcre2posix.h-support.patch @@ -0,0 +1,49 @@ +diff -up util-linux-2.37/configure.ac.kzak util-linux-2.37/configure.ac +--- util-linux-2.37/configure.ac.kzak 2021-06-01 09:50:39.898388178 +0200 ++++ util-linux-2.37/configure.ac 2021-07-14 17:57:45.927112572 +0200 +@@ -1452,14 +1452,6 @@ UL_REQUIRES_HAVE([setpriv], [linux_capab + UL_REQUIRES_HAVE([setpriv], [cap_ng], [libcap-ng library]) + AM_CONDITIONAL([BUILD_SETPRIV], [test "x$build_setpriv" = xyes]) + +-PKG_CHECK_MODULES([PCRE2_POSIX], [libpcre2-posix], +- [have_pcre2_posix=yes], +- [have_pcre2_posix=no]) +-AS_IF([test "x$have_pcre2_posix" = xyes ], [ +- AC_DEFINE([HAVE_PCRE2_POSIX], [1], [Define if libpcre2-posix is available]) +-]) +-AM_CONDITIONAL([HAVE_PCRE2_POSIX], [test "x$have_pcre2_posix" = xyes]) +- + AC_ARG_ENABLE([hardlink], + AS_HELP_STRING([--disable-hardlink], [do not build hardlink]), + [], [UL_DEFAULT_ENABLE([hardlink], [check])] +diff -up util-linux-2.37/misc-utils/hardlink.c.kzak util-linux-2.37/misc-utils/hardlink.c +--- util-linux-2.37/misc-utils/hardlink.c.kzak 2021-05-24 13:39:52.714045529 +0200 ++++ util-linux-2.37/misc-utils/hardlink.c 2021-07-14 17:57:51.910085213 +0200 +@@ -44,14 +44,7 @@ + #include "monotonic.h" + #include "optutils.h" + +-/* Use libpcre2posix if it's available */ +-#ifdef HAVE_PCRE2_POSIX +-# include +-# undef REG_NOSUB +-# define REG_NOSUB 0 /* we do want backreferences in PCRE mode */ +-#else +-# include /* regcomp(), regsearch() */ +-#endif ++#include /* regcomp(), regsearch() */ + + #ifdef HAVE_SYS_XATTR_H + # include /* listxattr, getxattr */ +diff -up util-linux-2.37/misc-utils/Makemodule.am.kzak util-linux-2.37/misc-utils/Makemodule.am +--- util-linux-2.37/misc-utils/Makemodule.am.kzak 2021-05-24 13:39:52.714045529 +0200 ++++ util-linux-2.37/misc-utils/Makemodule.am 2021-07-14 17:57:51.910085213 +0200 +@@ -244,8 +244,4 @@ dist_noinst_DATA += misc-utils/hardlink. + hardlink_SOURCES = misc-utils/hardlink.c lib/monotonic.c + hardlink_LDADD = $(LDADD) libcommon.la $(REALTIME_LIBS) + hardlink_CFLAGS = $(AM_CFLAGS) +-if HAVE_PCRE2_POSIX +-hardlink_LDADD += $(PCRE2_POSIX_LIBS) +-hardlink_CFLAGS += $(PCRE2_POSIX_CFLAGS) +-endif + endif diff --git a/login-fix-close_range-use.patch b/login-fix-close_range-use.patch new file mode 100644 index 0000000..6972c61 --- /dev/null +++ b/login-fix-close_range-use.patch @@ -0,0 +1,62 @@ +From b8d99a618baffb4fc03cda4c40e29778b6d77ad4 Mon Sep 17 00:00:00 2001 +From: Karel Zak +Date: Wed, 14 Jul 2021 17:25:57 +0200 +Subject: [PATCH] login: fix close_range() use + +This new syscall comes with three arguments (see kernel commit +278a5fbaed89dacd04e9d052f4594ffd0e0585de). Not sure why util-linux +assume only two. + +Addresses: https://bugzilla.redhat.com/show_bug.cgi?id=1981729 +Signed-off-by: Karel Zak +--- + include/fileutils.h | 4 ++-- + lib/fileutils.c | 2 +- + login-utils/login.c | 2 +- + 3 files changed, 4 insertions(+), 4 deletions(-) + +diff --git a/include/fileutils.h b/include/fileutils.h +index ad54b952c..f86426b96 100644 +--- a/include/fileutils.h ++++ b/include/fileutils.h +@@ -82,9 +82,9 @@ static inline struct dirent *xreaddir(DIR *dp) + # if defined(SYS_close_range) + # include + # ifndef HAVE_CLOSE_RANGE +-static inline int close_range(unsigned int first, unsigned int last) ++static inline int close_range(unsigned int first, unsigned int last, int flags) + { +- return syscall(SYS_close_range, first, last); ++ return syscall(SYS_close_range, first, last, flags); + } + # endif + # define HAVE_CLOSE_RANGE 1 +diff --git a/lib/fileutils.c b/lib/fileutils.c +index 846b718c9..a979b03ac 100644 +--- a/lib/fileutils.c ++++ b/lib/fileutils.c +@@ -189,7 +189,7 @@ int main(int argc, char *argv[]) + ignore_result( dup(STDIN_FILENO) ); + + # ifdef HAVE_CLOSE_RANGE +- close_range(STDERR_FILENO + 1, ~0U); ++ close_range(STDERR_FILENO + 1, ~0U, 0); + # else + ul_close_all_fds(STDERR_FILENO + 1, ~0U); + # endif +diff --git a/login-utils/login.c b/login-utils/login.c +index 48e3fa2e2..d926466d3 100644 +--- a/login-utils/login.c ++++ b/login-utils/login.c +@@ -1357,7 +1357,7 @@ static void initialize(int argc, char **argv, struct login_context *cxt) + #endif + } + #ifdef HAVE_CLOSE_RANGE +- close_range(STDERR_FILENO + 1, ~0U); ++ close_range(STDERR_FILENO + 1, ~0U, 0); + #else + ul_close_all_fds(STDERR_FILENO + 1, ~0U); + #endif +-- +2.31.1 + diff --git a/util-linux.spec b/util-linux.spec index a1f80f5..b35590d 100644 --- a/util-linux.spec +++ b/util-linux.spec @@ -2,7 +2,7 @@ Summary: Collection of basic system utilities Name: util-linux Version: 2.37 -Release: 3%{?dist} +Release: 4%{?dist} License: GPLv2 and GPLv2+ and LGPLv2+ and BSD with advertising and Public Domain URL: https://en.wikipedia.org/wiki/Util-linux @@ -31,11 +31,11 @@ BuildRequires: systemd Buildrequires: libuser-devel BuildRequires: libcap-ng-devel BuildRequires: %{pypkg}-devel -BuildRequires: pcre2-devel BuildRequires: gcc BuildRequires: autoconf BuildRequires: automake BuildRequires: libtool +BuildRequires: bison BuildRequires: rubygem-asciidoctor %ifarch ppc64le BuildRequires: librtas-devel @@ -98,6 +98,14 @@ Patch0: login-lastlog-create.patch # https://github.com/coreos/console-login-helper-messages/issues/60 Patch1: login-default-motd-file.patch +### Upstream patches (remove ./autogen.sh call from build section when remove +### these patches) +### +# 1981729 - close_range() +Patch2: login-fix-close_range-use.patch +# Remove dependence on POSIX PCRE2 +Patch3: hardlink-remove-pcre2posix.h-support.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 @@ -292,6 +300,10 @@ chfn and chsh utilities with dependence on libuser %build unset LINGUAS || : +# unfortunately, we did changes to build-system +./autogen.sh + + 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" @@ -305,7 +317,7 @@ export DAEMON_LDFLAGS="$SUID_LDFLAGS" --enable-chfn-chsh \ --enable-usrdir-path \ --enable-write \ - --enable-raw \ + --disable-raw \ --enable-hardlink \ --enable-fdformat \ --enable-asciidoc \ @@ -343,19 +355,6 @@ chmod 0644 ${RPM_BUILD_ROOT}/var/log/lastlog # install util-linux %make_install -# raw -echo '.so man8/raw.8' > $RPM_BUILD_ROOT%{_mandir}/man8/rawdevices.8 -{ - # see RH bugzilla #216664 - mkdir -p ${RPM_BUILD_ROOT}%{_prefix}/lib/udev/rules.d - pushd ${RPM_BUILD_ROOT}%{_prefix}/lib/udev/rules.d - install -m 644 %{SOURCE4} ./60-raw.rules - popd -} - -# sbin -> bin -mv ${RPM_BUILD_ROOT}%{_sbindir}/raw ${RPM_BUILD_ROOT}%{_bindir}/raw - # And a dirs uuidd needs that the makefiles don't create install -d ${RPM_BUILD_ROOT}/run/uuidd install -d ${RPM_BUILD_ROOT}/var/lib/libuuid @@ -520,7 +519,6 @@ fi %config(noreplace) %{_sysconfdir}/pam.d/su-l %config(noreplace) %{_sysconfdir}/pam.d/runuser %config(noreplace) %{_sysconfdir}/pam.d/runuser-l -%config(noreplace) %{_prefix}/lib/udev/rules.d/60-raw.rules %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/adjtime @@ -561,7 +559,6 @@ fi %{_bindir}/mesg %{_bindir}/namei %{_bindir}/prlimit -%{_bindir}/raw %{_bindir}/rename %{_bindir}/rev %{_bindir}/script @@ -645,8 +642,6 @@ fi %{_mandir}/man8/mkfs.minix.8* %{_mandir}/man8/nologin.8* %{_mandir}/man8/pivot_root.8* -%{_mandir}/man8/raw.8* -%{_mandir}/man8/rawdevices.8* %{_mandir}/man8/readprofile.8* %{_mandir}/man8/resizepart.8* %{_mandir}/man8/rfkill.8* @@ -729,7 +724,6 @@ fi %{compldir}/namei %{compldir}/pivot_root %{compldir}/prlimit -%{compldir}/raw %{compldir}/readprofile %{compldir}/rename %{compldir}/resizepart @@ -960,6 +954,11 @@ fi %{_libdir}/python*/site-packages/libmount/ %changelog +* Wed Jul 14 2021 Karel Zak - 2.37-4 +- disable raw(8) - no more supported since Linux v5.14 (commit 03e4922f1c81fc2ed3a87b4f91a8d3aafc7e093) +- remove dependence on deprecated pcre2posix.h +- fix #1981729 - close_range() 3rd argument + * Wed Jun 16 2021 Richard W.M. Jones - 2.37-3 - Rebuild for updated pcre2 From 31097faf0c14a18abb7de526cc00a73a0c541ebd Mon Sep 17 00:00:00 2001 From: Karel Zak Date: Wed, 14 Jul 2021 18:20:13 +0200 Subject: [PATCH 127/232] 2.37-5: remove util-linux-60-raw.rules --- util-linux-60-raw.rules | 8 -------- util-linux.spec | 6 ++++-- 2 files changed, 4 insertions(+), 10 deletions(-) delete mode 100644 util-linux-60-raw.rules diff --git a/util-linux-60-raw.rules b/util-linux-60-raw.rules deleted file mode 100644 index abbf79d..0000000 --- a/util-linux-60-raw.rules +++ /dev/null @@ -1,8 +0,0 @@ -# -# Enter raw device bindings here. -# -# An example would be: -# ACTION=="add", KERNEL=="sda", RUN+="/usr/bin/raw /dev/raw/raw1 %N" -# to bind /dev/raw/raw1 to /dev/sda, or -# ACTION=="add", ENV{MAJOR}=="8", ENV{MINOR}=="1", RUN+="/usr/bin/raw /dev/raw/raw2 %M %m" -# to bind /dev/raw/raw2 to the device with major 8, minor 1. diff --git a/util-linux.spec b/util-linux.spec index b35590d..5f966e2 100644 --- a/util-linux.spec +++ b/util-linux.spec @@ -2,7 +2,7 @@ Summary: Collection of basic system utilities Name: util-linux Version: 2.37 -Release: 4%{?dist} +Release: 5%{?dist} License: GPLv2 and GPLv2+ and LGPLv2+ and BSD with advertising and Public Domain URL: https://en.wikipedia.org/wiki/Util-linux @@ -52,7 +52,6 @@ Source0: https://www.kernel.org/pub/linux/utils/util-linux/v%{upstream_major}/ut Source1: util-linux-login.pamd Source2: util-linux-remote.pamd Source3: util-linux-chsh-chfn.pamd -Source4: util-linux-60-raw.rules Source5: adjtime Source12: util-linux-su.pamd Source13: util-linux-su-l.pamd @@ -954,6 +953,9 @@ fi %{_libdir}/python*/site-packages/libmount/ %changelog +* Wed Jul 14 2021 Karel Zak - 2.37-5 +- remove unused util-linux-60-raw.rules + * Wed Jul 14 2021 Karel Zak - 2.37-4 - disable raw(8) - no more supported since Linux v5.14 (commit 03e4922f1c81fc2ed3a87b4f91a8d3aafc7e093) - remove dependence on deprecated pcre2posix.h From f9f53d46a264d8d5dfc4fdeca12cfd30d9687ea4 Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Fri, 23 Jul 2021 20:13:49 +0000 Subject: [PATCH 128/232] - Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild Signed-off-by: Fedora Release Engineering --- util-linux.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/util-linux.spec b/util-linux.spec index 5f966e2..f663829 100644 --- a/util-linux.spec +++ b/util-linux.spec @@ -2,7 +2,7 @@ Summary: Collection of basic system utilities Name: util-linux Version: 2.37 -Release: 5%{?dist} +Release: 6%{?dist} License: GPLv2 and GPLv2+ and LGPLv2+ and BSD with advertising and Public Domain URL: https://en.wikipedia.org/wiki/Util-linux @@ -953,6 +953,9 @@ fi %{_libdir}/python*/site-packages/libmount/ %changelog +* Fri Jul 23 2021 Fedora Release Engineering - 2.37-6 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild + * Wed Jul 14 2021 Karel Zak - 2.37-5 - remove unused util-linux-60-raw.rules From 2abaf6eb96a5184981f2c45403db41816398f5b6 Mon Sep 17 00:00:00 2001 From: Karel Zak Date: Tue, 17 Aug 2021 10:43:34 +0200 Subject: [PATCH 129/232] 2.37.2-1: upgrade --- .gitignore | 1 + hardlink-remove-pcre2posix.h-support.patch | 49 ----------------- login-fix-close_range-use.patch | 62 ---------------------- sources | 2 +- util-linux.spec | 16 +++--- 5 files changed, 8 insertions(+), 122 deletions(-) delete mode 100644 hardlink-remove-pcre2posix.h-support.patch delete mode 100644 login-fix-close_range-use.patch diff --git a/.gitignore b/.gitignore index ab82158..720d157 100644 --- a/.gitignore +++ b/.gitignore @@ -82,3 +82,4 @@ /util-linux-2.36.2.tar.xz /util-linux-2.37-rc2.tar.xz /util-linux-2.37.tar.xz +/util-linux-2.37.2.tar.xz diff --git a/hardlink-remove-pcre2posix.h-support.patch b/hardlink-remove-pcre2posix.h-support.patch deleted file mode 100644 index 5c2368b..0000000 --- a/hardlink-remove-pcre2posix.h-support.patch +++ /dev/null @@ -1,49 +0,0 @@ -diff -up util-linux-2.37/configure.ac.kzak util-linux-2.37/configure.ac ---- util-linux-2.37/configure.ac.kzak 2021-06-01 09:50:39.898388178 +0200 -+++ util-linux-2.37/configure.ac 2021-07-14 17:57:45.927112572 +0200 -@@ -1452,14 +1452,6 @@ UL_REQUIRES_HAVE([setpriv], [linux_capab - UL_REQUIRES_HAVE([setpriv], [cap_ng], [libcap-ng library]) - AM_CONDITIONAL([BUILD_SETPRIV], [test "x$build_setpriv" = xyes]) - --PKG_CHECK_MODULES([PCRE2_POSIX], [libpcre2-posix], -- [have_pcre2_posix=yes], -- [have_pcre2_posix=no]) --AS_IF([test "x$have_pcre2_posix" = xyes ], [ -- AC_DEFINE([HAVE_PCRE2_POSIX], [1], [Define if libpcre2-posix is available]) --]) --AM_CONDITIONAL([HAVE_PCRE2_POSIX], [test "x$have_pcre2_posix" = xyes]) -- - AC_ARG_ENABLE([hardlink], - AS_HELP_STRING([--disable-hardlink], [do not build hardlink]), - [], [UL_DEFAULT_ENABLE([hardlink], [check])] -diff -up util-linux-2.37/misc-utils/hardlink.c.kzak util-linux-2.37/misc-utils/hardlink.c ---- util-linux-2.37/misc-utils/hardlink.c.kzak 2021-05-24 13:39:52.714045529 +0200 -+++ util-linux-2.37/misc-utils/hardlink.c 2021-07-14 17:57:51.910085213 +0200 -@@ -44,14 +44,7 @@ - #include "monotonic.h" - #include "optutils.h" - --/* Use libpcre2posix if it's available */ --#ifdef HAVE_PCRE2_POSIX --# include --# undef REG_NOSUB --# define REG_NOSUB 0 /* we do want backreferences in PCRE mode */ --#else --# include /* regcomp(), regsearch() */ --#endif -+#include /* regcomp(), regsearch() */ - - #ifdef HAVE_SYS_XATTR_H - # include /* listxattr, getxattr */ -diff -up util-linux-2.37/misc-utils/Makemodule.am.kzak util-linux-2.37/misc-utils/Makemodule.am ---- util-linux-2.37/misc-utils/Makemodule.am.kzak 2021-05-24 13:39:52.714045529 +0200 -+++ util-linux-2.37/misc-utils/Makemodule.am 2021-07-14 17:57:51.910085213 +0200 -@@ -244,8 +244,4 @@ dist_noinst_DATA += misc-utils/hardlink. - hardlink_SOURCES = misc-utils/hardlink.c lib/monotonic.c - hardlink_LDADD = $(LDADD) libcommon.la $(REALTIME_LIBS) - hardlink_CFLAGS = $(AM_CFLAGS) --if HAVE_PCRE2_POSIX --hardlink_LDADD += $(PCRE2_POSIX_LIBS) --hardlink_CFLAGS += $(PCRE2_POSIX_CFLAGS) --endif - endif diff --git a/login-fix-close_range-use.patch b/login-fix-close_range-use.patch deleted file mode 100644 index 6972c61..0000000 --- a/login-fix-close_range-use.patch +++ /dev/null @@ -1,62 +0,0 @@ -From b8d99a618baffb4fc03cda4c40e29778b6d77ad4 Mon Sep 17 00:00:00 2001 -From: Karel Zak -Date: Wed, 14 Jul 2021 17:25:57 +0200 -Subject: [PATCH] login: fix close_range() use - -This new syscall comes with three arguments (see kernel commit -278a5fbaed89dacd04e9d052f4594ffd0e0585de). Not sure why util-linux -assume only two. - -Addresses: https://bugzilla.redhat.com/show_bug.cgi?id=1981729 -Signed-off-by: Karel Zak ---- - include/fileutils.h | 4 ++-- - lib/fileutils.c | 2 +- - login-utils/login.c | 2 +- - 3 files changed, 4 insertions(+), 4 deletions(-) - -diff --git a/include/fileutils.h b/include/fileutils.h -index ad54b952c..f86426b96 100644 ---- a/include/fileutils.h -+++ b/include/fileutils.h -@@ -82,9 +82,9 @@ static inline struct dirent *xreaddir(DIR *dp) - # if defined(SYS_close_range) - # include - # ifndef HAVE_CLOSE_RANGE --static inline int close_range(unsigned int first, unsigned int last) -+static inline int close_range(unsigned int first, unsigned int last, int flags) - { -- return syscall(SYS_close_range, first, last); -+ return syscall(SYS_close_range, first, last, flags); - } - # endif - # define HAVE_CLOSE_RANGE 1 -diff --git a/lib/fileutils.c b/lib/fileutils.c -index 846b718c9..a979b03ac 100644 ---- a/lib/fileutils.c -+++ b/lib/fileutils.c -@@ -189,7 +189,7 @@ int main(int argc, char *argv[]) - ignore_result( dup(STDIN_FILENO) ); - - # ifdef HAVE_CLOSE_RANGE -- close_range(STDERR_FILENO + 1, ~0U); -+ close_range(STDERR_FILENO + 1, ~0U, 0); - # else - ul_close_all_fds(STDERR_FILENO + 1, ~0U); - # endif -diff --git a/login-utils/login.c b/login-utils/login.c -index 48e3fa2e2..d926466d3 100644 ---- a/login-utils/login.c -+++ b/login-utils/login.c -@@ -1357,7 +1357,7 @@ static void initialize(int argc, char **argv, struct login_context *cxt) - #endif - } - #ifdef HAVE_CLOSE_RANGE -- close_range(STDERR_FILENO + 1, ~0U); -+ close_range(STDERR_FILENO + 1, ~0U, 0); - #else - ul_close_all_fds(STDERR_FILENO + 1, ~0U); - #endif --- -2.31.1 - diff --git a/sources b/sources index 249ef34..92733ce 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (util-linux-2.37.tar.xz) = 84cf1df46165f286caa1a1204b335dc1fc826a8e1d52a817c28eb80ef19734eccd6efdfb078e87ade9e4381a9102e59d4df83e9bb100e4c73aff2aa4bfb85615 +SHA512 (util-linux-2.37.2.tar.xz) = 38f0fe820445e3bfa79550e6581c230f98c7661566ccc4daa51c7208a5f972c61b4e57dfc86bed074fdbc7c40bc79f856be8f6a05a8860c1c0cecc4208e8b81d diff --git a/util-linux.spec b/util-linux.spec index f663829..7b57def 100644 --- a/util-linux.spec +++ b/util-linux.spec @@ -1,8 +1,8 @@ ### Header Summary: Collection of basic system utilities Name: util-linux -Version: 2.37 -Release: 6%{?dist} +Version: 2.37.2 +Release: 1%{?dist} License: GPLv2 and GPLv2+ and LGPLv2+ and BSD with advertising and Public Domain URL: https://en.wikipedia.org/wiki/Util-linux @@ -97,14 +97,6 @@ Patch0: login-lastlog-create.patch # https://github.com/coreos/console-login-helper-messages/issues/60 Patch1: login-default-motd-file.patch -### Upstream patches (remove ./autogen.sh call from build section when remove -### these patches) -### -# 1981729 - close_range() -Patch2: login-fix-close_range-use.patch -# Remove dependence on POSIX PCRE2 -Patch3: hardlink-remove-pcre2posix.h-support.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 @@ -804,6 +796,7 @@ fi %{compldir}/dmesg %{compldir}/findmnt %{compldir}/flock +%{compldir}/hardlink %{compldir}/fsck %{compldir}/ionice %{compldir}/ipcmk @@ -953,6 +946,9 @@ fi %{_libdir}/python*/site-packages/libmount/ %changelog +* Tue Aug 17 2021 Karel Zak - 2.37.2-1 +* upgrade to v2.37.2 + * Fri Jul 23 2021 Fedora Release Engineering - 2.37-6 - Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild From b3ca809df8ef1ae8c94eb5f192cd7bf243ebf406 Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Sat, 22 Jan 2022 03:42:53 +0000 Subject: [PATCH 130/232] - Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild Signed-off-by: Fedora Release Engineering --- util-linux.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/util-linux.spec b/util-linux.spec index 7b57def..01350e5 100644 --- a/util-linux.spec +++ b/util-linux.spec @@ -2,7 +2,7 @@ Summary: Collection of basic system utilities Name: util-linux Version: 2.37.2 -Release: 1%{?dist} +Release: 2%{?dist} License: GPLv2 and GPLv2+ and LGPLv2+ and BSD with advertising and Public Domain URL: https://en.wikipedia.org/wiki/Util-linux @@ -946,6 +946,9 @@ fi %{_libdir}/python*/site-packages/libmount/ %changelog +* Sat Jan 22 2022 Fedora Release Engineering - 2.37.2-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild + * Tue Aug 17 2021 Karel Zak - 2.37.2-1 * upgrade to v2.37.2 From 93b5e7b623ce2adb59ac54989c8454ae776c4a90 Mon Sep 17 00:00:00 2001 From: Karel Zak Date: Mon, 31 Jan 2022 16:22:25 +0100 Subject: [PATCH 131/232] 2.38-0.1: upgrade to v2.38-rc1 --- util-linux.spec | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/util-linux.spec b/util-linux.spec index 01350e5..a684802 100644 --- a/util-linux.spec +++ b/util-linux.spec @@ -1,13 +1,13 @@ ### Header Summary: Collection of basic system utilities Name: util-linux -Version: 2.37.2 -Release: 2%{?dist} +Version: 2.38 +Release: 0.1%{?dist} License: GPLv2 and GPLv2+ and LGPLv2+ and BSD with advertising and Public Domain URL: https://en.wikipedia.org/wiki/Util-linux ### Macros -%define upstream_version %{version} +%define upstream_version %{version}-rc1 %define upstream_major %(eval echo %{version} | %{__sed} -e 's/\([[:digit:]]*\)\.\([[:digit:]]*\)\.[[:digit:]]*$/\1.\2/') %define compldir %{_datadir}/bash-completion/completions/ @@ -540,6 +540,7 @@ fi %{_bindir}/look %{_bindir}/lsblk %{_bindir}/lscpu +%{_bindir}/lsfd %{_bindir}/lsipc %{_bindir}/lsirq %{_bindir}/lslocks @@ -583,6 +584,7 @@ fi %{_mandir}/man1/login.1* %{_mandir}/man1/look.1* %{_mandir}/man1/lscpu.1* +%{_mandir}/man1/lsfd.1* %{_mandir}/man1/lsipc.1* %{_mandir}/man1/lsirq.1* %{_mandir}/man1/lslogins.1* @@ -697,6 +699,7 @@ fi %{compldir}/irqtop %{compldir}/isosize %{compldir}/last +%{compldir}/lastb %{compldir}/ldattach %{compldir}/look %{compldir}/lsblk @@ -946,6 +949,9 @@ fi %{_libdir}/python*/site-packages/libmount/ %changelog +* Mon Jan 31 2022 Karel Zak - 2.38-0.1 +- upgrade to v2.38-rc1 + * Sat Jan 22 2022 Fedora Release Engineering - 2.37.2-2 - Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild From f55af7b31ab6b4777f7d6d4e8a07545e3eac6037 Mon Sep 17 00:00:00 2001 From: Karel Zak Date: Mon, 31 Jan 2022 16:32:09 +0100 Subject: [PATCH 132/232] add v2.38-rc1 sources --- .gitignore | 1 + sources | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/.gitignore b/.gitignore index 720d157..648a0ae 100644 --- a/.gitignore +++ b/.gitignore @@ -83,3 +83,4 @@ /util-linux-2.37-rc2.tar.xz /util-linux-2.37.tar.xz /util-linux-2.37.2.tar.xz +/util-linux-2.38-rc1.tar.xz diff --git a/sources b/sources index 92733ce..7fbce13 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (util-linux-2.37.2.tar.xz) = 38f0fe820445e3bfa79550e6581c230f98c7661566ccc4daa51c7208a5f972c61b4e57dfc86bed074fdbc7c40bc79f856be8f6a05a8860c1c0cecc4208e8b81d +SHA512 (util-linux-2.38-rc1.tar.xz) = bffcf794c633c927dd61a9813fc43cbbf996a08c788a63c754d745c9eadbe23abc161db25d4126e63422b694d73480f88e0d960b065d529190192f3b98690868 From f9a78e1defdb696b2572b808616f01c97090403e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= Date: Wed, 2 Feb 2022 11:23:26 +0100 Subject: [PATCH 133/232] 2.38-0.2: Release ownership of /var/log/lastlog /var/log directory is provided by filesystem package, no need to create it. And systemd >= 235 will create /var/log/lastlog owned by utmp. So release ownership of the file, and let systemd manage it. Fixes https://bugzilla.redhat.com/show_bug.cgi?id=1798685. Similar change in setup: https://pagure.io/setup/pull-request/30. --- util-linux.spec | 28 ++++------------------------ 1 file changed, 4 insertions(+), 24 deletions(-) diff --git a/util-linux.spec b/util-linux.spec index a684802..91aa4dd 100644 --- a/util-linux.spec +++ b/util-linux.spec @@ -2,7 +2,7 @@ Summary: Collection of basic system utilities Name: util-linux Version: 2.38 -Release: 0.1%{?dist} +Release: 0.2%{?dist} License: GPLv2 and GPLv2+ and LGPLv2+ and BSD with advertising and Public Domain URL: https://en.wikipedia.org/wiki/Util-linux @@ -339,9 +339,6 @@ 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}/var/log -touch ${RPM_BUILD_ROOT}/var/log/lastlog -chmod 0644 ${RPM_BUILD_ROOT}/var/log/lastlog # install util-linux %make_install @@ -434,24 +431,6 @@ find $RPM_BUILD_ROOT%{_mandir}/man8 -regextype posix-egrep \ -printf "%{_mandir}/man8/%f*\n" >> %{name}.files -%post -# only for minimal buildroots without /var/log -[ -d /var/log ] || mkdir -p /var/log -touch /var/log/lastlog -chown root:root /var/log/lastlog -chmod 0644 /var/log/lastlog -# Fix the file context, do not use restorecon -if [ -x /usr/sbin/selinuxenabled ] && /usr/sbin/selinuxenabled; then - SECXT=$( /usr/sbin/matchpathcon -n /var/log/lastlog 2> /dev/null ) - if [ -n "$SECXT" ]; then - # Selinux enabled, but without policy? It's true for buildroots - # without selinux stuff on host machine with enabled selinux. - # We don't want to use any RPM dependence on selinux policy for - # matchpathcon(2). SELinux policy should be optional. - /usr/bin/chcon "$SECXT" /var/log/lastlog >/dev/null 2>&1 || : - fi -fi - %post -n util-linux-core if [ ! -L /etc/mtab ]; then ln -sf ../proc/self/mounts /etc/mtab || : @@ -517,8 +496,6 @@ fi %attr(755,root,root) %{_bindir}/login %attr(2755,root,tty) %{_bindir}/write -%ghost %attr(0644,root,root) %verify(not md5 size mtime) /var/log/lastlog - %{_unitdir}/fstrim.* %{_bindir}/cal @@ -949,6 +926,9 @@ fi %{_libdir}/python*/site-packages/libmount/ %changelog +* Wed Feb 2 2022 Karel Zak - 2.38-0.2 +- release ownership of /var/log/lastlog + * Mon Jan 31 2022 Karel Zak - 2.38-0.1 - upgrade to v2.38-rc1 From 5abc3df64a2abe48fddf67868f727bf3b7abe0af Mon Sep 17 00:00:00 2001 From: Karel Zak Date: Wed, 2 Feb 2022 12:23:05 +0100 Subject: [PATCH 134/232] 2.38-0.3: add /usr/lib/tmpfiles.d/uuidd.conf --- util-linux.spec | 9 ++++++++- uuidd-tmpfiles.conf | 1 + 2 files changed, 9 insertions(+), 1 deletion(-) create mode 100644 uuidd-tmpfiles.conf diff --git a/util-linux.spec b/util-linux.spec index 91aa4dd..7d68c42 100644 --- a/util-linux.spec +++ b/util-linux.spec @@ -2,7 +2,7 @@ Summary: Collection of basic system utilities Name: util-linux Version: 2.38 -Release: 0.2%{?dist} +Release: 0.3%{?dist} License: GPLv2 and GPLv2+ and LGPLv2+ and BSD with advertising and Public Domain URL: https://en.wikipedia.org/wiki/Util-linux @@ -52,6 +52,7 @@ Source0: https://www.kernel.org/pub/linux/utils/util-linux/v%{upstream_major}/ut 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 @@ -339,11 +340,13 @@ 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 @@ -856,6 +859,7 @@ fi %dir %attr(2775, uuidd, uuidd) /var/lib/libuuid %dir %attr(2775, uuidd, uuidd) /run/uuidd %{compldir}/uuidd +/usr/lib/tmpfiles.d/uuidd.conf %files -n libfdisk @@ -926,6 +930,9 @@ fi %{_libdir}/python*/site-packages/libmount/ %changelog +* Wed Feb 2 2022 Karel Zak - 2.38-0.3 +- add /usr/lib/tmpfiles.d/uuidd.conf (based on #2047952) + * Wed Feb 2 2022 Karel Zak - 2.38-0.2 - release ownership of /var/log/lastlog 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 From f3b1a651770050268069c708fc6456593db93c54 Mon Sep 17 00:00:00 2001 From: Karel Zak Date: Wed, 16 Mar 2022 09:54:43 +0100 Subject: [PATCH 135/232] 2.38-rc3: upgrade --- .gitignore | 1 + sources | 2 +- util-linux.spec | 8 ++++++-- 3 files changed, 8 insertions(+), 3 deletions(-) diff --git a/.gitignore b/.gitignore index 648a0ae..8d82a3c 100644 --- a/.gitignore +++ b/.gitignore @@ -84,3 +84,4 @@ /util-linux-2.37.tar.xz /util-linux-2.37.2.tar.xz /util-linux-2.38-rc1.tar.xz +/util-linux-2.38-rc3.tar.xz diff --git a/sources b/sources index 7fbce13..376b738 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (util-linux-2.38-rc1.tar.xz) = bffcf794c633c927dd61a9813fc43cbbf996a08c788a63c754d745c9eadbe23abc161db25d4126e63422b694d73480f88e0d960b065d529190192f3b98690868 +SHA512 (util-linux-2.38-rc3.tar.xz) = b30d95afb829239320e6a7b586cf87e237aff5ddb254c01c4d525c298dd59b5850bea4abcd59b2a4f5a2300b7f84545b2ee8cd16375221abacc388a7f101dfcf diff --git a/util-linux.spec b/util-linux.spec index 7d68c42..587351b 100644 --- a/util-linux.spec +++ b/util-linux.spec @@ -2,12 +2,12 @@ Summary: Collection of basic system utilities Name: util-linux Version: 2.38 -Release: 0.3%{?dist} +Release: 0.4%{?dist} License: GPLv2 and GPLv2+ and LGPLv2+ and BSD with advertising and Public Domain URL: https://en.wikipedia.org/wiki/Util-linux ### Macros -%define upstream_version %{version}-rc1 +%define upstream_version %{version}-rc3 %define upstream_major %(eval echo %{version} | %{__sed} -e 's/\([[:digit:]]*\)\.\([[:digit:]]*\)\.[[:digit:]]*$/\1.\2/') %define compldir %{_datadir}/bash-completion/completions/ @@ -930,6 +930,10 @@ fi %{_libdir}/python*/site-packages/libmount/ %changelog +* Wed Mar 16 2022 Karel Zak - 2.38-0.4 +- upgrade to v2.38-rc3 + https://mirrors.edge.kernel.org/pub/linux/utils/util-linux/v2.38/v2.38-ReleaseNotes + * Wed Feb 2 2022 Karel Zak - 2.38-0.3 - add /usr/lib/tmpfiles.d/uuidd.conf (based on #2047952) From c409cb50738333d0160f26833662b2679d24feae Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= Date: Thu, 17 Feb 2022 13:52:25 +0100 Subject: [PATCH 136/232] Drop very old upgrade scriptlet for libblkid It was there in the initial commit in 2011, but it looks like it is older than that. --- util-linux.spec | 17 ++++------------- 1 file changed, 4 insertions(+), 13 deletions(-) diff --git a/util-linux.spec b/util-linux.spec index 587351b..98799a7 100644 --- a/util-linux.spec +++ b/util-linux.spec @@ -2,7 +2,7 @@ Summary: Collection of basic system utilities Name: util-linux Version: 2.38 -Release: 0.4%{?dist} +Release: 0.5%{?dist} License: GPLv2 and GPLv2+ and LGPLv2+ and BSD with advertising and Public Domain URL: https://en.wikipedia.org/wiki/Util-linux @@ -196,7 +196,6 @@ Summary: Block device ID library License: LGPLv2+ Requires: libuuid%{?_isa} = %{version}-%{release} Conflicts: filesystem < 3 -Requires(post): coreutils %description -n libblkid This is block device identification library, part of util-linux. @@ -439,17 +438,6 @@ 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 || \ @@ -930,6 +918,9 @@ fi %{_libdir}/python*/site-packages/libmount/ %changelog +* Thu Feb 17 2022 Zbigniew Jędrzejewski-Szmek - 2.38-0.5 +- Drop very old upgrade scriptlet for libblkid + * Wed Mar 16 2022 Karel Zak - 2.38-0.4 - upgrade to v2.38-rc3 https://mirrors.edge.kernel.org/pub/linux/utils/util-linux/v2.38/v2.38-ReleaseNotes From 3b965f951dd4902091378fe5b34db4877151a41a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= Date: Thu, 17 Feb 2022 14:02:53 +0100 Subject: [PATCH 137/232] Modernize style Guidelines say %global should be used instead of %define. Also drop periods from Summary, add them to %description. %__sed and friends are deprecated. --- util-linux.spec | 30 +++++++++++++++--------------- 1 file changed, 15 insertions(+), 15 deletions(-) diff --git a/util-linux.spec b/util-linux.spec index 98799a7..85c482d 100644 --- a/util-linux.spec +++ b/util-linux.spec @@ -7,13 +7,13 @@ License: GPLv2 and GPLv2+ and LGPLv2+ and BSD with advertising and Public Domain URL: https://en.wikipedia.org/wiki/Util-linux ### Macros -%define upstream_version %{version}-rc3 -%define upstream_major %(eval echo %{version} | %{__sed} -e 's/\([[:digit:]]*\)\.\([[:digit:]]*\)\.[[:digit:]]*$/\1.\2/') +%global upstream_version %{version}-rc3 +%global upstream_major %(eval echo %{version} | sed -e 's/\([[:digit:]]*\)\.\([[:digit:]]*\)\.[[:digit:]]*$/\1.\2/') -%define compldir %{_datadir}/bash-completion/completions/ +%global compldir %{_datadir}/bash-completion/completions/ -%define pypkg python3 -%define pyver 3 +%global pypkg python3 +%global pyver 3 ### Dependencies BuildRequires: make @@ -26,9 +26,9 @@ BuildRequires: pam-devel BuildRequires: zlib-devel BuildRequires: popt-devel BuildRequires: libutempter-devel -Buildrequires: systemd-devel +BuildRequires: systemd-devel BuildRequires: systemd -Buildrequires: libuser-devel +BuildRequires: libuser-devel BuildRequires: libcap-ng-devel BuildRequires: %{pypkg}-devel BuildRequires: gcc @@ -101,12 +101,12 @@ Patch1: login-default-motd-file.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 +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. +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 @@ -132,7 +132,7 @@ minimal installations. %package -n libfdisk -Summary: Partitioning library for fdisk-like programs. +Summary: Partitioning library for fdisk-like programs License: LGPLv2+ %description -n libfdisk @@ -140,7 +140,7 @@ This is library for fdisk-like programs, part of util-linux. %package -n libfdisk-devel -Summary: Partitioning library for fdisk-like programs. +Summary: Partitioning library for fdisk-like programs License: LGPLv2+ Requires: libfdisk%{?_isa} = %{version}-%{release} Requires: pkgconfig @@ -151,7 +151,7 @@ part of util-linux. %package -n libsmartcols -Summary: Formatting library for ls-like programs. +Summary: Formatting library for ls-like programs License: LGPLv2+ %description -n libsmartcols @@ -159,7 +159,7 @@ This is library for ls-like terminal programs, part of util-linux. %package -n libsmartcols-devel -Summary: Formatting library for ls-like programs. +Summary: Formatting library for ls-like programs License: LGPLv2+ Requires: libsmartcols%{?_isa} = %{version}-%{release} Requires: pkgconfig @@ -277,12 +277,12 @@ mountinfo, etc) and mount filesystems. %package -n util-linux-user -Summary: libuser based util-linux utilities +Summary: util-linux utilities based on libuser Requires: util-linux = %{version}-%{release} License: GPLv2 %description -n util-linux-user -chfn and chsh utilities with dependence on libuser +chfn and chsh utilities with dependence on libuser. %prep From 6578411a87f61693a3d87aca79599613f4ef20f1 Mon Sep 17 00:00:00 2001 From: Karel Zak Date: Wed, 30 Mar 2022 13:15:41 +0200 Subject: [PATCH 138/232] 2.38-1: upgrade, spec file cleanup --- .gitignore | 1 + sources | 2 +- util-linux.spec | 17 +++++++++-------- 3 files changed, 11 insertions(+), 9 deletions(-) diff --git a/.gitignore b/.gitignore index 8d82a3c..7ff827f 100644 --- a/.gitignore +++ b/.gitignore @@ -85,3 +85,4 @@ /util-linux-2.37.2.tar.xz /util-linux-2.38-rc1.tar.xz /util-linux-2.38-rc3.tar.xz +/util-linux-2.38.tar.xz diff --git a/sources b/sources index 376b738..ab8cbd7 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (util-linux-2.38-rc3.tar.xz) = b30d95afb829239320e6a7b586cf87e237aff5ddb254c01c4d525c298dd59b5850bea4abcd59b2a4f5a2300b7f84545b2ee8cd16375221abacc388a7f101dfcf +SHA512 (util-linux-2.38.tar.xz) = d0f7888f457592067938e216695871ce6475a45d83a092cc3fd72b8cf8fca145ca5f3a99122f1744ef60b4f773055cf4e178dc6c59cd30837172aee0b5597e8c diff --git a/util-linux.spec b/util-linux.spec index 85c482d..2dc911e 100644 --- a/util-linux.spec +++ b/util-linux.spec @@ -2,12 +2,12 @@ Summary: Collection of basic system utilities Name: util-linux Version: 2.38 -Release: 0.5%{?dist} +Release: 1%{?dist} License: GPLv2 and GPLv2+ and LGPLv2+ and BSD with advertising and Public Domain URL: https://en.wikipedia.org/wiki/Util-linux ### Macros -%global upstream_version %{version}-rc3 +%global upstream_version %{version} %global upstream_major %(eval echo %{version} | sed -e 's/\([[:digit:]]*\)\.\([[:digit:]]*\)\.[[:digit:]]*$/\1.\2/') %global compldir %{_datadir}/bash-completion/completions/ @@ -32,10 +32,6 @@ BuildRequires: libuser-devel BuildRequires: libcap-ng-devel BuildRequires: %{pypkg}-devel BuildRequires: gcc -BuildRequires: autoconf -BuildRequires: automake -BuildRequires: libtool -BuildRequires: bison BuildRequires: rubygem-asciidoctor %ifarch ppc64le BuildRequires: librtas-devel @@ -291,8 +287,8 @@ chfn and chsh utilities with dependence on libuser. %build unset LINGUAS || : -# unfortunately, we did changes to build-system -./autogen.sh +# enable only when make a change to the build-system +#./autogen.sh export CFLAGS="-D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 $RPM_OPT_FLAGS" @@ -918,6 +914,11 @@ fi %{_libdir}/python*/site-packages/libmount/ %changelog +* Wed Mar 30 2022 Karel Zak - 2.38-1 +- upgrade to v2.38 +- don't (re)generate build-system +- modernize spec file style (thanks to Zbigniew) + * Thu Feb 17 2022 Zbigniew Jędrzejewski-Szmek - 2.38-0.5 - Drop very old upgrade scriptlet for libblkid From 6c5649c0b67e7349a88ecb2ac111abf5bcf37151 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= Date: Thu, 17 Feb 2022 13:58:21 +0100 Subject: [PATCH 139/232] Simplify creation of /etc/mtab symlink It was created unconditionally in %post, so the original contents (if any) were overwritten. Listing is as %config was just misleading. Let's simply list the symlink as normal contents in the rpm, so that rpm can install the symlink for us. (The scriplet was missing a dependency on coreutils for ln, but let's not add that if we can drop the whole thing.) [kzak@redhat.com: - add %changelog entry] --- util-linux.spec | 12 +++++------- 1 file changed, 5 insertions(+), 7 deletions(-) diff --git a/util-linux.spec b/util-linux.spec index 2dc911e..47621d5 100644 --- a/util-linux.spec +++ b/util-linux.spec @@ -2,7 +2,7 @@ Summary: Collection of basic system utilities Name: util-linux Version: 2.38 -Release: 1%{?dist} +Release: 2%{?dist} License: GPLv2 and GPLv2+ and LGPLv2+ and BSD with advertising and Public Domain URL: https://en.wikipedia.org/wiki/Util-linux @@ -429,11 +429,6 @@ find $RPM_BUILD_ROOT%{_mandir}/man8 -regextype posix-egrep \ -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 - %pre -n uuidd getent group uuidd >/dev/null || groupadd -r uuidd getent passwd uuidd >/dev/null || \ @@ -736,7 +731,6 @@ fi %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 @@ -822,6 +816,7 @@ fi %{_sbindir}/swapoff %{_sbindir}/swapon %{_sbindir}/switch_root +/etc/mtab %files -n util-linux-user @@ -914,6 +909,9 @@ fi %{_libdir}/python*/site-packages/libmount/ %changelog +* Wed Mar 30 2022 Zbigniew Jędrzejewski-Szmek - 2.38-2 +- simplify creation of /etc/mtab symlink + * Wed Mar 30 2022 Karel Zak - 2.38-1 - upgrade to v2.38 - don't (re)generate build-system From 1f18765a680e68983a48da2d62eddb15062f9e80 Mon Sep 17 00:00:00 2001 From: Karel Zak Date: Wed, 13 Apr 2022 20:47:23 +0200 Subject: [PATCH 140/232] 2.38-3: fix changelog --- util-linux.spec | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/util-linux.spec b/util-linux.spec index 47621d5..25de347 100644 --- a/util-linux.spec +++ b/util-linux.spec @@ -2,7 +2,7 @@ Summary: Collection of basic system utilities Name: util-linux Version: 2.38 -Release: 2%{?dist} +Release: 3%{?dist} License: GPLv2 and GPLv2+ and LGPLv2+ and BSD with advertising and Public Domain URL: https://en.wikipedia.org/wiki/Util-linux @@ -909,6 +909,9 @@ fi %{_libdir}/python*/site-packages/libmount/ %changelog +* Wed Apr 13 2022 Karel Zak - 2.38-3 +- fix spec file changelog order + * Wed Mar 30 2022 Zbigniew Jędrzejewski-Szmek - 2.38-2 - simplify creation of /etc/mtab symlink @@ -917,7 +920,7 @@ fi - don't (re)generate build-system - modernize spec file style (thanks to Zbigniew) -* Thu Feb 17 2022 Zbigniew Jędrzejewski-Szmek - 2.38-0.5 +* Thu Mar 17 2022 Zbigniew Jędrzejewski-Szmek - 2.38-0.5 - Drop very old upgrade scriptlet for libblkid * Wed Mar 16 2022 Karel Zak - 2.38-0.4 From f64c45563015d5ed8b512e58477db4201f336eeb Mon Sep 17 00:00:00 2001 From: Python Maint Date: Mon, 13 Jun 2022 15:08:44 +0200 Subject: [PATCH 141/232] Rebuilt for Python 3.11 --- util-linux.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/util-linux.spec b/util-linux.spec index 25de347..3396bab 100644 --- a/util-linux.spec +++ b/util-linux.spec @@ -2,7 +2,7 @@ Summary: Collection of basic system utilities Name: util-linux Version: 2.38 -Release: 3%{?dist} +Release: 4%{?dist} License: GPLv2 and GPLv2+ and LGPLv2+ and BSD with advertising and Public Domain URL: https://en.wikipedia.org/wiki/Util-linux @@ -909,6 +909,9 @@ fi %{_libdir}/python*/site-packages/libmount/ %changelog +* Mon Jun 13 2022 Python Maint - 2.38-4 +- Rebuilt for Python 3.11 + * Wed Apr 13 2022 Karel Zak - 2.38-3 - fix spec file changelog order From dd1f0e5a8273f50e35582b21f16e423b2da75c9c Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Sat, 23 Jul 2022 11:35:51 +0000 Subject: [PATCH 142/232] Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild Signed-off-by: Fedora Release Engineering --- util-linux.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/util-linux.spec b/util-linux.spec index 3396bab..1958f0e 100644 --- a/util-linux.spec +++ b/util-linux.spec @@ -2,7 +2,7 @@ Summary: Collection of basic system utilities Name: util-linux Version: 2.38 -Release: 4%{?dist} +Release: 5%{?dist} License: GPLv2 and GPLv2+ and LGPLv2+ and BSD with advertising and Public Domain URL: https://en.wikipedia.org/wiki/Util-linux @@ -909,6 +909,9 @@ fi %{_libdir}/python*/site-packages/libmount/ %changelog +* Sat Jul 23 2022 Fedora Release Engineering - 2.38-5 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild + * Mon Jun 13 2022 Python Maint - 2.38-4 - Rebuilt for Python 3.11 From c96992b25e6492579bd8aa62361f5e63267a0f56 Mon Sep 17 00:00:00 2001 From: Karel Zak Date: Thu, 4 Aug 2022 16:04:00 +0200 Subject: [PATCH 143/232] 2.38.1-1: upgrade --- .gitignore | 1 + sources | 2 +- util-linux.spec | 8 ++++++-- 3 files changed, 8 insertions(+), 3 deletions(-) diff --git a/.gitignore b/.gitignore index 7ff827f..5272f49 100644 --- a/.gitignore +++ b/.gitignore @@ -86,3 +86,4 @@ /util-linux-2.38-rc1.tar.xz /util-linux-2.38-rc3.tar.xz /util-linux-2.38.tar.xz +/util-linux-2.38.1.tar.xz diff --git a/sources b/sources index ab8cbd7..319cfac 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (util-linux-2.38.tar.xz) = d0f7888f457592067938e216695871ce6475a45d83a092cc3fd72b8cf8fca145ca5f3a99122f1744ef60b4f773055cf4e178dc6c59cd30837172aee0b5597e8c +SHA512 (util-linux-2.38.1.tar.xz) = 07f11147f67dfc6c8bc766dfc83266054e6ede776feada0566b447d13276b6882ee85c6fe53e8d94a17c03332106fc0549deca3cf5f2e92dda554e9bc0551957 diff --git a/util-linux.spec b/util-linux.spec index 1958f0e..5e64215 100644 --- a/util-linux.spec +++ b/util-linux.spec @@ -1,8 +1,8 @@ ### Header Summary: Collection of basic system utilities Name: util-linux -Version: 2.38 -Release: 5%{?dist} +Version: 2.38.1 +Release: 1%{?dist} License: GPLv2 and GPLv2+ and LGPLv2+ and BSD with advertising and Public Domain URL: https://en.wikipedia.org/wiki/Util-linux @@ -909,6 +909,10 @@ fi %{_libdir}/python*/site-packages/libmount/ %changelog +* Thu Aug 4 2022 Karel Zak - 2.38.1-1 +- upgrade to v2.38.1 + https://kernel.org/pub/linux/utils/util-linux/v2.38/v2.38.1-ReleaseNotes + * Sat Jul 23 2022 Fedora Release Engineering - 2.38-5 - Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild From 260ccc24c5fa4ef11a4b6e1275d45c59ae2096f7 Mon Sep 17 00:00:00 2001 From: Karel Zak Date: Mon, 22 Aug 2022 12:00:27 +0200 Subject: [PATCH 144/232] 2.38.1-2: improve tmpfiles.d use --- util-linux.spec | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/util-linux.spec b/util-linux.spec index 5e64215..8f1af25 100644 --- a/util-linux.spec +++ b/util-linux.spec @@ -2,7 +2,7 @@ Summary: Collection of basic system utilities Name: util-linux Version: 2.38.1 -Release: 1%{?dist} +Release: 2%{?dist} License: GPLv2 and GPLv2+ and LGPLv2+ and BSD with advertising and Public Domain URL: https://en.wikipedia.org/wiki/Util-linux @@ -335,13 +335,13 @@ 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 +mkdir -p ${RPM_BUILD_ROOT}%{_tmpfilesdir}/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 -m 644 %{SOURCE4} ${RPM_BUILD_ROOT}%{_tmpfilesdir}/uuidd.conf install -d ${RPM_BUILD_ROOT}/run/uuidd install -d ${RPM_BUILD_ROOT}/var/lib/libuuid @@ -838,7 +838,7 @@ fi %dir %attr(2775, uuidd, uuidd) /var/lib/libuuid %dir %attr(2775, uuidd, uuidd) /run/uuidd %{compldir}/uuidd -/usr/lib/tmpfiles.d/uuidd.conf +%{_tmpfilesdir}/uuidd.conf %files -n libfdisk @@ -909,6 +909,9 @@ fi %{_libdir}/python*/site-packages/libmount/ %changelog +* Mon Aug 22 2022 Karel Zak - 2.38.1-2 +- improve tmpfiles.d use in spec file + * Thu Aug 4 2022 Karel Zak - 2.38.1-1 - upgrade to v2.38.1 https://kernel.org/pub/linux/utils/util-linux/v2.38/v2.38.1-ReleaseNotes From d65ce0b32ca8b7daf63088006c0231cac348c097 Mon Sep 17 00:00:00 2001 From: Florian Weimer Date: Sat, 17 Dec 2022 21:40:37 +0100 Subject: [PATCH 145/232] Backport upstream patch to fix C99 issue in kill It is again necessary to run autotools during the build. Related to: --- util-linux-kill-c99.patch | 46 +++++++++++++++++++++++++++++++++++++++ util-linux.spec | 16 +++++++++----- 2 files changed, 56 insertions(+), 6 deletions(-) create mode 100644 util-linux-kill-c99.patch diff --git a/util-linux-kill-c99.patch b/util-linux-kill-c99.patch new file mode 100644 index 0000000..7e02ab1 --- /dev/null +++ b/util-linux-kill-c99.patch @@ -0,0 +1,46 @@ +commit 84732a8849a08d42a9a95dcbee9005116be78eb8 +Author: Khem Raj +Date: Sun Aug 7 14:39:19 2022 -0700 + + check for sys/pidfd.h + + This header in newer glibc defines the signatures of functions + pidfd_send_signal() and pidfd_open() and when these functions are + defined by libc then we need to include the relevant header to get + the definitions. Clang 15+ has started to error out when function + signatures are missing. + + Fixes errors like + misc-utils/kill.c:402:6: error: call to undeclared function 'pidfd_send_signal'; ISO C99 and later do not support implicit function declarations [-Wimplicit-function-declaration] + if (pidfd_send_signal(pfd, ctl->numsig, &info, 0) < 0) + + Signed-off-by: Khem Raj + +diff --git a/configure.ac b/configure.ac +index d8b4d475103c2bab..4a35d17f81375c29 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -339,6 +339,7 @@ AC_CHECK_HEADERS([ \ + sys/mkdev.h \ + sys/mount.h \ + sys/param.h \ ++ sys/pidfd.h \ + sys/prctl.h \ + sys/resource.h \ + sys/sendfile.h \ +diff --git a/include/pidfd-utils.h b/include/pidfd-utils.h +index eddede9767478be2..d9e33cbc57ae38c8 100644 +--- a/include/pidfd-utils.h ++++ b/include/pidfd-utils.h +@@ -4,8 +4,10 @@ + #ifdef HAVE_SYS_SYSCALL_H + # include + # if defined(SYS_pidfd_send_signal) && defined(SYS_pidfd_open) ++# ifdef HAVE_SYS_PIDFD_H ++# include ++# endif + # include +- + # ifndef HAVE_PIDFD_SEND_SIGNAL + static inline int pidfd_send_signal(int pidfd, int sig, siginfo_t *info, + unsigned int flags) diff --git a/util-linux.spec b/util-linux.spec index 8f1af25..01eaff2 100644 --- a/util-linux.spec +++ b/util-linux.spec @@ -2,7 +2,7 @@ Summary: Collection of basic system utilities Name: util-linux Version: 2.38.1 -Release: 2%{?dist} +Release: 3%{?dist} License: GPLv2 and GPLv2+ and LGPLv2+ and BSD with advertising and Public Domain URL: https://en.wikipedia.org/wiki/Util-linux @@ -38,10 +38,10 @@ BuildRequires: librtas-devel %endif # enable if make changes to build-system -#BuildRequires: autoconf -#BuildRequires: automake -#BuildRequires: libtool -#BuildRequires: bison +BuildRequires: autoconf +BuildRequires: automake +BuildRequires: libtool +BuildRequires: bison ### Sources Source0: https://www.kernel.org/pub/linux/utils/util-linux/v%{upstream_major}/util-linux-%{upstream_version}.tar.xz @@ -93,6 +93,7 @@ Patch0: login-lastlog-create.patch # Add `/run/motd.d` to the hardcoded MOTD_FILE # https://github.com/coreos/console-login-helper-messages/issues/60 Patch1: login-default-motd-file.patch +Patch2: util-linux-kill-c99.patch %description The util-linux package contains a large variety of low-level system @@ -288,7 +289,7 @@ chfn and chsh utilities with dependence on libuser. unset LINGUAS || : # enable only when make a change to the build-system -#./autogen.sh +./autogen.sh export CFLAGS="-D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 $RPM_OPT_FLAGS" @@ -909,6 +910,9 @@ fi %{_libdir}/python*/site-packages/libmount/ %changelog +* Sat Dec 17 2022 Florian Weimer - 2.38.1-3 +- Backport upstream patch to fix C99 issue in kill + * Mon Aug 22 2022 Karel Zak - 2.38.1-2 - improve tmpfiles.d use in spec file From a04c11370c4ffda3206a0d8d99dadd795f039011 Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Sat, 21 Jan 2023 06:01:31 +0000 Subject: [PATCH 146/232] Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild Signed-off-by: Fedora Release Engineering --- util-linux.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/util-linux.spec b/util-linux.spec index 01eaff2..675e042 100644 --- a/util-linux.spec +++ b/util-linux.spec @@ -2,7 +2,7 @@ Summary: Collection of basic system utilities Name: util-linux Version: 2.38.1 -Release: 3%{?dist} +Release: 4%{?dist} License: GPLv2 and GPLv2+ and LGPLv2+ and BSD with advertising and Public Domain URL: https://en.wikipedia.org/wiki/Util-linux @@ -910,6 +910,9 @@ fi %{_libdir}/python*/site-packages/libmount/ %changelog +* Sat Jan 21 2023 Fedora Release Engineering - 2.38.1-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild + * Sat Dec 17 2022 Florian Weimer - 2.38.1-3 - Backport upstream patch to fix C99 issue in kill From a228e53a4b4b19dfc24b1fdf308c392c600ac0d4 Mon Sep 17 00:00:00 2001 From: Karel Zak Date: Mon, 20 Mar 2023 13:55:14 +0100 Subject: [PATCH 147/232] 2.39-0.1: upgrade to -rc1 --- .gitignore | 1 + sources | 2 +- util-linux-kill-c99.patch | 46 --------------------------------------- util-linux.spec | 26 +++++++++++++++++----- 4 files changed, 23 insertions(+), 52 deletions(-) delete mode 100644 util-linux-kill-c99.patch diff --git a/.gitignore b/.gitignore index 5272f49..42a1049 100644 --- a/.gitignore +++ b/.gitignore @@ -87,3 +87,4 @@ /util-linux-2.38-rc3.tar.xz /util-linux-2.38.tar.xz /util-linux-2.38.1.tar.xz +/util-linux-2.39-rc1.tar.xz diff --git a/sources b/sources index 319cfac..c70fd6f 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (util-linux-2.38.1.tar.xz) = 07f11147f67dfc6c8bc766dfc83266054e6ede776feada0566b447d13276b6882ee85c6fe53e8d94a17c03332106fc0549deca3cf5f2e92dda554e9bc0551957 +SHA512 (util-linux-2.39-rc1.tar.xz) = e9981d7c65eed7cd3f96f590e2190c7c804b1767464c821cd9277c72aaf38b8407f324cf9e8f3b96eb96359a0746f21a01dfb6baa504f49c8c7e1aff2dc956b3 diff --git a/util-linux-kill-c99.patch b/util-linux-kill-c99.patch deleted file mode 100644 index 7e02ab1..0000000 --- a/util-linux-kill-c99.patch +++ /dev/null @@ -1,46 +0,0 @@ -commit 84732a8849a08d42a9a95dcbee9005116be78eb8 -Author: Khem Raj -Date: Sun Aug 7 14:39:19 2022 -0700 - - check for sys/pidfd.h - - This header in newer glibc defines the signatures of functions - pidfd_send_signal() and pidfd_open() and when these functions are - defined by libc then we need to include the relevant header to get - the definitions. Clang 15+ has started to error out when function - signatures are missing. - - Fixes errors like - misc-utils/kill.c:402:6: error: call to undeclared function 'pidfd_send_signal'; ISO C99 and later do not support implicit function declarations [-Wimplicit-function-declaration] - if (pidfd_send_signal(pfd, ctl->numsig, &info, 0) < 0) - - Signed-off-by: Khem Raj - -diff --git a/configure.ac b/configure.ac -index d8b4d475103c2bab..4a35d17f81375c29 100644 ---- a/configure.ac -+++ b/configure.ac -@@ -339,6 +339,7 @@ AC_CHECK_HEADERS([ \ - sys/mkdev.h \ - sys/mount.h \ - sys/param.h \ -+ sys/pidfd.h \ - sys/prctl.h \ - sys/resource.h \ - sys/sendfile.h \ -diff --git a/include/pidfd-utils.h b/include/pidfd-utils.h -index eddede9767478be2..d9e33cbc57ae38c8 100644 ---- a/include/pidfd-utils.h -+++ b/include/pidfd-utils.h -@@ -4,8 +4,10 @@ - #ifdef HAVE_SYS_SYSCALL_H - # include - # if defined(SYS_pidfd_send_signal) && defined(SYS_pidfd_open) -+# ifdef HAVE_SYS_PIDFD_H -+# include -+# endif - # include -- - # ifndef HAVE_PIDFD_SEND_SIGNAL - static inline int pidfd_send_signal(int pidfd, int sig, siginfo_t *info, - unsigned int flags) diff --git a/util-linux.spec b/util-linux.spec index 675e042..31553e1 100644 --- a/util-linux.spec +++ b/util-linux.spec @@ -1,13 +1,13 @@ ### Header Summary: Collection of basic system utilities Name: util-linux -Version: 2.38.1 -Release: 4%{?dist} +Version: 2.39 +Release: 0.1%{?dist} License: GPLv2 and GPLv2+ and LGPLv2+ and BSD with advertising and Public Domain URL: https://en.wikipedia.org/wiki/Util-linux ### Macros -%global upstream_version %{version} +%global upstream_version %{version}-rc1 %global upstream_major %(eval echo %{version} | sed -e 's/\([[:digit:]]*\)\.\([[:digit:]]*\)\.[[:digit:]]*$/\1.\2/') %global compldir %{_datadir}/bash-completion/completions/ @@ -93,7 +93,10 @@ Patch0: login-lastlog-create.patch # Add `/run/motd.d` to the hardcoded MOTD_FILE # https://github.com/coreos/console-login-helper-messages/issues/60 Patch1: login-default-motd-file.patch -Patch2: util-linux-kill-c99.patch +# upstream, already in >= v2.39-rc2 +Patch2: libmount-dont-ignore-autofs-mounts-by-default.patch +Patch3: mount-ignore-autofs-entries-in-mount-listing.patch + %description The util-linux package contains a large variety of low-level system @@ -289,7 +292,7 @@ chfn and chsh utilities with dependence on libuser. unset LINGUAS || : # enable only when make a change to the build-system -./autogen.sh +#./autogen.sh export CFLAGS="-D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 $RPM_OPT_FLAGS" @@ -491,6 +494,7 @@ fi %{_bindir}/eject %{_bindir}/fallocate %{_bindir}/fincore +%{_bindir}/fadvise %{_bindir}/getopt %{_bindir}/hexdump %{_bindir}/irqtop @@ -510,6 +514,7 @@ fi %{_bindir}/mcookie %{_bindir}/mesg %{_bindir}/namei +%{_bindir}/pipesz %{_bindir}/prlimit %{_bindir}/rename %{_bindir}/rev @@ -524,6 +529,7 @@ fi %{_bindir}/utmpdump %{_bindir}/uuidgen %{_bindir}/uuidparse +%{_bindir}/waitpid %{_bindir}/wall %{_bindir}/wdctl %{_bindir}/whereis @@ -534,6 +540,7 @@ fi %{_mandir}/man1/colrm.1* %{_mandir}/man1/column.1* %{_mandir}/man1/eject.1* +%{_mandir}/man1/fadvise.1.* %{_mandir}/man1/fallocate.1* %{_mandir}/man1/fincore.1* %{_mandir}/man1/getopt.1* @@ -552,6 +559,7 @@ fi %{_mandir}/man1/mcookie.1* %{_mandir}/man1/mesg.1* %{_mandir}/man1/namei.1* +%{_mandir}/man1/pipesz.1.* %{_mandir}/man1/prlimit.1* %{_mandir}/man1/rename.1* %{_mandir}/man1/rev.1* @@ -567,6 +575,7 @@ fi %{_mandir}/man1/utmpdump.1.gz %{_mandir}/man1/uuidgen.1* %{_mandir}/man1/uuidparse.1* +%{_mandir}/man1/waitpid.1.* %{_mandir}/man1/wall.1* %{_mandir}/man1/whereis.1* %{_mandir}/man1/write.1* @@ -574,6 +583,7 @@ fi %{_mandir}/man5/terminal-colors.d.5* %{_mandir}/man8/addpart.8* %{_mandir}/man8/blkdiscard.8* +%{_mandir}/man8/blkpr.8.* %{_mandir}/man8/blkzone.8* %{_mandir}/man8/chcpu.8* %{_mandir}/man8/chmem.8* @@ -607,6 +617,7 @@ fi %{_mandir}/man8/zramctl.8* %{_sbindir}/addpart %{_sbindir}/blkdiscard +%{_sbindir}/blkpr %{_sbindir}/blkzone %{_sbindir}/chcpu %{_sbindir}/ctrlaltdel @@ -676,6 +687,7 @@ fi %{compldir}/mkfs.cramfs %{compldir}/mkfs.minix %{compldir}/namei +%{compldir}/pipesz %{compldir}/pivot_root %{compldir}/prlimit %{compldir}/readprofile @@ -910,6 +922,10 @@ fi %{_libdir}/python*/site-packages/libmount/ %changelog +* Mon Mar 20 2023 Karel Zak - 2.39-0.1 +- upgrade to v2.39-rc1 + https://kernel.org/pub/linux/utils/util-linux/v2.39/v2.39-ReleaseNotes + * Sat Jan 21 2023 Fedora Release Engineering - 2.38.1-4 - Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild From 4ffd39d55313501f5886649736ffad72b402f16d Mon Sep 17 00:00:00 2001 From: Karel Zak Date: Tue, 21 Mar 2023 19:34:04 +0100 Subject: [PATCH 148/232] commit missing files --- ...dont-ignore-autofs-mounts-by-default.patch | 51 +++++++++++++++++++ ...nore-autofs-entries-in-mount-listing.patch | 35 +++++++++++++ 2 files changed, 86 insertions(+) create mode 100644 libmount-dont-ignore-autofs-mounts-by-default.patch create mode 100644 mount-ignore-autofs-entries-in-mount-listing.patch diff --git a/libmount-dont-ignore-autofs-mounts-by-default.patch b/libmount-dont-ignore-autofs-mounts-by-default.patch new file mode 100644 index 0000000..3999040 --- /dev/null +++ b/libmount-dont-ignore-autofs-mounts-by-default.patch @@ -0,0 +1,51 @@ +From 7d08453551ccc5477f76f3e986c8351e8c5ab599 Mon Sep 17 00:00:00 2001 +From: Ian Kent +Date: Mon, 13 Mar 2023 09:42:56 +0800 +Subject: [PATCH] libmount: dont ignore autofs mounts by default + +Making libmount ingore autofs mounts by default can be a problem for +systemd, I remember now what the problem was. + +autofs multi-mounts can be nested (and often are, think of a tree of +NFS exports) where there are autofs file system mounts within NFS +mounts and together with autofs mount triggers. + +In this case systemd needs to see all the mounts at shutdown when it +is umounting the tree of mounts. We don't want to have to rely on +modifications having been made to systemd for this to work properly +so we can't make this the default behaviour in libmount. + +Fixes: 22147e08c987 (libmount: use autofs mount hint to ignore autofs mount entries) +Signed-off-by: Ian Kent +Cc: John Westerdale +Cc: Frank Hertz +Cc: Frank Sorenson +--- + libmount/src/context.c | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/libmount/src/context.c b/libmount/src/context.c +index 8db6b6950..2df4716a7 100644 +--- a/libmount/src/context.c ++++ b/libmount/src/context.c +@@ -75,7 +75,7 @@ struct libmnt_context *mnt_new_context(void) + /* if we're really root and aren't running setuid */ + cxt->restricted = (uid_t) 0 == ruid && ruid == euid ? 0 : 1; + +- cxt->noautofs = 1; ++ cxt->noautofs = 0; + + DBG(CXT, ul_debugobj(cxt, "----> allocate %s", + cxt->restricted ? "[RESTRICTED]" : "")); +@@ -164,7 +164,7 @@ int mnt_reset_context(struct libmnt_context *cxt) + cxt->helper = NULL; + cxt->mountdata = NULL; + cxt->flags = MNT_FL_DEFAULT; +- cxt->noautofs = 1; ++ cxt->noautofs = 0; + cxt->has_selinux_opt = 0; + + cxt->map_linux = mnt_get_builtin_optmap(MNT_LINUX_MAP); +-- +2.39.2 + diff --git a/mount-ignore-autofs-entries-in-mount-listing.patch b/mount-ignore-autofs-entries-in-mount-listing.patch new file mode 100644 index 0000000..b9e838e --- /dev/null +++ b/mount-ignore-autofs-entries-in-mount-listing.patch @@ -0,0 +1,35 @@ +From 9004e76b4ba716022a7c851ffa7fbd9e9e4bf073 Mon Sep 17 00:00:00 2001 +From: Ian Kent +Date: Mon, 13 Mar 2023 09:43:02 +0800 +Subject: [PATCH] mount: ignore autofs entries in mount listing + +Since we can't enable use of ignoring autofs mounts that have the +"ignore" option present by default (systemd could get confused) it's +necessary to enable it for individual applications. + +The mount utility is one applcation we need it for so enable it. + +Signed-off-by: Ian Kent +Cc: John Westerdale +Cc: Frank Hertz +Cc: Frank Sorenson +--- + sys-utils/mount.c | 2 ++ + 1 file changed, 2 insertions(+) + +diff --git a/sys-utils/mount.c b/sys-utils/mount.c +index 6590272c7..dba6fcae9 100644 +--- a/sys-utils/mount.c ++++ b/sys-utils/mount.c +@@ -124,6 +124,8 @@ static void print_all(struct libmnt_context *cxt, char *pattern, int show_label) + struct libmnt_fs *fs; + struct libmnt_cache *cache = NULL; + ++ mnt_context_enable_noautofs(cxt, 1); ++ + if (mnt_context_get_mtab(cxt, &tb)) + err(MNT_EX_SYSERR, _("failed to read mtab")); + +-- +2.39.2 + From 3bf1f5a44fdf5648eb2a905d1013aa7e7e72d4e9 Mon Sep 17 00:00:00 2001 From: Karel Zak Date: Tue, 4 Apr 2023 14:59:49 +0200 Subject: [PATCH 149/232] 2.39-0.2: upgrade to -rc2 --- .gitignore | 1 + sources | 2 +- util-linux.spec | 5 ++++- 3 files changed, 6 insertions(+), 2 deletions(-) diff --git a/.gitignore b/.gitignore index 42a1049..e40de18 100644 --- a/.gitignore +++ b/.gitignore @@ -88,3 +88,4 @@ /util-linux-2.38.tar.xz /util-linux-2.38.1.tar.xz /util-linux-2.39-rc1.tar.xz +/util-linux-2.39-rc2.tar.xz diff --git a/sources b/sources index c70fd6f..246d228 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (util-linux-2.39-rc1.tar.xz) = e9981d7c65eed7cd3f96f590e2190c7c804b1767464c821cd9277c72aaf38b8407f324cf9e8f3b96eb96359a0746f21a01dfb6baa504f49c8c7e1aff2dc956b3 +SHA512 (util-linux-2.39-rc2.tar.xz) = 11f5b8ed1eb90a4e7161369eafcf0157b205aeded221cd435f95a79d01901bdef289660486849778b3d3c15500db593cad24e0a7f87f52968c9c292ea68040c0 diff --git a/util-linux.spec b/util-linux.spec index 31553e1..cfd3724 100644 --- a/util-linux.spec +++ b/util-linux.spec @@ -2,7 +2,7 @@ Summary: Collection of basic system utilities Name: util-linux Version: 2.39 -Release: 0.1%{?dist} +Release: 0.2%{?dist} License: GPLv2 and GPLv2+ and LGPLv2+ and BSD with advertising and Public Domain URL: https://en.wikipedia.org/wiki/Util-linux @@ -922,6 +922,9 @@ fi %{_libdir}/python*/site-packages/libmount/ %changelog +* Tue Apr 4 2023 Karel Zak - 2.39-0.2 +- upgrade to v2.39-rc2 + * Mon Mar 20 2023 Karel Zak - 2.39-0.1 - upgrade to v2.39-rc1 https://kernel.org/pub/linux/utils/util-linux/v2.39/v2.39-ReleaseNotes From 5fa93ec5e0ee804f8c5df970b815f0459b9cfe30 Mon Sep 17 00:00:00 2001 From: Karel Zak Date: Tue, 4 Apr 2023 19:34:43 +0200 Subject: [PATCH 150/232] fix spec file for -rc2 --- ...dont-ignore-autofs-mounts-by-default.patch | 51 ------------------- ...nore-autofs-entries-in-mount-listing.patch | 35 ------------- util-linux.spec | 8 +-- 3 files changed, 2 insertions(+), 92 deletions(-) delete mode 100644 libmount-dont-ignore-autofs-mounts-by-default.patch delete mode 100644 mount-ignore-autofs-entries-in-mount-listing.patch diff --git a/libmount-dont-ignore-autofs-mounts-by-default.patch b/libmount-dont-ignore-autofs-mounts-by-default.patch deleted file mode 100644 index 3999040..0000000 --- a/libmount-dont-ignore-autofs-mounts-by-default.patch +++ /dev/null @@ -1,51 +0,0 @@ -From 7d08453551ccc5477f76f3e986c8351e8c5ab599 Mon Sep 17 00:00:00 2001 -From: Ian Kent -Date: Mon, 13 Mar 2023 09:42:56 +0800 -Subject: [PATCH] libmount: dont ignore autofs mounts by default - -Making libmount ingore autofs mounts by default can be a problem for -systemd, I remember now what the problem was. - -autofs multi-mounts can be nested (and often are, think of a tree of -NFS exports) where there are autofs file system mounts within NFS -mounts and together with autofs mount triggers. - -In this case systemd needs to see all the mounts at shutdown when it -is umounting the tree of mounts. We don't want to have to rely on -modifications having been made to systemd for this to work properly -so we can't make this the default behaviour in libmount. - -Fixes: 22147e08c987 (libmount: use autofs mount hint to ignore autofs mount entries) -Signed-off-by: Ian Kent -Cc: John Westerdale -Cc: Frank Hertz -Cc: Frank Sorenson ---- - libmount/src/context.c | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -diff --git a/libmount/src/context.c b/libmount/src/context.c -index 8db6b6950..2df4716a7 100644 ---- a/libmount/src/context.c -+++ b/libmount/src/context.c -@@ -75,7 +75,7 @@ struct libmnt_context *mnt_new_context(void) - /* if we're really root and aren't running setuid */ - cxt->restricted = (uid_t) 0 == ruid && ruid == euid ? 0 : 1; - -- cxt->noautofs = 1; -+ cxt->noautofs = 0; - - DBG(CXT, ul_debugobj(cxt, "----> allocate %s", - cxt->restricted ? "[RESTRICTED]" : "")); -@@ -164,7 +164,7 @@ int mnt_reset_context(struct libmnt_context *cxt) - cxt->helper = NULL; - cxt->mountdata = NULL; - cxt->flags = MNT_FL_DEFAULT; -- cxt->noautofs = 1; -+ cxt->noautofs = 0; - cxt->has_selinux_opt = 0; - - cxt->map_linux = mnt_get_builtin_optmap(MNT_LINUX_MAP); --- -2.39.2 - diff --git a/mount-ignore-autofs-entries-in-mount-listing.patch b/mount-ignore-autofs-entries-in-mount-listing.patch deleted file mode 100644 index b9e838e..0000000 --- a/mount-ignore-autofs-entries-in-mount-listing.patch +++ /dev/null @@ -1,35 +0,0 @@ -From 9004e76b4ba716022a7c851ffa7fbd9e9e4bf073 Mon Sep 17 00:00:00 2001 -From: Ian Kent -Date: Mon, 13 Mar 2023 09:43:02 +0800 -Subject: [PATCH] mount: ignore autofs entries in mount listing - -Since we can't enable use of ignoring autofs mounts that have the -"ignore" option present by default (systemd could get confused) it's -necessary to enable it for individual applications. - -The mount utility is one applcation we need it for so enable it. - -Signed-off-by: Ian Kent -Cc: John Westerdale -Cc: Frank Hertz -Cc: Frank Sorenson ---- - sys-utils/mount.c | 2 ++ - 1 file changed, 2 insertions(+) - -diff --git a/sys-utils/mount.c b/sys-utils/mount.c -index 6590272c7..dba6fcae9 100644 ---- a/sys-utils/mount.c -+++ b/sys-utils/mount.c -@@ -124,6 +124,8 @@ static void print_all(struct libmnt_context *cxt, char *pattern, int show_label) - struct libmnt_fs *fs; - struct libmnt_cache *cache = NULL; - -+ mnt_context_enable_noautofs(cxt, 1); -+ - if (mnt_context_get_mtab(cxt, &tb)) - err(MNT_EX_SYSERR, _("failed to read mtab")); - --- -2.39.2 - diff --git a/util-linux.spec b/util-linux.spec index cfd3724..4de6676 100644 --- a/util-linux.spec +++ b/util-linux.spec @@ -2,12 +2,12 @@ Summary: Collection of basic system utilities Name: util-linux Version: 2.39 -Release: 0.2%{?dist} +Release: 0.3%{?dist} License: GPLv2 and GPLv2+ and LGPLv2+ and BSD with advertising and Public Domain URL: https://en.wikipedia.org/wiki/Util-linux ### Macros -%global upstream_version %{version}-rc1 +%global upstream_version %{version}-rc2 %global upstream_major %(eval echo %{version} | sed -e 's/\([[:digit:]]*\)\.\([[:digit:]]*\)\.[[:digit:]]*$/\1.\2/') %global compldir %{_datadir}/bash-completion/completions/ @@ -93,10 +93,6 @@ Patch0: login-lastlog-create.patch # Add `/run/motd.d` to the hardcoded MOTD_FILE # https://github.com/coreos/console-login-helper-messages/issues/60 Patch1: login-default-motd-file.patch -# upstream, already in >= v2.39-rc2 -Patch2: libmount-dont-ignore-autofs-mounts-by-default.patch -Patch3: mount-ignore-autofs-entries-in-mount-listing.patch - %description The util-linux package contains a large variety of low-level system From 09904cbd5605562abf0e14fc460185ad1306a94c Mon Sep 17 00:00:00 2001 From: Karel Zak Date: Wed, 5 Apr 2023 21:59:20 +0200 Subject: [PATCH 151/232] 2.39-0.4: fix libmount --- ...fix-superblock-rw-ro-reconfiguration.patch | 110 ++++++++++++++++++ util-linux.spec | 11 +- 2 files changed, 120 insertions(+), 1 deletion(-) create mode 100644 libmount-fix-superblock-rw-ro-reconfiguration.patch diff --git a/libmount-fix-superblock-rw-ro-reconfiguration.patch b/libmount-fix-superblock-rw-ro-reconfiguration.patch new file mode 100644 index 0000000..7ffa945 --- /dev/null +++ b/libmount-fix-superblock-rw-ro-reconfiguration.patch @@ -0,0 +1,110 @@ +From c7ffe0cf6b7bdf62db70bd7700d6ed40d9106ba9 Mon Sep 17 00:00:00 2001 +From: Karel Zak +Date: Wed, 5 Apr 2023 21:44:55 +0200 +Subject: [PATCH] libmount: fix superblock rw/ro reconfiguration + +The classic mount(2) defaults to 'rw', but the new API does not reset +superblock to 'rw' if the flag is not explicitly used for +FSCONFIG_CMD_RECONFIGURE. + +Addresses: https://bugzilla.redhat.com/show_bug.cgi?id=2180593 +Signed-off-by: Karel Zak +--- + libmount/src/hook_mount.c | 47 +++++++++++++++++++++++++++------------ + 1 file changed, 33 insertions(+), 14 deletions(-) + +diff --git a/libmount/src/hook_mount.c b/libmount/src/hook_mount.c +index 071dad783..117150dec 100644 +--- a/libmount/src/hook_mount.c ++++ b/libmount/src/hook_mount.c +@@ -111,14 +111,33 @@ static int hookset_deinit(struct libmnt_context *cxt, const struct libmnt_hookse + return 0; + } + ++static inline int fsconfig_set_value( ++ struct libmnt_context *cxt, ++ const struct libmnt_hookset *hs, ++ int fd, ++ const char *name, const char *value) ++{ ++ int rc; ++ ++ DBG(HOOK, ul_debugobj(hs, " fsconfig(name=%s,value=%s)", name, ++ value ? : "")); ++ if (value) ++ rc = fsconfig(fd, FSCONFIG_SET_STRING, name, value, 0); ++ else ++ rc = fsconfig(fd, FSCONFIG_SET_FLAG, name, NULL, 0); ++ ++ set_syscall_status(cxt, "fsconfig", rc == 0); ++ return rc; ++} + + static int configure_superblock(struct libmnt_context *cxt, +- const struct libmnt_hookset *hs, int fd) ++ const struct libmnt_hookset *hs, ++ int fd, int force_rwro) + { + struct libmnt_optlist *ol; + struct libmnt_iter itr; + struct libmnt_opt *opt; +- int rc; ++ int rc = 0, has_rwro = 0; + + DBG(HOOK, ul_debugobj(hs, " config FS")); + +@@ -136,22 +155,21 @@ static int configure_superblock(struct libmnt_context *cxt, + if (ent && mnt_opt_get_map(opt) == cxt->map_linux && + ent->id == MS_RDONLY) { + value = NULL; ++ has_rwro = 1; + } else if (!name || mnt_opt_get_map(opt) || mnt_opt_is_external(opt)) + continue; + +- DBG(HOOK, ul_debugobj(hs, " fsconfig(name=%s,value=%s)", name, value)); +- if (value) +- rc = fsconfig(fd, FSCONFIG_SET_STRING, name, value, 0); +- else +- rc = fsconfig(fd, FSCONFIG_SET_FLAG, name, NULL, 0); +- +- set_syscall_status(cxt, "fsconfig", rc == 0); ++ rc = fsconfig_set_value(cxt, hs, fd, name, value); + if (rc != 0) +- return -errno; ++ goto done; + } + +- DBG(HOOK, ul_debugobj(hs, " config done [rc=0]")); +- return 0; ++ if (force_rwro && !has_rwro) ++ rc = fsconfig_set_value(cxt, hs, fd, "rw", NULL); ++ ++done: ++ DBG(HOOK, ul_debugobj(hs, " config done [rc=%d]", rc)); ++ return rc != 0 && errno ? -errno : rc; + } + + static int open_fs_configuration_context(struct libmnt_context *cxt, +@@ -244,7 +262,7 @@ static int hook_create_mount(struct libmnt_context *cxt, + set_syscall_status(cxt, "fsconfig", rc == 0); + + if (!rc) +- rc = configure_superblock(cxt, hs, api->fd_fs); ++ rc = configure_superblock(cxt, hs, api->fd_fs, 0); + if (!rc) { + DBG(HOOK, ul_debugobj(hs, "create FS")); + rc = fsconfig(api->fd_fs, FSCONFIG_CMD_CREATE, NULL, NULL, 0); +@@ -301,8 +319,9 @@ static int hook_reconfigure_mount(struct libmnt_context *cxt, + return -errno; + } + +- rc = configure_superblock(cxt, hs, api->fd_fs); ++ rc = configure_superblock(cxt, hs, api->fd_fs, 1); + if (!rc) { ++ DBG(HOOK, ul_debugobj(hs, "re-configurate FS")); + rc = fsconfig(api->fd_fs, FSCONFIG_CMD_RECONFIGURE, NULL, NULL, 0); + set_syscall_status(cxt, "fsconfig", rc == 0); + } +-- +2.39.2 + diff --git a/util-linux.spec b/util-linux.spec index 4de6676..13d481c 100644 --- a/util-linux.spec +++ b/util-linux.spec @@ -2,7 +2,7 @@ Summary: Collection of basic system utilities Name: util-linux Version: 2.39 -Release: 0.3%{?dist} +Release: 0.4%{?dist} License: GPLv2 and GPLv2+ and LGPLv2+ and BSD with advertising and Public Domain URL: https://en.wikipedia.org/wiki/Util-linux @@ -94,6 +94,9 @@ Patch0: login-lastlog-create.patch # https://github.com/coreos/console-login-helper-messages/issues/60 Patch1: login-default-motd-file.patch +# upstream (#2180593) +Patch2: libmount-fix-superblock-rw-ro-reconfiguration.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 @@ -918,6 +921,12 @@ fi %{_libdir}/python*/site-packages/libmount/ %changelog +* Wed Apr 5 2023 Karel Zak - 2.39-0.4 +- fix #2180593 (superblock reconfiguration libmount issue) + +* Tue Apr 4 2023 Karel Zak - 2.39-0.3 +- fix spec file + * Tue Apr 4 2023 Karel Zak - 2.39-0.2 - upgrade to v2.39-rc2 From c87ed81c2c87f4b0f4461c1d9a5aaf2a59e00dd7 Mon Sep 17 00:00:00 2001 From: Karel Zak Date: Wed, 19 Apr 2023 11:39:42 +0200 Subject: [PATCH 152/232] 2.39-0.5: upgrade to 2.39-rc3 --- .gitignore | 1 + ...fix-superblock-rw-ro-reconfiguration.patch | 110 ------------------ sources | 2 +- util-linux.spec | 10 +- 4 files changed, 7 insertions(+), 116 deletions(-) delete mode 100644 libmount-fix-superblock-rw-ro-reconfiguration.patch diff --git a/.gitignore b/.gitignore index e40de18..a5f4144 100644 --- a/.gitignore +++ b/.gitignore @@ -89,3 +89,4 @@ /util-linux-2.38.1.tar.xz /util-linux-2.39-rc1.tar.xz /util-linux-2.39-rc2.tar.xz +/util-linux-2.39-rc3.tar.xz diff --git a/libmount-fix-superblock-rw-ro-reconfiguration.patch b/libmount-fix-superblock-rw-ro-reconfiguration.patch deleted file mode 100644 index 7ffa945..0000000 --- a/libmount-fix-superblock-rw-ro-reconfiguration.patch +++ /dev/null @@ -1,110 +0,0 @@ -From c7ffe0cf6b7bdf62db70bd7700d6ed40d9106ba9 Mon Sep 17 00:00:00 2001 -From: Karel Zak -Date: Wed, 5 Apr 2023 21:44:55 +0200 -Subject: [PATCH] libmount: fix superblock rw/ro reconfiguration - -The classic mount(2) defaults to 'rw', but the new API does not reset -superblock to 'rw' if the flag is not explicitly used for -FSCONFIG_CMD_RECONFIGURE. - -Addresses: https://bugzilla.redhat.com/show_bug.cgi?id=2180593 -Signed-off-by: Karel Zak ---- - libmount/src/hook_mount.c | 47 +++++++++++++++++++++++++++------------ - 1 file changed, 33 insertions(+), 14 deletions(-) - -diff --git a/libmount/src/hook_mount.c b/libmount/src/hook_mount.c -index 071dad783..117150dec 100644 ---- a/libmount/src/hook_mount.c -+++ b/libmount/src/hook_mount.c -@@ -111,14 +111,33 @@ static int hookset_deinit(struct libmnt_context *cxt, const struct libmnt_hookse - return 0; - } - -+static inline int fsconfig_set_value( -+ struct libmnt_context *cxt, -+ const struct libmnt_hookset *hs, -+ int fd, -+ const char *name, const char *value) -+{ -+ int rc; -+ -+ DBG(HOOK, ul_debugobj(hs, " fsconfig(name=%s,value=%s)", name, -+ value ? : "")); -+ if (value) -+ rc = fsconfig(fd, FSCONFIG_SET_STRING, name, value, 0); -+ else -+ rc = fsconfig(fd, FSCONFIG_SET_FLAG, name, NULL, 0); -+ -+ set_syscall_status(cxt, "fsconfig", rc == 0); -+ return rc; -+} - - static int configure_superblock(struct libmnt_context *cxt, -- const struct libmnt_hookset *hs, int fd) -+ const struct libmnt_hookset *hs, -+ int fd, int force_rwro) - { - struct libmnt_optlist *ol; - struct libmnt_iter itr; - struct libmnt_opt *opt; -- int rc; -+ int rc = 0, has_rwro = 0; - - DBG(HOOK, ul_debugobj(hs, " config FS")); - -@@ -136,22 +155,21 @@ static int configure_superblock(struct libmnt_context *cxt, - if (ent && mnt_opt_get_map(opt) == cxt->map_linux && - ent->id == MS_RDONLY) { - value = NULL; -+ has_rwro = 1; - } else if (!name || mnt_opt_get_map(opt) || mnt_opt_is_external(opt)) - continue; - -- DBG(HOOK, ul_debugobj(hs, " fsconfig(name=%s,value=%s)", name, value)); -- if (value) -- rc = fsconfig(fd, FSCONFIG_SET_STRING, name, value, 0); -- else -- rc = fsconfig(fd, FSCONFIG_SET_FLAG, name, NULL, 0); -- -- set_syscall_status(cxt, "fsconfig", rc == 0); -+ rc = fsconfig_set_value(cxt, hs, fd, name, value); - if (rc != 0) -- return -errno; -+ goto done; - } - -- DBG(HOOK, ul_debugobj(hs, " config done [rc=0]")); -- return 0; -+ if (force_rwro && !has_rwro) -+ rc = fsconfig_set_value(cxt, hs, fd, "rw", NULL); -+ -+done: -+ DBG(HOOK, ul_debugobj(hs, " config done [rc=%d]", rc)); -+ return rc != 0 && errno ? -errno : rc; - } - - static int open_fs_configuration_context(struct libmnt_context *cxt, -@@ -244,7 +262,7 @@ static int hook_create_mount(struct libmnt_context *cxt, - set_syscall_status(cxt, "fsconfig", rc == 0); - - if (!rc) -- rc = configure_superblock(cxt, hs, api->fd_fs); -+ rc = configure_superblock(cxt, hs, api->fd_fs, 0); - if (!rc) { - DBG(HOOK, ul_debugobj(hs, "create FS")); - rc = fsconfig(api->fd_fs, FSCONFIG_CMD_CREATE, NULL, NULL, 0); -@@ -301,8 +319,9 @@ static int hook_reconfigure_mount(struct libmnt_context *cxt, - return -errno; - } - -- rc = configure_superblock(cxt, hs, api->fd_fs); -+ rc = configure_superblock(cxt, hs, api->fd_fs, 1); - if (!rc) { -+ DBG(HOOK, ul_debugobj(hs, "re-configurate FS")); - rc = fsconfig(api->fd_fs, FSCONFIG_CMD_RECONFIGURE, NULL, NULL, 0); - set_syscall_status(cxt, "fsconfig", rc == 0); - } --- -2.39.2 - diff --git a/sources b/sources index 246d228..4bfa7a6 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (util-linux-2.39-rc2.tar.xz) = 11f5b8ed1eb90a4e7161369eafcf0157b205aeded221cd435f95a79d01901bdef289660486849778b3d3c15500db593cad24e0a7f87f52968c9c292ea68040c0 +SHA512 (util-linux-2.39-rc3.tar.xz) = 8a93d32a5ceb38d50a4b2c8bfa48bcab7ec9b758c89b5a1a4f7fd74558dce37385bd7ea203345148d4389de4ea60ec42058f9d7889a8075d3e616773d085427e diff --git a/util-linux.spec b/util-linux.spec index 13d481c..947f446 100644 --- a/util-linux.spec +++ b/util-linux.spec @@ -2,12 +2,12 @@ Summary: Collection of basic system utilities Name: util-linux Version: 2.39 -Release: 0.4%{?dist} +Release: 0.5%{?dist} License: GPLv2 and GPLv2+ and LGPLv2+ and BSD with advertising and Public Domain URL: https://en.wikipedia.org/wiki/Util-linux ### Macros -%global upstream_version %{version}-rc2 +%global upstream_version %{version}-rc3 %global upstream_major %(eval echo %{version} | sed -e 's/\([[:digit:]]*\)\.\([[:digit:]]*\)\.[[:digit:]]*$/\1.\2/') %global compldir %{_datadir}/bash-completion/completions/ @@ -94,9 +94,6 @@ Patch0: login-lastlog-create.patch # https://github.com/coreos/console-login-helper-messages/issues/60 Patch1: login-default-motd-file.patch -# upstream (#2180593) -Patch2: libmount-fix-superblock-rw-ro-reconfiguration.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 @@ -921,6 +918,9 @@ fi %{_libdir}/python*/site-packages/libmount/ %changelog +* Wed Apr 19 2023 Karel Zak - 2.39-0.5 +- upgrade to v2.39-rc3 (fixes XFS and rw/ro issues) + * Wed Apr 5 2023 Karel Zak - 2.39-0.4 - fix #2180593 (superblock reconfiguration libmount issue) From 844dcc152cadf7b9d2bb77365534930e354c798f Mon Sep 17 00:00:00 2001 From: Karel Zak Date: Thu, 18 May 2023 11:36:49 +0200 Subject: [PATCH 153/232] 2.39-1: upgrade, add subpackage i18n, remove user --- .gitignore | 1 + sources | 2 +- util-linux.spec | 60 ++++++++++++++++++++++++++++--------------------- 3 files changed, 37 insertions(+), 26 deletions(-) diff --git a/.gitignore b/.gitignore index a5f4144..db73f07 100644 --- a/.gitignore +++ b/.gitignore @@ -90,3 +90,4 @@ /util-linux-2.39-rc1.tar.xz /util-linux-2.39-rc2.tar.xz /util-linux-2.39-rc3.tar.xz +/util-linux-2.39.tar.xz diff --git a/sources b/sources index 4bfa7a6..c2b8500 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (util-linux-2.39-rc3.tar.xz) = 8a93d32a5ceb38d50a4b2c8bfa48bcab7ec9b758c89b5a1a4f7fd74558dce37385bd7ea203345148d4389de4ea60ec42058f9d7889a8075d3e616773d085427e +SHA512 (util-linux-2.39.tar.xz) = 3d59a0f114c06be19ef7f86fca37ba5b9073823d011b3fc37997ddb00124b4505ea32903b78798a64dffbccf0ba645a692678ee845cc65a5b321824448a82a94 diff --git a/util-linux.spec b/util-linux.spec index 947f446..cdd23c2 100644 --- a/util-linux.spec +++ b/util-linux.spec @@ -2,12 +2,12 @@ Summary: Collection of basic system utilities Name: util-linux Version: 2.39 -Release: 0.5%{?dist} +Release: 1%{?dist} License: GPLv2 and GPLv2+ and LGPLv2+ and BSD with advertising and Public Domain URL: https://en.wikipedia.org/wiki/Util-linux ### Macros -%global upstream_version %{version}-rc3 +%global upstream_version %{version} %global upstream_major %(eval echo %{version} | sed -e 's/\([[:digit:]]*\)\.\([[:digit:]]*\)\.[[:digit:]]*$/\1.\2/') %global compldir %{_datadir}/bash-completion/completions/ @@ -28,20 +28,20 @@ BuildRequires: popt-devel BuildRequires: libutempter-devel BuildRequires: systemd-devel BuildRequires: systemd -BuildRequires: libuser-devel BuildRequires: libcap-ng-devel BuildRequires: %{pypkg}-devel BuildRequires: gcc BuildRequires: rubygem-asciidoctor +BuildRequires: po4a %ifarch ppc64le BuildRequires: librtas-devel %endif # enable if make changes to build-system -BuildRequires: autoconf -BuildRequires: automake -BuildRequires: libtool -BuildRequires: bison +#BuildRequires: autoconf +#BuildRequires: automake +#BuildRequires: libtool +#BuildRequires: bison ### Sources Source0: https://www.kernel.org/pub/linux/utils/util-linux/v%{upstream_major}/util-linux-%{upstream_version}.tar.xz @@ -272,13 +272,14 @@ supplied by the libmount library to work with mount tables (fstab, mountinfo, etc) and mount filesystems. -%package -n util-linux-user -Summary: util-linux utilities based on libuser +%package -n util-linux-i18n +Summary: Internationalization pack for util-linux Requires: util-linux = %{version}-%{release} License: GPLv2 -%description -n util-linux-user -chfn and chsh utilities with dependence on libuser. +%description -n util-linux-i18n +Internationalization pack with translated messages and manual pages for +util-linux commands. %prep @@ -298,6 +299,7 @@ export DAEMON_CFLAGS="$SUID_CFLAGS" export DAEMON_LDFLAGS="$SUID_LDFLAGS" %configure \ --with-systemdsystemunitdir=%{_unitdir} \ + --without-user \ --disable-silent-rules \ --disable-bfs \ --disable-pg \ @@ -414,10 +416,9 @@ rm -f $RPM_BUILD_ROOT%{_libdir}/lib{uuid,blkid,mount,smartcols,fdisk}.a rm -f $RPM_BUILD_ROOT%{compldir}/{mount,umount} # find MO files -%find_lang %name +%find_lang %{name} --all-name --with-man -# the files section supports only one -f option... -mv %{name}.lang %{name}.files +touch %{name}.files # create list of setarch(8) symlinks find $RPM_BUILD_ROOT%{_bindir}/ -regextype posix-egrep -type l \ @@ -471,12 +472,16 @@ fi %config(noreplace) %{_sysconfdir}/pam.d/su-l %config(noreplace) %{_sysconfdir}/pam.d/runuser %config(noreplace) %{_sysconfdir}/pam.d/runuser-l +%config(noreplace) %{_sysconfdir}/pam.d/chfn +%config(noreplace) %{_sysconfdir}/pam.d/chsh %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 +%attr(4711,root,root) %{_bindir}/chfn +%attr(4711,root,root) %{_bindir}/chsh %{_unitdir}/fstrim.* @@ -530,7 +535,9 @@ fi %{_bindir}/wdctl %{_bindir}/whereis %{_mandir}/man1/cal.1* +%{_mandir}/man1/chfn.1* %{_mandir}/man1/choom.1* +%{_mandir}/man1/chsh.1* %{_mandir}/man1/col.1* %{_mandir}/man1/colcrt.1* %{_mandir}/man1/colrm.1* @@ -645,7 +652,9 @@ fi %{compldir}/blkzone %{compldir}/cal %{compldir}/chcpu +%{compldir}/chfn %{compldir}/chmem +%{compldir}/chsh %{compldir}/col %{compldir}/colcrt %{compldir}/colrm @@ -653,6 +662,7 @@ fi %{compldir}/ctrlaltdel %{compldir}/delpart %{compldir}/eject +%{compldir}/fadvise %{compldir}/fallocate %{compldir}/fdisk %{compldir}/fincore @@ -707,6 +717,7 @@ fi %{compldir}/uuidgen %{compldir}/uuidparse %{compldir}/wall +%{compldir}/waitpid %{compldir}/wdctl %{compldir}/whereis %{compldir}/wipefs @@ -828,17 +839,6 @@ fi /etc/mtab -%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 %license Documentation/licenses/COPYING.GPL-2.0-or-later %{_mandir}/man8/uuidd.8* @@ -917,7 +917,17 @@ fi %license Documentation/licenses/COPYING.LGPL-2.1-or-later libmount/COPYING %{_libdir}/python*/site-packages/libmount/ +%files -n util-linux-i18n -f %{name}.lang + + %changelog +* Thu May 18 2023 Karel Zak - 2.39-1 +- upgrade to v2.39 +- remove dependence on libuser +- remove util-linux-user subpackage +- enable translated man pages +- add util-linux-i18n subpackage + * Wed Apr 19 2023 Karel Zak - 2.39-0.5 - upgrade to v2.39-rc3 (fixes XFS and rw/ro issues) From fe2d027119a38c85638389bec4da0449c98c7d31 Mon Sep 17 00:00:00 2001 From: Adam Williamson Date: Thu, 18 May 2023 09:31:58 -0700 Subject: [PATCH 154/232] Have util-linux obsolete and provide util-linux-user --- util-linux.spec | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/util-linux.spec b/util-linux.spec index cdd23c2..d664c02 100644 --- a/util-linux.spec +++ b/util-linux.spec @@ -2,7 +2,7 @@ Summary: Collection of basic system utilities Name: util-linux Version: 2.39 -Release: 1%{?dist} +Release: 2%{?dist} License: GPLv2 and GPLv2+ and LGPLv2+ and BSD with advertising and Public Domain URL: https://en.wikipedia.org/wiki/Util-linux @@ -75,6 +75,10 @@ Provides: util-linux-ng = %{version}-%{release} Conflicts: filesystem < 3 Provides: /sbin/nologin Provides: /sbin/findfs +# util-linux-user was dropped in 2.39-1 and its contents moved back +# to util-linux +Obsoletes: util-linux-user < 2.39-1 +Provides: util-linux-user = %{version}-%{release} Requires(post): coreutils Requires: pam >= 1.1.3-7, /etc/pam.d/system-auth @@ -921,6 +925,9 @@ fi %changelog +* Thu May 18 2023 Adam Williamson - 2.39-2 +- Have util-linux obsolete and provide util-linux-user + * Thu May 18 2023 Karel Zak - 2.39-1 - upgrade to v2.39 - remove dependence on libuser From db855d07b8628cb876082f9b2cb481234dd54b14 Mon Sep 17 00:00:00 2001 From: Karel Zak Date: Mon, 22 May 2023 15:57:23 +0200 Subject: [PATCH 155/232] 2.39-3: fix mount options --- ...x-options-prepend-insert-and-merging.patch | 49 +++++++++++++++++++ util-linux.spec | 8 ++- 2 files changed, 56 insertions(+), 1 deletion(-) create mode 100644 libmount-fix-options-prepend-insert-and-merging.patch diff --git a/libmount-fix-options-prepend-insert-and-merging.patch b/libmount-fix-options-prepend-insert-and-merging.patch new file mode 100644 index 0000000..b44c435 --- /dev/null +++ b/libmount-fix-options-prepend-insert-and-merging.patch @@ -0,0 +1,49 @@ +From c0267687fd7b41b00d523d1985182d7eb574effd Mon Sep 17 00:00:00 2001 +From: Karel Zak +Date: Mon, 22 May 2023 15:00:25 +0200 +Subject: [PATCH] libmount: fix options prepend/insert and merging + + * the order of the new options should not be changed + (for example prepend "a,b,c" to list with "d" has to generate "a,b,c,d", not "c,b,a,d") + + * make sure that options map is defined when merging options + +Fixes: https://github.com/util-linux/util-linux/issues/2238 +Signed-off-by: Karel Zak +--- + libmount/src/optlist.c | 5 +++++ + 1 file changed, 5 insertions(+) + +diff --git a/libmount/src/optlist.c b/libmount/src/optlist.c +index a8c1ad89a..f74e75928 100644 +--- a/libmount/src/optlist.c ++++ b/libmount/src/optlist.c +@@ -338,6 +338,7 @@ int mnt_optlist_merge_opts(struct libmnt_optlist *ls) + + /* remove inverted option */ + else if (opt->ent && x->ent ++ && opt->map == x->map + && opt->ent->id == x->ent->id + && (opt->ent->mask & MNT_INVERT + || x->ent->mask & MNT_INVERT)) +@@ -520,6 +521,8 @@ static int optlist_add_optstr(struct libmnt_optlist *ls, const char *optstr, + if (!opt) + return -ENOMEM; + opt->src = MNT_OPTSRC_STRING; ++ if (where) ++ where = &opt->opts; + } + + optlist_cleanup_cache(ls); +@@ -622,6 +625,8 @@ static int optlist_add_flags(struct libmnt_optlist *ls, unsigned long flags, + if (!opt) + return -ENOMEM; + opt->src = MNT_OPTSRC_FLAG; ++ if (where) ++ where = &opt->opts; + } + + optlist_cleanup_cache(ls); +-- +2.40.1 + diff --git a/util-linux.spec b/util-linux.spec index d664c02..209326a 100644 --- a/util-linux.spec +++ b/util-linux.spec @@ -2,7 +2,7 @@ Summary: Collection of basic system utilities Name: util-linux Version: 2.39 -Release: 2%{?dist} +Release: 3%{?dist} License: GPLv2 and GPLv2+ and LGPLv2+ and BSD with advertising and Public Domain URL: https://en.wikipedia.org/wiki/Util-linux @@ -98,6 +98,9 @@ Patch0: login-lastlog-create.patch # https://github.com/coreos/console-login-helper-messages/issues/60 Patch1: login-default-motd-file.patch +### Upstream patches +Patch2: libmount-fix-options-prepend-insert-and-merging.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 @@ -925,6 +928,9 @@ fi %changelog +* Mon May 22 2023 Karel Zak - 2.39-3 +- fix mount options prepend/insert and merging (upstream) + * Thu May 18 2023 Adam Williamson - 2.39-2 - Have util-linux obsolete and provide util-linux-user From 7961e208cdb05edabb35275b0c24bb49ece495ac Mon Sep 17 00:00:00 2001 From: Karel Zak Date: Thu, 25 May 2023 12:31:34 +0200 Subject: [PATCH 156/232] 2.39-4: libmount fix --- ...-call-hooks-after-mount.-type-helper.patch | 85 +++++++++++++++++++ util-linux.spec | 6 +- 2 files changed, 90 insertions(+), 1 deletion(-) create mode 100644 libmount-don-t-call-hooks-after-mount.-type-helper.patch diff --git a/libmount-don-t-call-hooks-after-mount.-type-helper.patch b/libmount-don-t-call-hooks-after-mount.-type-helper.patch new file mode 100644 index 0000000..3f18334 --- /dev/null +++ b/libmount-don-t-call-hooks-after-mount.-type-helper.patch @@ -0,0 +1,85 @@ +From f94a7760ed7ce81389a6059f020238981627a70d Mon Sep 17 00:00:00 2001 +From: Karel Zak +Date: Thu, 25 May 2023 11:48:24 +0200 +Subject: [PATCH] libmount: don't call hooks after mount. helper + +In case more filesystems are specified (or when libmount follows +/{etc,proc}/filesystems) then the library may try to use and +initialize the new API because for some filesystems, we need +exec(/sbin/mount.) and for another fsopen(). + +The hooks that use the API have to smart and detect that the mount +operation was done in external /sbin/mount. helper. And in this +case, the new API file descriptors must be ignored. + +The exception is propagation flags, mount(8) can set the flags after +exec(/sbin/mount.), for example, "mount -t ntfs --make-private". + +Fixes: https://github.com/util-linux/util-linux/issues/2267 +Signed-off-by: Karel Zak +--- + libmount/src/context_mount.c | 2 ++ + libmount/src/hook_mount.c | 13 +++++++++++++ + 2 files changed, 15 insertions(+) + +diff --git a/libmount/src/context_mount.c b/libmount/src/context_mount.c +index cbb4f1fdf..40f9ed073 100644 +--- a/libmount/src/context_mount.c ++++ b/libmount/src/context_mount.c +@@ -508,6 +508,8 @@ static int do_mount(struct libmnt_context *cxt, const char *try_type) + assert(cxt->fs); + assert((cxt->flags & MNT_FL_MOUNTFLAGS_MERGED)); + ++ mnt_context_reset_status(cxt); ++ + if (try_type) { + rc = mnt_context_prepare_helper(cxt, "mount", try_type); + if (rc) +diff --git a/libmount/src/hook_mount.c b/libmount/src/hook_mount.c +index 924c71444..91483afa6 100644 +--- a/libmount/src/hook_mount.c ++++ b/libmount/src/hook_mount.c +@@ -239,6 +239,10 @@ static int hook_create_mount(struct libmnt_context *cxt, + int rc = 0; + + assert(cxt); ++ ++ if (mnt_context_helper_executed(cxt)) ++ return 0; ++ + assert(cxt->fs); + + api = get_sysapi(cxt); +@@ -309,6 +313,9 @@ static int hook_reconfigure_mount(struct libmnt_context *cxt, + + assert(cxt); + ++ if (mnt_context_helper_executed(cxt)) ++ return 0; ++ + api = get_sysapi(cxt); + assert(api); + assert(api->fd_tree >= 0); +@@ -379,6 +386,9 @@ static int hook_set_vfsflags(struct libmnt_context *cxt, + uint64_t set = 0, clr = 0; + int rc = 0; + ++ if (mnt_context_helper_executed(cxt)) ++ return 0; ++ + DBG(HOOK, ul_debugobj(hs, "setting VFS flags")); + + ol = mnt_context_get_optlist(cxt); +@@ -471,6 +481,9 @@ static int hook_attach_target(struct libmnt_context *cxt, + const char *target; + int rc = 0; + ++ if (mnt_context_helper_executed(cxt)) ++ return 0; ++ + target = mnt_fs_get_target(cxt->fs); + if (!target) + return -EINVAL; +-- +2.40.1 + diff --git a/util-linux.spec b/util-linux.spec index 209326a..d7a57f9 100644 --- a/util-linux.spec +++ b/util-linux.spec @@ -2,7 +2,7 @@ Summary: Collection of basic system utilities Name: util-linux Version: 2.39 -Release: 3%{?dist} +Release: 4%{?dist} License: GPLv2 and GPLv2+ and LGPLv2+ and BSD with advertising and Public Domain URL: https://en.wikipedia.org/wiki/Util-linux @@ -100,6 +100,7 @@ Patch1: login-default-motd-file.patch ### Upstream patches Patch2: libmount-fix-options-prepend-insert-and-merging.patch +Patch3: libmount-don-t-call-hooks-after-mount.-type-helper.patch %description The util-linux package contains a large variety of low-level system @@ -928,6 +929,9 @@ fi %changelog +* Thu May 25 2023 Karel Zak - 2.39-4 +- fix mount when /sbin/mount. executed + * Mon May 22 2023 Karel Zak - 2.39-3 - fix mount options prepend/insert and merging (upstream) From b04999a5a60a2df846706b6206f2ca32f773f1e8 Mon Sep 17 00:00:00 2001 From: Python Maint Date: Tue, 13 Jun 2023 20:42:57 +0200 Subject: [PATCH 157/232] Rebuilt for Python 3.12 --- util-linux.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/util-linux.spec b/util-linux.spec index d7a57f9..ac8aba1 100644 --- a/util-linux.spec +++ b/util-linux.spec @@ -2,7 +2,7 @@ Summary: Collection of basic system utilities Name: util-linux Version: 2.39 -Release: 4%{?dist} +Release: 5%{?dist} License: GPLv2 and GPLv2+ and LGPLv2+ and BSD with advertising and Public Domain URL: https://en.wikipedia.org/wiki/Util-linux @@ -929,6 +929,9 @@ fi %changelog +* Tue Jun 13 2023 Python Maint - 2.39-5 +- Rebuilt for Python 3.12 + * Thu May 25 2023 Karel Zak - 2.39-4 - fix mount when /sbin/mount. executed From b2320e7499340f83741e02d67db4f4c68aa6f3f4 Mon Sep 17 00:00:00 2001 From: Karel Zak Date: Wed, 28 Jun 2023 10:53:17 +0200 Subject: [PATCH 158/232] 2.39.1-1: upgrade --- .gitignore | 1 + ...-call-hooks-after-mount.-type-helper.patch | 85 ------------------- ...x-options-prepend-insert-and-merging.patch | 49 ----------- sources | 2 +- util-linux.spec | 11 +-- 5 files changed, 8 insertions(+), 140 deletions(-) delete mode 100644 libmount-don-t-call-hooks-after-mount.-type-helper.patch delete mode 100644 libmount-fix-options-prepend-insert-and-merging.patch diff --git a/.gitignore b/.gitignore index db73f07..bef3e67 100644 --- a/.gitignore +++ b/.gitignore @@ -91,3 +91,4 @@ /util-linux-2.39-rc2.tar.xz /util-linux-2.39-rc3.tar.xz /util-linux-2.39.tar.xz +/util-linux-2.39.1.tar.xz diff --git a/libmount-don-t-call-hooks-after-mount.-type-helper.patch b/libmount-don-t-call-hooks-after-mount.-type-helper.patch deleted file mode 100644 index 3f18334..0000000 --- a/libmount-don-t-call-hooks-after-mount.-type-helper.patch +++ /dev/null @@ -1,85 +0,0 @@ -From f94a7760ed7ce81389a6059f020238981627a70d Mon Sep 17 00:00:00 2001 -From: Karel Zak -Date: Thu, 25 May 2023 11:48:24 +0200 -Subject: [PATCH] libmount: don't call hooks after mount. helper - -In case more filesystems are specified (or when libmount follows -/{etc,proc}/filesystems) then the library may try to use and -initialize the new API because for some filesystems, we need -exec(/sbin/mount.) and for another fsopen(). - -The hooks that use the API have to smart and detect that the mount -operation was done in external /sbin/mount. helper. And in this -case, the new API file descriptors must be ignored. - -The exception is propagation flags, mount(8) can set the flags after -exec(/sbin/mount.), for example, "mount -t ntfs --make-private". - -Fixes: https://github.com/util-linux/util-linux/issues/2267 -Signed-off-by: Karel Zak ---- - libmount/src/context_mount.c | 2 ++ - libmount/src/hook_mount.c | 13 +++++++++++++ - 2 files changed, 15 insertions(+) - -diff --git a/libmount/src/context_mount.c b/libmount/src/context_mount.c -index cbb4f1fdf..40f9ed073 100644 ---- a/libmount/src/context_mount.c -+++ b/libmount/src/context_mount.c -@@ -508,6 +508,8 @@ static int do_mount(struct libmnt_context *cxt, const char *try_type) - assert(cxt->fs); - assert((cxt->flags & MNT_FL_MOUNTFLAGS_MERGED)); - -+ mnt_context_reset_status(cxt); -+ - if (try_type) { - rc = mnt_context_prepare_helper(cxt, "mount", try_type); - if (rc) -diff --git a/libmount/src/hook_mount.c b/libmount/src/hook_mount.c -index 924c71444..91483afa6 100644 ---- a/libmount/src/hook_mount.c -+++ b/libmount/src/hook_mount.c -@@ -239,6 +239,10 @@ static int hook_create_mount(struct libmnt_context *cxt, - int rc = 0; - - assert(cxt); -+ -+ if (mnt_context_helper_executed(cxt)) -+ return 0; -+ - assert(cxt->fs); - - api = get_sysapi(cxt); -@@ -309,6 +313,9 @@ static int hook_reconfigure_mount(struct libmnt_context *cxt, - - assert(cxt); - -+ if (mnt_context_helper_executed(cxt)) -+ return 0; -+ - api = get_sysapi(cxt); - assert(api); - assert(api->fd_tree >= 0); -@@ -379,6 +386,9 @@ static int hook_set_vfsflags(struct libmnt_context *cxt, - uint64_t set = 0, clr = 0; - int rc = 0; - -+ if (mnt_context_helper_executed(cxt)) -+ return 0; -+ - DBG(HOOK, ul_debugobj(hs, "setting VFS flags")); - - ol = mnt_context_get_optlist(cxt); -@@ -471,6 +481,9 @@ static int hook_attach_target(struct libmnt_context *cxt, - const char *target; - int rc = 0; - -+ if (mnt_context_helper_executed(cxt)) -+ return 0; -+ - target = mnt_fs_get_target(cxt->fs); - if (!target) - return -EINVAL; --- -2.40.1 - diff --git a/libmount-fix-options-prepend-insert-and-merging.patch b/libmount-fix-options-prepend-insert-and-merging.patch deleted file mode 100644 index b44c435..0000000 --- a/libmount-fix-options-prepend-insert-and-merging.patch +++ /dev/null @@ -1,49 +0,0 @@ -From c0267687fd7b41b00d523d1985182d7eb574effd Mon Sep 17 00:00:00 2001 -From: Karel Zak -Date: Mon, 22 May 2023 15:00:25 +0200 -Subject: [PATCH] libmount: fix options prepend/insert and merging - - * the order of the new options should not be changed - (for example prepend "a,b,c" to list with "d" has to generate "a,b,c,d", not "c,b,a,d") - - * make sure that options map is defined when merging options - -Fixes: https://github.com/util-linux/util-linux/issues/2238 -Signed-off-by: Karel Zak ---- - libmount/src/optlist.c | 5 +++++ - 1 file changed, 5 insertions(+) - -diff --git a/libmount/src/optlist.c b/libmount/src/optlist.c -index a8c1ad89a..f74e75928 100644 ---- a/libmount/src/optlist.c -+++ b/libmount/src/optlist.c -@@ -338,6 +338,7 @@ int mnt_optlist_merge_opts(struct libmnt_optlist *ls) - - /* remove inverted option */ - else if (opt->ent && x->ent -+ && opt->map == x->map - && opt->ent->id == x->ent->id - && (opt->ent->mask & MNT_INVERT - || x->ent->mask & MNT_INVERT)) -@@ -520,6 +521,8 @@ static int optlist_add_optstr(struct libmnt_optlist *ls, const char *optstr, - if (!opt) - return -ENOMEM; - opt->src = MNT_OPTSRC_STRING; -+ if (where) -+ where = &opt->opts; - } - - optlist_cleanup_cache(ls); -@@ -622,6 +625,8 @@ static int optlist_add_flags(struct libmnt_optlist *ls, unsigned long flags, - if (!opt) - return -ENOMEM; - opt->src = MNT_OPTSRC_FLAG; -+ if (where) -+ where = &opt->opts; - } - - optlist_cleanup_cache(ls); --- -2.40.1 - diff --git a/sources b/sources index c2b8500..b3b2ccf 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (util-linux-2.39.tar.xz) = 3d59a0f114c06be19ef7f86fca37ba5b9073823d011b3fc37997ddb00124b4505ea32903b78798a64dffbccf0ba645a692678ee845cc65a5b321824448a82a94 +SHA512 (util-linux-2.39.1.tar.xz) = 8fe2c9014f6161330610f7470b870855cecbd3fab9c187b75d8f22e16573c82516050479be39cfb9f7dd6d7ef1cc298d31d839b194dda5ec4daf0d1197ac71e9 diff --git a/util-linux.spec b/util-linux.spec index ac8aba1..220816e 100644 --- a/util-linux.spec +++ b/util-linux.spec @@ -1,8 +1,8 @@ ### Header Summary: Collection of basic system utilities Name: util-linux -Version: 2.39 -Release: 5%{?dist} +Version: 2.39.1 +Release: 1%{?dist} License: GPLv2 and GPLv2+ and LGPLv2+ and BSD with advertising and Public Domain URL: https://en.wikipedia.org/wiki/Util-linux @@ -98,9 +98,6 @@ Patch0: login-lastlog-create.patch # https://github.com/coreos/console-login-helper-messages/issues/60 Patch1: login-default-motd-file.patch -### Upstream patches -Patch2: libmount-fix-options-prepend-insert-and-merging.patch -Patch3: libmount-don-t-call-hooks-after-mount.-type-helper.patch %description The util-linux package contains a large variety of low-level system @@ -929,6 +926,10 @@ fi %changelog +* Wed Jun 28 2023 Karel Zak - 2.39.1-1 +- upgrade to v2.39.1 + https://kernel.org/pub/linux/utils/util-linux/v2.39/v2.39.1-ReleaseNotes + * Tue Jun 13 2023 Python Maint - 2.39-5 - Rebuilt for Python 3.12 From 8760847a17a23d471c9677eea70a0e810183a61e Mon Sep 17 00:00:00 2001 From: Python Maint Date: Wed, 28 Jun 2023 19:05:08 +0200 Subject: [PATCH 159/232] Rebuilt for Python 3.12 --- util-linux.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/util-linux.spec b/util-linux.spec index 220816e..c736375 100644 --- a/util-linux.spec +++ b/util-linux.spec @@ -2,7 +2,7 @@ Summary: Collection of basic system utilities Name: util-linux Version: 2.39.1 -Release: 1%{?dist} +Release: 2%{?dist} License: GPLv2 and GPLv2+ and LGPLv2+ and BSD with advertising and Public Domain URL: https://en.wikipedia.org/wiki/Util-linux @@ -926,6 +926,9 @@ fi %changelog +* Wed Jun 28 2023 Python Maint - 2.39.1-2 +- Rebuilt for Python 3.12 + * Wed Jun 28 2023 Karel Zak - 2.39.1-1 - upgrade to v2.39.1 https://kernel.org/pub/linux/utils/util-linux/v2.39/v2.39.1-ReleaseNotes From 0b1e1d7cfe1b7175aa94cbb9c26d9fa74f87c07f Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Sat, 22 Jul 2023 17:19:50 +0000 Subject: [PATCH 160/232] Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild Signed-off-by: Fedora Release Engineering --- util-linux.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/util-linux.spec b/util-linux.spec index c736375..2c01fb0 100644 --- a/util-linux.spec +++ b/util-linux.spec @@ -2,7 +2,7 @@ Summary: Collection of basic system utilities Name: util-linux Version: 2.39.1 -Release: 2%{?dist} +Release: 3%{?dist} License: GPLv2 and GPLv2+ and LGPLv2+ and BSD with advertising and Public Domain URL: https://en.wikipedia.org/wiki/Util-linux @@ -926,6 +926,9 @@ fi %changelog +* Sat Jul 22 2023 Fedora Release Engineering - 2.39.1-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild + * Wed Jun 28 2023 Python Maint - 2.39.1-2 - Rebuilt for Python 3.12 From 59309f26f2885dc6d3a3853c2db64eef36c217af Mon Sep 17 00:00:00 2001 From: Karel Zak Date: Thu, 17 Aug 2023 12:13:31 +0200 Subject: [PATCH 161/232] 2.39.2-1: upgrade --- .gitignore | 1 + ...-regression-when-mounting-with-atime.patch | 133 ++++++++++++++++++ sources | 2 +- util-linux.spec | 13 +- 4 files changed, 146 insertions(+), 3 deletions(-) create mode 100644 libmount-Fix-regression-when-mounting-with-atime.patch diff --git a/.gitignore b/.gitignore index bef3e67..66354fe 100644 --- a/.gitignore +++ b/.gitignore @@ -92,3 +92,4 @@ /util-linux-2.39-rc3.tar.xz /util-linux-2.39.tar.xz /util-linux-2.39.1.tar.xz +/util-linux-2.39.2.tar.xz diff --git a/libmount-Fix-regression-when-mounting-with-atime.patch b/libmount-Fix-regression-when-mounting-with-atime.patch new file mode 100644 index 0000000..1c98653 --- /dev/null +++ b/libmount-Fix-regression-when-mounting-with-atime.patch @@ -0,0 +1,133 @@ +From 2b99ee2526ae61be761b0e31c50e106dbec5e9e4 Mon Sep 17 00:00:00 2001 +From: Filipe Manana +Date: Thu, 17 Aug 2023 10:20:13 +0100 +Subject: [PATCH] libmount: Fix regression when mounting with atime + +A regression was introduced in v2.39 that causes mounting with the atime +option to fail: + + $ mkfs.ext4 -F /dev/sdi + $ mount -o atime /dev/sdi /mnt/sdi + mount: /mnt/sdi: not mount point or bad option. + dmesg(1) may have more information after failed mount system call. + +The failure comes from the mount_setattr(2) call returning -EINVAL. This +is because we pass an invalid value for the attr_clr argument. From a +strace capture we have: + + mount_setattr(4, "", AT_EMPTY_PATH, {attr_set=0, attr_clr=MOUNT_ATTR_NOATIME, propagation=0 /* MS_??? */, userns_fd=0}, 32) = -1 EINVAL (Invalid argument) + +We can't pass MOUNT_ATTR_NOATIME to mount_setattr(2) through the attr_clr +argument because all atime options are exclusive, so in order to set atime +one has to pass MOUNT_ATTR__ATIME to attr_clr and leave attr_set as +MOUNT_ATTR_RELATIME (which is defined as a value of 0). + +This can be read from the man page for mount_setattr(2) and also from the +kernel source: + + $ cat fs/namespace.c + static int build_mount_kattr(const struct mount_attr *attr, size_t usize, + struct mount_kattr *kattr, unsigned int flags) + { + (...) + /* + * Since the MOUNT_ATTR_ values are an enum, not a bitmap, + * users wanting to transition to a different atime setting cannot + * simply specify the atime setting in @attr_set, but must also + * specify MOUNT_ATTR__ATIME in the @attr_clr field. + * So ensure that MOUNT_ATTR__ATIME can't be partially set in + * @attr_clr and that @attr_set can't have any atime bits set if + * MOUNT_ATTR__ATIME isn't set in @attr_clr. + */ + if (attr->attr_clr & MOUNT_ATTR__ATIME) { + if ((attr->attr_clr & MOUNT_ATTR__ATIME) != MOUNT_ATTR__ATIME) + return -EINVAL; + + /* + * Clear all previous time settings as they are mutually + * exclusive. + */ + kattr->attr_clr |= MNT_RELATIME | MNT_NOATIME; + switch (attr->attr_set & MOUNT_ATTR__ATIME) { + case MOUNT_ATTR_RELATIME: + kattr->attr_set |= MNT_RELATIME; + break; + case MOUNT_ATTR_NOATIME: + kattr->attr_set |= MNT_NOATIME; + break; + case MOUNT_ATTR_STRICTATIME: + break; + default: + return -EINVAL; + } + (...) + +So fix this by setting attr_clr MOUNT_ATTR__ATIME if we want to clear any +atime related option. + +Signed-off-by: Filipe Manana +--- + libmount/src/optlist.c | 13 ++++++++++++- + tests/expected/libmount/context-mount-flags | 3 +++ + tests/ts/libmount/context | 9 ++++++++- + 3 files changed, 23 insertions(+), 2 deletions(-) + +diff --git a/libmount/src/optlist.c b/libmount/src/optlist.c +index e93810b47..d0afc94f7 100644 +--- a/libmount/src/optlist.c ++++ b/libmount/src/optlist.c +@@ -875,7 +875,18 @@ int mnt_optlist_get_attrs(struct libmnt_optlist *ls, uint64_t *set, uint64_t *cl + + if (opt->ent->mask & MNT_INVERT) { + DBG(OPTLIST, ul_debugobj(ls, " clr: %s", opt->ent->name)); +- *clr |= x; ++ /* ++ * All atime settings are mutually exclusive so *clr must ++ * have MOUNT_ATTR__ATIME set. ++ * ++ * See the function fs/namespace.c:build_mount_kattr() ++ * in the linux kernel source. ++ */ ++ if (x == MOUNT_ATTR_RELATIME || x == MOUNT_ATTR_NOATIME || ++ x == MOUNT_ATTR_STRICTATIME) ++ *clr |= MOUNT_ATTR__ATIME; ++ else ++ *clr |= x; + } else { + DBG(OPTLIST, ul_debugobj(ls, " set: %s", opt->ent->name)); + *set |= x; +diff --git a/tests/expected/libmount/context-mount-flags b/tests/expected/libmount/context-mount-flags +index 960641863..eb71323dd 100644 +--- a/tests/expected/libmount/context-mount-flags ++++ b/tests/expected/libmount/context-mount-flags +@@ -3,3 +3,6 @@ ro,nosuid,noexec + successfully mounted + rw,nosuid,noexec + successfully umounted ++successfully mounted ++rw,relatime ++successfully umounted +diff --git a/tests/ts/libmount/context b/tests/ts/libmount/context +index f5b47185e..a5d2e81a3 100755 +--- a/tests/ts/libmount/context ++++ b/tests/ts/libmount/context +@@ -116,8 +116,15 @@ $TS_CMD_FINDMNT --kernel --mountpoint $MOUNTPOINT -o VFS-OPTIONS -n >> $TS_OUTPU + + ts_run $TESTPROG --umount $MOUNTPOINT >> $TS_OUTPUT 2>> $TS_ERRLOG + is_mounted $DEVICE && echo "$DEVICE still mounted" >> $TS_OUTPUT 2>> $TS_ERRLOG +-ts_finalize_subtest + ++# Test that the atime option works after the migration to use the new kernel mount APIs. ++ts_run $TESTPROG --mount -o atime $DEVICE $MOUNTPOINT >> $TS_OUTPUT 2>> $TS_ERRLOG ++$TS_CMD_FINDMNT --kernel --mountpoint $MOUNTPOINT -o VFS-OPTIONS -n >> $TS_OUTPUT 2>> $TS_ERRLOG ++is_mounted $DEVICE || echo "$DEVICE not mounted" >> $TS_OUTPUT 2>> $TS_ERRLOG ++ts_run $TESTPROG --umount $MOUNTPOINT >> $TS_OUTPUT 2>> $TS_ERRLOG ++is_mounted $DEVICE && echo "$DEVICE still mounted" >> $TS_OUTPUT 2>> $TS_ERRLOG ++ ++ts_finalize_subtest + + ts_init_subtest "mount-loopdev" + mkdir -p $MOUNTPOINT &> /dev/null +-- +2.40.1 + diff --git a/sources b/sources index b3b2ccf..f9489ea 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (util-linux-2.39.1.tar.xz) = 8fe2c9014f6161330610f7470b870855cecbd3fab9c187b75d8f22e16573c82516050479be39cfb9f7dd6d7ef1cc298d31d839b194dda5ec4daf0d1197ac71e9 +SHA512 (util-linux-2.39.2.tar.xz) = cebecdd62749d0aeea2c4faf7ad1606426eff03ef3b15cd9c2df1126f216a4ed546d8fc3218c649fa95944eb87a98bb6a7cdd0bea31057c481c5cf608ffc19a3 diff --git a/util-linux.spec b/util-linux.spec index 2c01fb0..cdf1335 100644 --- a/util-linux.spec +++ b/util-linux.spec @@ -1,8 +1,8 @@ ### Header Summary: Collection of basic system utilities Name: util-linux -Version: 2.39.1 -Release: 3%{?dist} +Version: 2.39.2 +Release: 1%{?dist} License: GPLv2 and GPLv2+ and LGPLv2+ and BSD with advertising and Public Domain URL: https://en.wikipedia.org/wiki/Util-linux @@ -98,6 +98,10 @@ Patch0: login-lastlog-create.patch # https://github.com/coreos/console-login-helper-messages/issues/60 Patch1: login-default-motd-file.patch +### Upstream +### +Patch2: libmount-Fix-regression-when-mounting-with-atime.patch + %description The util-linux package contains a large variety of low-level system @@ -926,6 +930,11 @@ fi %changelog +* Thu Aug 17 2023 Karel Zak - 2.39.2-1 +- fix libmount atime regression +- upgrade to v2.39.2 + https://kernel.org/pub/linux/utils/util-linux/v2.39/v2.39.2-ReleaseNotes + * Sat Jul 22 2023 Fedora Release Engineering - 2.39.1-3 - Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild From 9a5289e70c21ec776bfc963a31fa56d7f90eb922 Mon Sep 17 00:00:00 2001 From: Daan De Meyer Date: Fri, 1 Dec 2023 20:12:29 +0100 Subject: [PATCH 162/232] Move sulogin to util-linux-core An initrd will almost always need sulogin installed for debugging purposes. This means that we're forced to install the full util-linux into initrds. Let's allow installing just util-linux-core in initrds by moving sulogin to util-linux-core. --- util-linux.spec | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/util-linux.spec b/util-linux.spec index cdf1335..41f7d0e 100644 --- a/util-linux.spec +++ b/util-linux.spec @@ -2,7 +2,7 @@ Summary: Collection of basic system utilities Name: util-linux Version: 2.39.2 -Release: 1%{?dist} +Release: 2%{?dist} License: GPLv2 and GPLv2+ and LGPLv2+ and BSD with advertising and Public Domain URL: https://en.wikipedia.org/wiki/Util-linux @@ -622,7 +622,6 @@ fi %{_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* @@ -651,7 +650,6 @@ fi %{_sbindir}/rfkill %{_sbindir}/rtcwake %{_sbindir}/runuser -%{_sbindir}/sulogin %{_sbindir}/swaplabel %{_sbindir}/wipefs %{_sbindir}/zramctl @@ -831,6 +829,7 @@ fi %{_mandir}/man8/mkswap.8* %{_mandir}/man8/mount.8* %{_mandir}/man8/partx.8* +%{_mandir}/man8/sulogin.8* %{_mandir}/man8/swapoff.8* %{_mandir}/man8/swapon.8* %{_mandir}/man8/switch_root.8* @@ -842,6 +841,7 @@ fi %{_sbindir}/losetup %{_sbindir}/mkswap %{_sbindir}/partx +%{_sbindir}/sulogin %{_sbindir}/swapoff %{_sbindir}/swapon %{_sbindir}/switch_root @@ -930,6 +930,9 @@ fi %changelog +* Fri Dec 2 2023 Daan De Meyer - 2.39.2-2 +- Move sulogin to util-linux-core + * Thu Aug 17 2023 Karel Zak - 2.39.2-1 - fix libmount atime regression - upgrade to v2.39.2 From 58dc9b6959de1359fcc033f3e9520537f4d75863 Mon Sep 17 00:00:00 2001 From: Karel Zak Date: Sun, 31 Dec 2023 12:05:50 +0100 Subject: [PATCH 163/232] 2.39.3-1: upgrade --- .gitignore | 1 + sources | 2 +- util-linux.spec | 8 ++++++-- 3 files changed, 8 insertions(+), 3 deletions(-) diff --git a/.gitignore b/.gitignore index 66354fe..3116b34 100644 --- a/.gitignore +++ b/.gitignore @@ -93,3 +93,4 @@ /util-linux-2.39.tar.xz /util-linux-2.39.1.tar.xz /util-linux-2.39.2.tar.xz +/util-linux-2.39.3.tar.xz diff --git a/sources b/sources index f9489ea..a8b2f3e 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (util-linux-2.39.2.tar.xz) = cebecdd62749d0aeea2c4faf7ad1606426eff03ef3b15cd9c2df1126f216a4ed546d8fc3218c649fa95944eb87a98bb6a7cdd0bea31057c481c5cf608ffc19a3 +SHA512 (util-linux-2.39.3.tar.xz) = a2de1672f06ca5d2d431db1265a8499808770c3781019ec4a3a40170df4685826d8e3ca120841dcc5df4681ca8c935a993317bd0dc70465b21bf8e0efef65afa diff --git a/util-linux.spec b/util-linux.spec index 41f7d0e..da2df4c 100644 --- a/util-linux.spec +++ b/util-linux.spec @@ -1,8 +1,8 @@ ### Header Summary: Collection of basic system utilities Name: util-linux -Version: 2.39.2 -Release: 2%{?dist} +Version: 2.39.3 +Release: 1%{?dist} License: GPLv2 and GPLv2+ and LGPLv2+ and BSD with advertising and Public Domain URL: https://en.wikipedia.org/wiki/Util-linux @@ -930,6 +930,10 @@ fi %changelog +* Sun Dec 31 2023 Karel Zak - 2.39.3-1 +- upgrade to v2.39.3 + https://kernel.org/pub/linux/utils/util-linux/v2.39/v2.39.3-ReleaseNotes + * Fri Dec 2 2023 Daan De Meyer - 2.39.2-2 - Move sulogin to util-linux-core From 302188f83333a90b9a79183f8a22c2132012654d Mon Sep 17 00:00:00 2001 From: Karel Zak Date: Sun, 31 Dec 2023 12:08:22 +0100 Subject: [PATCH 164/232] fix date typo, remove obsolete patch --- util-linux.spec | 7 +------ 1 file changed, 1 insertion(+), 6 deletions(-) diff --git a/util-linux.spec b/util-linux.spec index da2df4c..af943d7 100644 --- a/util-linux.spec +++ b/util-linux.spec @@ -98,11 +98,6 @@ Patch0: login-lastlog-create.patch # https://github.com/coreos/console-login-helper-messages/issues/60 Patch1: login-default-motd-file.patch -### Upstream -### -Patch2: libmount-Fix-regression-when-mounting-with-atime.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 @@ -934,7 +929,7 @@ fi - upgrade to v2.39.3 https://kernel.org/pub/linux/utils/util-linux/v2.39/v2.39.3-ReleaseNotes -* Fri Dec 2 2023 Daan De Meyer - 2.39.2-2 +* Sat Dec 2 2023 Daan De Meyer - 2.39.2-2 - Move sulogin to util-linux-core * Thu Aug 17 2023 Karel Zak - 2.39.2-1 From a16ce36c6f06a629f9e26f56735d587d22105fa5 Mon Sep 17 00:00:00 2001 From: Karel Zak Date: Thu, 11 Jan 2024 15:18:52 +0100 Subject: [PATCH 165/232] 2.39.3-2: fix util-linux-i18n conflicts --- util-linux.spec | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/util-linux.spec b/util-linux.spec index af943d7..e937311 100644 --- a/util-linux.spec +++ b/util-linux.spec @@ -2,7 +2,7 @@ Summary: Collection of basic system utilities Name: util-linux Version: 2.39.3 -Release: 1%{?dist} +Release: 2%{?dist} License: GPLv2 and GPLv2+ and LGPLv2+ and BSD with advertising and Public Domain URL: https://en.wikipedia.org/wiki/Util-linux @@ -419,6 +419,12 @@ rm -f $RPM_BUILD_ROOT%{_libdir}/lib{uuid,blkid,mount,smartcols,fdisk}.a # temporary remove to avoid conflicts with bash-completion pkg rm -f $RPM_BUILD_ROOT%{compldir}/{mount,umount} +# remove unvanted translations (conflicts with shadow-utils) +rm -f $RPM_BUILD_ROOT%{_mandir}/*/man1/newgrp.* +rm -f $RPM_BUILD_ROOT%{_mandir}/*/man8/vigr.* +rm -f $RPM_BUILD_ROOT%{_mandir}/*/man8/vigw.* + + # find MO files %find_lang %{name} --all-name --with-man @@ -923,8 +929,10 @@ fi %files -n util-linux-i18n -f %{name}.lang - %changelog +* Thu Jan 11 2024 Karel Zak - 2.39.3-2 +- fix #2256391 util-linux-i18n conflicts with file from package shadow-utils + * Sun Dec 31 2023 Karel Zak - 2.39.3-1 - upgrade to v2.39.3 https://kernel.org/pub/linux/utils/util-linux/v2.39/v2.39.3-ReleaseNotes From 8ecb7f1beee890631537d423bd33af2b7f936ae5 Mon Sep 17 00:00:00 2001 From: Karel Zak Date: Thu, 25 Jan 2024 11:12:49 +0100 Subject: [PATCH 166/232] 2.39.3-3: fix libsmartcols --- libsmartcols-fix-columns-reduction.patch | 69 ++++++++++++++++++++++++ util-linux.spec | 7 ++- 2 files changed, 75 insertions(+), 1 deletion(-) create mode 100644 libsmartcols-fix-columns-reduction.patch diff --git a/libsmartcols-fix-columns-reduction.patch b/libsmartcols-fix-columns-reduction.patch new file mode 100644 index 0000000..6c78ad9 --- /dev/null +++ b/libsmartcols-fix-columns-reduction.patch @@ -0,0 +1,69 @@ +From bb525b59190e3b40b2424f4f1febc22ca9c6b9f3 Mon Sep 17 00:00:00 2001 +From: Karel Zak +Date: Thu, 18 Jan 2024 13:09:24 +0100 +Subject: [PATCH] libsmartcols: fix columns reduction + +* reduce_to_68() does not care if subtract from column width is + possible (and width is size_t) + +* improve some calculations with 'double' + +Fixes: https://github.com/util-linux/util-linux/issues/2563 +Signed-off-by: Karel Zak +--- + libsmartcols/src/calculate.c | 16 +++++++++++----- + 1 file changed, 11 insertions(+), 5 deletions(-) + +diff --git a/libsmartcols/src/calculate.c b/libsmartcols/src/calculate.c +index e9db3b299..84198da3b 100644 +--- a/libsmartcols/src/calculate.c ++++ b/libsmartcols/src/calculate.c +@@ -118,7 +118,7 @@ static void count_column_deviation(struct libscols_table *tb, struct libscols_co + } + + if (n) +- st->width_avg = sum / n; ++ st->width_avg = (double) sum / (double) n; + + /* count deviation */ + if (n > 1) { +@@ -133,7 +133,7 @@ static void count_column_deviation(struct libscols_table *tb, struct libscols_co + st->width_sqr_sum += diff * diff; /* aka pow(x, 2) */ + } + +- variance = st->width_sqr_sum / (n - 1); ++ variance = st->width_sqr_sum / (double) (n - 1); + st->width_deviation = sqrtroot(variance); + } + +@@ -240,8 +240,8 @@ static int cmp_deviation(struct list_head *a, struct list_head *b, + struct libscols_column *ca = list_entry(a, struct libscols_column, cl_columns); + struct libscols_column *cb = list_entry(b, struct libscols_column, cl_columns); + +- double xa = ca->wstat.width_avg + (3*ca->wstat.width_deviation); +- double xb = cb->wstat.width_avg + (3*cb->wstat.width_deviation); ++ double xa = ca->wstat.width_avg + (3.0 * ca->wstat.width_deviation); ++ double xb = cb->wstat.width_avg + (3.0 * cb->wstat.width_deviation); + + return cmp_numbers(xa, xb); + } +@@ -280,9 +280,15 @@ static void reduce_to_68(struct libscols_column *cl, size_t wanted) + if (st->width_deviation < 1.0) + return; + +- new = st->width_avg + st->width_deviation; ++ new = (size_t) (st->width_avg + st->width_deviation); ++ + if (new < st->width_min) + new = st->width_min; ++ else if (new > st->width_max) ++ new = st->width_max; ++ ++ if (new >= cl->width) ++ return; + + if (cl->width - new > wanted) + cl->width -= wanted; +-- +2.43.0 + diff --git a/util-linux.spec b/util-linux.spec index e937311..c0295e8 100644 --- a/util-linux.spec +++ b/util-linux.spec @@ -2,7 +2,7 @@ Summary: Collection of basic system utilities Name: util-linux Version: 2.39.3 -Release: 2%{?dist} +Release: 3%{?dist} License: GPLv2 and GPLv2+ and LGPLv2+ and BSD with advertising and Public Domain URL: https://en.wikipedia.org/wiki/Util-linux @@ -97,6 +97,8 @@ Patch0: login-lastlog-create.patch # Add `/run/motd.d` to the hardcoded MOTD_FILE # https://github.com/coreos/console-login-helper-messages/issues/60 Patch1: login-default-motd-file.patch +# 2258501 - dnf5 unusable with libsmartcols +Patch2: libsmartcols-fix-columns-reduction.patch %description The util-linux package contains a large variety of low-level system @@ -930,6 +932,9 @@ fi %files -n util-linux-i18n -f %{name}.lang %changelog +* Thu Jan 25 2024 Karel Zak - 2.39.3-3 +- fix #2258501 - dnf5 unusable with libsmartcols + * Thu Jan 11 2024 Karel Zak - 2.39.3-2 - fix #2256391 util-linux-i18n conflicts with file from package shadow-utils From c9ce0bbf549617eeadd0991285ecc20e15f8512f Mon Sep 17 00:00:00 2001 From: Karel Zak Date: Thu, 25 Jan 2024 13:09:13 +0100 Subject: [PATCH 167/232] 2.39.3-4: improve util-linux-i18n conflicts --- util-linux.spec | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/util-linux.spec b/util-linux.spec index c0295e8..50ead93 100644 --- a/util-linux.spec +++ b/util-linux.spec @@ -2,7 +2,7 @@ Summary: Collection of basic system utilities Name: util-linux Version: 2.39.3 -Release: 3%{?dist} +Release: 4%{?dist} License: GPLv2 and GPLv2+ and LGPLv2+ and BSD with advertising and Public Domain URL: https://en.wikipedia.org/wiki/Util-linux @@ -424,7 +424,7 @@ rm -f $RPM_BUILD_ROOT%{compldir}/{mount,umount} # remove unvanted translations (conflicts with shadow-utils) rm -f $RPM_BUILD_ROOT%{_mandir}/*/man1/newgrp.* rm -f $RPM_BUILD_ROOT%{_mandir}/*/man8/vigr.* -rm -f $RPM_BUILD_ROOT%{_mandir}/*/man8/vigw.* +rm -f $RPM_BUILD_ROOT%{_mandir}/*/man8/vipw.* # find MO files @@ -932,6 +932,9 @@ fi %files -n util-linux-i18n -f %{name}.lang %changelog +* Thu Jan 25 2024 Karel Zak - 2.39.3-4 +- improve fix for #2256391 (util-linux-i18n conflicts) + * Thu Jan 25 2024 Karel Zak - 2.39.3-3 - fix #2258501 - dnf5 unusable with libsmartcols From bac574c2831f616bc45a4878089517120a1eda5b Mon Sep 17 00:00:00 2001 From: Karel Zak Date: Mon, 5 Feb 2024 10:29:29 +0100 Subject: [PATCH 168/232] 2.40-0.1: upgrade to v2.40-rc1 --- .gitignore | 1 + libsmartcols-fix-columns-reduction.patch | 69 ------------------------ sources | 2 +- util-linux.spec | 28 +++++++--- 4 files changed, 24 insertions(+), 76 deletions(-) delete mode 100644 libsmartcols-fix-columns-reduction.patch diff --git a/.gitignore b/.gitignore index 3116b34..3e24365 100644 --- a/.gitignore +++ b/.gitignore @@ -94,3 +94,4 @@ /util-linux-2.39.1.tar.xz /util-linux-2.39.2.tar.xz /util-linux-2.39.3.tar.xz +/util-linux-2.40-rc1.tar.xz diff --git a/libsmartcols-fix-columns-reduction.patch b/libsmartcols-fix-columns-reduction.patch deleted file mode 100644 index 6c78ad9..0000000 --- a/libsmartcols-fix-columns-reduction.patch +++ /dev/null @@ -1,69 +0,0 @@ -From bb525b59190e3b40b2424f4f1febc22ca9c6b9f3 Mon Sep 17 00:00:00 2001 -From: Karel Zak -Date: Thu, 18 Jan 2024 13:09:24 +0100 -Subject: [PATCH] libsmartcols: fix columns reduction - -* reduce_to_68() does not care if subtract from column width is - possible (and width is size_t) - -* improve some calculations with 'double' - -Fixes: https://github.com/util-linux/util-linux/issues/2563 -Signed-off-by: Karel Zak ---- - libsmartcols/src/calculate.c | 16 +++++++++++----- - 1 file changed, 11 insertions(+), 5 deletions(-) - -diff --git a/libsmartcols/src/calculate.c b/libsmartcols/src/calculate.c -index e9db3b299..84198da3b 100644 ---- a/libsmartcols/src/calculate.c -+++ b/libsmartcols/src/calculate.c -@@ -118,7 +118,7 @@ static void count_column_deviation(struct libscols_table *tb, struct libscols_co - } - - if (n) -- st->width_avg = sum / n; -+ st->width_avg = (double) sum / (double) n; - - /* count deviation */ - if (n > 1) { -@@ -133,7 +133,7 @@ static void count_column_deviation(struct libscols_table *tb, struct libscols_co - st->width_sqr_sum += diff * diff; /* aka pow(x, 2) */ - } - -- variance = st->width_sqr_sum / (n - 1); -+ variance = st->width_sqr_sum / (double) (n - 1); - st->width_deviation = sqrtroot(variance); - } - -@@ -240,8 +240,8 @@ static int cmp_deviation(struct list_head *a, struct list_head *b, - struct libscols_column *ca = list_entry(a, struct libscols_column, cl_columns); - struct libscols_column *cb = list_entry(b, struct libscols_column, cl_columns); - -- double xa = ca->wstat.width_avg + (3*ca->wstat.width_deviation); -- double xb = cb->wstat.width_avg + (3*cb->wstat.width_deviation); -+ double xa = ca->wstat.width_avg + (3.0 * ca->wstat.width_deviation); -+ double xb = cb->wstat.width_avg + (3.0 * cb->wstat.width_deviation); - - return cmp_numbers(xa, xb); - } -@@ -280,9 +280,15 @@ static void reduce_to_68(struct libscols_column *cl, size_t wanted) - if (st->width_deviation < 1.0) - return; - -- new = st->width_avg + st->width_deviation; -+ new = (size_t) (st->width_avg + st->width_deviation); -+ - if (new < st->width_min) - new = st->width_min; -+ else if (new > st->width_max) -+ new = st->width_max; -+ -+ if (new >= cl->width) -+ return; - - if (cl->width - new > wanted) - cl->width -= wanted; --- -2.43.0 - diff --git a/sources b/sources index a8b2f3e..07a0cbb 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (util-linux-2.39.3.tar.xz) = a2de1672f06ca5d2d431db1265a8499808770c3781019ec4a3a40170df4685826d8e3ca120841dcc5df4681ca8c935a993317bd0dc70465b21bf8e0efef65afa +SHA512 (util-linux-2.40-rc1.tar.xz) = ba307c4686c7989c1d563f19ca6a1c06c237de2fe063a51e28aaefee7a1afab49deb94abd80b4263c2d671f791798112b287dc3f1b3d73d755119e01883aaeb0 diff --git a/util-linux.spec b/util-linux.spec index 50ead93..d7c000a 100644 --- a/util-linux.spec +++ b/util-linux.spec @@ -1,13 +1,13 @@ ### Header Summary: Collection of basic system utilities Name: util-linux -Version: 2.39.3 -Release: 4%{?dist} +Version: 2.40 +Release: 0.1%{?dist} License: GPLv2 and GPLv2+ and LGPLv2+ and BSD with advertising and Public Domain URL: https://en.wikipedia.org/wiki/Util-linux ### Macros -%global upstream_version %{version} +%global upstream_version %{version}-rc1 %global upstream_major %(eval echo %{version} | sed -e 's/\([[:digit:]]*\)\.\([[:digit:]]*\)\.[[:digit:]]*$/\1.\2/') %global compldir %{_datadir}/bash-completion/completions/ @@ -97,8 +97,6 @@ Patch0: login-lastlog-create.patch # Add `/run/motd.d` to the hardcoded MOTD_FILE # https://github.com/coreos/console-login-helper-messages/issues/60 Patch1: login-default-motd-file.patch -# 2258501 - dnf5 unusable with libsmartcols -Patch2: libsmartcols-fix-columns-reduction.patch %description The util-linux package contains a large variety of low-level system @@ -309,6 +307,7 @@ export DAEMON_LDFLAGS="$SUID_LDFLAGS" --disable-silent-rules \ --disable-bfs \ --disable-pg \ + --disable-liblastlog2 \ --enable-chfn-chsh \ --enable-usrdir-path \ --enable-write \ @@ -505,6 +504,8 @@ fi %{_bindir}/colrm %{_bindir}/column %{_bindir}/eject +%{_bindir}/enosys +%{_bindir}/exch %{_bindir}/fallocate %{_bindir}/fincore %{_bindir}/fadvise @@ -517,6 +518,7 @@ fi %{_bindir}/look %{_bindir}/lsblk %{_bindir}/lscpu +%{_bindir}/lsclocks %{_bindir}/lsfd %{_bindir}/lsipc %{_bindir}/lsirq @@ -535,6 +537,7 @@ fi %{_bindir}/scriptlive %{_bindir}/scriptreplay %{_bindir}/setarch +%{_bindir}/setpgid %{_bindir}/setpriv %{_bindir}/setterm %{_bindir}/uclampset @@ -555,7 +558,9 @@ fi %{_mandir}/man1/colrm.1* %{_mandir}/man1/column.1* %{_mandir}/man1/eject.1* -%{_mandir}/man1/fadvise.1.* +%{_mandir}/man1/enosys.1* +%{_mandir}/man1/exch.1* +%{_mandir}/man1/fadvise.1* %{_mandir}/man1/fallocate.1* %{_mandir}/man1/fincore.1* %{_mandir}/man1/getopt.1* @@ -566,6 +571,7 @@ fi %{_mandir}/man1/login.1* %{_mandir}/man1/look.1* %{_mandir}/man1/lscpu.1* +%{_mandir}/man1/lsclocks.1* %{_mandir}/man1/lsfd.1* %{_mandir}/man1/lsipc.1* %{_mandir}/man1/lsirq.1* @@ -582,6 +588,7 @@ fi %{_mandir}/man1/script.1* %{_mandir}/man1/scriptlive.1* %{_mandir}/man1/scriptreplay.1* +%{_mandir}/man1/setpgid.1* %{_mandir}/man1/setpriv.1* %{_mandir}/man1/setterm.1* %{_mandir}/man1/su.1* @@ -595,6 +602,7 @@ fi %{_mandir}/man1/whereis.1* %{_mandir}/man1/write.1* %{_mandir}/man5/fstab.5* +%{_mandir}/man5/scols-filter.5* %{_mandir}/man5/terminal-colors.d.5* %{_mandir}/man8/addpart.8* %{_mandir}/man8/blkdiscard.8* @@ -672,6 +680,8 @@ fi %{compldir}/ctrlaltdel %{compldir}/delpart %{compldir}/eject +%{compldir}/enosys +%{compldir}/exch %{compldir}/fadvise %{compldir}/fallocate %{compldir}/fdisk @@ -691,6 +701,7 @@ fi %{compldir}/look %{compldir}/lsblk %{compldir}/lscpu +%{compldir}/lsclocks %{compldir}/lsipc %{compldir}/lsirq %{compldir}/lslocks @@ -718,6 +729,7 @@ fi %{compldir}/scriptreplay %{compldir}/setarch %{compldir}/setpriv +%{compldir}/setpgid %{compldir}/setterm %{compldir}/su %{compldir}/swaplabel @@ -932,6 +944,10 @@ fi %files -n util-linux-i18n -f %{name}.lang %changelog +* Fri Feb 2 2024 Karel Zak - 2.40-0.1 +- upgrade to v2.40-rc1 +- add setpgid, enosys, exch and lsclocks commands + * Thu Jan 25 2024 Karel Zak - 2.39.3-4 - improve fix for #2256391 (util-linux-i18n conflicts) From 1d0d7588dd2bc5efd88533d4c6170ca978abb45c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= Date: Tue, 6 Feb 2024 10:42:42 +0100 Subject: [PATCH 169/232] Simplify systemd scriplets It is better to use a single %systemd_* macro to avoid some executions and repeated checks. --- util-linux.spec | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/util-linux.spec b/util-linux.spec index d7c000a..e2b6fb2 100644 --- a/util-linux.spec +++ b/util-linux.spec @@ -454,16 +454,14 @@ exit 0 %systemd_post uuidd.service if [ $1 -eq 1 ] && [ -x /usr/bin/systemctl ]; then # install - /bin/systemctl start uuidd.service > /dev/null 2>&1 || : + /usr/bin/systemctl start uuidd.service > /dev/null 2>&1 || : fi %preun -n uuidd -%systemd_preun uuidd.socket -%systemd_preun uuidd.service +%systemd_preun uuidd.socket uuidd.service %postun -n uuidd -%systemd_postun_with_restart uuidd.socket -%systemd_postun_with_restart uuidd.service +%systemd_postun_with_restart uuidd.socket uuidd.service %triggerpostun -- util-linux < 2.35.1-7 if [ $1 -gt 1 ] && [ -x /usr/bin/systemctl ] ; then From a4d9e81291467ad01ec62d23a69a3efa4966a38a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= Date: Tue, 6 Feb 2024 10:48:49 +0100 Subject: [PATCH 170/232] Replace systemd dependencies with just ordering systemd-units has been merged into systemd a long time ago. But we don't really need this dependency at all. Let's just declare ordering, so that this package is installed after systemd if both are installed in the same transaction. See https://docs.fedoraproject.org/en-US/packaging-guidelines/Scriptlets/#_dependencies_on_the_systemd_package for discussion and justification. --- util-linux.spec | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/util-linux.spec b/util-linux.spec index e2b6fb2..4e0e82f 100644 --- a/util-linux.spec +++ b/util-linux.spec @@ -253,10 +253,8 @@ See also the "uuid-devel" package, which is a separate implementation. 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 +%{?systemd_ordering} %description -n uuidd The uuidd package contains a userspace daemon (uuidd) which guarantees From e5d9a1e3ef8c2d336a0d75686b6b2d82d4799db0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= Date: Tue, 6 Feb 2024 10:57:28 +0100 Subject: [PATCH 171/232] Add unit scriptlets for fstrim.service and .timer https://docs.fedoraproject.org/en-US/packaging-guidelines/Scriptlets/#_scriptlets We want to "restart" the timer so that the it's rescheduled if there are any changes to frequency or other settings. This will not cause the timer to fire immediately. We don't restart the service itself, because, if it happens to be running, we want it to just finish as it was. This fixes https://bugzilla.redhat.com/show_bug.cgi?id=2262393 for new installations. A preset call was missing for fstrim.timer, so if util-linux was installed after systemd, the unit would not be enabled. --- util-linux.spec | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/util-linux.spec b/util-linux.spec index 4e0e82f..7754a35 100644 --- a/util-linux.spec +++ b/util-linux.spec @@ -438,6 +438,15 @@ 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 +%systemd_post fstrim.{service,timer} + +%preun +%systemd_preun fstrim.{service,timer} + +%postun +%systemd_postun_with_restart fstrim.timer +%systemd_postun fstrim.service %pre -n uuidd getent group uuidd >/dev/null || groupadd -r uuidd From dc6a971801c751b973a53f5a7372f529e5960fd1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= Date: Tue, 6 Feb 2024 11:06:22 +0100 Subject: [PATCH 172/232] Enable fstrim.timer on upgrades This fixes https://bugzilla.redhat.com/show_bug.cgi?id=2262393 for upgrades. Since the timer was not enabled previously, we want to enable it here so that https://fedoraproject.org/wiki/Changes/EnableFSTrimTimer is actually true. --- util-linux.spec | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/util-linux.spec b/util-linux.spec index 7754a35..7997a0e 100644 --- a/util-linux.spec +++ b/util-linux.spec @@ -470,9 +470,9 @@ fi %postun -n uuidd %systemd_postun_with_restart uuidd.socket uuidd.service -%triggerpostun -- util-linux < 2.35.1-7 +%triggerpostun -- util-linux < 2.40-0.2 if [ $1 -gt 1 ] && [ -x /usr/bin/systemctl ] ; then - # Enable fstrim.timer for upgrades to F32 + # Enable fstrim.timer for upgrades from older versions /usr/bin/systemctl --no-reload preset fstrim.timer || : fi From b15359d1d4dac1c5f61a3e300813f9e85aac93d7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= Date: Tue, 6 Feb 2024 11:24:54 +0100 Subject: [PATCH 173/232] =?UTF-8?q?$RPM=5FBUILD=5FROOT=20=E2=86=92=20%{bui?= =?UTF-8?q?ldroot}?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit It is shorter and also does not mess up the host system if somebody makes a typo. --- util-linux.spec | 56 ++++++++++++++++++++++++------------------------- 1 file changed, 28 insertions(+), 28 deletions(-) diff --git a/util-linux.spec b/util-linux.spec index 7997a0e..268c5aa 100644 --- a/util-linux.spec +++ b/util-linux.spec @@ -336,31 +336,31 @@ make check %install -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}%{_tmpfilesdir}/tmpfiles.d +mkdir -p %{buildroot}%{_bindir} +mkdir -p %{buildroot}%{_mandir}/man{1,6,8,5} +mkdir -p %{buildroot}%{_sbindir} +mkdir -p %{buildroot}%{_sysconfdir}/{pam.d,security/console.apps} +mkdir -p %{buildroot}%{_tmpfilesdir}/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}%{_tmpfilesdir}/uuidd.conf -install -d ${RPM_BUILD_ROOT}/run/uuidd -install -d ${RPM_BUILD_ROOT}/var/lib/libuuid +install -m 644 %{SOURCE4} %{buildroot}%{_tmpfilesdir}/uuidd.conf +install -d %{buildroot}/run/uuidd +install -d %{buildroot}/var/lib/libuuid # /etc/adjtime -install -m 644 %{SOURCE5} ${RPM_BUILD_ROOT}%{_sysconfdir}/adjtime +install -m 644 %{SOURCE5} %{buildroot}%{_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 +rm -rf %{buildroot}%{_libdir}/*.la +rm -f %{buildroot}%{_libdir}/python*/site-packages/*.la +rm -f %{buildroot}%{_libdir}/python*/site-packages/*.a %ifarch %{sparc} -rm -rf ${RPM_BUILD_ROOT}%{_bindir}/sunhostid -cat << E-O-F > ${RPM_BUILD_ROOT}%{_bindir}/sunhostid +rm -rf %{buildroot}%{_bindir}/sunhostid +cat << E-O-F > %{buildroot}%{_bindir}/sunhostid #!/bin/sh # this should be _bindir/sunhostid or somesuch. # Copyright 1999 Peter Jones, . @@ -372,12 +372,12 @@ echo \$idprom|dd bs=1 skip=27 count=6 echo ) 2>/dev/null E-O-F -chmod 755 ${RPM_BUILD_ROOT}%{_bindir}/sunhostid +chmod 755 %{buildroot}%{_bindir}/sunhostid %endif # PAM settings { - pushd ${RPM_BUILD_ROOT}%{_sysconfdir}/pam.d + pushd %{buildroot}%{_sysconfdir}/pam.d install -m 644 %{SOURCE1} ./login install -m 644 %{SOURCE2} ./remote install -m 644 %{SOURCE3} ./chsh @@ -390,8 +390,8 @@ chmod 755 ${RPM_BUILD_ROOT}%{_bindir}/sunhostid } %ifnarch s390 s390x -ln -sf hwclock ${RPM_BUILD_ROOT}%{_sbindir}/clock -echo ".so man8/hwclock.8" > ${RPM_BUILD_ROOT}%{_mandir}/man8/clock.8 +ln -sf hwclock %{buildroot}%{_sbindir}/clock +echo ".so man8/hwclock.8" > %{buildroot}%{_mandir}/man8/clock.8 %endif # unsupported on SPARCs @@ -401,27 +401,27 @@ for I in /sbin/sfdisk \ /sbin/cfdisk \ %{_mandir}/man8/cfdisk.8*; do - rm -f $RPM_BUILD_ROOT$I + rm -f %{buildroot}$I done %endif # we install getopt-*.{bash,tcsh} by doc directive #chmod 644 misc-utils/getopt-*.{bash,tcsh} -#rm -f ${RPM_BUILD_ROOT}%{_datadir}/doc/util-linux/getopt/* -#rmdir ${RPM_BUILD_ROOT}%{_datadir}/doc/util-linux/getopt +#rm -f %{buildroot}%{_datadir}/doc/util-linux/getopt/* +#rmdir %{buildroot}%{_datadir}/doc/util-linux/getopt ln -sf ../proc/self/mounts %{buildroot}/etc/mtab # remove static libs -rm -f $RPM_BUILD_ROOT%{_libdir}/lib{uuid,blkid,mount,smartcols,fdisk}.a +rm -f %{buildroot}%{_libdir}/lib{uuid,blkid,mount,smartcols,fdisk}.a # temporary remove to avoid conflicts with bash-completion pkg -rm -f $RPM_BUILD_ROOT%{compldir}/{mount,umount} +rm -f %{buildroot}%{compldir}/{mount,umount} # remove unvanted translations (conflicts with shadow-utils) -rm -f $RPM_BUILD_ROOT%{_mandir}/*/man1/newgrp.* -rm -f $RPM_BUILD_ROOT%{_mandir}/*/man8/vigr.* -rm -f $RPM_BUILD_ROOT%{_mandir}/*/man8/vipw.* +rm -f %{buildroot}%{_mandir}/*/man1/newgrp.* +rm -f %{buildroot}%{_mandir}/*/man8/vigr.* +rm -f %{buildroot}%{_mandir}/*/man8/vipw.* # find MO files @@ -430,11 +430,11 @@ rm -f $RPM_BUILD_ROOT%{_mandir}/*/man8/vipw.* touch %{name}.files # create list of setarch(8) symlinks -find $RPM_BUILD_ROOT%{_bindir}/ -regextype posix-egrep -type l \ +find %{buildroot}%{_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 \ +find %{buildroot}%{_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 From ceb56aabcb56f63c095e4c928e28853578ca4bac Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= Date: Tue, 6 Feb 2024 11:27:12 +0100 Subject: [PATCH 174/232] Replace loop by a single invocation with multiple arguments --- util-linux.spec | 11 ++++------- 1 file changed, 4 insertions(+), 7 deletions(-) diff --git a/util-linux.spec b/util-linux.spec index 268c5aa..83b980c 100644 --- a/util-linux.spec +++ b/util-linux.spec @@ -396,13 +396,10 @@ echo ".so man8/hwclock.8" > %{buildroot}%{_mandir}/man8/clock.8 # unsupported on SPARCs %ifarch %{sparc} -for I in /sbin/sfdisk \ - %{_mandir}/man8/sfdisk.8* \ - /sbin/cfdisk \ - %{_mandir}/man8/cfdisk.8*; do - - rm -f %{buildroot}$I -done +rm -f %{buildroot}/sbin/sfdisk \ + %{buildroot}%{_mandir}/man8/sfdisk.8* \ + %{buildroot}/sbin/cfdisk \ + %{buildroot}%{_mandir}/man8/cfdisk.8* %endif # we install getopt-*.{bash,tcsh} by doc directive From 5854ee9f05f8c217cb105fa23a10f4d00f15b909 Mon Sep 17 00:00:00 2001 From: Karel Zak Date: Wed, 7 Feb 2024 12:54:33 +0100 Subject: [PATCH 175/232] add autorelease and autochangelog --- changelog | 2341 +++++++++++++++++++++++++++++++++++++++++++++++ util-linux.spec | 2340 +--------------------------------------------- 2 files changed, 2343 insertions(+), 2338 deletions(-) create mode 100644 changelog diff --git a/changelog b/changelog new file mode 100644 index 0000000..e9f4163 --- /dev/null +++ b/changelog @@ -0,0 +1,2341 @@ +* Wed Feb 7 2024 Karel Zak - 2.40-0.8 +- add autorelease and autochangelog + +* Fri Feb 2 2024 Karel Zak - 2.40-0.1 +- upgrade to v2.40-rc1 +- add setpgid, enosys, exch and lsclocks commands + +* Thu Jan 25 2024 Karel Zak - 2.39.3-4 +- improve fix for #2256391 (util-linux-i18n conflicts) + +* Thu Jan 25 2024 Karel Zak - 2.39.3-3 +- fix #2258501 - dnf5 unusable with libsmartcols + +* Thu Jan 11 2024 Karel Zak - 2.39.3-2 +- fix #2256391 util-linux-i18n conflicts with file from package shadow-utils + +* Sun Dec 31 2023 Karel Zak - 2.39.3-1 +- upgrade to v2.39.3 + https://kernel.org/pub/linux/utils/util-linux/v2.39/v2.39.3-ReleaseNotes + +* Sat Dec 2 2023 Daan De Meyer - 2.39.2-2 +- Move sulogin to util-linux-core + +* Thu Aug 17 2023 Karel Zak - 2.39.2-1 +- fix libmount atime regression +- upgrade to v2.39.2 + https://kernel.org/pub/linux/utils/util-linux/v2.39/v2.39.2-ReleaseNotes + +* Sat Jul 22 2023 Fedora Release Engineering - 2.39.1-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild + +* Wed Jun 28 2023 Python Maint - 2.39.1-2 +- Rebuilt for Python 3.12 + +* Wed Jun 28 2023 Karel Zak - 2.39.1-1 +- upgrade to v2.39.1 + https://kernel.org/pub/linux/utils/util-linux/v2.39/v2.39.1-ReleaseNotes + +* Tue Jun 13 2023 Python Maint - 2.39-5 +- Rebuilt for Python 3.12 + +* Thu May 25 2023 Karel Zak - 2.39-4 +- fix mount when /sbin/mount. executed + +* Mon May 22 2023 Karel Zak - 2.39-3 +- fix mount options prepend/insert and merging (upstream) + +* Thu May 18 2023 Adam Williamson - 2.39-2 +- Have util-linux obsolete and provide util-linux-user + +* Thu May 18 2023 Karel Zak - 2.39-1 +- upgrade to v2.39 +- remove dependence on libuser +- remove util-linux-user subpackage +- enable translated man pages +- add util-linux-i18n subpackage + +* Wed Apr 19 2023 Karel Zak - 2.39-0.5 +- upgrade to v2.39-rc3 (fixes XFS and rw/ro issues) + +* Wed Apr 5 2023 Karel Zak - 2.39-0.4 +- fix #2180593 (superblock reconfiguration libmount issue) + +* Tue Apr 4 2023 Karel Zak - 2.39-0.3 +- fix spec file + +* Tue Apr 4 2023 Karel Zak - 2.39-0.2 +- upgrade to v2.39-rc2 + +* Mon Mar 20 2023 Karel Zak - 2.39-0.1 +- upgrade to v2.39-rc1 + https://kernel.org/pub/linux/utils/util-linux/v2.39/v2.39-ReleaseNotes + +* Sat Jan 21 2023 Fedora Release Engineering - 2.38.1-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild + +* Sat Dec 17 2022 Florian Weimer - 2.38.1-3 +- Backport upstream patch to fix C99 issue in kill + +* Mon Aug 22 2022 Karel Zak - 2.38.1-2 +- improve tmpfiles.d use in spec file + +* Thu Aug 4 2022 Karel Zak - 2.38.1-1 +- upgrade to v2.38.1 + https://kernel.org/pub/linux/utils/util-linux/v2.38/v2.38.1-ReleaseNotes + +* Sat Jul 23 2022 Fedora Release Engineering - 2.38-5 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild + +* Mon Jun 13 2022 Python Maint - 2.38-4 +- Rebuilt for Python 3.11 + +* Wed Apr 13 2022 Karel Zak - 2.38-3 +- fix spec file changelog order + +* Wed Mar 30 2022 Zbigniew Jędrzejewski-Szmek - 2.38-2 +- simplify creation of /etc/mtab symlink + +* Wed Mar 30 2022 Karel Zak - 2.38-1 +- upgrade to v2.38 +- don't (re)generate build-system +- modernize spec file style (thanks to Zbigniew) + +* Thu Mar 17 2022 Zbigniew Jędrzejewski-Szmek - 2.38-0.5 +- Drop very old upgrade scriptlet for libblkid + +* Wed Mar 16 2022 Karel Zak - 2.38-0.4 +- upgrade to v2.38-rc3 + https://mirrors.edge.kernel.org/pub/linux/utils/util-linux/v2.38/v2.38-ReleaseNotes + +* Wed Feb 2 2022 Karel Zak - 2.38-0.3 +- add /usr/lib/tmpfiles.d/uuidd.conf (based on #2047952) + +* Wed Feb 2 2022 Karel Zak - 2.38-0.2 +- release ownership of /var/log/lastlog + +* Mon Jan 31 2022 Karel Zak - 2.38-0.1 +- upgrade to v2.38-rc1 + +* Sat Jan 22 2022 Fedora Release Engineering - 2.37.2-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild + +* Tue Aug 17 2021 Karel Zak - 2.37.2-1 +* upgrade to v2.37.2 + +* Fri Jul 23 2021 Fedora Release Engineering - 2.37-6 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild + +* Wed Jul 14 2021 Karel Zak - 2.37-5 +- remove unused util-linux-60-raw.rules + +* Wed Jul 14 2021 Karel Zak - 2.37-4 +- disable raw(8) - no more supported since Linux v5.14 (commit 03e4922f1c81fc2ed3a87b4f91a8d3aafc7e093) +- remove dependence on deprecated pcre2posix.h +- fix #1981729 - close_range() 3rd argument + +* Wed Jun 16 2021 Richard W.M. Jones - 2.37-3 +- Rebuild for updated pcre2 + +* Fri Jun 04 2021 Python Maint - 2.37-2 +- Rebuilt for Python 3.10 + +* Tue Jun 1 2021 Karel Zak - 2.37-1 +- upgrade to v2.37 +- introduce util-linux-core subpackage + +* Fri May 14 2021 Karel Zak - 2.37-0.1 +- upgrade to v2.37-rc2 + https://kernel.org/pub/linux/utils/util-linux/v2.37/v2.37-ReleaseNotes + +* Tue Mar 02 2021 Zbigniew Jędrzejewski-Szmek - 2.36.2-3 +- Rebuilt for updated systemd-rpm-macros + See https://pagure.io/fesco/issue/2583. + +* Tue Mar 2 2021 Karel Zak - 2.36.2-2 +- spec file cleanup https://src.fedoraproject.org/rpms/util-linux/pull-request/9 + +* 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/util-linux.spec b/util-linux.spec index 83b980c..85ab6d6 100644 --- a/util-linux.spec +++ b/util-linux.spec @@ -2,7 +2,7 @@ Summary: Collection of basic system utilities Name: util-linux Version: 2.40 -Release: 0.1%{?dist} +Release: %autorelease -p -e rc1 License: GPLv2 and GPLv2+ and LGPLv2+ and BSD with advertising and Public Domain URL: https://en.wikipedia.org/wiki/Util-linux @@ -946,2341 +946,5 @@ fi %files -n util-linux-i18n -f %{name}.lang %changelog -* Fri Feb 2 2024 Karel Zak - 2.40-0.1 -- upgrade to v2.40-rc1 -- add setpgid, enosys, exch and lsclocks commands +%autochangelog -* Thu Jan 25 2024 Karel Zak - 2.39.3-4 -- improve fix for #2256391 (util-linux-i18n conflicts) - -* Thu Jan 25 2024 Karel Zak - 2.39.3-3 -- fix #2258501 - dnf5 unusable with libsmartcols - -* Thu Jan 11 2024 Karel Zak - 2.39.3-2 -- fix #2256391 util-linux-i18n conflicts with file from package shadow-utils - -* Sun Dec 31 2023 Karel Zak - 2.39.3-1 -- upgrade to v2.39.3 - https://kernel.org/pub/linux/utils/util-linux/v2.39/v2.39.3-ReleaseNotes - -* Sat Dec 2 2023 Daan De Meyer - 2.39.2-2 -- Move sulogin to util-linux-core - -* Thu Aug 17 2023 Karel Zak - 2.39.2-1 -- fix libmount atime regression -- upgrade to v2.39.2 - https://kernel.org/pub/linux/utils/util-linux/v2.39/v2.39.2-ReleaseNotes - -* Sat Jul 22 2023 Fedora Release Engineering - 2.39.1-3 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild - -* Wed Jun 28 2023 Python Maint - 2.39.1-2 -- Rebuilt for Python 3.12 - -* Wed Jun 28 2023 Karel Zak - 2.39.1-1 -- upgrade to v2.39.1 - https://kernel.org/pub/linux/utils/util-linux/v2.39/v2.39.1-ReleaseNotes - -* Tue Jun 13 2023 Python Maint - 2.39-5 -- Rebuilt for Python 3.12 - -* Thu May 25 2023 Karel Zak - 2.39-4 -- fix mount when /sbin/mount. executed - -* Mon May 22 2023 Karel Zak - 2.39-3 -- fix mount options prepend/insert and merging (upstream) - -* Thu May 18 2023 Adam Williamson - 2.39-2 -- Have util-linux obsolete and provide util-linux-user - -* Thu May 18 2023 Karel Zak - 2.39-1 -- upgrade to v2.39 -- remove dependence on libuser -- remove util-linux-user subpackage -- enable translated man pages -- add util-linux-i18n subpackage - -* Wed Apr 19 2023 Karel Zak - 2.39-0.5 -- upgrade to v2.39-rc3 (fixes XFS and rw/ro issues) - -* Wed Apr 5 2023 Karel Zak - 2.39-0.4 -- fix #2180593 (superblock reconfiguration libmount issue) - -* Tue Apr 4 2023 Karel Zak - 2.39-0.3 -- fix spec file - -* Tue Apr 4 2023 Karel Zak - 2.39-0.2 -- upgrade to v2.39-rc2 - -* Mon Mar 20 2023 Karel Zak - 2.39-0.1 -- upgrade to v2.39-rc1 - https://kernel.org/pub/linux/utils/util-linux/v2.39/v2.39-ReleaseNotes - -* Sat Jan 21 2023 Fedora Release Engineering - 2.38.1-4 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild - -* Sat Dec 17 2022 Florian Weimer - 2.38.1-3 -- Backport upstream patch to fix C99 issue in kill - -* Mon Aug 22 2022 Karel Zak - 2.38.1-2 -- improve tmpfiles.d use in spec file - -* Thu Aug 4 2022 Karel Zak - 2.38.1-1 -- upgrade to v2.38.1 - https://kernel.org/pub/linux/utils/util-linux/v2.38/v2.38.1-ReleaseNotes - -* Sat Jul 23 2022 Fedora Release Engineering - 2.38-5 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild - -* Mon Jun 13 2022 Python Maint - 2.38-4 -- Rebuilt for Python 3.11 - -* Wed Apr 13 2022 Karel Zak - 2.38-3 -- fix spec file changelog order - -* Wed Mar 30 2022 Zbigniew Jędrzejewski-Szmek - 2.38-2 -- simplify creation of /etc/mtab symlink - -* Wed Mar 30 2022 Karel Zak - 2.38-1 -- upgrade to v2.38 -- don't (re)generate build-system -- modernize spec file style (thanks to Zbigniew) - -* Thu Mar 17 2022 Zbigniew Jędrzejewski-Szmek - 2.38-0.5 -- Drop very old upgrade scriptlet for libblkid - -* Wed Mar 16 2022 Karel Zak - 2.38-0.4 -- upgrade to v2.38-rc3 - https://mirrors.edge.kernel.org/pub/linux/utils/util-linux/v2.38/v2.38-ReleaseNotes - -* Wed Feb 2 2022 Karel Zak - 2.38-0.3 -- add /usr/lib/tmpfiles.d/uuidd.conf (based on #2047952) - -* Wed Feb 2 2022 Karel Zak - 2.38-0.2 -- release ownership of /var/log/lastlog - -* Mon Jan 31 2022 Karel Zak - 2.38-0.1 -- upgrade to v2.38-rc1 - -* Sat Jan 22 2022 Fedora Release Engineering - 2.37.2-2 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild - -* Tue Aug 17 2021 Karel Zak - 2.37.2-1 -* upgrade to v2.37.2 - -* Fri Jul 23 2021 Fedora Release Engineering - 2.37-6 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild - -* Wed Jul 14 2021 Karel Zak - 2.37-5 -- remove unused util-linux-60-raw.rules - -* Wed Jul 14 2021 Karel Zak - 2.37-4 -- disable raw(8) - no more supported since Linux v5.14 (commit 03e4922f1c81fc2ed3a87b4f91a8d3aafc7e093) -- remove dependence on deprecated pcre2posix.h -- fix #1981729 - close_range() 3rd argument - -* Wed Jun 16 2021 Richard W.M. Jones - 2.37-3 -- Rebuild for updated pcre2 - -* Fri Jun 04 2021 Python Maint - 2.37-2 -- Rebuilt for Python 3.10 - -* Tue Jun 1 2021 Karel Zak - 2.37-1 -- upgrade to v2.37 -- introduce util-linux-core subpackage - -* Fri May 14 2021 Karel Zak - 2.37-0.1 -- upgrade to v2.37-rc2 - https://kernel.org/pub/linux/utils/util-linux/v2.37/v2.37-ReleaseNotes - -* Tue Mar 02 2021 Zbigniew Jędrzejewski-Szmek - 2.36.2-3 -- Rebuilt for updated systemd-rpm-macros - See https://pagure.io/fesco/issue/2583. - -* Tue Mar 2 2021 Karel Zak - 2.36.2-2 -- spec file cleanup https://src.fedoraproject.org/rpms/util-linux/pull-request/9 - -* 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. From 1d94d2966ad14311b3ad3c010f1116e81dc7ed42 Mon Sep 17 00:00:00 2001 From: Colin Walters Date: Thu, 15 Feb 2024 11:39:09 -0500 Subject: [PATCH 176/232] Backport https://github.com/util-linux/util-linux/commit/211a9da0b4e9704eea210d7944b723fa78272c79 xref https://github.com/coreos/rpm-ostree/issues/4830 --- ...apply-landlock-without-configuration.patch | 32 +++++++++++++++++++ util-linux.spec | 2 ++ 2 files changed, 34 insertions(+) create mode 100644 0001-setpriv-apply-landlock-without-configuration.patch diff --git a/0001-setpriv-apply-landlock-without-configuration.patch b/0001-setpriv-apply-landlock-without-configuration.patch new file mode 100644 index 0000000..287e5da --- /dev/null +++ b/0001-setpriv-apply-landlock-without-configuration.patch @@ -0,0 +1,32 @@ +From 211a9da0b4e9704eea210d7944b723fa78272c79 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Thomas=20Wei=C3=9Fschuh?= +Date: Wed, 31 Jan 2024 18:01:08 +0100 +Subject: [PATCH] setpriv: apply landlock without configuration +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +Fixes #2746 + +Signed-off-by: Thomas Weißschuh +--- + sys-utils/setpriv-landlock.c | 3 +++ + 1 file changed, 3 insertions(+) + +diff --git a/sys-utils/setpriv-landlock.c b/sys-utils/setpriv-landlock.c +index 153e748f6..00ad38c61 100644 +--- a/sys-utils/setpriv-landlock.c ++++ b/sys-utils/setpriv-landlock.c +@@ -166,6 +166,9 @@ void do_landlock(const struct setpriv_landlock_opts *opts) + struct list_head *entry; + int fd, ret; + ++ if (!opts->access_fs) ++ return; ++ + const struct landlock_ruleset_attr ruleset_attr = { + .handled_access_fs = opts->access_fs, + }; +-- +2.41.0 + diff --git a/util-linux.spec b/util-linux.spec index 85ab6d6..839ef65 100644 --- a/util-linux.spec +++ b/util-linux.spec @@ -98,6 +98,8 @@ Patch0: login-lastlog-create.patch # https://github.com/coreos/console-login-helper-messages/issues/60 Patch1: login-default-motd-file.patch +Patch2: 0001-setpriv-apply-landlock-without-configuration.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 From 0bd50d406feb47fb2a7f2b37a948bf4db506667e Mon Sep 17 00:00:00 2001 From: Karel Zak Date: Wed, 21 Feb 2024 11:30:53 +0100 Subject: [PATCH 177/232] use SPDX based identifiers for license field --- util-linux.spec | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/util-linux.spec b/util-linux.spec index 839ef65..826ae17 100644 --- a/util-linux.spec +++ b/util-linux.spec @@ -3,7 +3,7 @@ Summary: Collection of basic system utilities Name: util-linux Version: 2.40 Release: %autorelease -p -e rc1 -License: GPLv2 and GPLv2+ and LGPLv2+ and BSD with advertising and Public Domain +License: GPL-1.0-or-later AND GPL-2.0 AND GPL-2.0-or-later AND GPL-3.0-or-later AND LGPL-2.1-or-later AND BSD-2-Clause AND BSD-3-Clause AND BSD-4-Clause-UC AND LicenseRef-Fedora-Public-Domain URL: https://en.wikipedia.org/wiki/Util-linux ### Macros From f0320c8ef7c46d0e3ac0ae50328ad7d0d136d318 Mon Sep 17 00:00:00 2001 From: Karel Zak Date: Wed, 28 Feb 2024 14:27:30 +0100 Subject: [PATCH 178/232] fix license related stuff Signed-off-by: Karel Zak (cherry picked from commit 2cc6ef8a87016c91db7fe5599abd8a863c77acdf) --- ...e-proper-XSPD-identifier-for-GPL-2.0.patch | 387 ++++++++++++++++++ util-linux.spec | 55 +-- 2 files changed, 419 insertions(+), 23 deletions(-) create mode 100644 0001-docs-use-proper-XSPD-identifier-for-GPL-2.0.patch diff --git a/0001-docs-use-proper-XSPD-identifier-for-GPL-2.0.patch b/0001-docs-use-proper-XSPD-identifier-for-GPL-2.0.patch new file mode 100644 index 0000000..4e9c6ff --- /dev/null +++ b/0001-docs-use-proper-XSPD-identifier-for-GPL-2.0.patch @@ -0,0 +1,387 @@ +Basede on upstream: + 9769e7b9562d5b856e95a93d0935f864be00baf9 + 1ea0695525dc89afaf3ef78807426e494683dc33 + +diff --git a/Documentation/licenses/COPYING.GPL-2.0-only b/Documentation/licenses/COPYING.GPL-2.0-only +new file mode 100644 +index 000000000..d159169d1 +--- /dev/null ++++ b/Documentation/licenses/COPYING.GPL-2.0-only +@@ -0,0 +1,339 @@ ++ GNU GENERAL PUBLIC LICENSE ++ Version 2, June 1991 ++ ++ Copyright (C) 1989, 1991 Free Software Foundation, Inc., ++ 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA ++ Everyone is permitted to copy and distribute verbatim copies ++ of this license document, but changing it is not allowed. ++ ++ Preamble ++ ++ The licenses for most software are designed to take away your ++freedom to share and change it. By contrast, the GNU General Public ++License is intended to guarantee your freedom to share and change free ++software--to make sure the software is free for all its users. This ++General Public License applies to most of the Free Software ++Foundation's software and to any other program whose authors commit to ++using it. (Some other Free Software Foundation software is covered by ++the GNU Lesser General Public License instead.) You can apply it to ++your programs, too. ++ ++ When we speak of free software, we are referring to freedom, not ++price. Our General Public Licenses are designed to make sure that you ++have the freedom to distribute copies of free software (and charge for ++this service if you wish), that you receive source code or can get it ++if you want it, that you can change the software or use pieces of it ++in new free programs; and that you know you can do these things. ++ ++ To protect your rights, we need to make restrictions that forbid ++anyone to deny you these rights or to ask you to surrender the rights. ++These restrictions translate to certain responsibilities for you if you ++distribute copies of the software, or if you modify it. ++ ++ For example, if you distribute copies of such a program, whether ++gratis or for a fee, you must give the recipients all the rights that ++you have. You must make sure that they, too, receive or can get the ++source code. And you must show them these terms so they know their ++rights. ++ ++ We protect your rights with two steps: (1) copyright the software, and ++(2) offer you this license which gives you legal permission to copy, ++distribute and/or modify the software. ++ ++ Also, for each author's protection and ours, we want to make certain ++that everyone understands that there is no warranty for this free ++software. If the software is modified by someone else and passed on, we ++want its recipients to know that what they have is not the original, so ++that any problems introduced by others will not reflect on the original ++authors' reputations. ++ ++ Finally, any free program is threatened constantly by software ++patents. We wish to avoid the danger that redistributors of a free ++program will individually obtain patent licenses, in effect making the ++program proprietary. To prevent this, we have made it clear that any ++patent must be licensed for everyone's free use or not licensed at all. ++ ++ The precise terms and conditions for copying, distribution and ++modification follow. ++ ++ GNU GENERAL PUBLIC LICENSE ++ TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION ++ ++ 0. This License applies to any program or other work which contains ++a notice placed by the copyright holder saying it may be distributed ++under the terms of this General Public License. The "Program", below, ++refers to any such program or work, and a "work based on the Program" ++means either the Program or any derivative work under copyright law: ++that is to say, a work containing the Program or a portion of it, ++either verbatim or with modifications and/or translated into another ++language. (Hereinafter, translation is included without limitation in ++the term "modification".) Each licensee is addressed as "you". ++ ++Activities other than copying, distribution and modification are not ++covered by this License; they are outside its scope. The act of ++running the Program is not restricted, and the output from the Program ++is covered only if its contents constitute a work based on the ++Program (independent of having been made by running the Program). ++Whether that is true depends on what the Program does. ++ ++ 1. You may copy and distribute verbatim copies of the Program's ++source code as you receive it, in any medium, provided that you ++conspicuously and appropriately publish on each copy an appropriate ++copyright notice and disclaimer of warranty; keep intact all the ++notices that refer to this License and to the absence of any warranty; ++and give any other recipients of the Program a copy of this License ++along with the Program. ++ ++You may charge a fee for the physical act of transferring a copy, and ++you may at your option offer warranty protection in exchange for a fee. ++ ++ 2. You may modify your copy or copies of the Program or any portion ++of it, thus forming a work based on the Program, and copy and ++distribute such modifications or work under the terms of Section 1 ++above, provided that you also meet all of these conditions: ++ ++ a) You must cause the modified files to carry prominent notices ++ stating that you changed the files and the date of any change. ++ ++ b) You must cause any work that you distribute or publish, that in ++ whole or in part contains or is derived from the Program or any ++ part thereof, to be licensed as a whole at no charge to all third ++ parties under the terms of this License. ++ ++ c) If the modified program normally reads commands interactively ++ when run, you must cause it, when started running for such ++ interactive use in the most ordinary way, to print or display an ++ announcement including an appropriate copyright notice and a ++ notice that there is no warranty (or else, saying that you provide ++ a warranty) and that users may redistribute the program under ++ these conditions, and telling the user how to view a copy of this ++ License. (Exception: if the Program itself is interactive but ++ does not normally print such an announcement, your work based on ++ the Program is not required to print an announcement.) ++ ++These requirements apply to the modified work as a whole. If ++identifiable sections of that work are not derived from the Program, ++and can be reasonably considered independent and separate works in ++themselves, then this License, and its terms, do not apply to those ++sections when you distribute them as separate works. But when you ++distribute the same sections as part of a whole which is a work based ++on the Program, the distribution of the whole must be on the terms of ++this License, whose permissions for other licensees extend to the ++entire whole, and thus to each and every part regardless of who wrote it. ++ ++Thus, it is not the intent of this section to claim rights or contest ++your rights to work written entirely by you; rather, the intent is to ++exercise the right to control the distribution of derivative or ++collective works based on the Program. ++ ++In addition, mere aggregation of another work not based on the Program ++with the Program (or with a work based on the Program) on a volume of ++a storage or distribution medium does not bring the other work under ++the scope of this License. ++ ++ 3. You may copy and distribute the Program (or a work based on it, ++under Section 2) in object code or executable form under the terms of ++Sections 1 and 2 above provided that you also do one of the following: ++ ++ a) Accompany it with the complete corresponding machine-readable ++ source code, which must be distributed under the terms of Sections ++ 1 and 2 above on a medium customarily used for software interchange; or, ++ ++ b) Accompany it with a written offer, valid for at least three ++ years, to give any third party, for a charge no more than your ++ cost of physically performing source distribution, a complete ++ machine-readable copy of the corresponding source code, to be ++ distributed under the terms of Sections 1 and 2 above on a medium ++ customarily used for software interchange; or, ++ ++ c) Accompany it with the information you received as to the offer ++ to distribute corresponding source code. (This alternative is ++ allowed only for noncommercial distribution and only if you ++ received the program in object code or executable form with such ++ an offer, in accord with Subsection b above.) ++ ++The source code for a work means the preferred form of the work for ++making modifications to it. For an executable work, complete source ++code means all the source code for all modules it contains, plus any ++associated interface definition files, plus the scripts used to ++control compilation and installation of the executable. However, as a ++special exception, the source code distributed need not include ++anything that is normally distributed (in either source or binary ++form) with the major components (compiler, kernel, and so on) of the ++operating system on which the executable runs, unless that component ++itself accompanies the executable. ++ ++If distribution of executable or object code is made by offering ++access to copy from a designated place, then offering equivalent ++access to copy the source code from the same place counts as ++distribution of the source code, even though third parties are not ++compelled to copy the source along with the object code. ++ ++ 4. You may not copy, modify, sublicense, or distribute the Program ++except as expressly provided under this License. Any attempt ++otherwise to copy, modify, sublicense or distribute the Program is ++void, and will automatically terminate your rights under this License. ++However, parties who have received copies, or rights, from you under ++this License will not have their licenses terminated so long as such ++parties remain in full compliance. ++ ++ 5. You are not required to accept this License, since you have not ++signed it. However, nothing else grants you permission to modify or ++distribute the Program or its derivative works. These actions are ++prohibited by law if you do not accept this License. Therefore, by ++modifying or distributing the Program (or any work based on the ++Program), you indicate your acceptance of this License to do so, and ++all its terms and conditions for copying, distributing or modifying ++the Program or works based on it. ++ ++ 6. Each time you redistribute the Program (or any work based on the ++Program), the recipient automatically receives a license from the ++original licensor to copy, distribute or modify the Program subject to ++these terms and conditions. You may not impose any further ++restrictions on the recipients' exercise of the rights granted herein. ++You are not responsible for enforcing compliance by third parties to ++this License. ++ ++ 7. If, as a consequence of a court judgment or allegation of patent ++infringement or for any other reason (not limited to patent issues), ++conditions are imposed on you (whether by court order, agreement or ++otherwise) that contradict the conditions of this License, they do not ++excuse you from the conditions of this License. If you cannot ++distribute so as to satisfy simultaneously your obligations under this ++License and any other pertinent obligations, then as a consequence you ++may not distribute the Program at all. For example, if a patent ++license would not permit royalty-free redistribution of the Program by ++all those who receive copies directly or indirectly through you, then ++the only way you could satisfy both it and this License would be to ++refrain entirely from distribution of the Program. ++ ++If any portion of this section is held invalid or unenforceable under ++any particular circumstance, the balance of the section is intended to ++apply and the section as a whole is intended to apply in other ++circumstances. ++ ++It is not the purpose of this section to induce you to infringe any ++patents or other property right claims or to contest validity of any ++such claims; this section has the sole purpose of protecting the ++integrity of the free software distribution system, which is ++implemented by public license practices. Many people have made ++generous contributions to the wide range of software distributed ++through that system in reliance on consistent application of that ++system; it is up to the author/donor to decide if he or she is willing ++to distribute software through any other system and a licensee cannot ++impose that choice. ++ ++This section is intended to make thoroughly clear what is believed to ++be a consequence of the rest of this License. ++ ++ 8. If the distribution and/or use of the Program is restricted in ++certain countries either by patents or by copyrighted interfaces, the ++original copyright holder who places the Program under this License ++may add an explicit geographical distribution limitation excluding ++those countries, so that distribution is permitted only in or among ++countries not thus excluded. In such case, this License incorporates ++the limitation as if written in the body of this License. ++ ++ 9. The Free Software Foundation may publish revised and/or new versions ++of the General Public License from time to time. Such new versions will ++be similar in spirit to the present version, but may differ in detail to ++address new problems or concerns. ++ ++Each version is given a distinguishing version number. If the Program ++specifies a version number of this License which applies to it and "any ++later version", you have the option of following the terms and conditions ++either of that version or of any later version published by the Free ++Software Foundation. If the Program does not specify a version number of ++this License, you may choose any version ever published by the Free Software ++Foundation. ++ ++ 10. If you wish to incorporate parts of the Program into other free ++programs whose distribution conditions are different, write to the author ++to ask for permission. For software which is copyrighted by the Free ++Software Foundation, write to the Free Software Foundation; we sometimes ++make exceptions for this. Our decision will be guided by the two goals ++of preserving the free status of all derivatives of our free software and ++of promoting the sharing and reuse of software generally. ++ ++ NO WARRANTY ++ ++ 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY ++FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN ++OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES ++PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED ++OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF ++MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS ++TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE ++PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, ++REPAIR OR CORRECTION. ++ ++ 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING ++WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR ++REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, ++INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING ++OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED ++TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY ++YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER ++PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE ++POSSIBILITY OF SUCH DAMAGES. ++ ++ END OF TERMS AND CONDITIONS ++ ++ How to Apply These Terms to Your New Programs ++ ++ If you develop a new program, and you want it to be of the greatest ++possible use to the public, the best way to achieve this is to make it ++free software which everyone can redistribute and change under these terms. ++ ++ To do so, attach the following notices to the program. It is safest ++to attach them to the start of each source file to most effectively ++convey the exclusion of warranty; and each file should have at least ++the "copyright" line and a pointer to where the full notice is found. ++ ++ ++ Copyright (C) ++ ++ This program is free software; you can redistribute it and/or modify ++ it under the terms of the GNU General Public License as published by ++ the Free Software Foundation; either version 2 of the License, or ++ (at your option) any later version. ++ ++ 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. ++ ++Also add information on how to contact you by electronic and paper mail. ++ ++If the program is interactive, make it output a short notice like this ++when it starts in an interactive mode: ++ ++ Gnomovision version 69, Copyright (C) year name of author ++ Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'. ++ This is free software, and you are welcome to redistribute it ++ under certain conditions; type `show c' for details. ++ ++The hypothetical commands `show w' and `show c' should show the appropriate ++parts of the General Public License. Of course, the commands you use may ++be called something other than `show w' and `show c'; they could even be ++mouse-clicks or menu items--whatever suits your program. ++ ++You should also get your employer (if you work as a programmer) or your ++school, if any, to sign a "copyright disclaimer" for the program, if ++necessary. Here is a sample; alter the names: ++ ++ Yoyodyne, Inc., hereby disclaims all copyright interest in the program ++ `Gnomovision' (which makes passes at compilers) written by James Hacker. ++ ++ , 1 April 1989 ++ Ty Coon, President of Vice ++ ++This General Public License does not permit incorporating your program into ++proprietary programs. If your program is a subroutine library, you may ++consider it more useful to permit linking proprietary applications with the ++library. If this is what you want to do, use the GNU Lesser General ++Public License instead of this License. +diff --git a/README.licensing b/README.licensing +index 2af646246..4454f8392 100644 +--- a/README.licensing ++++ b/README.licensing +@@ -4,7 +4,7 @@ There is code under: + + * GPL-1.0-or-later - GNU General Public License version 1, or any later version + +- * GPL-2.0 - GNU General Public License version 2 ++ * GPL-2.0-only - GNU General Public License version 2 + + * GPL-2.0-or-later - GNU General Public License version 2, or any later version + +diff --git a/sys-utils/lscpu-dmi.c b/sys-utils/lscpu-dmi.c +index d8fc3dc7b..2171f7623 100644 +--- a/sys-utils/lscpu-dmi.c ++++ b/sys-utils/lscpu-dmi.c +@@ -1,5 +1,5 @@ + /* +- * SPDX-License-Identifier: GPL-2.0 ++ * SPDX-License-Identifier: GPL-2.0-only + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by +diff --git a/sys-utils/nsenter.c b/sys-utils/nsenter.c +index 73ada265b..8f7bac922 100644 +--- a/sys-utils/nsenter.c ++++ b/sys-utils/nsenter.c +@@ -1,5 +1,5 @@ + /* +- * SPDX-License-Identifier: GPL-2.0 ++ * SPDX-License-Identifier: GPL-2.0-only + * + * This program is free software; you can redistribute it and/or modify it + * under the terms of the GNU General Public License as published by the +-- +2.43.2 + diff --git a/util-linux.spec b/util-linux.spec index 826ae17..15ecb20 100644 --- a/util-linux.spec +++ b/util-linux.spec @@ -3,7 +3,7 @@ Summary: Collection of basic system utilities Name: util-linux Version: 2.40 Release: %autorelease -p -e rc1 -License: GPL-1.0-or-later AND GPL-2.0 AND GPL-2.0-or-later AND GPL-3.0-or-later AND LGPL-2.1-or-later AND BSD-2-Clause AND BSD-3-Clause AND BSD-4-Clause-UC AND LicenseRef-Fedora-Public-Domain +License: GPL-1.0-or-later AND GPL-2.0-only AND GPL-2.0-or-later AND GPL-3.0-or-later AND LGPL-2.1-or-later AND BSD-2-Clause AND BSD-3-Clause AND BSD-4-Clause-UC AND LicenseRef-Fedora-Public-Domain URL: https://en.wikipedia.org/wiki/Util-linux ### Macros @@ -98,7 +98,9 @@ Patch0: login-lastlog-create.patch # https://github.com/coreos/console-login-helper-messages/issues/60 Patch1: login-default-motd-file.patch +#### Upstream Patch2: 0001-setpriv-apply-landlock-without-configuration.patch +Patch3: 0001-docs-use-proper-XSPD-identifier-for-GPL-2.0.patch %description The util-linux package contains a large variety of low-level system @@ -109,7 +111,8 @@ 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 +License: GPL-2.0-only AND GPL-2.0-or-later AND BSD-2-Clause AND BSD-3-Clause AND BSD-4-Clause-UC AND LicenseRef-Fedora-Public-Domain + Provides: /bin/dmesg Provides: /bin/kill Provides: /bin/more @@ -135,7 +138,7 @@ minimal installations. %package -n libfdisk Summary: Partitioning library for fdisk-like programs -License: LGPLv2+ +License: LGPL-2.1-or-later %description -n libfdisk This is library for fdisk-like programs, part of util-linux. @@ -143,7 +146,7 @@ This is library for fdisk-like programs, part of util-linux. %package -n libfdisk-devel Summary: Partitioning library for fdisk-like programs -License: LGPLv2+ +License: LGPL-2.1-or-later Requires: libfdisk%{?_isa} = %{version}-%{release} Requires: pkgconfig @@ -154,7 +157,7 @@ part of util-linux. %package -n libsmartcols Summary: Formatting library for ls-like programs -License: LGPLv2+ +License: LGPL-2.1-or-later %description -n libsmartcols This is library for ls-like terminal programs, part of util-linux. @@ -162,7 +165,7 @@ 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+ +License: LGPL-2.1-or-later Requires: libsmartcols%{?_isa} = %{version}-%{release} Requires: pkgconfig @@ -173,7 +176,7 @@ part of util-linux. %package -n libmount Summary: Device mounting library -License: LGPLv2+ +License: LGPL-2.1-or-later Requires: libblkid%{?_isa} = %{version}-%{release} Requires: libuuid%{?_isa} = %{version}-%{release} Conflicts: filesystem < 3 @@ -184,7 +187,7 @@ This is the device mounting library, part of util-linux. %package -n libmount-devel Summary: Device mounting library -License: LGPLv2+ +License: LGPL-2.1-or-later Requires: libmount%{?_isa} = %{version}-%{release} Requires: pkgconfig @@ -195,7 +198,7 @@ part of util-linux. %package -n libblkid Summary: Block device ID library -License: LGPLv2+ +License: LGPL-2.1-or-later Requires: libuuid%{?_isa} = %{version}-%{release} Conflicts: filesystem < 3 @@ -205,7 +208,7 @@ This is block device identification library, part of util-linux. %package -n libblkid-devel Summary: Block device ID library -License: LGPLv2+ +License: LGPL-2.1-or-later Requires: libblkid%{?_isa} = %{version}-%{release} Requires: pkgconfig @@ -216,7 +219,7 @@ part of util-linux. %package -n libuuid Summary: Universally unique ID library -License: BSD +License: BSD-3-Clause Conflicts: filesystem < 3 %description -n libuuid @@ -233,7 +236,7 @@ See also the "uuid" package, which is a separate implementation. %package -n libuuid-devel Summary: Universally unique ID library -License: BSD +License: BSD-3-Clause AND LGPL-2.1-or-later Requires: libuuid%{?_isa} = %{version}-%{release} Requires: pkgconfig @@ -254,7 +257,7 @@ 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 +License: GPL-2.0-only Requires(pre): shadow-utils %{?systemd_ordering} @@ -267,7 +270,7 @@ SMP systems. %package -n %{pypkg}-libmount Summary: Python bindings for the libmount library Requires: libmount%{?_isa} = %{version}-%{release} -License: LGPLv2+ +License: LGPL-2.1-or-later %description -n %{pypkg}-libmount The libmount-python package contains a module that permits applications @@ -279,7 +282,7 @@ mountinfo, etc) and mount filesystems. %package -n util-linux-i18n Summary: Internationalization pack for util-linux Requires: util-linux = %{version}-%{release} -License: GPLv2 +License: GPL-2.0-or-later %description -n util-linux-i18n Internationalization pack with translated messages and manual pages for @@ -777,6 +780,7 @@ fi %files -n util-linux-core +%license Documentation/licenses/* %attr(4755,root,root) %{_bindir}/mount %attr(4755,root,root) %{_bindir}/umount %{_bindir}/chrt @@ -868,7 +872,7 @@ fi %files -n uuidd -%license Documentation/licenses/COPYING.GPL-2.0-or-later +%license Documentation/licenses/COPYING.GPL-2.0-only %{_mandir}/man8/uuidd.8* %{_sbindir}/uuidd %{_unitdir}/uuidd.* @@ -879,41 +883,44 @@ fi %files -n libfdisk -%license Documentation/licenses/COPYING.LGPL-2.1-or-later libfdisk/COPYING +%license Documentation/licenses/COPYING.LGPL-2.1-or-later %{_libdir}/libfdisk.so.* %files -n libfdisk-devel +%license Documentation/licenses/COPYING.LGPL-2.1-or-later %{_libdir}/libfdisk.so %{_includedir}/libfdisk %{_libdir}/pkgconfig/fdisk.pc %files -n libsmartcols -%license Documentation/licenses/COPYING.LGPL-2.1-or-later libsmartcols/COPYING +%license Documentation/licenses/COPYING.LGPL-2.1-or-later %{_libdir}/libsmartcols.so.* %files -n libsmartcols-devel +%license Documentation/licenses/COPYING.LGPL-2.1-or-later %{_libdir}/libsmartcols.so %{_includedir}/libsmartcols %{_libdir}/pkgconfig/smartcols.pc %files -n libmount -%license Documentation/licenses/COPYING.LGPL-2.1-or-later libmount/COPYING +%license Documentation/licenses/COPYING.LGPL-2.1-or-later %{_libdir}/libmount.so.* %files -n libmount-devel +%license Documentation/licenses/COPYING.LGPL-2.1-or-later %{_libdir}/libmount.so %{_includedir}/libmount %{_libdir}/pkgconfig/mount.pc %files -n libblkid -%doc libblkid/COPYING +%license Documentation/licenses/COPYING.LGPL-2.1-or-later %{_libdir}/libblkid.so.* %files -n libblkid-devel -%doc libblkid/COPYING +%license Documentation/licenses/COPYING.LGPL-2.1-or-later %{_libdir}/libblkid.so %{_includedir}/blkid %{_mandir}/man3/libblkid.3* @@ -921,10 +928,11 @@ fi %files -n libuuid -%license Documentation/licenses/COPYING.BSD-3-Clause libuuid/COPYING +%license Documentation/licenses/COPYING.BSD-3-Clause %{_libdir}/libuuid.so.* %files -n libuuid-devel +%license Documentation/licenses/COPYING.BSD-3-Clause Documentation/licenses/COPYING.LGPL-2.1-or-later %{_libdir}/libuuid.so %{_includedir}/uuid %{_mandir}/man3/uuid.3* @@ -942,10 +950,11 @@ fi %{_libdir}/pkgconfig/uuid.pc %files -n %{pypkg}-libmount -%license Documentation/licenses/COPYING.LGPL-2.1-or-later libmount/COPYING +%license Documentation/licenses/COPYING.LGPL-2.1-or-later %{_libdir}/python*/site-packages/libmount/ %files -n util-linux-i18n -f %{name}.lang +%license Documentation/licenses/COPYING.GPL-2.0-or-later %changelog %autochangelog From bc83b318ded4e7ed042511c40b1c4e14928ba841 Mon Sep 17 00:00:00 2001 From: Karel Zak Date: Fri, 29 Mar 2024 08:13:14 +0100 Subject: [PATCH 179/232] upgrade to v2.40 --- .gitignore | 1 + ...e-proper-XSPD-identifier-for-GPL-2.0.patch | 387 ------------------ ...apply-landlock-without-configuration.patch | 32 -- sources | 2 +- util-linux.spec | 14 +- 5 files changed, 6 insertions(+), 430 deletions(-) delete mode 100644 0001-docs-use-proper-XSPD-identifier-for-GPL-2.0.patch delete mode 100644 0001-setpriv-apply-landlock-without-configuration.patch diff --git a/.gitignore b/.gitignore index 3e24365..fb30fd7 100644 --- a/.gitignore +++ b/.gitignore @@ -95,3 +95,4 @@ /util-linux-2.39.2.tar.xz /util-linux-2.39.3.tar.xz /util-linux-2.40-rc1.tar.xz +/util-linux-2.40.tar.xz diff --git a/0001-docs-use-proper-XSPD-identifier-for-GPL-2.0.patch b/0001-docs-use-proper-XSPD-identifier-for-GPL-2.0.patch deleted file mode 100644 index 4e9c6ff..0000000 --- a/0001-docs-use-proper-XSPD-identifier-for-GPL-2.0.patch +++ /dev/null @@ -1,387 +0,0 @@ -Basede on upstream: - 9769e7b9562d5b856e95a93d0935f864be00baf9 - 1ea0695525dc89afaf3ef78807426e494683dc33 - -diff --git a/Documentation/licenses/COPYING.GPL-2.0-only b/Documentation/licenses/COPYING.GPL-2.0-only -new file mode 100644 -index 000000000..d159169d1 ---- /dev/null -+++ b/Documentation/licenses/COPYING.GPL-2.0-only -@@ -0,0 +1,339 @@ -+ GNU GENERAL PUBLIC LICENSE -+ Version 2, June 1991 -+ -+ Copyright (C) 1989, 1991 Free Software Foundation, Inc., -+ 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA -+ Everyone is permitted to copy and distribute verbatim copies -+ of this license document, but changing it is not allowed. -+ -+ Preamble -+ -+ The licenses for most software are designed to take away your -+freedom to share and change it. By contrast, the GNU General Public -+License is intended to guarantee your freedom to share and change free -+software--to make sure the software is free for all its users. This -+General Public License applies to most of the Free Software -+Foundation's software and to any other program whose authors commit to -+using it. (Some other Free Software Foundation software is covered by -+the GNU Lesser General Public License instead.) You can apply it to -+your programs, too. -+ -+ When we speak of free software, we are referring to freedom, not -+price. Our General Public Licenses are designed to make sure that you -+have the freedom to distribute copies of free software (and charge for -+this service if you wish), that you receive source code or can get it -+if you want it, that you can change the software or use pieces of it -+in new free programs; and that you know you can do these things. -+ -+ To protect your rights, we need to make restrictions that forbid -+anyone to deny you these rights or to ask you to surrender the rights. -+These restrictions translate to certain responsibilities for you if you -+distribute copies of the software, or if you modify it. -+ -+ For example, if you distribute copies of such a program, whether -+gratis or for a fee, you must give the recipients all the rights that -+you have. You must make sure that they, too, receive or can get the -+source code. And you must show them these terms so they know their -+rights. -+ -+ We protect your rights with two steps: (1) copyright the software, and -+(2) offer you this license which gives you legal permission to copy, -+distribute and/or modify the software. -+ -+ Also, for each author's protection and ours, we want to make certain -+that everyone understands that there is no warranty for this free -+software. If the software is modified by someone else and passed on, we -+want its recipients to know that what they have is not the original, so -+that any problems introduced by others will not reflect on the original -+authors' reputations. -+ -+ Finally, any free program is threatened constantly by software -+patents. We wish to avoid the danger that redistributors of a free -+program will individually obtain patent licenses, in effect making the -+program proprietary. To prevent this, we have made it clear that any -+patent must be licensed for everyone's free use or not licensed at all. -+ -+ The precise terms and conditions for copying, distribution and -+modification follow. -+ -+ GNU GENERAL PUBLIC LICENSE -+ TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION -+ -+ 0. This License applies to any program or other work which contains -+a notice placed by the copyright holder saying it may be distributed -+under the terms of this General Public License. The "Program", below, -+refers to any such program or work, and a "work based on the Program" -+means either the Program or any derivative work under copyright law: -+that is to say, a work containing the Program or a portion of it, -+either verbatim or with modifications and/or translated into another -+language. (Hereinafter, translation is included without limitation in -+the term "modification".) Each licensee is addressed as "you". -+ -+Activities other than copying, distribution and modification are not -+covered by this License; they are outside its scope. The act of -+running the Program is not restricted, and the output from the Program -+is covered only if its contents constitute a work based on the -+Program (independent of having been made by running the Program). -+Whether that is true depends on what the Program does. -+ -+ 1. You may copy and distribute verbatim copies of the Program's -+source code as you receive it, in any medium, provided that you -+conspicuously and appropriately publish on each copy an appropriate -+copyright notice and disclaimer of warranty; keep intact all the -+notices that refer to this License and to the absence of any warranty; -+and give any other recipients of the Program a copy of this License -+along with the Program. -+ -+You may charge a fee for the physical act of transferring a copy, and -+you may at your option offer warranty protection in exchange for a fee. -+ -+ 2. You may modify your copy or copies of the Program or any portion -+of it, thus forming a work based on the Program, and copy and -+distribute such modifications or work under the terms of Section 1 -+above, provided that you also meet all of these conditions: -+ -+ a) You must cause the modified files to carry prominent notices -+ stating that you changed the files and the date of any change. -+ -+ b) You must cause any work that you distribute or publish, that in -+ whole or in part contains or is derived from the Program or any -+ part thereof, to be licensed as a whole at no charge to all third -+ parties under the terms of this License. -+ -+ c) If the modified program normally reads commands interactively -+ when run, you must cause it, when started running for such -+ interactive use in the most ordinary way, to print or display an -+ announcement including an appropriate copyright notice and a -+ notice that there is no warranty (or else, saying that you provide -+ a warranty) and that users may redistribute the program under -+ these conditions, and telling the user how to view a copy of this -+ License. (Exception: if the Program itself is interactive but -+ does not normally print such an announcement, your work based on -+ the Program is not required to print an announcement.) -+ -+These requirements apply to the modified work as a whole. If -+identifiable sections of that work are not derived from the Program, -+and can be reasonably considered independent and separate works in -+themselves, then this License, and its terms, do not apply to those -+sections when you distribute them as separate works. But when you -+distribute the same sections as part of a whole which is a work based -+on the Program, the distribution of the whole must be on the terms of -+this License, whose permissions for other licensees extend to the -+entire whole, and thus to each and every part regardless of who wrote it. -+ -+Thus, it is not the intent of this section to claim rights or contest -+your rights to work written entirely by you; rather, the intent is to -+exercise the right to control the distribution of derivative or -+collective works based on the Program. -+ -+In addition, mere aggregation of another work not based on the Program -+with the Program (or with a work based on the Program) on a volume of -+a storage or distribution medium does not bring the other work under -+the scope of this License. -+ -+ 3. You may copy and distribute the Program (or a work based on it, -+under Section 2) in object code or executable form under the terms of -+Sections 1 and 2 above provided that you also do one of the following: -+ -+ a) Accompany it with the complete corresponding machine-readable -+ source code, which must be distributed under the terms of Sections -+ 1 and 2 above on a medium customarily used for software interchange; or, -+ -+ b) Accompany it with a written offer, valid for at least three -+ years, to give any third party, for a charge no more than your -+ cost of physically performing source distribution, a complete -+ machine-readable copy of the corresponding source code, to be -+ distributed under the terms of Sections 1 and 2 above on a medium -+ customarily used for software interchange; or, -+ -+ c) Accompany it with the information you received as to the offer -+ to distribute corresponding source code. (This alternative is -+ allowed only for noncommercial distribution and only if you -+ received the program in object code or executable form with such -+ an offer, in accord with Subsection b above.) -+ -+The source code for a work means the preferred form of the work for -+making modifications to it. For an executable work, complete source -+code means all the source code for all modules it contains, plus any -+associated interface definition files, plus the scripts used to -+control compilation and installation of the executable. However, as a -+special exception, the source code distributed need not include -+anything that is normally distributed (in either source or binary -+form) with the major components (compiler, kernel, and so on) of the -+operating system on which the executable runs, unless that component -+itself accompanies the executable. -+ -+If distribution of executable or object code is made by offering -+access to copy from a designated place, then offering equivalent -+access to copy the source code from the same place counts as -+distribution of the source code, even though third parties are not -+compelled to copy the source along with the object code. -+ -+ 4. You may not copy, modify, sublicense, or distribute the Program -+except as expressly provided under this License. Any attempt -+otherwise to copy, modify, sublicense or distribute the Program is -+void, and will automatically terminate your rights under this License. -+However, parties who have received copies, or rights, from you under -+this License will not have their licenses terminated so long as such -+parties remain in full compliance. -+ -+ 5. You are not required to accept this License, since you have not -+signed it. However, nothing else grants you permission to modify or -+distribute the Program or its derivative works. These actions are -+prohibited by law if you do not accept this License. Therefore, by -+modifying or distributing the Program (or any work based on the -+Program), you indicate your acceptance of this License to do so, and -+all its terms and conditions for copying, distributing or modifying -+the Program or works based on it. -+ -+ 6. Each time you redistribute the Program (or any work based on the -+Program), the recipient automatically receives a license from the -+original licensor to copy, distribute or modify the Program subject to -+these terms and conditions. You may not impose any further -+restrictions on the recipients' exercise of the rights granted herein. -+You are not responsible for enforcing compliance by third parties to -+this License. -+ -+ 7. If, as a consequence of a court judgment or allegation of patent -+infringement or for any other reason (not limited to patent issues), -+conditions are imposed on you (whether by court order, agreement or -+otherwise) that contradict the conditions of this License, they do not -+excuse you from the conditions of this License. If you cannot -+distribute so as to satisfy simultaneously your obligations under this -+License and any other pertinent obligations, then as a consequence you -+may not distribute the Program at all. For example, if a patent -+license would not permit royalty-free redistribution of the Program by -+all those who receive copies directly or indirectly through you, then -+the only way you could satisfy both it and this License would be to -+refrain entirely from distribution of the Program. -+ -+If any portion of this section is held invalid or unenforceable under -+any particular circumstance, the balance of the section is intended to -+apply and the section as a whole is intended to apply in other -+circumstances. -+ -+It is not the purpose of this section to induce you to infringe any -+patents or other property right claims or to contest validity of any -+such claims; this section has the sole purpose of protecting the -+integrity of the free software distribution system, which is -+implemented by public license practices. Many people have made -+generous contributions to the wide range of software distributed -+through that system in reliance on consistent application of that -+system; it is up to the author/donor to decide if he or she is willing -+to distribute software through any other system and a licensee cannot -+impose that choice. -+ -+This section is intended to make thoroughly clear what is believed to -+be a consequence of the rest of this License. -+ -+ 8. If the distribution and/or use of the Program is restricted in -+certain countries either by patents or by copyrighted interfaces, the -+original copyright holder who places the Program under this License -+may add an explicit geographical distribution limitation excluding -+those countries, so that distribution is permitted only in or among -+countries not thus excluded. In such case, this License incorporates -+the limitation as if written in the body of this License. -+ -+ 9. The Free Software Foundation may publish revised and/or new versions -+of the General Public License from time to time. Such new versions will -+be similar in spirit to the present version, but may differ in detail to -+address new problems or concerns. -+ -+Each version is given a distinguishing version number. If the Program -+specifies a version number of this License which applies to it and "any -+later version", you have the option of following the terms and conditions -+either of that version or of any later version published by the Free -+Software Foundation. If the Program does not specify a version number of -+this License, you may choose any version ever published by the Free Software -+Foundation. -+ -+ 10. If you wish to incorporate parts of the Program into other free -+programs whose distribution conditions are different, write to the author -+to ask for permission. For software which is copyrighted by the Free -+Software Foundation, write to the Free Software Foundation; we sometimes -+make exceptions for this. Our decision will be guided by the two goals -+of preserving the free status of all derivatives of our free software and -+of promoting the sharing and reuse of software generally. -+ -+ NO WARRANTY -+ -+ 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY -+FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN -+OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES -+PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED -+OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF -+MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS -+TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE -+PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, -+REPAIR OR CORRECTION. -+ -+ 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING -+WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR -+REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, -+INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING -+OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED -+TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY -+YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER -+PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE -+POSSIBILITY OF SUCH DAMAGES. -+ -+ END OF TERMS AND CONDITIONS -+ -+ How to Apply These Terms to Your New Programs -+ -+ If you develop a new program, and you want it to be of the greatest -+possible use to the public, the best way to achieve this is to make it -+free software which everyone can redistribute and change under these terms. -+ -+ To do so, attach the following notices to the program. It is safest -+to attach them to the start of each source file to most effectively -+convey the exclusion of warranty; and each file should have at least -+the "copyright" line and a pointer to where the full notice is found. -+ -+ -+ Copyright (C) -+ -+ This program is free software; you can redistribute it and/or modify -+ it under the terms of the GNU General Public License as published by -+ the Free Software Foundation; either version 2 of the License, or -+ (at your option) any later version. -+ -+ 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. -+ -+Also add information on how to contact you by electronic and paper mail. -+ -+If the program is interactive, make it output a short notice like this -+when it starts in an interactive mode: -+ -+ Gnomovision version 69, Copyright (C) year name of author -+ Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'. -+ This is free software, and you are welcome to redistribute it -+ under certain conditions; type `show c' for details. -+ -+The hypothetical commands `show w' and `show c' should show the appropriate -+parts of the General Public License. Of course, the commands you use may -+be called something other than `show w' and `show c'; they could even be -+mouse-clicks or menu items--whatever suits your program. -+ -+You should also get your employer (if you work as a programmer) or your -+school, if any, to sign a "copyright disclaimer" for the program, if -+necessary. Here is a sample; alter the names: -+ -+ Yoyodyne, Inc., hereby disclaims all copyright interest in the program -+ `Gnomovision' (which makes passes at compilers) written by James Hacker. -+ -+ , 1 April 1989 -+ Ty Coon, President of Vice -+ -+This General Public License does not permit incorporating your program into -+proprietary programs. If your program is a subroutine library, you may -+consider it more useful to permit linking proprietary applications with the -+library. If this is what you want to do, use the GNU Lesser General -+Public License instead of this License. -diff --git a/README.licensing b/README.licensing -index 2af646246..4454f8392 100644 ---- a/README.licensing -+++ b/README.licensing -@@ -4,7 +4,7 @@ There is code under: - - * GPL-1.0-or-later - GNU General Public License version 1, or any later version - -- * GPL-2.0 - GNU General Public License version 2 -+ * GPL-2.0-only - GNU General Public License version 2 - - * GPL-2.0-or-later - GNU General Public License version 2, or any later version - -diff --git a/sys-utils/lscpu-dmi.c b/sys-utils/lscpu-dmi.c -index d8fc3dc7b..2171f7623 100644 ---- a/sys-utils/lscpu-dmi.c -+++ b/sys-utils/lscpu-dmi.c -@@ -1,5 +1,5 @@ - /* -- * SPDX-License-Identifier: GPL-2.0 -+ * SPDX-License-Identifier: GPL-2.0-only - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by -diff --git a/sys-utils/nsenter.c b/sys-utils/nsenter.c -index 73ada265b..8f7bac922 100644 ---- a/sys-utils/nsenter.c -+++ b/sys-utils/nsenter.c -@@ -1,5 +1,5 @@ - /* -- * SPDX-License-Identifier: GPL-2.0 -+ * SPDX-License-Identifier: GPL-2.0-only - * - * This program is free software; you can redistribute it and/or modify it - * under the terms of the GNU General Public License as published by the --- -2.43.2 - diff --git a/0001-setpriv-apply-landlock-without-configuration.patch b/0001-setpriv-apply-landlock-without-configuration.patch deleted file mode 100644 index 287e5da..0000000 --- a/0001-setpriv-apply-landlock-without-configuration.patch +++ /dev/null @@ -1,32 +0,0 @@ -From 211a9da0b4e9704eea210d7944b723fa78272c79 Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Thomas=20Wei=C3=9Fschuh?= -Date: Wed, 31 Jan 2024 18:01:08 +0100 -Subject: [PATCH] setpriv: apply landlock without configuration -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -Fixes #2746 - -Signed-off-by: Thomas Weißschuh ---- - sys-utils/setpriv-landlock.c | 3 +++ - 1 file changed, 3 insertions(+) - -diff --git a/sys-utils/setpriv-landlock.c b/sys-utils/setpriv-landlock.c -index 153e748f6..00ad38c61 100644 ---- a/sys-utils/setpriv-landlock.c -+++ b/sys-utils/setpriv-landlock.c -@@ -166,6 +166,9 @@ void do_landlock(const struct setpriv_landlock_opts *opts) - struct list_head *entry; - int fd, ret; - -+ if (!opts->access_fs) -+ return; -+ - const struct landlock_ruleset_attr ruleset_attr = { - .handled_access_fs = opts->access_fs, - }; --- -2.41.0 - diff --git a/sources b/sources index 07a0cbb..26ecdeb 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (util-linux-2.40-rc1.tar.xz) = ba307c4686c7989c1d563f19ca6a1c06c237de2fe063a51e28aaefee7a1afab49deb94abd80b4263c2d671f791798112b287dc3f1b3d73d755119e01883aaeb0 +SHA512 (util-linux-2.40.tar.xz) = f06e61d4ee0e196223f7341ec75a16a6671f82d6e353823490ecff17e947bb169a6b65177e3ab0da6e733e079b24d6a77905a0e8bbfed82ca9aa22a3facb6180 diff --git a/util-linux.spec b/util-linux.spec index 15ecb20..bf1d64c 100644 --- a/util-linux.spec +++ b/util-linux.spec @@ -2,12 +2,13 @@ Summary: Collection of basic system utilities Name: util-linux Version: 2.40 -Release: %autorelease -p -e rc1 +# -e rc1 +Release: %autorelease -p License: GPL-1.0-or-later AND GPL-2.0-only AND GPL-2.0-or-later AND GPL-3.0-or-later AND LGPL-2.1-or-later AND BSD-2-Clause AND BSD-3-Clause AND BSD-4-Clause-UC AND LicenseRef-Fedora-Public-Domain URL: https://en.wikipedia.org/wiki/Util-linux ### Macros -%global upstream_version %{version}-rc1 +%global upstream_version %{version} %global upstream_major %(eval echo %{version} | sed -e 's/\([[:digit:]]*\)\.\([[:digit:]]*\)\.[[:digit:]]*$/\1.\2/') %global compldir %{_datadir}/bash-completion/completions/ @@ -48,7 +49,6 @@ Source0: https://www.kernel.org/pub/linux/utils/util-linux/v%{upstream_major}/ut 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 @@ -98,10 +98,6 @@ Patch0: login-lastlog-create.patch # https://github.com/coreos/console-login-helper-messages/issues/60 Patch1: login-default-motd-file.patch -#### Upstream -Patch2: 0001-setpriv-apply-landlock-without-configuration.patch -Patch3: 0001-docs-use-proper-XSPD-identifier-for-GPL-2.0.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 @@ -345,13 +341,11 @@ mkdir -p %{buildroot}%{_bindir} mkdir -p %{buildroot}%{_mandir}/man{1,6,8,5} mkdir -p %{buildroot}%{_sbindir} mkdir -p %{buildroot}%{_sysconfdir}/{pam.d,security/console.apps} -mkdir -p %{buildroot}%{_tmpfilesdir}/tmpfiles.d # install util-linux %make_install # And a dirs uuidd needs that the makefiles don't create -install -m 644 %{SOURCE4} %{buildroot}%{_tmpfilesdir}/uuidd.conf install -d %{buildroot}/run/uuidd install -d %{buildroot}/var/lib/libuuid @@ -879,7 +873,7 @@ fi %dir %attr(2775, uuidd, uuidd) /var/lib/libuuid %dir %attr(2775, uuidd, uuidd) /run/uuidd %{compldir}/uuidd -%{_tmpfilesdir}/uuidd.conf +%{_tmpfilesdir}/uuidd-tmpfiles.conf %files -n libfdisk From 981295a856c8c691e1305e6876da93b85df026a1 Mon Sep 17 00:00:00 2001 From: Karel Zak Date: Mon, 8 Apr 2024 10:58:15 +0200 Subject: [PATCH 180/232] remove pre-release option --- util-linux.spec | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/util-linux.spec b/util-linux.spec index bf1d64c..18e254a 100644 --- a/util-linux.spec +++ b/util-linux.spec @@ -2,8 +2,8 @@ Summary: Collection of basic system utilities Name: util-linux Version: 2.40 -# -e rc1 -Release: %autorelease -p +# -p -e rc1 +Release: %autorelease License: GPL-1.0-or-later AND GPL-2.0-only AND GPL-2.0-or-later AND GPL-3.0-or-later AND LGPL-2.1-or-later AND BSD-2-Clause AND BSD-3-Clause AND BSD-4-Clause-UC AND LicenseRef-Fedora-Public-Domain URL: https://en.wikipedia.org/wiki/Util-linux From e345fc8ab4fb999c4065c8d9a98e4deaef6e9242 Mon Sep 17 00:00:00 2001 From: Karel Zak Date: Mon, 6 May 2024 11:12:57 +0200 Subject: [PATCH 181/232] upgrade to stable v2.40.1 --- .gitignore | 1 + sources | 2 +- util-linux.spec | 2 +- 3 files changed, 3 insertions(+), 2 deletions(-) diff --git a/.gitignore b/.gitignore index fb30fd7..9ecda1d 100644 --- a/.gitignore +++ b/.gitignore @@ -96,3 +96,4 @@ /util-linux-2.39.3.tar.xz /util-linux-2.40-rc1.tar.xz /util-linux-2.40.tar.xz +/util-linux-2.40.1.tar.xz diff --git a/sources b/sources index 26ecdeb..442de23 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (util-linux-2.40.tar.xz) = f06e61d4ee0e196223f7341ec75a16a6671f82d6e353823490ecff17e947bb169a6b65177e3ab0da6e733e079b24d6a77905a0e8bbfed82ca9aa22a3facb6180 +SHA512 (util-linux-2.40.1.tar.xz) = 58ec6eb41d4b6bfc544a80e95c71b5f3798ab4d2a9435d3ee9e5edd56f9b3f09bcb154bdd70e002dc018938937e2e946ae731dcda0f86b362fc43423689e41fc diff --git a/util-linux.spec b/util-linux.spec index 18e254a..3d52c8d 100644 --- a/util-linux.spec +++ b/util-linux.spec @@ -1,7 +1,7 @@ ### Header Summary: Collection of basic system utilities Name: util-linux -Version: 2.40 +Version: 2.40.1 # -p -e rc1 Release: %autorelease License: GPL-1.0-or-later AND GPL-2.0-only AND GPL-2.0-or-later AND GPL-3.0-or-later AND LGPL-2.1-or-later AND BSD-2-Clause AND BSD-3-Clause AND BSD-4-Clause-UC AND LicenseRef-Fedora-Public-Domain From 8472af8e2cef61f096a69a8fcf25e8429fd741f8 Mon Sep 17 00:00:00 2001 From: Python Maint Date: Fri, 7 Jun 2024 08:51:30 +0200 Subject: [PATCH 182/232] Rebuilt for Python 3.13 From abe9339a371a544b2ad4ac8a7a152da0fae82a04 Mon Sep 17 00:00:00 2001 From: Karel Zak Date: Thu, 4 Jul 2024 10:39:33 +0200 Subject: [PATCH 183/232] upgrade from v2.40.1 to v2.40.2 https://kernel.org/pub/linux/utils/util-linux/v2.40/v2.40.2-ReleaseNotes --- .gitignore | 1 + sources | 2 +- util-linux.spec | 2 +- 3 files changed, 3 insertions(+), 2 deletions(-) diff --git a/.gitignore b/.gitignore index 9ecda1d..89553dd 100644 --- a/.gitignore +++ b/.gitignore @@ -97,3 +97,4 @@ /util-linux-2.40-rc1.tar.xz /util-linux-2.40.tar.xz /util-linux-2.40.1.tar.xz +/util-linux-2.40.2.tar.xz diff --git a/sources b/sources index 442de23..6967bee 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (util-linux-2.40.1.tar.xz) = 58ec6eb41d4b6bfc544a80e95c71b5f3798ab4d2a9435d3ee9e5edd56f9b3f09bcb154bdd70e002dc018938937e2e946ae731dcda0f86b362fc43423689e41fc +SHA512 (util-linux-2.40.2.tar.xz) = ffe20b915a518a150401d429b0338bc7022190e4ca0ef91a6d9eea345db8c1e11ad01784163b8fcf978506f3f5cad473f29d5d4ef93a4c66a5ae0ebd9fb0c8f2 diff --git a/util-linux.spec b/util-linux.spec index 3d52c8d..0042b1a 100644 --- a/util-linux.spec +++ b/util-linux.spec @@ -1,7 +1,7 @@ ### Header Summary: Collection of basic system utilities Name: util-linux -Version: 2.40.1 +Version: 2.40.2 # -p -e rc1 Release: %autorelease License: GPL-1.0-or-later AND GPL-2.0-only AND GPL-2.0-or-later AND GPL-3.0-or-later AND LGPL-2.1-or-later AND BSD-2-Clause AND BSD-3-Clause AND BSD-4-Clause-UC AND LicenseRef-Fedora-Public-Domain From 480d4cbafaacec08ea9fe60d03b1f1380845ba6b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= Date: Mon, 8 Apr 2024 21:24:08 +0200 Subject: [PATCH 184/232] Add workaround for borked autotools installation https://fedoraproject.org/wiki/Changes/Unify_bin_and_sbin Without this, build on a system with merged-sbin fails. [skip changelog] --- util-linux.spec | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/util-linux.spec b/util-linux.spec index 0042b1a..6cd737d 100644 --- a/util-linux.spec +++ b/util-linux.spec @@ -434,6 +434,11 @@ find %{buildroot}%{_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 +%if "%{_sbindir}" == "%{_bindir}" +# Autotools installation script gets the location wrong :( +mv -v %{buildroot}/usr/sbin/* %{buildroot}/usr/bin/ +%endif + %post %systemd_post fstrim.{service,timer} From c96f6dfba772a76c1c998e395fc9640156baf5a9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= Date: Wed, 10 Apr 2024 22:05:23 +0200 Subject: [PATCH 185/232] Add compat Providess for binaries under /usr/sbin https://fedoraproject.org/wiki/Changes/Unify_bin_and_sbin Requires:/usr/sbin/runuser is present in knot. BuildRequires: /usr/sbin{fsck,sfdisk} used by some other packages. --- util-linux.spec | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/util-linux.spec b/util-linux.spec index 6cd737d..3919360 100644 --- a/util-linux.spec +++ b/util-linux.spec @@ -90,6 +90,14 @@ Requires: libsmartcols = %{version}-%{release} Requires: libfdisk = %{version}-%{release} Requires: util-linux-core = %{version}-%{release} +%if "%{_sbindir}" == "%{_bindir}" +# Compat symlinks for Requires in other packages. +# We rely on filesystem to create the symlinks for us. +Requires: filesystem(unmerged-sbin-symlinks) +Provides: /usr/sbin/runuser +Provides: /usr/sbin/sfdisk +%endif + ### Ready for upstream? ### # 151635 - makeing /var/log/lastlog @@ -127,6 +135,13 @@ Requires: libsmartcols = %{version}-%{release} # old versions of e2fsprogs contain fsck, uuidgen Conflicts: e2fsprogs < 1.41.8-5 +%if "%{_sbindir}" == "%{_bindir}" +# Compat symlinks for Requires in other packages. +# We rely on filesystem to create the symlinks for us. +Requires: filesystem(unmerged-sbin-symlinks) +Provides: /usr/sbin/fsck +%endif + %description -n util-linux-core This is a very basic set of Linux utilities that is necessary on minimal installations. From 479766f342fa0b4b2f2e89090ce623d0c8987e72 Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Sat, 20 Jul 2024 08:28:34 +0000 Subject: [PATCH 186/232] Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild From 0921016466e03ce6d9700c3d15ef74fae6fa7296 Mon Sep 17 00:00:00 2001 From: Daan De Meyer Date: Wed, 14 Aug 2024 13:28:56 +0200 Subject: [PATCH 187/232] Fix whitespace issues --- util-linux.spec | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/util-linux.spec b/util-linux.spec index 3919360..ae2dbca 100644 --- a/util-linux.spec +++ b/util-linux.spec @@ -494,7 +494,7 @@ fi %files -f %{name}.files %doc README NEWS AUTHORS -%doc Documentation/deprecated.txt +%doc Documentation/deprecated.txt %license Documentation/licenses/* %doc misc-utils/getopt-*.{bash,tcsh} @@ -972,4 +972,3 @@ fi %changelog %autochangelog - From 6975c91b719e1ad13d96215197d8b80ce1c62eac Mon Sep 17 00:00:00 2001 From: Daan De Meyer Date: Wed, 14 Aug 2024 13:29:11 +0200 Subject: [PATCH 188/232] Remove setgid and tty group from /usr/bin/write We already require root privileges for /usr/bin/wall so let's do the same for /usr/bin/write. """ -rwxr-xr-x 1 root root 28456 Aug 14 02:00 /usr/bin/wall -rwxr-xr-x 1 root root 36792 Aug 14 02:00 /usr/bin/wdctl -rwxr-xr-x 1 root root 33160 Aug 14 02:00 /usr/bin/whereis -rwxr-xr-x 1 root root 24352 Aug 14 02:00 /usr/bin/write """ --- util-linux.spec | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/util-linux.spec b/util-linux.spec index ae2dbca..e1fc728 100644 --- a/util-linux.spec +++ b/util-linux.spec @@ -511,7 +511,6 @@ fi %attr(4755,root,root) %{_bindir}/su %attr(755,root,root) %{_bindir}/login -%attr(2755,root,tty) %{_bindir}/write %attr(4711,root,root) %{_bindir}/chfn %attr(4711,root,root) %{_bindir}/chsh @@ -570,6 +569,7 @@ fi %{_bindir}/wall %{_bindir}/wdctl %{_bindir}/whereis +%{_bindir}/write %{_mandir}/man1/cal.1* %{_mandir}/man1/chfn.1* %{_mandir}/man1/choom.1* From 5a2471d6e5b0055cb607b30dc2e9613b312ffb74 Mon Sep 17 00:00:00 2001 From: Daan De Meyer Date: Fri, 23 Aug 2024 11:27:11 +0200 Subject: [PATCH 189/232] Move script utilities to util-linux-script subpackage This allows installing util-linux without pulling in the libutempter library which includes a setgid binary that I'd like to avoid installing on my systems. --- util-linux.spec | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) diff --git a/util-linux.spec b/util-linux.spec index e1fc728..6f01ef4 100644 --- a/util-linux.spec +++ b/util-linux.spec @@ -299,6 +299,12 @@ License: GPL-2.0-or-later Internationalization pack with translated messages and manual pages for util-linux commands. +%package -n util-linux-script +Summary: The various script utilities +Requires: util-linux = %{version}-%{release} + +%description -n util-linux-script +The script, scriptreplay and scriptlive utilities. %prep %autosetup -p1 -n %{name}-%{upstream_version} @@ -553,9 +559,6 @@ fi %{_bindir}/prlimit %{_bindir}/rename %{_bindir}/rev -%{_bindir}/script -%{_bindir}/scriptlive -%{_bindir}/scriptreplay %{_bindir}/setarch %{_bindir}/setpgid %{_bindir}/setpriv @@ -970,5 +973,10 @@ fi %files -n util-linux-i18n -f %{name}.lang %license Documentation/licenses/COPYING.GPL-2.0-or-later +%files -n util-linux-script +%{_bindir}/script +%{_bindir}/scriptlive +%{_bindir}/scriptreplay + %changelog %autochangelog From 61d2c55ceb565b0fdc391aded5bd9af71ca026ec Mon Sep 17 00:00:00 2001 From: Karel Zak Date: Tue, 3 Sep 2024 12:15:12 +0200 Subject: [PATCH 190/232] improve util-linux-script subpackage --- util-linux.spec | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/util-linux.spec b/util-linux.spec index 6f01ef4..4017fe7 100644 --- a/util-linux.spec +++ b/util-linux.spec @@ -300,11 +300,11 @@ Internationalization pack with translated messages and manual pages for util-linux commands. %package -n util-linux-script -Summary: The various script utilities +Summary: Utilities for creating and replaying typescripts of terminal session Requires: util-linux = %{version}-%{release} %description -n util-linux-script -The script, scriptreplay and scriptlive utilities. +The utilities scripts, scriptreplay, and scriptlive are used to create and replay terminal sessions. %prep %autosetup -p1 -n %{name}-%{upstream_version} @@ -609,9 +609,6 @@ fi %{_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/setpgid.1* %{_mandir}/man1/setpriv.1* %{_mandir}/man1/setterm.1* @@ -748,9 +745,6 @@ fi %{compldir}/rfkill %{compldir}/rtcwake %{compldir}/runuser -%{compldir}/script -%{compldir}/scriptlive -%{compldir}/scriptreplay %{compldir}/setarch %{compldir}/setpriv %{compldir}/setpgid @@ -977,6 +971,12 @@ fi %{_bindir}/script %{_bindir}/scriptlive %{_bindir}/scriptreplay +%{_mandir}/man1/script.1* +%{_mandir}/man1/scriptlive.1* +%{_mandir}/man1/scriptreplay.1* +%{compldir}/script +%{compldir}/scriptlive +%{compldir}/scriptreplay %changelog %autochangelog From 240d76d679c764ffc52573db7022ac296420c049 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= Date: Sun, 12 Jan 2025 14:42:55 +0100 Subject: [PATCH 191/232] Rebuilt for the bin-sbin merge (2nd attempt) https://fedoraproject.org/wiki/Changes/Unify_bin_and_sbin From d6af9bf445c328efa44d6c3a7acb654a25552975 Mon Sep 17 00:00:00 2001 From: Karel Zak Date: Wed, 15 Jan 2025 11:19:34 +0100 Subject: [PATCH 192/232] upgrade to v2.40.4 https://www.kernel.org/pub/linux/utils/util-linux/v2.40/v2.40.4-ReleaseNotes https://www.kernel.org/pub/linux/utils/util-linux/v2.40/v2.40.3-ReleaseNotes --- .gitignore | 1 + sources | 2 +- util-linux.spec | 2 +- 3 files changed, 3 insertions(+), 2 deletions(-) diff --git a/.gitignore b/.gitignore index 89553dd..9be7f90 100644 --- a/.gitignore +++ b/.gitignore @@ -98,3 +98,4 @@ /util-linux-2.40.tar.xz /util-linux-2.40.1.tar.xz /util-linux-2.40.2.tar.xz +/util-linux-2.40.4.tar.xz diff --git a/sources b/sources index 6967bee..ed7ccad 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (util-linux-2.40.2.tar.xz) = ffe20b915a518a150401d429b0338bc7022190e4ca0ef91a6d9eea345db8c1e11ad01784163b8fcf978506f3f5cad473f29d5d4ef93a4c66a5ae0ebd9fb0c8f2 +SHA512 (util-linux-2.40.4.tar.xz) = 0024955056ba7b4c54040a917f9919f49692e57ba6d42d17a6c29c1eefe88bf48b1214a545072b71c468829a63a8f15237f49733e9127c134e11126d1e435124 diff --git a/util-linux.spec b/util-linux.spec index 4017fe7..7d3d4c5 100644 --- a/util-linux.spec +++ b/util-linux.spec @@ -1,7 +1,7 @@ ### Header Summary: Collection of basic system utilities Name: util-linux -Version: 2.40.2 +Version: 2.40.4 # -p -e rc1 Release: %autorelease License: GPL-1.0-or-later AND GPL-2.0-only AND GPL-2.0-or-later AND GPL-3.0-or-later AND LGPL-2.1-or-later AND BSD-2-Clause AND BSD-3-Clause AND BSD-4-Clause-UC AND LicenseRef-Fedora-Public-Domain From 0298d7d2a249367d277f081baec724dcc6431c19 Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Sun, 19 Jan 2025 14:00:04 +0000 Subject: [PATCH 193/232] Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild From 56f4756f3ac033f9cc7b2be94847a3cb38ad8da1 Mon Sep 17 00:00:00 2001 From: Yaakov Selkowitz Date: Fri, 3 Jan 2025 16:18:03 -0500 Subject: [PATCH 194/232] Conditionalize pam dependency pam is a host service, and is not used inside of flatpaks or toolboxes. --- util-linux.spec | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/util-linux.spec b/util-linux.spec index 7d3d4c5..beae061 100644 --- a/util-linux.spec +++ b/util-linux.spec @@ -81,7 +81,8 @@ Obsoletes: util-linux-user < 2.39-1 Provides: util-linux-user = %{version}-%{release} Requires(post): coreutils -Requires: pam >= 1.1.3-7, /etc/pam.d/system-auth +Requires: (pam >= 1.1.3-7 if systemd) +Requires: (/etc/pam.d/system-auth if systemd) Requires: audit-libs >= 1.0.6 Requires: libuuid = %{version}-%{release} Requires: libblkid = %{version}-%{release} From 3abb2f6222109a9a7e9ab9126cb338a407f574ab Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bj=C3=B6rn=20Esser?= Date: Sat, 1 Feb 2025 19:58:02 +0100 Subject: [PATCH 195/232] Add explicit BR: libxcrypt-devel MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Björn Esser --- util-linux.spec | 1 + 1 file changed, 1 insertion(+) diff --git a/util-linux.spec b/util-linux.spec index 7d3d4c5..d66fdbb 100644 --- a/util-linux.spec +++ b/util-linux.spec @@ -21,6 +21,7 @@ BuildRequires: make BuildRequires: audit-libs-devel >= 1.0.6 BuildRequires: gettext-devel BuildRequires: libselinux-devel +BuildRequires: libxcrypt-devel BuildRequires: ncurses-devel BuildRequires: readline-devel BuildRequires: pam-devel From 674f706e83053354b74c7ac65bfa41df8c316a52 Mon Sep 17 00:00:00 2001 From: Karel Zak Date: Tue, 4 Feb 2025 10:43:12 +0100 Subject: [PATCH 196/232] add sysusers config for uuidd --- util-linux-uuidd-sysusers.conf | 1 + util-linux.spec | 6 ++++++ 2 files changed, 7 insertions(+) create mode 100644 util-linux-uuidd-sysusers.conf diff --git a/util-linux-uuidd-sysusers.conf b/util-linux-uuidd-sysusers.conf new file mode 100644 index 0000000..afd02eb --- /dev/null +++ b/util-linux-uuidd-sysusers.conf @@ -0,0 +1 @@ +u uuidd - "UUID generator helper daemon" /var/lib/libuuid diff --git a/util-linux.spec b/util-linux.spec index d66fdbb..b8d0028 100644 --- a/util-linux.spec +++ b/util-linux.spec @@ -56,6 +56,9 @@ Source13: util-linux-su-l.pamd Source14: util-linux-runuser.pamd Source15: util-linux-runuser-l.pamd +# temporary, will be in upstream >= v2.41 +Source16: util-linux-uuidd-sysusers.conf + ### Obsoletes & Conflicts & Provides Conflicts: initscripts < 9.79-4 Conflicts: bash-completion < 1:2.1-1 @@ -371,6 +374,8 @@ mkdir -p %{buildroot}%{_sysconfdir}/{pam.d,security/console.apps} install -d %{buildroot}/run/uuidd install -d %{buildroot}/var/lib/libuuid +install -m 644 -D %{SOURCE16} %{buildroot}%{_sysusersdir}/uuidd.conf + # /etc/adjtime install -m 644 %{SOURCE5} %{buildroot}%{_sysconfdir}/adjtime @@ -892,6 +897,7 @@ fi %dir %attr(2775, uuidd, uuidd) /run/uuidd %{compldir}/uuidd %{_tmpfilesdir}/uuidd-tmpfiles.conf +%{_sysusersdir}/uuidd.conf %files -n libfdisk From 3e609994974fb1e87c8c5617fd5d2ed69c8f1c33 Mon Sep 17 00:00:00 2001 From: Karel Zak Date: Wed, 12 Feb 2025 12:13:29 +0100 Subject: [PATCH 197/232] remove useradd (replaced by sysusers config) --- util-linux.spec | 7 ------- 1 file changed, 7 deletions(-) diff --git a/util-linux.spec b/util-linux.spec index b09fbd5..1b968ec 100644 --- a/util-linux.spec +++ b/util-linux.spec @@ -477,13 +477,6 @@ mv -v %{buildroot}/usr/sbin/* %{buildroot}/usr/bin/ %systemd_postun_with_restart fstrim.timer %systemd_postun fstrim.service -%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 From cd951d5e56b2bbb23183c0c8a5338580fb43343c Mon Sep 17 00:00:00 2001 From: Dusty Mabe Date: Wed, 19 Feb 2025 14:50:05 -0500 Subject: [PATCH 198/232] backport blkid: allow up to 64k erofs block sizes This is a backport of [1], which should help us use EROFS in live media on ppc64le [2]. [1] https://github.com/karelzak/util-linux/commit/ff0ac0f27dc3de7d250b2a69f6452bfeec104f8c [2] https://github.com/coreos/fedora-coreos-tracker/issues/1877 --- ...id-allow-up-to-64k-erofs-block-sizes.patch | 33 +++++++++++++++++++ util-linux.spec | 3 ++ 2 files changed, 36 insertions(+) create mode 100644 0001-blkid-allow-up-to-64k-erofs-block-sizes.patch diff --git a/0001-blkid-allow-up-to-64k-erofs-block-sizes.patch b/0001-blkid-allow-up-to-64k-erofs-block-sizes.patch new file mode 100644 index 0000000..825c7d0 --- /dev/null +++ b/0001-blkid-allow-up-to-64k-erofs-block-sizes.patch @@ -0,0 +1,33 @@ +From ff0ac0f27dc3de7d250b2a69f6452bfeec104f8c Mon Sep 17 00:00:00 2001 +From: Eric Sandeen +Date: Fri, 24 Jan 2025 08:37:12 -0600 +Subject: [PATCH] blkid: allow up to 64k erofs block sizes + +Today, mkfs.erofs defaults to page size for block size, but blkid +does not recognize this. Increase the limit to 64k. + +Reviewed-by: Gao Xiang +Signed-off-by: Eric Sandeen +Signed-off-by: Karel Zak +--- + libblkid/src/superblocks/erofs.c | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/libblkid/src/superblocks/erofs.c b/libblkid/src/superblocks/erofs.c +index 05822460b..57fd80220 100644 +--- a/libblkid/src/superblocks/erofs.c ++++ b/libblkid/src/superblocks/erofs.c +@@ -73,8 +73,8 @@ static int probe_erofs(blkid_probe pr, const struct blkid_idmag *mag) + if (!sb) + return errno ? -errno : BLKID_PROBE_NONE; + +- /* EROFS is restricted to 4KiB block size */ +- if (sb->blkszbits > 31 || (1U << sb->blkszbits) > 4096) ++ /* block size must be between 512 and 64k */ ++ if (sb->blkszbits < 9 || sb->blkszbits > 16) + return BLKID_PROBE_NONE; + + if (!erofs_verify_checksum(pr, mag, sb)) +-- +2.48.1 + diff --git a/util-linux.spec b/util-linux.spec index 1b968ec..f5198a1 100644 --- a/util-linux.spec +++ b/util-linux.spec @@ -111,6 +111,9 @@ Patch0: login-lastlog-create.patch # https://github.com/coreos/console-login-helper-messages/issues/60 Patch1: login-default-motd-file.patch +# Backport better support for erofs on ppc64le +Patch2: 0001-blkid-allow-up-to-64k-erofs-block-sizes.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 From e873a14a1d864adc9912834adb50e2237ea8c0b0 Mon Sep 17 00:00:00 2001 From: Karel Zak Date: Mon, 12 May 2025 14:16:44 +0200 Subject: [PATCH 199/232] upgrade to upstream release v2.41 ... https://www.kernel.org/pub/linux/utils/util-linux/v2.41/v2.41-ReleaseNotes - add lastlog2 library and PAM module - add new utils bits, coresched and lastlog2 --- .gitignore | 1 + ...mount-fix-no-canonicalize-regression.patch | 44 ++++++++ ...id-allow-up-to-64k-erofs-block-sizes.patch | 33 ------ ...ed-reference-to-add_namespace_for_ns.patch | 58 ++++++++++ ...e-compilation-without-USE_NS_GET_API.patch | 41 +++++++ ...scription-for-PACKET.PROTOCOL-column.patch | 42 +++++++ ...n-the-protocol-field-of-proc-net-pac.patch | 64 +++++++++++ ...include-cctype-fix-string-comparison.patch | 106 ++++++++++++++++++ ...dmnt-fix-k-option-parsing-regression.patch | 86 ++++++++++++++ ...unt-api-utils-include-linux-unistd.h.patch | 40 +++++++ ...not-use-strerror-on-shared-libraries.patch | 71 ++++++++++++ sources | 2 +- util-linux-uuidd-sysusers.conf | 1 - util-linux.spec | 84 ++++++++++++-- 14 files changed, 627 insertions(+), 46 deletions(-) create mode 100644 0000-libmount-fix-no-canonicalize-regression.patch delete mode 100644 0001-blkid-allow-up-to-64k-erofs-block-sizes.patch create mode 100644 0001-lsns-fix-undefined-reference-to-add_namespace_for_ns.patch create mode 100644 0002-lsns-enhance-compilation-without-USE_NS_GET_API.patch create mode 100644 0003-lsfd-fix-the-description-for-PACKET.PROTOCOL-column.patch create mode 100644 0004-lsfd-bug-fix-scan-the-protocol-field-of-proc-net-pac.patch create mode 100644 0005-include-cctype-fix-string-comparison.patch create mode 100644 0006-findmnt-fix-k-option-parsing-regression.patch create mode 100644 0007-include-mount-api-utils-include-linux-unistd.h.patch create mode 100644 0008-Do-not-use-strerror-on-shared-libraries.patch delete mode 100644 util-linux-uuidd-sysusers.conf diff --git a/.gitignore b/.gitignore index 9be7f90..d5db0c0 100644 --- a/.gitignore +++ b/.gitignore @@ -99,3 +99,4 @@ /util-linux-2.40.1.tar.xz /util-linux-2.40.2.tar.xz /util-linux-2.40.4.tar.xz +/util-linux-2.41.tar.xz diff --git a/0000-libmount-fix-no-canonicalize-regression.patch b/0000-libmount-fix-no-canonicalize-regression.patch new file mode 100644 index 0000000..7a19896 --- /dev/null +++ b/0000-libmount-fix-no-canonicalize-regression.patch @@ -0,0 +1,44 @@ +From a131545a35afeaf3b48fa42ddc876dd14f942486 Mon Sep 17 00:00:00 2001 +From: Karel Zak +Date: Mon, 24 Mar 2025 14:31:05 +0100 +Subject: libmount: fix --no-canonicalize regression + +Fixes: https://github.com/util-linux/util-linux/issues/3474 +Signed-off-by: Karel Zak +(cherry picked from commit 7dbfe31a83f45d5aef2b508697e9511c569ffbc8) +(cherry picked from commit 77723beaaaca654f72ac9538772e69fbafa8835d) +--- + libmount/src/context.c | 3 --- + sys-utils/mount.8.adoc | 2 +- + 2 files changed, 1 insertion(+), 4 deletions(-) + +diff --git a/libmount/src/context.c b/libmount/src/context.c +index 0323cb23d..15a8ad3bb 100644 +--- a/libmount/src/context.c ++++ b/libmount/src/context.c +@@ -530,9 +530,6 @@ int mnt_context_is_xnocanonicalize( + assert(cxt); + assert(type); + +- if (mnt_context_is_nocanonicalize(cxt)) +- return 1; +- + ol = mnt_context_get_optlist(cxt); + if (!ol) + return 0; +diff --git a/sys-utils/mount.8.adoc b/sys-utils/mount.8.adoc +index 4f23f8d1f..5103b91c5 100644 +--- a/sys-utils/mount.8.adoc ++++ b/sys-utils/mount.8.adoc +@@ -756,7 +756,7 @@ Allow to make a target directory (mountpoint) if it does not exist yet. The opti + *X-mount.nocanonicalize*[**=**_type_]:: + Allows disabling of canonicalization for mount source and target paths. By default, the `mount` command resolves all paths to their absolute paths without symlinks. However, this behavior may not be desired in certain situations, such as when binding a mount over a symlink, or a symlink over a directory or another symlink. The optional argument _type_ can be either "source" or "target" (mountpoint). If no _type_ is specified, then canonicalization is disabled for both types. This mount option does not affect the conversion of source tags (e.g. LABEL= or UUID=) and fstab processing. + + +-The command line option *--no-canonicalize* overrides this mount option and affects all path and tag conversions in all situations, but it does not modify flags for open_tree syscalls. ++The command-line option *--no-canonicalize* overrides this mount option and affects all path and tag conversions in all situations, but for backward compatibility, it does not modify open_tree syscall flags and does not allow the bind-mount over a symlink use case. + + + Note that *mount*(8) still sanitizes and canonicalizes the source and target paths specified on the command line by non-root users, regardless of the X-mount.nocanonicalize setting. + +-- +2.49.0 + diff --git a/0001-blkid-allow-up-to-64k-erofs-block-sizes.patch b/0001-blkid-allow-up-to-64k-erofs-block-sizes.patch deleted file mode 100644 index 825c7d0..0000000 --- a/0001-blkid-allow-up-to-64k-erofs-block-sizes.patch +++ /dev/null @@ -1,33 +0,0 @@ -From ff0ac0f27dc3de7d250b2a69f6452bfeec104f8c Mon Sep 17 00:00:00 2001 -From: Eric Sandeen -Date: Fri, 24 Jan 2025 08:37:12 -0600 -Subject: [PATCH] blkid: allow up to 64k erofs block sizes - -Today, mkfs.erofs defaults to page size for block size, but blkid -does not recognize this. Increase the limit to 64k. - -Reviewed-by: Gao Xiang -Signed-off-by: Eric Sandeen -Signed-off-by: Karel Zak ---- - libblkid/src/superblocks/erofs.c | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -diff --git a/libblkid/src/superblocks/erofs.c b/libblkid/src/superblocks/erofs.c -index 05822460b..57fd80220 100644 ---- a/libblkid/src/superblocks/erofs.c -+++ b/libblkid/src/superblocks/erofs.c -@@ -73,8 +73,8 @@ static int probe_erofs(blkid_probe pr, const struct blkid_idmag *mag) - if (!sb) - return errno ? -errno : BLKID_PROBE_NONE; - -- /* EROFS is restricted to 4KiB block size */ -- if (sb->blkszbits > 31 || (1U << sb->blkszbits) > 4096) -+ /* block size must be between 512 and 64k */ -+ if (sb->blkszbits < 9 || sb->blkszbits > 16) - return BLKID_PROBE_NONE; - - if (!erofs_verify_checksum(pr, mag, sb)) --- -2.48.1 - diff --git a/0001-lsns-fix-undefined-reference-to-add_namespace_for_ns.patch b/0001-lsns-fix-undefined-reference-to-add_namespace_for_ns.patch new file mode 100644 index 0000000..e2ae158 --- /dev/null +++ b/0001-lsns-fix-undefined-reference-to-add_namespace_for_ns.patch @@ -0,0 +1,58 @@ +From 5f4a11bf3d99512c369b6ba901046d0943ee6d09 Mon Sep 17 00:00:00 2001 +From: Thomas Devoogdt +Date: Tue, 25 Mar 2025 11:58:18 +0100 +Subject: lsns: fix undefined reference to add_namespace_for_nsfd #3483 + +Fixes: + +sys-utils/lsns-lsns.o: In function `read_process': +lsns.c:(.text+0x9e8): undefined reference to `add_namespace_for_nsfd' +collect2: error: ld returned 1 exit status + +Signed-off-by: Thomas Devoogdt +(cherry picked from commit 2ced43400f35f7bd45b29364e04166a63a06e16a) +(cherry picked from commit bd36a077e16eca888d843a0c30e77379aedfe350) +--- + sys-utils/lsns.c | 6 ++++++ + 1 file changed, 6 insertions(+) + +diff --git a/sys-utils/lsns.c b/sys-utils/lsns.c +index 6b2dcba96..d046d69e3 100644 +--- a/sys-utils/lsns.c ++++ b/sys-utils/lsns.c +@@ -587,7 +587,10 @@ static void add_namespace_from_sock(struct lsns *ls, pid_t pid, uint64_t fd) + if (get_namespace(ls, sb.st_ino)) + goto out_nsfd; + ++#ifdef USE_NS_GET_API + add_namespace_for_nsfd(ls, nsfd, sb.st_ino); ++#endif ++ + out_nsfd: + close(nsfd); + out_sk: +@@ -608,6 +611,7 @@ static void add_namespace_from_sock(struct lsns *ls __attribute__((__unused__)), + { + } + #endif /* HAVE_LINUX_NET_NAMESPACE_H */ ++ + /* Read namespaces open(2)ed explicitly by the process specified by `pc'. */ + static void read_opened_namespaces(struct lsns *ls, struct path_cxt *pc, pid_t pid) + { +@@ -627,11 +631,13 @@ static void read_opened_namespaces(struct lsns *ls, struct path_cxt *pc, pid_t p + if (st.st_dev == ls->nsfs_dev) { + if (get_namespace(ls, st.st_ino)) + continue; ++#ifdef USE_NS_GET_API + int fd = ul_path_openf(pc, O_RDONLY, "fd/%ju", (uintmax_t) num); + if (fd >= 0) { + add_namespace_for_nsfd(ls, fd, st.st_ino); + close(fd); + } ++#endif + } else if ((st.st_mode & S_IFMT) == S_IFSOCK) { + add_namespace_from_sock(ls, pid, num); + } +-- +2.49.0 + diff --git a/0002-lsns-enhance-compilation-without-USE_NS_GET_API.patch b/0002-lsns-enhance-compilation-without-USE_NS_GET_API.patch new file mode 100644 index 0000000..07685a2 --- /dev/null +++ b/0002-lsns-enhance-compilation-without-USE_NS_GET_API.patch @@ -0,0 +1,41 @@ +From 45389b02bdc8adeeb35b81dd7ef1e20f0e84bd69 Mon Sep 17 00:00:00 2001 +From: Karel Zak +Date: Tue, 1 Apr 2025 14:36:36 +0200 +Subject: lsns: enhance compilation without USE_NS_GET_API + +- Move add_namespace_for_nsfd() declaration to the #ifdef block +(based on c62ed3d58602fd29fe12085f7caf03761ed91b81) + +References: 2ced43400f35f7bd45b29364e04166a63a06e16a +Signed-off-by: Karel Zak +(cherry picked from commit 05d494d32bd9941ae0edbe591cefc047de3e9052) +--- + sys-utils/lsns.c | 5 +++-- + 1 file changed, 3 insertions(+), 2 deletions(-) + +diff --git a/sys-utils/lsns.c b/sys-utils/lsns.c +index d046d69e3..ede7a3992 100644 +--- a/sys-utils/lsns.c ++++ b/sys-utils/lsns.c +@@ -304,6 +304,9 @@ static inline const struct colinfo *get_column_info(unsigned num) + } + + #ifdef USE_NS_GET_API ++static struct lsns_namespace *add_namespace_for_nsfd(struct lsns *ls, int fd, ino_t ino); ++ ++ + /* Get the inode number for the parent namespace of the namespace `fd' specifies. + * If `pfd' is non-null, the file descriptor opening the parent namespace.*/ + static int get_parent_ns_ino(int fd, enum lsns_type lsns_type, ino_t *pino, int *pfd) +@@ -422,8 +425,6 @@ error: + return rc; + } + +-static struct lsns_namespace *add_namespace_for_nsfd(struct lsns *ls, int fd, ino_t ino); +- + static struct lsns_namespace *get_namespace(struct lsns *ls, ino_t ino) + { + struct list_head *p; +-- +2.49.0 + diff --git a/0003-lsfd-fix-the-description-for-PACKET.PROTOCOL-column.patch b/0003-lsfd-fix-the-description-for-PACKET.PROTOCOL-column.patch new file mode 100644 index 0000000..7a396cf --- /dev/null +++ b/0003-lsfd-fix-the-description-for-PACKET.PROTOCOL-column.patch @@ -0,0 +1,42 @@ +From 6b7fa6aa3a0f59c81cba859563548dd5a0e3213c Mon Sep 17 00:00:00 2001 +From: Masatake YAMATO +Date: Mon, 6 Jan 2025 02:55:19 +0900 +Subject: lsfd: fix the description for PACKET.PROTOCOL column + +Signed-off-by: Masatake YAMATO +(cherry picked from commit df3b38fab56001537364302479b33cb104ef7411) +(cherry picked from commit b7b96894c2f27f8a361f5bab2a239c9f64034557) +--- + lsfd-cmd/lsfd.1.adoc | 2 +- + lsfd-cmd/lsfd.c | 2 +- + 2 files changed, 2 insertions(+), 2 deletions(-) + +diff --git a/lsfd-cmd/lsfd.1.adoc b/lsfd-cmd/lsfd.1.adoc +index e9a01d26a..bd6885f82 100644 +--- a/lsfd-cmd/lsfd.1.adoc ++++ b/lsfd-cmd/lsfd.1.adoc +@@ -386,7 +386,7 @@ PACKET.IFACE <``string``>:: + Interface name associated with the packet socket. + + PACKET.PROTOCOL <``string``>:: +-L3 protocol associated with the packet socket. ++L2 protocol associated with the packet socket. + + PARTITION <``string``>:: + Block device name resolved by `/proc/partition`. +diff --git a/lsfd-cmd/lsfd.c b/lsfd-cmd/lsfd.c +index 66c60a4e8..714083e70 100644 +--- a/lsfd-cmd/lsfd.c ++++ b/lsfd-cmd/lsfd.c +@@ -311,7 +311,7 @@ static const struct colinfo infos[] = { + N_("net interface associated with the packet socket") }, + [COL_PACKET_PROTOCOL] = { "PACKET.PROTOCOL", + 0, SCOLS_FL_RIGHT,SCOLS_JSON_STRING, +- N_("L3 protocol associated with the packet socket") }, ++ N_("L2 protocol associated with the packet socket") }, + [COL_PARTITION] = { "PARTITION", + 0, SCOLS_FL_RIGHT, SCOLS_JSON_STRING, + N_("block device name resolved by /proc/partition") }, +-- +2.49.0 + diff --git a/0004-lsfd-bug-fix-scan-the-protocol-field-of-proc-net-pac.patch b/0004-lsfd-bug-fix-scan-the-protocol-field-of-proc-net-pac.patch new file mode 100644 index 0000000..09efd07 --- /dev/null +++ b/0004-lsfd-bug-fix-scan-the-protocol-field-of-proc-net-pac.patch @@ -0,0 +1,64 @@ +From 20066a4dba10ea4893e0c8ec0d939e6a16f949d0 Mon Sep 17 00:00:00 2001 +From: Masatake YAMATO +Date: Mon, 6 Jan 2025 03:30:25 +0900 +Subject: lsfd: (bug fix) scan the protocol field of /proc/net/packet as a hex + number + +Signed-off-by: Masatake YAMATO +(cherry picked from commit 0da7e8201aa7b9b2c5d0e901c0ccfd6f3bdc54d3) +(cherry picked from commit 798e4da071a96b14c7449bced9f16dc351dc5d84) +--- + lsfd-cmd/sock-xinfo.c | 2 +- + tests/expected/lsfd/mkfds-mapped-packet-socket | 4 ++-- + tests/ts/lsfd/mkfds-mapped-packet-socket | 3 ++- + 3 files changed, 5 insertions(+), 4 deletions(-) + +diff --git a/lsfd-cmd/sock-xinfo.c b/lsfd-cmd/sock-xinfo.c +index f6811213a..42d8e0919 100644 +--- a/lsfd-cmd/sock-xinfo.c ++++ b/lsfd-cmd/sock-xinfo.c +@@ -2373,7 +2373,7 @@ static void load_xinfo_from_proc_packet(ino_t netns_inode) + unsigned long inode; + struct packet_xinfo *pkt; + +- if (sscanf(line, "%*x %*d %" SCNu16 " %" SCNu16 " %u %*d %*d %*d %lu", ++ if (sscanf(line, "%*x %*d %" SCNu16 " %" SCNx16 " %u %*d %*d %*d %lu", + &type, &protocol, &iface, &inode) < 4) + continue; + +diff --git a/tests/expected/lsfd/mkfds-mapped-packet-socket b/tests/expected/lsfd/mkfds-mapped-packet-socket +index ec8795b70..2e9db5eb5 100644 +--- a/tests/expected/lsfd/mkfds-mapped-packet-socket ++++ b/tests/expected/lsfd/mkfds-mapped-packet-socket +@@ -1,8 +1,8 @@ + PACKET + SOCK.PROTONAME: 0 +-type=raw protocol=all iface=lo raw PACKET lo all ++type=raw protocol=ppptalk iface=lo raw PACKET lo ppptalk + NAME,SOCK.TYPE,SOCK.PROTONAME,PACKET.IFACE,PACKET.PROTOCOL: 0 + PACKET + SOCK.PROTONAME: 0 +-type=dgram protocol=all iface=lo dgram PACKET lo all ++type=dgram protocol=ppptalk iface=lo dgram PACKET lo ppptalk + NAME,SOCK.TYPE,SOCK.PROTONAME,PACKET.IFACE,PACKET.PROTOCOL: 0 +diff --git a/tests/ts/lsfd/mkfds-mapped-packet-socket b/tests/ts/lsfd/mkfds-mapped-packet-socket +index 12c5ef6bc..c3a73c54e 100755 +--- a/tests/ts/lsfd/mkfds-mapped-packet-socket ++++ b/tests/ts/lsfd/mkfds-mapped-packet-socket +@@ -35,11 +35,12 @@ FD=3 + EXPR= + INTERFACE=lo + SOCKTYPE= ++PROTOCOL=$(printf "%d" 0x10) + ERR= + + for SOCKTYPE in RAW DGRAM; do + coproc MKFDS { "$TS_HELPER_MKFDS" mapped-packet-socket $FD \ +- interface=${INTERFACE} socktype=${SOCKTYPE}; } ++ interface=${INTERFACE} socktype=${SOCKTYPE} protocol=${PROTOCOL}; } + if read -u ${MKFDS[0]} PID; then + EXPR='(ASSOC == "shm") and (STTYPE == "SOCK") and (MODE == "-w-")' + ${TS_CMD_LSFD} -p "$PID" -n -o SOCK.PROTONAME -Q "${EXPR}" +-- +2.49.0 + diff --git a/0005-include-cctype-fix-string-comparison.patch b/0005-include-cctype-fix-string-comparison.patch new file mode 100644 index 0000000..9facf54 --- /dev/null +++ b/0005-include-cctype-fix-string-comparison.patch @@ -0,0 +1,106 @@ +From 63317155429b35347f869f5996e5c354a398c6d3 Mon Sep 17 00:00:00 2001 +From: Karel Zak +Date: Wed, 2 Apr 2025 11:00:47 +0200 +Subject: include/cctype: fix string comparison + +Reimplement c_strcasecmp() and c_strncasecmp() to be libc compatible +and fix c_strncasecmp() to avoid \0 misinterpretation. The original +implementation was pretty stupid (sorry). + +Signed-off-by: Karel Zak +(cherry picked from commit 259157b0c1a00806ff75188325e40ba10adf12ce) +(cherry picked from commit e6a7001bb539256cdd71e4f032c2842151814556) +--- + include/cctype.h | 55 ++++++++++++++++++++++++++++++++---------------- + 1 file changed, 37 insertions(+), 18 deletions(-) + +diff --git a/include/cctype.h b/include/cctype.h +index b673b6cff..e55c008b8 100644 +--- a/include/cctype.h ++++ b/include/cctype.h +@@ -23,6 +23,9 @@ + #ifndef UTIL_LINUX_CCTYPE_H + #define UTIL_LINUX_CCTYPE_H + ++#include ++#include ++ + /** + * The functions defined in this file assume the "C" locale and a character + * set without diacritics (ASCII-US or EBCDIC-US or something like that). +@@ -317,38 +320,54 @@ static inline int c_toupper (int c) + } + } + ++#define C_CTYPE_CMP(c1, c2) (((c1) > (c2)) - ((c1) < (c2))) ++ + static inline int c_strncasecmp(const char *a, const char *b, size_t n) + { +- int res = 0; ++ const unsigned char *p1 = (const unsigned char *) a; ++ const unsigned char *p2 = (const unsigned char *) b; ++ unsigned char x, y; + +- for (; n > 0; a++, b++, n--) { +- unsigned int x = (unsigned int) *a; +- unsigned int y = (unsigned int) *b; ++ if (n == 0 || p1 == p2) ++ return 0; + +- res = c_tolower(x) - c_tolower(y); +- if (res) +- break; +- } +- return res; ++ do { ++ x = c_tolower(*p1); ++ y = c_tolower(*p2); ++ ++ if (--n == 0 || x == '\0') ++ break; ++ ++p1, ++p2; ++ } while (x == y); ++ ++ if (UCHAR_MAX <= INT_MAX) ++ return x - y; ++ ++ return C_CTYPE_CMP(x, y); + } + + static inline int c_strcasecmp(const char *a, const char *b) + { +- int res = 0; ++ const unsigned char *p1 = (const unsigned char *) a; ++ const unsigned char *p2 = (const unsigned char *) b; ++ unsigned char x, y; + +- if (a == b) ++ if (p1 == p2) + return 0; + +- for (; *a != '\0'; a++, b++) { +- unsigned int x = (unsigned int) *a; +- unsigned int y = (unsigned int) *b; ++ do { ++ x = c_tolower(*p1); ++ y = c_tolower(*p2); + +- res = c_tolower(x) - c_tolower(y); +- if (res) ++ if (x == '\0') + break; +- } ++ ++p1, ++p2; ++ } while (x == y); + +- return res; ++ if (UCHAR_MAX <= INT_MAX) ++ return x - y; ++ ++ return C_CTYPE_CMP(x, y); + } + + #endif /* UTIL_LINUX_CCTYPE_H */ +-- +2.49.0 + diff --git a/0006-findmnt-fix-k-option-parsing-regression.patch b/0006-findmnt-fix-k-option-parsing-regression.patch new file mode 100644 index 0000000..111846d --- /dev/null +++ b/0006-findmnt-fix-k-option-parsing-regression.patch @@ -0,0 +1,86 @@ +From 450ec45368df36601f44ff4b385e04a5ca2f1134 Mon Sep 17 00:00:00 2001 +From: Karel Zak +Date: Mon, 7 Apr 2025 12:35:02 +0200 +Subject: findmnt: fix -k option parsing regression + +It's a really bad idea to change any existing short option to support +optional arguments. + +Fixes: https://github.com/util-linux/util-linux/issues/3512 +References: 841d15e5d13dd0cc56e450c8dcc592211d66be27 +Signed-off-by: Karel Zak +(cherry picked from commit 0ecaef693ea60aab709e79dd4a8eb2865ec08967) +(cherry picked from commit 9d4df7905ec03c3ea6e9bdf0aaa91e862168d29a) +--- + misc-utils/findmnt.8.adoc | 2 +- + misc-utils/findmnt.c | 13 +++++++++---- + 2 files changed, 10 insertions(+), 5 deletions(-) + +diff --git a/misc-utils/findmnt.8.adoc b/misc-utils/findmnt.8.adoc +index fe29afe77..bea0496ff 100644 +--- a/misc-utils/findmnt.8.adoc ++++ b/misc-utils/findmnt.8.adoc +@@ -87,7 +87,7 @@ Use JSON output format. + *-k*, *--kernel*[_=method_]:: + Reads information about filesystems from the kernel. This is the default output. The format is tree-like and only includes mount options managed by the kernel (see also *--mtab*). + + +-The optional argument _method_ can be either: ++The optional argument _method_ is supported only for the long variant (--kernel). The short variant (-k) defaults to the mountinfo method for backward compatibility. The supported methods can be either: + + + * *mountinfo* - this is the default method and it reads data from the _/proc/self/mountinfo_ file. + + +diff --git a/misc-utils/findmnt.c b/misc-utils/findmnt.c +index fbfb84c94..b183a9c05 100644 +--- a/misc-utils/findmnt.c ++++ b/misc-utils/findmnt.c +@@ -1530,7 +1530,8 @@ static void __attribute__((__noreturn__)) usage(void) + fputs(_(" -F, --tab-file alternative file for -s, -m or -k options\n"), out); + fputs(_(" -m, --mtab search in table of mounted filesystems\n" + " (includes user space mount options)\n"), out); +- fputs(_(" -k, --kernel[=] search in kernel mount table (default)\n" ++ fputs(_(" -k alias to '--kernel mountinfo'\n"), out); ++ fputs(_(" --kernel[=] search in kernel mount table (default)\n" + " is mountinfo or listmount\n"), out); + fputs(_(" -N, --task use alternative namespace (/proc//mountinfo file)\n"), out); + fputs(_(" -p, --poll[=] monitor changes in table of mounted filesystems\n"), out); +@@ -1763,7 +1764,8 @@ int main(int argc, char *argv[]) + FINDMNT_OPT_SHADOWED, + FINDMNT_OPT_HYPERLINK, + FINDMNT_OPT_ID, +- FINDMNT_OPT_UNIQ_ID ++ FINDMNT_OPT_UNIQ_ID, ++ FINDMNT_OPT_KERNEL + }; + + static const struct option longopts[] = { +@@ -1780,7 +1782,7 @@ int main(int argc, char *argv[]) + { "help", no_argument, NULL, 'h' }, + { "invert", no_argument, NULL, 'i' }, + { "json", no_argument, NULL, 'J' }, +- { "kernel", optional_argument, NULL, 'k' }, ++ { "kernel", optional_argument, NULL, FINDMNT_OPT_KERNEL }, + { "list", no_argument, NULL, 'l' }, + { "mountpoint", required_argument, NULL, 'M' }, + { "mtab", no_argument, NULL, 'm' }, +@@ -1843,7 +1845,7 @@ int main(int argc, char *argv[]) + findmnt.flags |= FL_TREE; + + while ((c = getopt_long(argc, argv, +- "AabCcDd:ehIiJfF:o:O:p::PQ:k::lmM:nN:rst:uvRS:T:Uw:VxyH", ++ "AabCcDd:ehIiJfF:o:O:p::PQ:klmM:nN:rst:uvRS:T:Uw:VxyH", + longopts, NULL)) != -1) { + + err_exclusive_options(c, longopts, excl, excl_st); +@@ -1940,6 +1942,9 @@ int main(int argc, char *argv[]) + findmnt.flags &= ~FL_TREE; + break; + case 'k': ++ tabtype = TABTYPE_KERNEL_MOUNTINFO; ++ break; ++ case FINDMNT_OPT_KERNEL: + if (optarg) { + if (strcmp(optarg, "mountinfo") == 0) + tabtype = TABTYPE_KERNEL_MOUNTINFO; +-- +2.49.0 + diff --git a/0007-include-mount-api-utils-include-linux-unistd.h.patch b/0007-include-mount-api-utils-include-linux-unistd.h.patch new file mode 100644 index 0000000..01d3375 --- /dev/null +++ b/0007-include-mount-api-utils-include-linux-unistd.h.patch @@ -0,0 +1,40 @@ +From 598b6e97f6eb90771d3e7d57135405b2f2d20843 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Thomas=20Wei=C3=9Fschuh?= +Date: Sat, 19 Apr 2025 22:02:11 +0200 +Subject: include/mount-api-utils: include linux/unistd.h +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +If SYS_statmount/SYS_listmount is not provided by the libc, +util-linux will fall back to __NR_statmount/__NR_listmount from the +kernel UAPI headers. +However it is not guaranteed that these symbols are actually visible in +mount-api-utils. + +Include linux/unistd.h which provides syscall numbers. +While this header is specific to Linux, the code is already using +linux/mount.h. + +Signed-off-by: Thomas Weißschuh +(cherry picked from commit 0033f97482a7979e0de71de0a16b583e8d74dbdc) +(cherry picked from commit 7e9665e31d57d16efa304d4421eb8c9d98d8eaf1) +--- + include/mount-api-utils.h | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/include/mount-api-utils.h b/include/mount-api-utils.h +index 5e1905c45..02bb326c6 100644 +--- a/include/mount-api-utils.h ++++ b/include/mount-api-utils.h +@@ -8,6 +8,7 @@ + #ifdef HAVE_LINUX_MOUNT_H + #include + #include ++#include + #include + #include + +-- +2.49.0 + diff --git a/0008-Do-not-use-strerror-on-shared-libraries.patch b/0008-Do-not-use-strerror-on-shared-libraries.patch new file mode 100644 index 0000000..d8b071a --- /dev/null +++ b/0008-Do-not-use-strerror-on-shared-libraries.patch @@ -0,0 +1,71 @@ +From f83c532a797b98f5e4d3f894744f3f2065c414ea Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Cristian=20Rodr=C3=ADguez?= +Date: Sun, 13 Apr 2025 09:22:47 -0400 +Subject: Do not use strerror on shared libraries + +Using strerror is not safe in shared libraries as it is unknown +what the calling apps may do with the storage behind the scenes. +Using %m is ok, except in contexts that need to be as-safe. + +(cherry picked from commit c5850c36e14085cddf8db9e19d447d928fa153d0) +(cherry picked from commit 1f7a5b3c3cc1ad1ab1b72e68d0ae49cb171c5c45) +--- + libblkid/src/verify.c | 8 ++++---- + liblastlog2/src/lastlog2.c | 8 ++++---- + 2 files changed, 8 insertions(+), 8 deletions(-) + +diff --git a/libblkid/src/verify.c b/libblkid/src/verify.c +index 3b9754f57..abd3d1246 100644 +--- a/libblkid/src/verify.c ++++ b/libblkid/src/verify.c +@@ -73,8 +73,8 @@ blkid_dev blkid_verify(blkid_cache cache, blkid_dev dev) + diff = (uintmax_t)now - dev->bid_time; + + if (stat(dev->bid_name, &st) < 0) { +- DBG(PROBE, ul_debug("blkid_verify: error %s (%d) while " +- "trying to stat %s", strerror(errno), errno, ++ DBG(PROBE, ul_debug("blkid_verify: error %m (%d) while " ++ "trying to stat %s", errno, + dev->bid_name)); + open_err: + if ((errno == EPERM) || (errno == EACCES) || (errno == ENOENT)) { +@@ -128,8 +128,8 @@ blkid_dev blkid_verify(blkid_cache cache, blkid_dev dev) + + fd = open(dev->bid_name, O_RDONLY|O_CLOEXEC|O_NONBLOCK); + if (fd < 0) { +- DBG(PROBE, ul_debug("blkid_verify: error %s (%d) while " +- "opening %s", strerror(errno), errno, ++ DBG(PROBE, ul_debug("blkid_verify: error %m (%d) while " ++ "opening %s", errno, + dev->bid_name)); + goto open_err; + } +diff --git a/liblastlog2/src/lastlog2.c b/liblastlog2/src/lastlog2.c +index 2d3ab2050..020c77106 100644 +--- a/liblastlog2/src/lastlog2.c ++++ b/liblastlog2/src/lastlog2.c +@@ -559,8 +559,8 @@ ll2_import_lastlog(struct ll2_context *context, const char *lastlog_file, + + ll_fp = fopen(lastlog_file, "r"); + if (ll_fp == NULL) { +- if (error && asprintf(error, "Failed to open '%s': %s", +- lastlog_file, strerror(errno)) < 0) ++ if (error && asprintf(error, "Failed to open '%s': %m", ++ lastlog_file) < 0) + return -ENOMEM; + + return -1; +@@ -569,8 +569,8 @@ ll2_import_lastlog(struct ll2_context *context, const char *lastlog_file, + + if (fstat(fileno(ll_fp), &statll) != 0) { + retval = -1; +- if (error && asprintf(error, "Cannot get size of '%s': %s", +- lastlog_file, strerror(errno)) < 0) ++ if (error && asprintf(error, "Cannot get size of '%s': %m", ++ lastlog_file) < 0) + retval = -ENOMEM; + + goto done; +-- +2.49.0 + diff --git a/sources b/sources index ed7ccad..1094aa2 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (util-linux-2.40.4.tar.xz) = 0024955056ba7b4c54040a917f9919f49692e57ba6d42d17a6c29c1eefe88bf48b1214a545072b71c468829a63a8f15237f49733e9127c134e11126d1e435124 +SHA512 (util-linux-2.41.tar.xz) = 800ff92ee7a047732c0accb9dd759d6ed659947373ca72e0dd3ca601d0a6fed9db92c0838cfaff6bcdb8c08bdc1ffa675721893f42945885c57ccd59ab676318 diff --git a/util-linux-uuidd-sysusers.conf b/util-linux-uuidd-sysusers.conf deleted file mode 100644 index afd02eb..0000000 --- a/util-linux-uuidd-sysusers.conf +++ /dev/null @@ -1 +0,0 @@ -u uuidd - "UUID generator helper daemon" /var/lib/libuuid diff --git a/util-linux.spec b/util-linux.spec index f5198a1..b61f83c 100644 --- a/util-linux.spec +++ b/util-linux.spec @@ -1,7 +1,7 @@ ### Header Summary: Collection of basic system utilities Name: util-linux -Version: 2.40.4 +Version: 2.41 # -p -e rc1 Release: %autorelease License: GPL-1.0-or-later AND GPL-2.0-only AND GPL-2.0-or-later AND GPL-3.0-or-later AND LGPL-2.1-or-later AND BSD-2-Clause AND BSD-3-Clause AND BSD-4-Clause-UC AND LicenseRef-Fedora-Public-Domain @@ -56,9 +56,6 @@ Source13: util-linux-su-l.pamd Source14: util-linux-runuser.pamd Source15: util-linux-runuser-l.pamd -# temporary, will be in upstream >= v2.41 -Source16: util-linux-uuidd-sysusers.conf - ### Obsoletes & Conflicts & Provides Conflicts: initscripts < 9.79-4 Conflicts: bash-completion < 1:2.1-1 @@ -93,6 +90,7 @@ Requires: libblkid = %{version}-%{release} Requires: libmount = %{version}-%{release} Requires: libsmartcols = %{version}-%{release} Requires: libfdisk = %{version}-%{release} +Requires: liblastlog2 = %{version}-%{release} Requires: util-linux-core = %{version}-%{release} %if "%{_sbindir}" == "%{_bindir}" @@ -111,8 +109,17 @@ Patch0: login-lastlog-create.patch # https://github.com/coreos/console-login-helper-messages/issues/60 Patch1: login-default-motd-file.patch -# Backport better support for erofs on ppc64le -Patch2: 0001-blkid-allow-up-to-64k-erofs-block-sizes.patch +# Upstream patches (to be included in v2.41.1) +Patch2: 0000-libmount-fix-no-canonicalize-regression.patch +Patch3: 0001-lsns-fix-undefined-reference-to-add_namespace_for_ns.patch +Patch4: 0002-lsns-enhance-compilation-without-USE_NS_GET_API.patch +Patch5: 0003-lsfd-fix-the-description-for-PACKET.PROTOCOL-column.patch +Patch6: 0004-lsfd-bug-fix-scan-the-protocol-field-of-proc-net-pac.patch +Patch7: 0005-include-cctype-fix-string-comparison.patch +Patch8: 0006-findmnt-fix-k-option-parsing-regression.patch +Patch9: 0007-include-mount-api-utils-include-linux-unistd.h.patch +Patch10: 0008-Do-not-use-strerror-on-shared-libraries.patch + %description The util-linux package contains a large variety of low-level system @@ -215,6 +222,25 @@ This is the device mounting development library and headers, part of util-linux. +%package -n liblastlog2 +Summary: lastlog database library and PAM module +License: BSD-2-Clause + +%description -n liblastlog2 +This is the lastlog database library and PAM module, part of util-linux. + + +%package -n liblastlog2-devel +Summary: lastlog database library +License: BSD-2-Clause +Requires: liblastlog2%{?_isa} = %{version}-%{release} +Requires: pkgconfig + +%description -n liblastlog2-devel +This is the lastlog database development library and headers, +part of util-linux. + + %package -n libblkid Summary: Block device ID library License: LGPL-2.1-or-later @@ -335,7 +361,6 @@ export DAEMON_LDFLAGS="$SUID_LDFLAGS" --disable-silent-rules \ --disable-bfs \ --disable-pg \ - --disable-liblastlog2 \ --enable-chfn-chsh \ --enable-usrdir-path \ --enable-write \ @@ -378,8 +403,6 @@ mkdir -p %{buildroot}%{_sysconfdir}/{pam.d,security/console.apps} install -d %{buildroot}/run/uuidd install -d %{buildroot}/var/lib/libuuid -install -m 644 -D %{SOURCE16} %{buildroot}%{_sysusersdir}/uuidd.conf - # /etc/adjtime install -m 644 %{SOURCE5} %{buildroot}%{_sysconfdir}/adjtime @@ -440,7 +463,7 @@ rm -f %{buildroot}/sbin/sfdisk \ ln -sf ../proc/self/mounts %{buildroot}/etc/mtab # remove static libs -rm -f %{buildroot}%{_libdir}/lib{uuid,blkid,mount,smartcols,fdisk}.a +rm -f %{buildroot}%{_libdir}/lib{uuid,blkid,mount,smartcols,fdisk,lastlog2}.a # temporary remove to avoid conflicts with bash-completion pkg rm -f %{buildroot}%{compldir}/{mount,umount} @@ -473,6 +496,14 @@ mv -v %{buildroot}/usr/sbin/* %{buildroot}/usr/bin/ %post %systemd_post fstrim.{service,timer} +### Enable after completing migration to lastlog2 +# %post -n liblastlog2 +# %systemd_post lastlog2-import.service +# +# %postun -n liblastlog2 +# %systemd_postun lastlog2-import.service +### + %preun %systemd_preun fstrim.{service,timer} @@ -525,6 +556,7 @@ fi %{_unitdir}/fstrim.* +%{_bindir}/bits %{_bindir}/cal %{_bindir}/chmem %{_bindir}/choom @@ -532,6 +564,7 @@ fi %{_bindir}/colcrt %{_bindir}/colrm %{_bindir}/column +%{_bindir}/coresched %{_bindir}/eject %{_bindir}/enosys %{_bindir}/exch @@ -544,6 +577,7 @@ fi %{_bindir}/isosize %{_bindir}/last %{_bindir}/lastb +%{_bindir}/lastlog2 %{_bindir}/look %{_bindir}/lsblk %{_bindir}/lscpu @@ -576,6 +610,8 @@ fi %{_bindir}/wdctl %{_bindir}/whereis %{_bindir}/write + +%{_mandir}/man1/bits.1* %{_mandir}/man1/cal.1* %{_mandir}/man1/chfn.1* %{_mandir}/man1/choom.1* @@ -584,6 +620,7 @@ fi %{_mandir}/man1/colcrt.1* %{_mandir}/man1/colrm.1* %{_mandir}/man1/column.1* +%{_mandir}/man1/coresched.1.* %{_mandir}/man1/eject.1* %{_mandir}/man1/enosys.1* %{_mandir}/man1/exch.1* @@ -643,6 +680,7 @@ fi %{_mandir}/man8/fsfreeze.8* %{_mandir}/man8/fstrim.8* %{_mandir}/man8/isosize.8* +%{_mandir}/man8/lastlog2.8* %{_mandir}/man8/ldattach.8* %{_mandir}/man8/lsblk.8* %{_mandir}/man8/lslocks.8* @@ -721,6 +759,7 @@ fi %{compldir}/isosize %{compldir}/last %{compldir}/lastb +%{compldir}/lastlog2 %{compldir}/ldattach %{compldir}/look %{compldir}/lsblk @@ -894,7 +933,7 @@ fi %dir %attr(2775, uuidd, uuidd) /run/uuidd %{compldir}/uuidd %{_tmpfilesdir}/uuidd-tmpfiles.conf -%{_sysusersdir}/uuidd.conf +%{_sysusersdir}/uuidd-sysusers.conf %files -n libfdisk @@ -930,6 +969,29 @@ fi %{_libdir}/pkgconfig/mount.pc +%files -n liblastlog2 +%license Documentation/licenses/COPYING.BSD-2-Clause +%{_libdir}/liblastlog2.so.* +%{_pam_moduledir}/pam_lastlog2.so +%{_tmpfilesdir}/lastlog2-tmpfiles.conf +%{_unitdir}/lastlog2* +%{_mandir}/man8/pam_lastlog2.8* + +%files -n liblastlog2-devel +%license Documentation/licenses/COPYING.BSD-2-Clause +%{_libdir}/liblastlog2.so +%{_includedir}/liblastlog2 +%{_libdir}/pkgconfig/lastlog2.pc +%{_mandir}/man3/lastlog2.3.* +%{_mandir}/man3/ll2_import_lastlog.3* +%{_mandir}/man3/ll2_read_all.3* +%{_mandir}/man3/ll2_read_entry.3* +%{_mandir}/man3/ll2_remove_entry.3* +%{_mandir}/man3/ll2_rename_user.3* +%{_mandir}/man3/ll2_update_login_time.3* +%{_mandir}/man3/ll2_write_entry.3* + + %files -n libblkid %license Documentation/licenses/COPYING.LGPL-2.1-or-later %{_libdir}/libblkid.so.* From 67c133a8d4483b6606f954c1a160eff44d065656 Mon Sep 17 00:00:00 2001 From: Karel Zak Date: Mon, 12 May 2025 14:33:31 +0200 Subject: [PATCH 200/232] add BuildRequires for lastlog2 --- util-linux.spec | 1 + 1 file changed, 1 insertion(+) diff --git a/util-linux.spec b/util-linux.spec index b61f83c..82d6963 100644 --- a/util-linux.spec +++ b/util-linux.spec @@ -35,6 +35,7 @@ BuildRequires: %{pypkg}-devel BuildRequires: gcc BuildRequires: rubygem-asciidoctor BuildRequires: po4a +BuildRequires: sqlite-devel %ifarch ppc64le BuildRequires: librtas-devel %endif From ca46de6072d6aff16c71749055009504658e10fd Mon Sep 17 00:00:00 2001 From: Python Maint Date: Mon, 2 Jun 2025 20:26:03 +0200 Subject: [PATCH 201/232] Rebuilt for Python 3.14 From 0e7e2e7599287de6b61a12f8450daa6824c46b9d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Miro=20Hron=C4=8Dok?= Date: Mon, 9 Jun 2025 12:40:32 +0200 Subject: [PATCH 202/232] Revert to util-linux-2.40.4-7 to rebuild it for Python 3.14 The revert is needed because of https://bodhi.fedoraproject.org/updates/FEDORA-2025-dd6b6950ff failures. This reverts commit e873a14a1d864adc9912834adb50e2237ea8c0b0 --- .gitignore | 1 - ...mount-fix-no-canonicalize-regression.patch | 44 -------- ...id-allow-up-to-64k-erofs-block-sizes.patch | 33 ++++++ ...ed-reference-to-add_namespace_for_ns.patch | 58 ---------- ...e-compilation-without-USE_NS_GET_API.patch | 41 ------- ...scription-for-PACKET.PROTOCOL-column.patch | 42 ------- ...n-the-protocol-field-of-proc-net-pac.patch | 64 ----------- ...include-cctype-fix-string-comparison.patch | 106 ------------------ ...dmnt-fix-k-option-parsing-regression.patch | 86 -------------- ...unt-api-utils-include-linux-unistd.h.patch | 40 ------- ...not-use-strerror-on-shared-libraries.patch | 71 ------------ sources | 2 +- util-linux-uuidd-sysusers.conf | 1 + util-linux.spec | 87 ++------------ 14 files changed, 47 insertions(+), 629 deletions(-) delete mode 100644 0000-libmount-fix-no-canonicalize-regression.patch create mode 100644 0001-blkid-allow-up-to-64k-erofs-block-sizes.patch delete mode 100644 0001-lsns-fix-undefined-reference-to-add_namespace_for_ns.patch delete mode 100644 0002-lsns-enhance-compilation-without-USE_NS_GET_API.patch delete mode 100644 0003-lsfd-fix-the-description-for-PACKET.PROTOCOL-column.patch delete mode 100644 0004-lsfd-bug-fix-scan-the-protocol-field-of-proc-net-pac.patch delete mode 100644 0005-include-cctype-fix-string-comparison.patch delete mode 100644 0006-findmnt-fix-k-option-parsing-regression.patch delete mode 100644 0007-include-mount-api-utils-include-linux-unistd.h.patch delete mode 100644 0008-Do-not-use-strerror-on-shared-libraries.patch create mode 100644 util-linux-uuidd-sysusers.conf diff --git a/.gitignore b/.gitignore index d5db0c0..9be7f90 100644 --- a/.gitignore +++ b/.gitignore @@ -99,4 +99,3 @@ /util-linux-2.40.1.tar.xz /util-linux-2.40.2.tar.xz /util-linux-2.40.4.tar.xz -/util-linux-2.41.tar.xz diff --git a/0000-libmount-fix-no-canonicalize-regression.patch b/0000-libmount-fix-no-canonicalize-regression.patch deleted file mode 100644 index 7a19896..0000000 --- a/0000-libmount-fix-no-canonicalize-regression.patch +++ /dev/null @@ -1,44 +0,0 @@ -From a131545a35afeaf3b48fa42ddc876dd14f942486 Mon Sep 17 00:00:00 2001 -From: Karel Zak -Date: Mon, 24 Mar 2025 14:31:05 +0100 -Subject: libmount: fix --no-canonicalize regression - -Fixes: https://github.com/util-linux/util-linux/issues/3474 -Signed-off-by: Karel Zak -(cherry picked from commit 7dbfe31a83f45d5aef2b508697e9511c569ffbc8) -(cherry picked from commit 77723beaaaca654f72ac9538772e69fbafa8835d) ---- - libmount/src/context.c | 3 --- - sys-utils/mount.8.adoc | 2 +- - 2 files changed, 1 insertion(+), 4 deletions(-) - -diff --git a/libmount/src/context.c b/libmount/src/context.c -index 0323cb23d..15a8ad3bb 100644 ---- a/libmount/src/context.c -+++ b/libmount/src/context.c -@@ -530,9 +530,6 @@ int mnt_context_is_xnocanonicalize( - assert(cxt); - assert(type); - -- if (mnt_context_is_nocanonicalize(cxt)) -- return 1; -- - ol = mnt_context_get_optlist(cxt); - if (!ol) - return 0; -diff --git a/sys-utils/mount.8.adoc b/sys-utils/mount.8.adoc -index 4f23f8d1f..5103b91c5 100644 ---- a/sys-utils/mount.8.adoc -+++ b/sys-utils/mount.8.adoc -@@ -756,7 +756,7 @@ Allow to make a target directory (mountpoint) if it does not exist yet. The opti - *X-mount.nocanonicalize*[**=**_type_]:: - Allows disabling of canonicalization for mount source and target paths. By default, the `mount` command resolves all paths to their absolute paths without symlinks. However, this behavior may not be desired in certain situations, such as when binding a mount over a symlink, or a symlink over a directory or another symlink. The optional argument _type_ can be either "source" or "target" (mountpoint). If no _type_ is specified, then canonicalization is disabled for both types. This mount option does not affect the conversion of source tags (e.g. LABEL= or UUID=) and fstab processing. - + --The command line option *--no-canonicalize* overrides this mount option and affects all path and tag conversions in all situations, but it does not modify flags for open_tree syscalls. -+The command-line option *--no-canonicalize* overrides this mount option and affects all path and tag conversions in all situations, but for backward compatibility, it does not modify open_tree syscall flags and does not allow the bind-mount over a symlink use case. - + - Note that *mount*(8) still sanitizes and canonicalizes the source and target paths specified on the command line by non-root users, regardless of the X-mount.nocanonicalize setting. - --- -2.49.0 - diff --git a/0001-blkid-allow-up-to-64k-erofs-block-sizes.patch b/0001-blkid-allow-up-to-64k-erofs-block-sizes.patch new file mode 100644 index 0000000..825c7d0 --- /dev/null +++ b/0001-blkid-allow-up-to-64k-erofs-block-sizes.patch @@ -0,0 +1,33 @@ +From ff0ac0f27dc3de7d250b2a69f6452bfeec104f8c Mon Sep 17 00:00:00 2001 +From: Eric Sandeen +Date: Fri, 24 Jan 2025 08:37:12 -0600 +Subject: [PATCH] blkid: allow up to 64k erofs block sizes + +Today, mkfs.erofs defaults to page size for block size, but blkid +does not recognize this. Increase the limit to 64k. + +Reviewed-by: Gao Xiang +Signed-off-by: Eric Sandeen +Signed-off-by: Karel Zak +--- + libblkid/src/superblocks/erofs.c | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/libblkid/src/superblocks/erofs.c b/libblkid/src/superblocks/erofs.c +index 05822460b..57fd80220 100644 +--- a/libblkid/src/superblocks/erofs.c ++++ b/libblkid/src/superblocks/erofs.c +@@ -73,8 +73,8 @@ static int probe_erofs(blkid_probe pr, const struct blkid_idmag *mag) + if (!sb) + return errno ? -errno : BLKID_PROBE_NONE; + +- /* EROFS is restricted to 4KiB block size */ +- if (sb->blkszbits > 31 || (1U << sb->blkszbits) > 4096) ++ /* block size must be between 512 and 64k */ ++ if (sb->blkszbits < 9 || sb->blkszbits > 16) + return BLKID_PROBE_NONE; + + if (!erofs_verify_checksum(pr, mag, sb)) +-- +2.48.1 + diff --git a/0001-lsns-fix-undefined-reference-to-add_namespace_for_ns.patch b/0001-lsns-fix-undefined-reference-to-add_namespace_for_ns.patch deleted file mode 100644 index e2ae158..0000000 --- a/0001-lsns-fix-undefined-reference-to-add_namespace_for_ns.patch +++ /dev/null @@ -1,58 +0,0 @@ -From 5f4a11bf3d99512c369b6ba901046d0943ee6d09 Mon Sep 17 00:00:00 2001 -From: Thomas Devoogdt -Date: Tue, 25 Mar 2025 11:58:18 +0100 -Subject: lsns: fix undefined reference to add_namespace_for_nsfd #3483 - -Fixes: - -sys-utils/lsns-lsns.o: In function `read_process': -lsns.c:(.text+0x9e8): undefined reference to `add_namespace_for_nsfd' -collect2: error: ld returned 1 exit status - -Signed-off-by: Thomas Devoogdt -(cherry picked from commit 2ced43400f35f7bd45b29364e04166a63a06e16a) -(cherry picked from commit bd36a077e16eca888d843a0c30e77379aedfe350) ---- - sys-utils/lsns.c | 6 ++++++ - 1 file changed, 6 insertions(+) - -diff --git a/sys-utils/lsns.c b/sys-utils/lsns.c -index 6b2dcba96..d046d69e3 100644 ---- a/sys-utils/lsns.c -+++ b/sys-utils/lsns.c -@@ -587,7 +587,10 @@ static void add_namespace_from_sock(struct lsns *ls, pid_t pid, uint64_t fd) - if (get_namespace(ls, sb.st_ino)) - goto out_nsfd; - -+#ifdef USE_NS_GET_API - add_namespace_for_nsfd(ls, nsfd, sb.st_ino); -+#endif -+ - out_nsfd: - close(nsfd); - out_sk: -@@ -608,6 +611,7 @@ static void add_namespace_from_sock(struct lsns *ls __attribute__((__unused__)), - { - } - #endif /* HAVE_LINUX_NET_NAMESPACE_H */ -+ - /* Read namespaces open(2)ed explicitly by the process specified by `pc'. */ - static void read_opened_namespaces(struct lsns *ls, struct path_cxt *pc, pid_t pid) - { -@@ -627,11 +631,13 @@ static void read_opened_namespaces(struct lsns *ls, struct path_cxt *pc, pid_t p - if (st.st_dev == ls->nsfs_dev) { - if (get_namespace(ls, st.st_ino)) - continue; -+#ifdef USE_NS_GET_API - int fd = ul_path_openf(pc, O_RDONLY, "fd/%ju", (uintmax_t) num); - if (fd >= 0) { - add_namespace_for_nsfd(ls, fd, st.st_ino); - close(fd); - } -+#endif - } else if ((st.st_mode & S_IFMT) == S_IFSOCK) { - add_namespace_from_sock(ls, pid, num); - } --- -2.49.0 - diff --git a/0002-lsns-enhance-compilation-without-USE_NS_GET_API.patch b/0002-lsns-enhance-compilation-without-USE_NS_GET_API.patch deleted file mode 100644 index 07685a2..0000000 --- a/0002-lsns-enhance-compilation-without-USE_NS_GET_API.patch +++ /dev/null @@ -1,41 +0,0 @@ -From 45389b02bdc8adeeb35b81dd7ef1e20f0e84bd69 Mon Sep 17 00:00:00 2001 -From: Karel Zak -Date: Tue, 1 Apr 2025 14:36:36 +0200 -Subject: lsns: enhance compilation without USE_NS_GET_API - -- Move add_namespace_for_nsfd() declaration to the #ifdef block -(based on c62ed3d58602fd29fe12085f7caf03761ed91b81) - -References: 2ced43400f35f7bd45b29364e04166a63a06e16a -Signed-off-by: Karel Zak -(cherry picked from commit 05d494d32bd9941ae0edbe591cefc047de3e9052) ---- - sys-utils/lsns.c | 5 +++-- - 1 file changed, 3 insertions(+), 2 deletions(-) - -diff --git a/sys-utils/lsns.c b/sys-utils/lsns.c -index d046d69e3..ede7a3992 100644 ---- a/sys-utils/lsns.c -+++ b/sys-utils/lsns.c -@@ -304,6 +304,9 @@ static inline const struct colinfo *get_column_info(unsigned num) - } - - #ifdef USE_NS_GET_API -+static struct lsns_namespace *add_namespace_for_nsfd(struct lsns *ls, int fd, ino_t ino); -+ -+ - /* Get the inode number for the parent namespace of the namespace `fd' specifies. - * If `pfd' is non-null, the file descriptor opening the parent namespace.*/ - static int get_parent_ns_ino(int fd, enum lsns_type lsns_type, ino_t *pino, int *pfd) -@@ -422,8 +425,6 @@ error: - return rc; - } - --static struct lsns_namespace *add_namespace_for_nsfd(struct lsns *ls, int fd, ino_t ino); -- - static struct lsns_namespace *get_namespace(struct lsns *ls, ino_t ino) - { - struct list_head *p; --- -2.49.0 - diff --git a/0003-lsfd-fix-the-description-for-PACKET.PROTOCOL-column.patch b/0003-lsfd-fix-the-description-for-PACKET.PROTOCOL-column.patch deleted file mode 100644 index 7a396cf..0000000 --- a/0003-lsfd-fix-the-description-for-PACKET.PROTOCOL-column.patch +++ /dev/null @@ -1,42 +0,0 @@ -From 6b7fa6aa3a0f59c81cba859563548dd5a0e3213c Mon Sep 17 00:00:00 2001 -From: Masatake YAMATO -Date: Mon, 6 Jan 2025 02:55:19 +0900 -Subject: lsfd: fix the description for PACKET.PROTOCOL column - -Signed-off-by: Masatake YAMATO -(cherry picked from commit df3b38fab56001537364302479b33cb104ef7411) -(cherry picked from commit b7b96894c2f27f8a361f5bab2a239c9f64034557) ---- - lsfd-cmd/lsfd.1.adoc | 2 +- - lsfd-cmd/lsfd.c | 2 +- - 2 files changed, 2 insertions(+), 2 deletions(-) - -diff --git a/lsfd-cmd/lsfd.1.adoc b/lsfd-cmd/lsfd.1.adoc -index e9a01d26a..bd6885f82 100644 ---- a/lsfd-cmd/lsfd.1.adoc -+++ b/lsfd-cmd/lsfd.1.adoc -@@ -386,7 +386,7 @@ PACKET.IFACE <``string``>:: - Interface name associated with the packet socket. - - PACKET.PROTOCOL <``string``>:: --L3 protocol associated with the packet socket. -+L2 protocol associated with the packet socket. - - PARTITION <``string``>:: - Block device name resolved by `/proc/partition`. -diff --git a/lsfd-cmd/lsfd.c b/lsfd-cmd/lsfd.c -index 66c60a4e8..714083e70 100644 ---- a/lsfd-cmd/lsfd.c -+++ b/lsfd-cmd/lsfd.c -@@ -311,7 +311,7 @@ static const struct colinfo infos[] = { - N_("net interface associated with the packet socket") }, - [COL_PACKET_PROTOCOL] = { "PACKET.PROTOCOL", - 0, SCOLS_FL_RIGHT,SCOLS_JSON_STRING, -- N_("L3 protocol associated with the packet socket") }, -+ N_("L2 protocol associated with the packet socket") }, - [COL_PARTITION] = { "PARTITION", - 0, SCOLS_FL_RIGHT, SCOLS_JSON_STRING, - N_("block device name resolved by /proc/partition") }, --- -2.49.0 - diff --git a/0004-lsfd-bug-fix-scan-the-protocol-field-of-proc-net-pac.patch b/0004-lsfd-bug-fix-scan-the-protocol-field-of-proc-net-pac.patch deleted file mode 100644 index 09efd07..0000000 --- a/0004-lsfd-bug-fix-scan-the-protocol-field-of-proc-net-pac.patch +++ /dev/null @@ -1,64 +0,0 @@ -From 20066a4dba10ea4893e0c8ec0d939e6a16f949d0 Mon Sep 17 00:00:00 2001 -From: Masatake YAMATO -Date: Mon, 6 Jan 2025 03:30:25 +0900 -Subject: lsfd: (bug fix) scan the protocol field of /proc/net/packet as a hex - number - -Signed-off-by: Masatake YAMATO -(cherry picked from commit 0da7e8201aa7b9b2c5d0e901c0ccfd6f3bdc54d3) -(cherry picked from commit 798e4da071a96b14c7449bced9f16dc351dc5d84) ---- - lsfd-cmd/sock-xinfo.c | 2 +- - tests/expected/lsfd/mkfds-mapped-packet-socket | 4 ++-- - tests/ts/lsfd/mkfds-mapped-packet-socket | 3 ++- - 3 files changed, 5 insertions(+), 4 deletions(-) - -diff --git a/lsfd-cmd/sock-xinfo.c b/lsfd-cmd/sock-xinfo.c -index f6811213a..42d8e0919 100644 ---- a/lsfd-cmd/sock-xinfo.c -+++ b/lsfd-cmd/sock-xinfo.c -@@ -2373,7 +2373,7 @@ static void load_xinfo_from_proc_packet(ino_t netns_inode) - unsigned long inode; - struct packet_xinfo *pkt; - -- if (sscanf(line, "%*x %*d %" SCNu16 " %" SCNu16 " %u %*d %*d %*d %lu", -+ if (sscanf(line, "%*x %*d %" SCNu16 " %" SCNx16 " %u %*d %*d %*d %lu", - &type, &protocol, &iface, &inode) < 4) - continue; - -diff --git a/tests/expected/lsfd/mkfds-mapped-packet-socket b/tests/expected/lsfd/mkfds-mapped-packet-socket -index ec8795b70..2e9db5eb5 100644 ---- a/tests/expected/lsfd/mkfds-mapped-packet-socket -+++ b/tests/expected/lsfd/mkfds-mapped-packet-socket -@@ -1,8 +1,8 @@ - PACKET - SOCK.PROTONAME: 0 --type=raw protocol=all iface=lo raw PACKET lo all -+type=raw protocol=ppptalk iface=lo raw PACKET lo ppptalk - NAME,SOCK.TYPE,SOCK.PROTONAME,PACKET.IFACE,PACKET.PROTOCOL: 0 - PACKET - SOCK.PROTONAME: 0 --type=dgram protocol=all iface=lo dgram PACKET lo all -+type=dgram protocol=ppptalk iface=lo dgram PACKET lo ppptalk - NAME,SOCK.TYPE,SOCK.PROTONAME,PACKET.IFACE,PACKET.PROTOCOL: 0 -diff --git a/tests/ts/lsfd/mkfds-mapped-packet-socket b/tests/ts/lsfd/mkfds-mapped-packet-socket -index 12c5ef6bc..c3a73c54e 100755 ---- a/tests/ts/lsfd/mkfds-mapped-packet-socket -+++ b/tests/ts/lsfd/mkfds-mapped-packet-socket -@@ -35,11 +35,12 @@ FD=3 - EXPR= - INTERFACE=lo - SOCKTYPE= -+PROTOCOL=$(printf "%d" 0x10) - ERR= - - for SOCKTYPE in RAW DGRAM; do - coproc MKFDS { "$TS_HELPER_MKFDS" mapped-packet-socket $FD \ -- interface=${INTERFACE} socktype=${SOCKTYPE}; } -+ interface=${INTERFACE} socktype=${SOCKTYPE} protocol=${PROTOCOL}; } - if read -u ${MKFDS[0]} PID; then - EXPR='(ASSOC == "shm") and (STTYPE == "SOCK") and (MODE == "-w-")' - ${TS_CMD_LSFD} -p "$PID" -n -o SOCK.PROTONAME -Q "${EXPR}" --- -2.49.0 - diff --git a/0005-include-cctype-fix-string-comparison.patch b/0005-include-cctype-fix-string-comparison.patch deleted file mode 100644 index 9facf54..0000000 --- a/0005-include-cctype-fix-string-comparison.patch +++ /dev/null @@ -1,106 +0,0 @@ -From 63317155429b35347f869f5996e5c354a398c6d3 Mon Sep 17 00:00:00 2001 -From: Karel Zak -Date: Wed, 2 Apr 2025 11:00:47 +0200 -Subject: include/cctype: fix string comparison - -Reimplement c_strcasecmp() and c_strncasecmp() to be libc compatible -and fix c_strncasecmp() to avoid \0 misinterpretation. The original -implementation was pretty stupid (sorry). - -Signed-off-by: Karel Zak -(cherry picked from commit 259157b0c1a00806ff75188325e40ba10adf12ce) -(cherry picked from commit e6a7001bb539256cdd71e4f032c2842151814556) ---- - include/cctype.h | 55 ++++++++++++++++++++++++++++++++---------------- - 1 file changed, 37 insertions(+), 18 deletions(-) - -diff --git a/include/cctype.h b/include/cctype.h -index b673b6cff..e55c008b8 100644 ---- a/include/cctype.h -+++ b/include/cctype.h -@@ -23,6 +23,9 @@ - #ifndef UTIL_LINUX_CCTYPE_H - #define UTIL_LINUX_CCTYPE_H - -+#include -+#include -+ - /** - * The functions defined in this file assume the "C" locale and a character - * set without diacritics (ASCII-US or EBCDIC-US or something like that). -@@ -317,38 +320,54 @@ static inline int c_toupper (int c) - } - } - -+#define C_CTYPE_CMP(c1, c2) (((c1) > (c2)) - ((c1) < (c2))) -+ - static inline int c_strncasecmp(const char *a, const char *b, size_t n) - { -- int res = 0; -+ const unsigned char *p1 = (const unsigned char *) a; -+ const unsigned char *p2 = (const unsigned char *) b; -+ unsigned char x, y; - -- for (; n > 0; a++, b++, n--) { -- unsigned int x = (unsigned int) *a; -- unsigned int y = (unsigned int) *b; -+ if (n == 0 || p1 == p2) -+ return 0; - -- res = c_tolower(x) - c_tolower(y); -- if (res) -- break; -- } -- return res; -+ do { -+ x = c_tolower(*p1); -+ y = c_tolower(*p2); -+ -+ if (--n == 0 || x == '\0') -+ break; -+ ++p1, ++p2; -+ } while (x == y); -+ -+ if (UCHAR_MAX <= INT_MAX) -+ return x - y; -+ -+ return C_CTYPE_CMP(x, y); - } - - static inline int c_strcasecmp(const char *a, const char *b) - { -- int res = 0; -+ const unsigned char *p1 = (const unsigned char *) a; -+ const unsigned char *p2 = (const unsigned char *) b; -+ unsigned char x, y; - -- if (a == b) -+ if (p1 == p2) - return 0; - -- for (; *a != '\0'; a++, b++) { -- unsigned int x = (unsigned int) *a; -- unsigned int y = (unsigned int) *b; -+ do { -+ x = c_tolower(*p1); -+ y = c_tolower(*p2); - -- res = c_tolower(x) - c_tolower(y); -- if (res) -+ if (x == '\0') - break; -- } -+ ++p1, ++p2; -+ } while (x == y); - -- return res; -+ if (UCHAR_MAX <= INT_MAX) -+ return x - y; -+ -+ return C_CTYPE_CMP(x, y); - } - - #endif /* UTIL_LINUX_CCTYPE_H */ --- -2.49.0 - diff --git a/0006-findmnt-fix-k-option-parsing-regression.patch b/0006-findmnt-fix-k-option-parsing-regression.patch deleted file mode 100644 index 111846d..0000000 --- a/0006-findmnt-fix-k-option-parsing-regression.patch +++ /dev/null @@ -1,86 +0,0 @@ -From 450ec45368df36601f44ff4b385e04a5ca2f1134 Mon Sep 17 00:00:00 2001 -From: Karel Zak -Date: Mon, 7 Apr 2025 12:35:02 +0200 -Subject: findmnt: fix -k option parsing regression - -It's a really bad idea to change any existing short option to support -optional arguments. - -Fixes: https://github.com/util-linux/util-linux/issues/3512 -References: 841d15e5d13dd0cc56e450c8dcc592211d66be27 -Signed-off-by: Karel Zak -(cherry picked from commit 0ecaef693ea60aab709e79dd4a8eb2865ec08967) -(cherry picked from commit 9d4df7905ec03c3ea6e9bdf0aaa91e862168d29a) ---- - misc-utils/findmnt.8.adoc | 2 +- - misc-utils/findmnt.c | 13 +++++++++---- - 2 files changed, 10 insertions(+), 5 deletions(-) - -diff --git a/misc-utils/findmnt.8.adoc b/misc-utils/findmnt.8.adoc -index fe29afe77..bea0496ff 100644 ---- a/misc-utils/findmnt.8.adoc -+++ b/misc-utils/findmnt.8.adoc -@@ -87,7 +87,7 @@ Use JSON output format. - *-k*, *--kernel*[_=method_]:: - Reads information about filesystems from the kernel. This is the default output. The format is tree-like and only includes mount options managed by the kernel (see also *--mtab*). - + --The optional argument _method_ can be either: -+The optional argument _method_ is supported only for the long variant (--kernel). The short variant (-k) defaults to the mountinfo method for backward compatibility. The supported methods can be either: - + - * *mountinfo* - this is the default method and it reads data from the _/proc/self/mountinfo_ file. - + -diff --git a/misc-utils/findmnt.c b/misc-utils/findmnt.c -index fbfb84c94..b183a9c05 100644 ---- a/misc-utils/findmnt.c -+++ b/misc-utils/findmnt.c -@@ -1530,7 +1530,8 @@ static void __attribute__((__noreturn__)) usage(void) - fputs(_(" -F, --tab-file alternative file for -s, -m or -k options\n"), out); - fputs(_(" -m, --mtab search in table of mounted filesystems\n" - " (includes user space mount options)\n"), out); -- fputs(_(" -k, --kernel[=] search in kernel mount table (default)\n" -+ fputs(_(" -k alias to '--kernel mountinfo'\n"), out); -+ fputs(_(" --kernel[=] search in kernel mount table (default)\n" - " is mountinfo or listmount\n"), out); - fputs(_(" -N, --task use alternative namespace (/proc//mountinfo file)\n"), out); - fputs(_(" -p, --poll[=] monitor changes in table of mounted filesystems\n"), out); -@@ -1763,7 +1764,8 @@ int main(int argc, char *argv[]) - FINDMNT_OPT_SHADOWED, - FINDMNT_OPT_HYPERLINK, - FINDMNT_OPT_ID, -- FINDMNT_OPT_UNIQ_ID -+ FINDMNT_OPT_UNIQ_ID, -+ FINDMNT_OPT_KERNEL - }; - - static const struct option longopts[] = { -@@ -1780,7 +1782,7 @@ int main(int argc, char *argv[]) - { "help", no_argument, NULL, 'h' }, - { "invert", no_argument, NULL, 'i' }, - { "json", no_argument, NULL, 'J' }, -- { "kernel", optional_argument, NULL, 'k' }, -+ { "kernel", optional_argument, NULL, FINDMNT_OPT_KERNEL }, - { "list", no_argument, NULL, 'l' }, - { "mountpoint", required_argument, NULL, 'M' }, - { "mtab", no_argument, NULL, 'm' }, -@@ -1843,7 +1845,7 @@ int main(int argc, char *argv[]) - findmnt.flags |= FL_TREE; - - while ((c = getopt_long(argc, argv, -- "AabCcDd:ehIiJfF:o:O:p::PQ:k::lmM:nN:rst:uvRS:T:Uw:VxyH", -+ "AabCcDd:ehIiJfF:o:O:p::PQ:klmM:nN:rst:uvRS:T:Uw:VxyH", - longopts, NULL)) != -1) { - - err_exclusive_options(c, longopts, excl, excl_st); -@@ -1940,6 +1942,9 @@ int main(int argc, char *argv[]) - findmnt.flags &= ~FL_TREE; - break; - case 'k': -+ tabtype = TABTYPE_KERNEL_MOUNTINFO; -+ break; -+ case FINDMNT_OPT_KERNEL: - if (optarg) { - if (strcmp(optarg, "mountinfo") == 0) - tabtype = TABTYPE_KERNEL_MOUNTINFO; --- -2.49.0 - diff --git a/0007-include-mount-api-utils-include-linux-unistd.h.patch b/0007-include-mount-api-utils-include-linux-unistd.h.patch deleted file mode 100644 index 01d3375..0000000 --- a/0007-include-mount-api-utils-include-linux-unistd.h.patch +++ /dev/null @@ -1,40 +0,0 @@ -From 598b6e97f6eb90771d3e7d57135405b2f2d20843 Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Thomas=20Wei=C3=9Fschuh?= -Date: Sat, 19 Apr 2025 22:02:11 +0200 -Subject: include/mount-api-utils: include linux/unistd.h -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -If SYS_statmount/SYS_listmount is not provided by the libc, -util-linux will fall back to __NR_statmount/__NR_listmount from the -kernel UAPI headers. -However it is not guaranteed that these symbols are actually visible in -mount-api-utils. - -Include linux/unistd.h which provides syscall numbers. -While this header is specific to Linux, the code is already using -linux/mount.h. - -Signed-off-by: Thomas Weißschuh -(cherry picked from commit 0033f97482a7979e0de71de0a16b583e8d74dbdc) -(cherry picked from commit 7e9665e31d57d16efa304d4421eb8c9d98d8eaf1) ---- - include/mount-api-utils.h | 1 + - 1 file changed, 1 insertion(+) - -diff --git a/include/mount-api-utils.h b/include/mount-api-utils.h -index 5e1905c45..02bb326c6 100644 ---- a/include/mount-api-utils.h -+++ b/include/mount-api-utils.h -@@ -8,6 +8,7 @@ - #ifdef HAVE_LINUX_MOUNT_H - #include - #include -+#include - #include - #include - --- -2.49.0 - diff --git a/0008-Do-not-use-strerror-on-shared-libraries.patch b/0008-Do-not-use-strerror-on-shared-libraries.patch deleted file mode 100644 index d8b071a..0000000 --- a/0008-Do-not-use-strerror-on-shared-libraries.patch +++ /dev/null @@ -1,71 +0,0 @@ -From f83c532a797b98f5e4d3f894744f3f2065c414ea Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Cristian=20Rodr=C3=ADguez?= -Date: Sun, 13 Apr 2025 09:22:47 -0400 -Subject: Do not use strerror on shared libraries - -Using strerror is not safe in shared libraries as it is unknown -what the calling apps may do with the storage behind the scenes. -Using %m is ok, except in contexts that need to be as-safe. - -(cherry picked from commit c5850c36e14085cddf8db9e19d447d928fa153d0) -(cherry picked from commit 1f7a5b3c3cc1ad1ab1b72e68d0ae49cb171c5c45) ---- - libblkid/src/verify.c | 8 ++++---- - liblastlog2/src/lastlog2.c | 8 ++++---- - 2 files changed, 8 insertions(+), 8 deletions(-) - -diff --git a/libblkid/src/verify.c b/libblkid/src/verify.c -index 3b9754f57..abd3d1246 100644 ---- a/libblkid/src/verify.c -+++ b/libblkid/src/verify.c -@@ -73,8 +73,8 @@ blkid_dev blkid_verify(blkid_cache cache, blkid_dev dev) - diff = (uintmax_t)now - dev->bid_time; - - if (stat(dev->bid_name, &st) < 0) { -- DBG(PROBE, ul_debug("blkid_verify: error %s (%d) while " -- "trying to stat %s", strerror(errno), errno, -+ DBG(PROBE, ul_debug("blkid_verify: error %m (%d) while " -+ "trying to stat %s", errno, - dev->bid_name)); - open_err: - if ((errno == EPERM) || (errno == EACCES) || (errno == ENOENT)) { -@@ -128,8 +128,8 @@ blkid_dev blkid_verify(blkid_cache cache, blkid_dev dev) - - fd = open(dev->bid_name, O_RDONLY|O_CLOEXEC|O_NONBLOCK); - if (fd < 0) { -- DBG(PROBE, ul_debug("blkid_verify: error %s (%d) while " -- "opening %s", strerror(errno), errno, -+ DBG(PROBE, ul_debug("blkid_verify: error %m (%d) while " -+ "opening %s", errno, - dev->bid_name)); - goto open_err; - } -diff --git a/liblastlog2/src/lastlog2.c b/liblastlog2/src/lastlog2.c -index 2d3ab2050..020c77106 100644 ---- a/liblastlog2/src/lastlog2.c -+++ b/liblastlog2/src/lastlog2.c -@@ -559,8 +559,8 @@ ll2_import_lastlog(struct ll2_context *context, const char *lastlog_file, - - ll_fp = fopen(lastlog_file, "r"); - if (ll_fp == NULL) { -- if (error && asprintf(error, "Failed to open '%s': %s", -- lastlog_file, strerror(errno)) < 0) -+ if (error && asprintf(error, "Failed to open '%s': %m", -+ lastlog_file) < 0) - return -ENOMEM; - - return -1; -@@ -569,8 +569,8 @@ ll2_import_lastlog(struct ll2_context *context, const char *lastlog_file, - - if (fstat(fileno(ll_fp), &statll) != 0) { - retval = -1; -- if (error && asprintf(error, "Cannot get size of '%s': %s", -- lastlog_file, strerror(errno)) < 0) -+ if (error && asprintf(error, "Cannot get size of '%s': %m", -+ lastlog_file) < 0) - retval = -ENOMEM; - - goto done; --- -2.49.0 - diff --git a/sources b/sources index 1094aa2..ed7ccad 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (util-linux-2.41.tar.xz) = 800ff92ee7a047732c0accb9dd759d6ed659947373ca72e0dd3ca601d0a6fed9db92c0838cfaff6bcdb8c08bdc1ffa675721893f42945885c57ccd59ab676318 +SHA512 (util-linux-2.40.4.tar.xz) = 0024955056ba7b4c54040a917f9919f49692e57ba6d42d17a6c29c1eefe88bf48b1214a545072b71c468829a63a8f15237f49733e9127c134e11126d1e435124 diff --git a/util-linux-uuidd-sysusers.conf b/util-linux-uuidd-sysusers.conf new file mode 100644 index 0000000..afd02eb --- /dev/null +++ b/util-linux-uuidd-sysusers.conf @@ -0,0 +1 @@ +u uuidd - "UUID generator helper daemon" /var/lib/libuuid diff --git a/util-linux.spec b/util-linux.spec index 82d6963..a8e890d 100644 --- a/util-linux.spec +++ b/util-linux.spec @@ -1,9 +1,9 @@ ### Header Summary: Collection of basic system utilities Name: util-linux -Version: 2.41 +Version: 2.40.4 # -p -e rc1 -Release: %autorelease +Release: %autorelease -b7 License: GPL-1.0-or-later AND GPL-2.0-only AND GPL-2.0-or-later AND GPL-3.0-or-later AND LGPL-2.1-or-later AND BSD-2-Clause AND BSD-3-Clause AND BSD-4-Clause-UC AND LicenseRef-Fedora-Public-Domain URL: https://en.wikipedia.org/wiki/Util-linux @@ -35,7 +35,6 @@ BuildRequires: %{pypkg}-devel BuildRequires: gcc BuildRequires: rubygem-asciidoctor BuildRequires: po4a -BuildRequires: sqlite-devel %ifarch ppc64le BuildRequires: librtas-devel %endif @@ -57,6 +56,9 @@ Source13: util-linux-su-l.pamd Source14: util-linux-runuser.pamd Source15: util-linux-runuser-l.pamd +# temporary, will be in upstream >= v2.41 +Source16: util-linux-uuidd-sysusers.conf + ### Obsoletes & Conflicts & Provides Conflicts: initscripts < 9.79-4 Conflicts: bash-completion < 1:2.1-1 @@ -91,7 +93,6 @@ Requires: libblkid = %{version}-%{release} Requires: libmount = %{version}-%{release} Requires: libsmartcols = %{version}-%{release} Requires: libfdisk = %{version}-%{release} -Requires: liblastlog2 = %{version}-%{release} Requires: util-linux-core = %{version}-%{release} %if "%{_sbindir}" == "%{_bindir}" @@ -110,17 +111,8 @@ Patch0: login-lastlog-create.patch # https://github.com/coreos/console-login-helper-messages/issues/60 Patch1: login-default-motd-file.patch -# Upstream patches (to be included in v2.41.1) -Patch2: 0000-libmount-fix-no-canonicalize-regression.patch -Patch3: 0001-lsns-fix-undefined-reference-to-add_namespace_for_ns.patch -Patch4: 0002-lsns-enhance-compilation-without-USE_NS_GET_API.patch -Patch5: 0003-lsfd-fix-the-description-for-PACKET.PROTOCOL-column.patch -Patch6: 0004-lsfd-bug-fix-scan-the-protocol-field-of-proc-net-pac.patch -Patch7: 0005-include-cctype-fix-string-comparison.patch -Patch8: 0006-findmnt-fix-k-option-parsing-regression.patch -Patch9: 0007-include-mount-api-utils-include-linux-unistd.h.patch -Patch10: 0008-Do-not-use-strerror-on-shared-libraries.patch - +# Backport better support for erofs on ppc64le +Patch2: 0001-blkid-allow-up-to-64k-erofs-block-sizes.patch %description The util-linux package contains a large variety of low-level system @@ -223,25 +215,6 @@ This is the device mounting development library and headers, part of util-linux. -%package -n liblastlog2 -Summary: lastlog database library and PAM module -License: BSD-2-Clause - -%description -n liblastlog2 -This is the lastlog database library and PAM module, part of util-linux. - - -%package -n liblastlog2-devel -Summary: lastlog database library -License: BSD-2-Clause -Requires: liblastlog2%{?_isa} = %{version}-%{release} -Requires: pkgconfig - -%description -n liblastlog2-devel -This is the lastlog database development library and headers, -part of util-linux. - - %package -n libblkid Summary: Block device ID library License: LGPL-2.1-or-later @@ -362,6 +335,7 @@ export DAEMON_LDFLAGS="$SUID_LDFLAGS" --disable-silent-rules \ --disable-bfs \ --disable-pg \ + --disable-liblastlog2 \ --enable-chfn-chsh \ --enable-usrdir-path \ --enable-write \ @@ -404,6 +378,8 @@ mkdir -p %{buildroot}%{_sysconfdir}/{pam.d,security/console.apps} install -d %{buildroot}/run/uuidd install -d %{buildroot}/var/lib/libuuid +install -m 644 -D %{SOURCE16} %{buildroot}%{_sysusersdir}/uuidd.conf + # /etc/adjtime install -m 644 %{SOURCE5} %{buildroot}%{_sysconfdir}/adjtime @@ -464,7 +440,7 @@ rm -f %{buildroot}/sbin/sfdisk \ ln -sf ../proc/self/mounts %{buildroot}/etc/mtab # remove static libs -rm -f %{buildroot}%{_libdir}/lib{uuid,blkid,mount,smartcols,fdisk,lastlog2}.a +rm -f %{buildroot}%{_libdir}/lib{uuid,blkid,mount,smartcols,fdisk}.a # temporary remove to avoid conflicts with bash-completion pkg rm -f %{buildroot}%{compldir}/{mount,umount} @@ -497,14 +473,6 @@ mv -v %{buildroot}/usr/sbin/* %{buildroot}/usr/bin/ %post %systemd_post fstrim.{service,timer} -### Enable after completing migration to lastlog2 -# %post -n liblastlog2 -# %systemd_post lastlog2-import.service -# -# %postun -n liblastlog2 -# %systemd_postun lastlog2-import.service -### - %preun %systemd_preun fstrim.{service,timer} @@ -557,7 +525,6 @@ fi %{_unitdir}/fstrim.* -%{_bindir}/bits %{_bindir}/cal %{_bindir}/chmem %{_bindir}/choom @@ -565,7 +532,6 @@ fi %{_bindir}/colcrt %{_bindir}/colrm %{_bindir}/column -%{_bindir}/coresched %{_bindir}/eject %{_bindir}/enosys %{_bindir}/exch @@ -578,7 +544,6 @@ fi %{_bindir}/isosize %{_bindir}/last %{_bindir}/lastb -%{_bindir}/lastlog2 %{_bindir}/look %{_bindir}/lsblk %{_bindir}/lscpu @@ -611,8 +576,6 @@ fi %{_bindir}/wdctl %{_bindir}/whereis %{_bindir}/write - -%{_mandir}/man1/bits.1* %{_mandir}/man1/cal.1* %{_mandir}/man1/chfn.1* %{_mandir}/man1/choom.1* @@ -621,7 +584,6 @@ fi %{_mandir}/man1/colcrt.1* %{_mandir}/man1/colrm.1* %{_mandir}/man1/column.1* -%{_mandir}/man1/coresched.1.* %{_mandir}/man1/eject.1* %{_mandir}/man1/enosys.1* %{_mandir}/man1/exch.1* @@ -681,7 +643,6 @@ fi %{_mandir}/man8/fsfreeze.8* %{_mandir}/man8/fstrim.8* %{_mandir}/man8/isosize.8* -%{_mandir}/man8/lastlog2.8* %{_mandir}/man8/ldattach.8* %{_mandir}/man8/lsblk.8* %{_mandir}/man8/lslocks.8* @@ -760,7 +721,6 @@ fi %{compldir}/isosize %{compldir}/last %{compldir}/lastb -%{compldir}/lastlog2 %{compldir}/ldattach %{compldir}/look %{compldir}/lsblk @@ -934,7 +894,7 @@ fi %dir %attr(2775, uuidd, uuidd) /run/uuidd %{compldir}/uuidd %{_tmpfilesdir}/uuidd-tmpfiles.conf -%{_sysusersdir}/uuidd-sysusers.conf +%{_sysusersdir}/uuidd.conf %files -n libfdisk @@ -970,29 +930,6 @@ fi %{_libdir}/pkgconfig/mount.pc -%files -n liblastlog2 -%license Documentation/licenses/COPYING.BSD-2-Clause -%{_libdir}/liblastlog2.so.* -%{_pam_moduledir}/pam_lastlog2.so -%{_tmpfilesdir}/lastlog2-tmpfiles.conf -%{_unitdir}/lastlog2* -%{_mandir}/man8/pam_lastlog2.8* - -%files -n liblastlog2-devel -%license Documentation/licenses/COPYING.BSD-2-Clause -%{_libdir}/liblastlog2.so -%{_includedir}/liblastlog2 -%{_libdir}/pkgconfig/lastlog2.pc -%{_mandir}/man3/lastlog2.3.* -%{_mandir}/man3/ll2_import_lastlog.3* -%{_mandir}/man3/ll2_read_all.3* -%{_mandir}/man3/ll2_read_entry.3* -%{_mandir}/man3/ll2_remove_entry.3* -%{_mandir}/man3/ll2_rename_user.3* -%{_mandir}/man3/ll2_update_login_time.3* -%{_mandir}/man3/ll2_write_entry.3* - - %files -n libblkid %license Documentation/licenses/COPYING.LGPL-2.1-or-later %{_libdir}/libblkid.so.* From 8e9f6cee443c7d9b32c37baef8a1df3a457aea16 Mon Sep 17 00:00:00 2001 From: Python Maint Date: Mon, 9 Jun 2025 12:42:27 +0200 Subject: [PATCH 203/232] Rebuilt for Python 3.14 From bf8d5779df3e8f1996add8b6492db0ed0db39626 Mon Sep 17 00:00:00 2001 From: Karel Zak Date: Mon, 12 May 2025 14:16:44 +0200 Subject: [PATCH 204/232] upgrade to upstream release v2.41.1 ... https://www.kernel.org/pub/linux/utils/util-linux/v2.41/v2.41-ReleaseNotes - add lastlog2 library and PAM module - add new utils bits, coresched and lastlog2 --- .gitignore | 2 + ...id-allow-up-to-64k-erofs-block-sizes.patch | 33 -------- sources | 2 +- util-linux-uuidd-sysusers.conf | 1 - util-linux.spec | 75 ++++++++++++++++--- 5 files changed, 66 insertions(+), 47 deletions(-) delete mode 100644 0001-blkid-allow-up-to-64k-erofs-block-sizes.patch delete mode 100644 util-linux-uuidd-sysusers.conf diff --git a/.gitignore b/.gitignore index 9be7f90..1e5ca15 100644 --- a/.gitignore +++ b/.gitignore @@ -99,3 +99,5 @@ /util-linux-2.40.1.tar.xz /util-linux-2.40.2.tar.xz /util-linux-2.40.4.tar.xz +/util-linux-2.41.tar.xz +/util-linux-2.41.1.tar.xz diff --git a/0001-blkid-allow-up-to-64k-erofs-block-sizes.patch b/0001-blkid-allow-up-to-64k-erofs-block-sizes.patch deleted file mode 100644 index 825c7d0..0000000 --- a/0001-blkid-allow-up-to-64k-erofs-block-sizes.patch +++ /dev/null @@ -1,33 +0,0 @@ -From ff0ac0f27dc3de7d250b2a69f6452bfeec104f8c Mon Sep 17 00:00:00 2001 -From: Eric Sandeen -Date: Fri, 24 Jan 2025 08:37:12 -0600 -Subject: [PATCH] blkid: allow up to 64k erofs block sizes - -Today, mkfs.erofs defaults to page size for block size, but blkid -does not recognize this. Increase the limit to 64k. - -Reviewed-by: Gao Xiang -Signed-off-by: Eric Sandeen -Signed-off-by: Karel Zak ---- - libblkid/src/superblocks/erofs.c | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -diff --git a/libblkid/src/superblocks/erofs.c b/libblkid/src/superblocks/erofs.c -index 05822460b..57fd80220 100644 ---- a/libblkid/src/superblocks/erofs.c -+++ b/libblkid/src/superblocks/erofs.c -@@ -73,8 +73,8 @@ static int probe_erofs(blkid_probe pr, const struct blkid_idmag *mag) - if (!sb) - return errno ? -errno : BLKID_PROBE_NONE; - -- /* EROFS is restricted to 4KiB block size */ -- if (sb->blkszbits > 31 || (1U << sb->blkszbits) > 4096) -+ /* block size must be between 512 and 64k */ -+ if (sb->blkszbits < 9 || sb->blkszbits > 16) - return BLKID_PROBE_NONE; - - if (!erofs_verify_checksum(pr, mag, sb)) --- -2.48.1 - diff --git a/sources b/sources index ed7ccad..9375746 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (util-linux-2.40.4.tar.xz) = 0024955056ba7b4c54040a917f9919f49692e57ba6d42d17a6c29c1eefe88bf48b1214a545072b71c468829a63a8f15237f49733e9127c134e11126d1e435124 +SHA512 (util-linux-2.41.1.tar.xz) = 12cf37ab2d62d0378b16a40e0194ef7131ef1ad06737cca3f169cfc04b9da08a4233076c819b30705e8fb2c3b8d91a1d83aac4f036ce58b9cf5928f545e511a2 diff --git a/util-linux-uuidd-sysusers.conf b/util-linux-uuidd-sysusers.conf deleted file mode 100644 index afd02eb..0000000 --- a/util-linux-uuidd-sysusers.conf +++ /dev/null @@ -1 +0,0 @@ -u uuidd - "UUID generator helper daemon" /var/lib/libuuid diff --git a/util-linux.spec b/util-linux.spec index a8e890d..b6be115 100644 --- a/util-linux.spec +++ b/util-linux.spec @@ -1,7 +1,7 @@ ### Header Summary: Collection of basic system utilities Name: util-linux -Version: 2.40.4 +Version: 2.41.1 # -p -e rc1 Release: %autorelease -b7 License: GPL-1.0-or-later AND GPL-2.0-only AND GPL-2.0-or-later AND GPL-3.0-or-later AND LGPL-2.1-or-later AND BSD-2-Clause AND BSD-3-Clause AND BSD-4-Clause-UC AND LicenseRef-Fedora-Public-Domain @@ -35,6 +35,7 @@ BuildRequires: %{pypkg}-devel BuildRequires: gcc BuildRequires: rubygem-asciidoctor BuildRequires: po4a +BuildRequires: sqlite-devel %ifarch ppc64le BuildRequires: librtas-devel %endif @@ -56,9 +57,6 @@ Source13: util-linux-su-l.pamd Source14: util-linux-runuser.pamd Source15: util-linux-runuser-l.pamd -# temporary, will be in upstream >= v2.41 -Source16: util-linux-uuidd-sysusers.conf - ### Obsoletes & Conflicts & Provides Conflicts: initscripts < 9.79-4 Conflicts: bash-completion < 1:2.1-1 @@ -93,6 +91,7 @@ Requires: libblkid = %{version}-%{release} Requires: libmount = %{version}-%{release} Requires: libsmartcols = %{version}-%{release} Requires: libfdisk = %{version}-%{release} +Requires: liblastlog2 = %{version}-%{release} Requires: util-linux-core = %{version}-%{release} %if "%{_sbindir}" == "%{_bindir}" @@ -111,9 +110,6 @@ Patch0: login-lastlog-create.patch # https://github.com/coreos/console-login-helper-messages/issues/60 Patch1: login-default-motd-file.patch -# Backport better support for erofs on ppc64le -Patch2: 0001-blkid-allow-up-to-64k-erofs-block-sizes.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 @@ -215,6 +211,25 @@ This is the device mounting development library and headers, part of util-linux. +%package -n liblastlog2 +Summary: lastlog database library and PAM module +License: BSD-2-Clause + +%description -n liblastlog2 +This is the lastlog database library and PAM module, part of util-linux. + + +%package -n liblastlog2-devel +Summary: lastlog database library +License: BSD-2-Clause +Requires: liblastlog2%{?_isa} = %{version}-%{release} +Requires: pkgconfig + +%description -n liblastlog2-devel +This is the lastlog database development library and headers, +part of util-linux. + + %package -n libblkid Summary: Block device ID library License: LGPL-2.1-or-later @@ -335,7 +350,6 @@ export DAEMON_LDFLAGS="$SUID_LDFLAGS" --disable-silent-rules \ --disable-bfs \ --disable-pg \ - --disable-liblastlog2 \ --enable-chfn-chsh \ --enable-usrdir-path \ --enable-write \ @@ -378,8 +392,6 @@ mkdir -p %{buildroot}%{_sysconfdir}/{pam.d,security/console.apps} install -d %{buildroot}/run/uuidd install -d %{buildroot}/var/lib/libuuid -install -m 644 -D %{SOURCE16} %{buildroot}%{_sysusersdir}/uuidd.conf - # /etc/adjtime install -m 644 %{SOURCE5} %{buildroot}%{_sysconfdir}/adjtime @@ -440,7 +452,7 @@ rm -f %{buildroot}/sbin/sfdisk \ ln -sf ../proc/self/mounts %{buildroot}/etc/mtab # remove static libs -rm -f %{buildroot}%{_libdir}/lib{uuid,blkid,mount,smartcols,fdisk}.a +rm -f %{buildroot}%{_libdir}/lib{uuid,blkid,mount,smartcols,fdisk,lastlog2}.a # temporary remove to avoid conflicts with bash-completion pkg rm -f %{buildroot}%{compldir}/{mount,umount} @@ -473,6 +485,14 @@ mv -v %{buildroot}/usr/sbin/* %{buildroot}/usr/bin/ %post %systemd_post fstrim.{service,timer} +### Enable after completing migration to lastlog2 +# %post -n liblastlog2 +# %systemd_post lastlog2-import.service +# +# %postun -n liblastlog2 +# %systemd_postun lastlog2-import.service +### + %preun %systemd_preun fstrim.{service,timer} @@ -525,6 +545,7 @@ fi %{_unitdir}/fstrim.* +%{_bindir}/bits %{_bindir}/cal %{_bindir}/chmem %{_bindir}/choom @@ -532,6 +553,7 @@ fi %{_bindir}/colcrt %{_bindir}/colrm %{_bindir}/column +%{_bindir}/coresched %{_bindir}/eject %{_bindir}/enosys %{_bindir}/exch @@ -544,6 +566,7 @@ fi %{_bindir}/isosize %{_bindir}/last %{_bindir}/lastb +%{_bindir}/lastlog2 %{_bindir}/look %{_bindir}/lsblk %{_bindir}/lscpu @@ -576,6 +599,8 @@ fi %{_bindir}/wdctl %{_bindir}/whereis %{_bindir}/write + +%{_mandir}/man1/bits.1* %{_mandir}/man1/cal.1* %{_mandir}/man1/chfn.1* %{_mandir}/man1/choom.1* @@ -584,6 +609,7 @@ fi %{_mandir}/man1/colcrt.1* %{_mandir}/man1/colrm.1* %{_mandir}/man1/column.1* +%{_mandir}/man1/coresched.1.* %{_mandir}/man1/eject.1* %{_mandir}/man1/enosys.1* %{_mandir}/man1/exch.1* @@ -643,6 +669,7 @@ fi %{_mandir}/man8/fsfreeze.8* %{_mandir}/man8/fstrim.8* %{_mandir}/man8/isosize.8* +%{_mandir}/man8/lastlog2.8* %{_mandir}/man8/ldattach.8* %{_mandir}/man8/lsblk.8* %{_mandir}/man8/lslocks.8* @@ -721,6 +748,7 @@ fi %{compldir}/isosize %{compldir}/last %{compldir}/lastb +%{compldir}/lastlog2 %{compldir}/ldattach %{compldir}/look %{compldir}/lsblk @@ -894,7 +922,7 @@ fi %dir %attr(2775, uuidd, uuidd) /run/uuidd %{compldir}/uuidd %{_tmpfilesdir}/uuidd-tmpfiles.conf -%{_sysusersdir}/uuidd.conf +%{_sysusersdir}/uuidd-sysusers.conf %files -n libfdisk @@ -930,6 +958,29 @@ fi %{_libdir}/pkgconfig/mount.pc +%files -n liblastlog2 +%license Documentation/licenses/COPYING.BSD-2-Clause +%{_libdir}/liblastlog2.so.* +%{_pam_moduledir}/pam_lastlog2.so +%{_tmpfilesdir}/lastlog2-tmpfiles.conf +%{_unitdir}/lastlog2* +%{_mandir}/man8/pam_lastlog2.8* + +%files -n liblastlog2-devel +%license Documentation/licenses/COPYING.BSD-2-Clause +%{_libdir}/liblastlog2.so +%{_includedir}/liblastlog2 +%{_libdir}/pkgconfig/lastlog2.pc +%{_mandir}/man3/lastlog2.3.* +%{_mandir}/man3/ll2_import_lastlog.3* +%{_mandir}/man3/ll2_read_all.3* +%{_mandir}/man3/ll2_read_entry.3* +%{_mandir}/man3/ll2_remove_entry.3* +%{_mandir}/man3/ll2_rename_user.3* +%{_mandir}/man3/ll2_update_login_time.3* +%{_mandir}/man3/ll2_write_entry.3* + + %files -n libblkid %license Documentation/licenses/COPYING.LGPL-2.1-or-later %{_libdir}/libblkid.so.* From 404f522557b6fe86fbfddc6a5b1657c055dbc791 Mon Sep 17 00:00:00 2001 From: Karel Zak Date: Tue, 24 Jun 2025 10:45:43 +0200 Subject: [PATCH 205/232] remove obsolete patch --- ...-regression-when-mounting-with-atime.patch | 133 ------------------ 1 file changed, 133 deletions(-) delete mode 100644 libmount-Fix-regression-when-mounting-with-atime.patch diff --git a/libmount-Fix-regression-when-mounting-with-atime.patch b/libmount-Fix-regression-when-mounting-with-atime.patch deleted file mode 100644 index 1c98653..0000000 --- a/libmount-Fix-regression-when-mounting-with-atime.patch +++ /dev/null @@ -1,133 +0,0 @@ -From 2b99ee2526ae61be761b0e31c50e106dbec5e9e4 Mon Sep 17 00:00:00 2001 -From: Filipe Manana -Date: Thu, 17 Aug 2023 10:20:13 +0100 -Subject: [PATCH] libmount: Fix regression when mounting with atime - -A regression was introduced in v2.39 that causes mounting with the atime -option to fail: - - $ mkfs.ext4 -F /dev/sdi - $ mount -o atime /dev/sdi /mnt/sdi - mount: /mnt/sdi: not mount point or bad option. - dmesg(1) may have more information after failed mount system call. - -The failure comes from the mount_setattr(2) call returning -EINVAL. This -is because we pass an invalid value for the attr_clr argument. From a -strace capture we have: - - mount_setattr(4, "", AT_EMPTY_PATH, {attr_set=0, attr_clr=MOUNT_ATTR_NOATIME, propagation=0 /* MS_??? */, userns_fd=0}, 32) = -1 EINVAL (Invalid argument) - -We can't pass MOUNT_ATTR_NOATIME to mount_setattr(2) through the attr_clr -argument because all atime options are exclusive, so in order to set atime -one has to pass MOUNT_ATTR__ATIME to attr_clr and leave attr_set as -MOUNT_ATTR_RELATIME (which is defined as a value of 0). - -This can be read from the man page for mount_setattr(2) and also from the -kernel source: - - $ cat fs/namespace.c - static int build_mount_kattr(const struct mount_attr *attr, size_t usize, - struct mount_kattr *kattr, unsigned int flags) - { - (...) - /* - * Since the MOUNT_ATTR_ values are an enum, not a bitmap, - * users wanting to transition to a different atime setting cannot - * simply specify the atime setting in @attr_set, but must also - * specify MOUNT_ATTR__ATIME in the @attr_clr field. - * So ensure that MOUNT_ATTR__ATIME can't be partially set in - * @attr_clr and that @attr_set can't have any atime bits set if - * MOUNT_ATTR__ATIME isn't set in @attr_clr. - */ - if (attr->attr_clr & MOUNT_ATTR__ATIME) { - if ((attr->attr_clr & MOUNT_ATTR__ATIME) != MOUNT_ATTR__ATIME) - return -EINVAL; - - /* - * Clear all previous time settings as they are mutually - * exclusive. - */ - kattr->attr_clr |= MNT_RELATIME | MNT_NOATIME; - switch (attr->attr_set & MOUNT_ATTR__ATIME) { - case MOUNT_ATTR_RELATIME: - kattr->attr_set |= MNT_RELATIME; - break; - case MOUNT_ATTR_NOATIME: - kattr->attr_set |= MNT_NOATIME; - break; - case MOUNT_ATTR_STRICTATIME: - break; - default: - return -EINVAL; - } - (...) - -So fix this by setting attr_clr MOUNT_ATTR__ATIME if we want to clear any -atime related option. - -Signed-off-by: Filipe Manana ---- - libmount/src/optlist.c | 13 ++++++++++++- - tests/expected/libmount/context-mount-flags | 3 +++ - tests/ts/libmount/context | 9 ++++++++- - 3 files changed, 23 insertions(+), 2 deletions(-) - -diff --git a/libmount/src/optlist.c b/libmount/src/optlist.c -index e93810b47..d0afc94f7 100644 ---- a/libmount/src/optlist.c -+++ b/libmount/src/optlist.c -@@ -875,7 +875,18 @@ int mnt_optlist_get_attrs(struct libmnt_optlist *ls, uint64_t *set, uint64_t *cl - - if (opt->ent->mask & MNT_INVERT) { - DBG(OPTLIST, ul_debugobj(ls, " clr: %s", opt->ent->name)); -- *clr |= x; -+ /* -+ * All atime settings are mutually exclusive so *clr must -+ * have MOUNT_ATTR__ATIME set. -+ * -+ * See the function fs/namespace.c:build_mount_kattr() -+ * in the linux kernel source. -+ */ -+ if (x == MOUNT_ATTR_RELATIME || x == MOUNT_ATTR_NOATIME || -+ x == MOUNT_ATTR_STRICTATIME) -+ *clr |= MOUNT_ATTR__ATIME; -+ else -+ *clr |= x; - } else { - DBG(OPTLIST, ul_debugobj(ls, " set: %s", opt->ent->name)); - *set |= x; -diff --git a/tests/expected/libmount/context-mount-flags b/tests/expected/libmount/context-mount-flags -index 960641863..eb71323dd 100644 ---- a/tests/expected/libmount/context-mount-flags -+++ b/tests/expected/libmount/context-mount-flags -@@ -3,3 +3,6 @@ ro,nosuid,noexec - successfully mounted - rw,nosuid,noexec - successfully umounted -+successfully mounted -+rw,relatime -+successfully umounted -diff --git a/tests/ts/libmount/context b/tests/ts/libmount/context -index f5b47185e..a5d2e81a3 100755 ---- a/tests/ts/libmount/context -+++ b/tests/ts/libmount/context -@@ -116,8 +116,15 @@ $TS_CMD_FINDMNT --kernel --mountpoint $MOUNTPOINT -o VFS-OPTIONS -n >> $TS_OUTPU - - ts_run $TESTPROG --umount $MOUNTPOINT >> $TS_OUTPUT 2>> $TS_ERRLOG - is_mounted $DEVICE && echo "$DEVICE still mounted" >> $TS_OUTPUT 2>> $TS_ERRLOG --ts_finalize_subtest - -+# Test that the atime option works after the migration to use the new kernel mount APIs. -+ts_run $TESTPROG --mount -o atime $DEVICE $MOUNTPOINT >> $TS_OUTPUT 2>> $TS_ERRLOG -+$TS_CMD_FINDMNT --kernel --mountpoint $MOUNTPOINT -o VFS-OPTIONS -n >> $TS_OUTPUT 2>> $TS_ERRLOG -+is_mounted $DEVICE || echo "$DEVICE not mounted" >> $TS_OUTPUT 2>> $TS_ERRLOG -+ts_run $TESTPROG --umount $MOUNTPOINT >> $TS_OUTPUT 2>> $TS_ERRLOG -+is_mounted $DEVICE && echo "$DEVICE still mounted" >> $TS_OUTPUT 2>> $TS_ERRLOG -+ -+ts_finalize_subtest - - ts_init_subtest "mount-loopdev" - mkdir -p $MOUNTPOINT &> /dev/null --- -2.40.1 - From b309d832e231b7d3be1f54d586c6419399812281 Mon Sep 17 00:00:00 2001 From: Karel Zak Date: Tue, 24 Jun 2025 11:02:22 +0200 Subject: [PATCH 206/232] Temporarily disable support for EROFS backing files. --- ...t-disable-EROFS-backing-file-support.patch | 89 +++++++++++++++++++ util-linux.spec | 4 + 2 files changed, 93 insertions(+) create mode 100644 0001-libmount-disable-EROFS-backing-file-support.patch diff --git a/0001-libmount-disable-EROFS-backing-file-support.patch b/0001-libmount-disable-EROFS-backing-file-support.patch new file mode 100644 index 0000000..0735aa6 --- /dev/null +++ b/0001-libmount-disable-EROFS-backing-file-support.patch @@ -0,0 +1,89 @@ +From 3b1b56c00b34e1d00349349a8a91d0add72ce97b Mon Sep 17 00:00:00 2001 +From: Karel Zak +Date: Tue, 24 Jun 2025 10:56:58 +0200 +Subject: [PATCH] libmount: disable EROFS backing file support + +Let's temporarily use the old reliable loop devices rather than directly +mounting EROFS images. It seems some tools need to adapt to the change. +See https://github.com/dracut-ng/dracut-ng/issues/1384 + +Signed-off-by: Karel Zak +--- + libmount/src/context_mount.c | 35 ----------------------------------- + libmount/src/hook_loopdev.c | 7 ------- + 2 files changed, 42 deletions(-) + +diff --git a/libmount/src/context_mount.c b/libmount/src/context_mount.c +index fbb200708..4d6d53194 100644 +--- a/libmount/src/context_mount.c ++++ b/libmount/src/context_mount.c +@@ -961,24 +961,6 @@ int mnt_context_finalize_mount(struct libmnt_context *cxt) + return rc; + } + +-static int is_erofs_regfile(struct libmnt_context *cxt) +-{ +- const char *type = mnt_fs_get_fstype(cxt->fs); +- const char *src = mnt_fs_get_srcpath(cxt->fs); +- unsigned long flags = 0; +- struct stat st; +- +- if (!type || strcmp(type, "erofs") != 0) +- return 0; +- if (mnt_context_get_user_mflags(cxt, &flags)) +- return 0; +- if (flags & (MNT_MS_LOOP | MNT_MS_OFFSET | MNT_MS_SIZELIMIT)) +- return 0; /* it's already loopdev */ +- if (!src || stat(src, &st) != 0 || !S_ISREG(st.st_mode)) +- return 0; +- return 1; +-} +- + /** + * mnt_context_mount: + * @cxt: mount context +@@ -1083,23 +1065,6 @@ again: + } + } + +- /* +- * Try mount EROFS image again with loop device. +- * See hook_loopdev.c:is_loopdev_required() for more details. +- */ +- if (rc && mnt_context_get_syscall_errno(cxt) == ENOTBLK +- && is_erofs_regfile(cxt)) { +- struct libmnt_optlist *ol = mnt_context_get_optlist(cxt); +- +- mnt_context_reset_status(cxt); +- DBG(CXT, ul_debugobj(cxt, "enabling loop= for EROFS")); +- mnt_optlist_append_flags(ol, MNT_MS_LOOP, cxt->map_userspace); +- +- rc = mnt_context_call_hooks(cxt, MNT_STAGE_PREP_SOURCE); +- if (!rc) +- goto again; +- } +- + if (rc == 0) + rc = mnt_context_call_hooks(cxt, MNT_STAGE_POST); + +diff --git a/libmount/src/hook_loopdev.c b/libmount/src/hook_loopdev.c +index 444d69d6f..29e181fe8 100644 +--- a/libmount/src/hook_loopdev.c ++++ b/libmount/src/hook_loopdev.c +@@ -468,13 +468,6 @@ static int is_loopdev_required(struct libmnt_context *cxt, struct libmnt_optlist + } + } + +- /* The EROFS kernel driver can be compiled with EROFS_FS_BACKED_BY_FILE, +- * allowing for the mounting of a regular file as a filesystem without +- * a loop device. +- */ +- if (type && strcmp(type, "erofs") == 0) +- return 0; +- + /* Note that there is no restriction (on kernel side) that would + * prevent a regular file as a mount(2) source argument. A filesystem + * that is able to mount regular files could be implemented. For this +-- +2.49.0 + diff --git a/util-linux.spec b/util-linux.spec index b6be115..59baae4 100644 --- a/util-linux.spec +++ b/util-linux.spec @@ -110,6 +110,10 @@ Patch0: login-lastlog-create.patch # https://github.com/coreos/console-login-helper-messages/issues/60 Patch1: login-default-motd-file.patch +# https://github.com/dracut-ng/dracut-ng/issues/1384 +# 2367956 - EROFS vs. the latest util-linux and kernel +Patch2: 0001-libmount-disable-EROFS-backing-file-support.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 From 7d135acec2bbf111f8b9b4920fb9f8f3791e4ef3 Mon Sep 17 00:00:00 2001 From: Karel Zak Date: Tue, 24 Jun 2025 11:17:59 +0200 Subject: [PATCH 207/232] Fix ldattach build on recent glibc headers. --- 0001-ldattach-add-ifndef-BOTHER.patch | 29 +++++++++++++++++++++++++++ util-linux.spec | 3 +++ 2 files changed, 32 insertions(+) create mode 100644 0001-ldattach-add-ifndef-BOTHER.patch diff --git a/0001-ldattach-add-ifndef-BOTHER.patch b/0001-ldattach-add-ifndef-BOTHER.patch new file mode 100644 index 0000000..602a518 --- /dev/null +++ b/0001-ldattach-add-ifndef-BOTHER.patch @@ -0,0 +1,29 @@ +From 4d2fc6b99db2f17a2562548af63454134ee910ec Mon Sep 17 00:00:00 2001 +From: Karel Zak +Date: Tue, 24 Jun 2025 11:14:29 +0200 +Subject: [PATCH] ldattach: add ifndef BOTHER + +Signed-off-by: Karel Zak +(cherry picked from commit 5405c3e09057db82ed397e61443effa9614dbc4a) +--- + sys-utils/ldattach.c | 4 +++- + 1 file changed, 3 insertions(+), 1 deletion(-) + +diff --git a/sys-utils/ldattach.c b/sys-utils/ldattach.c +index e06047c71..25903b4eb 100644 +--- a/sys-utils/ldattach.c ++++ b/sys-utils/ldattach.c +@@ -241,7 +241,9 @@ static int my_cfsetspeed(struct termios *ts, int speed) + * checks for speed and supports Bxxx bit rates only)... + */ + #if _HAVE_STRUCT_TERMIOS_C_ISPEED +-# define BOTHER 0010000 /* non standard rate */ ++# ifndef BOTHER ++# define BOTHER 0010000 /* non standard rate */ ++# endif + dbg("using non-standard speeds"); + ts->c_ospeed = ts->c_ispeed = speed; + ts->c_cflag &= ~CBAUD; +-- +2.49.0 + diff --git a/util-linux.spec b/util-linux.spec index 59baae4..c6ebe25 100644 --- a/util-linux.spec +++ b/util-linux.spec @@ -114,6 +114,9 @@ Patch1: login-default-motd-file.patch # 2367956 - EROFS vs. the latest util-linux and kernel Patch2: 0001-libmount-disable-EROFS-backing-file-support.patch +# Upstream +Patch3: 0001-ldattach-add-ifndef-BOTHER.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 From 0382798ff415262c223a4bccc959fa6c5bb0dd30 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Luk=C3=A1=C5=A1=20Zaoral?= Date: Tue, 24 Jun 2025 14:19:13 +0200 Subject: [PATCH 208/232] tests: migrate from STI to TMT Related: https://fedoraproject.org/wiki/Changes/DisableSTI --- .fmf/version | 1 + plans/ci.fmf | 5 +++++ tests/tests.yml | 13 ------------- tests/various/main.fmf | 13 +++++++++++++ tests/various/runtest.sh | 1 - 5 files changed, 19 insertions(+), 14 deletions(-) create mode 100644 .fmf/version create mode 100644 plans/ci.fmf delete mode 100644 tests/tests.yml create mode 100644 tests/various/main.fmf diff --git a/.fmf/version b/.fmf/version new file mode 100644 index 0000000..d00491f --- /dev/null +++ b/.fmf/version @@ -0,0 +1 @@ +1 diff --git a/plans/ci.fmf b/plans/ci.fmf new file mode 100644 index 0000000..c1627f9 --- /dev/null +++ b/plans/ci.fmf @@ -0,0 +1,5 @@ +summary: Basic smoke test +discover: + how: fmf +execute: + how: tmt diff --git a/tests/tests.yml b/tests/tests.yml deleted file mode 100644 index 1cd94fc..0000000 --- a/tests/tests.yml +++ /dev/null @@ -1,13 +0,0 @@ -# Test which run in classic and docker environemnt -- hosts: localhost - tags: - - classic - - container - - atomic - roles: - - role: standard-test-beakerlib - tests: - - various - required_packages: - - util-linux - - util-linux-user diff --git a/tests/various/main.fmf b/tests/various/main.fmf new file mode 100644 index 0000000..c71537e --- /dev/null +++ b/tests/various/main.fmf @@ -0,0 +1,13 @@ +summary: This test groups small sanity and regression tests for util-linux +description: '' +contact: Miroslav Vadkerti +component: + - util-linux +test: ./runtest.sh +framework: beakerlib +recommend: + - util-linux + - util-linux-user +duration: 10m +extra-summary: /CoreOS/util-linux/Sanity/various +extra-task: /CoreOS/util-linux/Sanity/various diff --git a/tests/various/runtest.sh b/tests/various/runtest.sh index 32871f4..4394d41 100755 --- a/tests/various/runtest.sh +++ b/tests/various/runtest.sh @@ -27,7 +27,6 @@ # ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ # Include Beaker environment -#. /usr/bin/rhts-environment.sh || exit 1 . /usr/share/beakerlib/beakerlib.sh || exit 1 PACKAGE="util-linux" From 164a6760ec0921afe1f043a6d08505636ca1bded Mon Sep 17 00:00:00 2001 From: Karel Zak Date: Tue, 15 Jul 2025 14:24:23 +0200 Subject: [PATCH 209/232] enable lastlog2-import.service --- util-linux.spec | 16 +++++++++------- 1 file changed, 9 insertions(+), 7 deletions(-) diff --git a/util-linux.spec b/util-linux.spec index c6ebe25..bab8288 100644 --- a/util-linux.spec +++ b/util-linux.spec @@ -489,24 +489,26 @@ find %{buildroot}%{_mandir}/man8 -regextype posix-egrep \ mv -v %{buildroot}/usr/sbin/* %{buildroot}/usr/bin/ %endif + %post %systemd_post fstrim.{service,timer} -### Enable after completing migration to lastlog2 -# %post -n liblastlog2 -# %systemd_post lastlog2-import.service -# -# %postun -n liblastlog2 -# %systemd_postun lastlog2-import.service -### +%post -n liblastlog2 +%systemd_post lastlog2-import.service + %preun %systemd_preun fstrim.{service,timer} + %postun %systemd_postun_with_restart fstrim.timer %systemd_postun fstrim.service +%postun -n liblastlog2 +%systemd_postun lastlog2-import.service + + # Please, keep uuidd running after installation! Note that systemd_post is # "systemctl preset" and it enable/disable service only. %post -n uuidd From 04d2b6b0adde9e77f06540a80df3769cc6445ab0 Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Fri, 25 Jul 2025 19:54:31 +0000 Subject: [PATCH 210/232] Rebuilt for https://fedoraproject.org/wiki/Fedora_43_Mass_Rebuild From 39c148ff89d0a3239125c1cd5da72b47dc1e7e4f Mon Sep 17 00:00:00 2001 From: Karel Zak Date: Tue, 5 Aug 2025 09:49:01 +0200 Subject: [PATCH 211/232] add /var/lib/liblastlog to files list --- util-linux.spec | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/util-linux.spec b/util-linux.spec index bab8288..8c13e0a 100644 --- a/util-linux.spec +++ b/util-linux.spec @@ -395,9 +395,10 @@ mkdir -p %{buildroot}%{_sysconfdir}/{pam.d,security/console.apps} # install util-linux %make_install -# And a dirs uuidd needs that the makefiles don't create +# And a dirs that the makefiles don't create install -d %{buildroot}/run/uuidd install -d %{buildroot}/var/lib/libuuid +install -d %{buildroot}/var/lib/liblastlog # /etc/adjtime install -m 644 %{SOURCE5} %{buildroot}%{_sysconfdir}/adjtime @@ -969,6 +970,7 @@ fi %files -n liblastlog2 %license Documentation/licenses/COPYING.BSD-2-Clause +%dir /var/lib/liblastlog %{_libdir}/liblastlog2.so.* %{_pam_moduledir}/pam_lastlog2.so %{_tmpfilesdir}/lastlog2-tmpfiles.conf From b9ed3a9a740e6d0f49f22c9b6c7631ef3a6e6809 Mon Sep 17 00:00:00 2001 From: Karel Zak Date: Tue, 5 Aug 2025 09:59:26 +0200 Subject: [PATCH 212/232] use RPM macros for /var/lib and /run --- util-linux.spec | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/util-linux.spec b/util-linux.spec index 8c13e0a..1c611f7 100644 --- a/util-linux.spec +++ b/util-linux.spec @@ -396,9 +396,9 @@ mkdir -p %{buildroot}%{_sysconfdir}/{pam.d,security/console.apps} %make_install # And a dirs that the makefiles don't create -install -d %{buildroot}/run/uuidd -install -d %{buildroot}/var/lib/libuuid -install -d %{buildroot}/var/lib/liblastlog +install -d %{buildroot}%{_rundir}/uuidd +install -d %{buildroot}%{_sharedstatedir}/libuuid +install -d %{buildroot}%{_sharedstatedir}/liblastlog # /etc/adjtime install -m 644 %{SOURCE5} %{buildroot}%{_sysconfdir}/adjtime @@ -928,8 +928,8 @@ fi %{_mandir}/man8/uuidd.8* %{_sbindir}/uuidd %{_unitdir}/uuidd.* -%dir %attr(2775, uuidd, uuidd) /var/lib/libuuid -%dir %attr(2775, uuidd, uuidd) /run/uuidd +%dir %attr(2775, uuidd, uuidd) %{_sharedstatedir}/libuuid +%dir %attr(2775, uuidd, uuidd) %{_rundir}/uuidd %{compldir}/uuidd %{_tmpfilesdir}/uuidd-tmpfiles.conf %{_sysusersdir}/uuidd-sysusers.conf @@ -970,7 +970,7 @@ fi %files -n liblastlog2 %license Documentation/licenses/COPYING.BSD-2-Clause -%dir /var/lib/liblastlog +%dir %{_sharedstatedir}/liblastlog %{_libdir}/liblastlog2.so.* %{_pam_moduledir}/pam_lastlog2.so %{_tmpfilesdir}/lastlog2-tmpfiles.conf From 5679a7db71825414f41f195a67d8273e7f58ccd9 Mon Sep 17 00:00:00 2001 From: Python Maint Date: Fri, 15 Aug 2025 15:21:47 +0200 Subject: [PATCH 213/232] Rebuilt for Python 3.14.0rc2 bytecode From 9e2caeba0d5c3d0e7a09f8cf545645d4b794646a Mon Sep 17 00:00:00 2001 From: Python Maint Date: Fri, 19 Sep 2025 15:01:56 +0200 Subject: [PATCH 214/232] Rebuilt for Python 3.14.0rc3 bytecode From ba1905c6c74e0bcf789a2900d2eca23692faa1d6 Mon Sep 17 00:00:00 2001 From: Karel Zak Date: Thu, 23 Oct 2025 12:59:14 +0200 Subject: [PATCH 215/232] upgrade to upstream release v2.41.2 --- .gitignore | 1 + 0001-ldattach-add-ifndef-BOTHER.patch | 29 --------------------------- sources | 2 +- util-linux.spec | 7 +++---- 4 files changed, 5 insertions(+), 34 deletions(-) delete mode 100644 0001-ldattach-add-ifndef-BOTHER.patch diff --git a/.gitignore b/.gitignore index 1e5ca15..cdfd72d 100644 --- a/.gitignore +++ b/.gitignore @@ -101,3 +101,4 @@ /util-linux-2.40.4.tar.xz /util-linux-2.41.tar.xz /util-linux-2.41.1.tar.xz +/util-linux-2.41.2.tar.xz diff --git a/0001-ldattach-add-ifndef-BOTHER.patch b/0001-ldattach-add-ifndef-BOTHER.patch deleted file mode 100644 index 602a518..0000000 --- a/0001-ldattach-add-ifndef-BOTHER.patch +++ /dev/null @@ -1,29 +0,0 @@ -From 4d2fc6b99db2f17a2562548af63454134ee910ec Mon Sep 17 00:00:00 2001 -From: Karel Zak -Date: Tue, 24 Jun 2025 11:14:29 +0200 -Subject: [PATCH] ldattach: add ifndef BOTHER - -Signed-off-by: Karel Zak -(cherry picked from commit 5405c3e09057db82ed397e61443effa9614dbc4a) ---- - sys-utils/ldattach.c | 4 +++- - 1 file changed, 3 insertions(+), 1 deletion(-) - -diff --git a/sys-utils/ldattach.c b/sys-utils/ldattach.c -index e06047c71..25903b4eb 100644 ---- a/sys-utils/ldattach.c -+++ b/sys-utils/ldattach.c -@@ -241,7 +241,9 @@ static int my_cfsetspeed(struct termios *ts, int speed) - * checks for speed and supports Bxxx bit rates only)... - */ - #if _HAVE_STRUCT_TERMIOS_C_ISPEED --# define BOTHER 0010000 /* non standard rate */ -+# ifndef BOTHER -+# define BOTHER 0010000 /* non standard rate */ -+# endif - dbg("using non-standard speeds"); - ts->c_ospeed = ts->c_ispeed = speed; - ts->c_cflag &= ~CBAUD; --- -2.49.0 - diff --git a/sources b/sources index 9375746..ce7b5d9 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (util-linux-2.41.1.tar.xz) = 12cf37ab2d62d0378b16a40e0194ef7131ef1ad06737cca3f169cfc04b9da08a4233076c819b30705e8fb2c3b8d91a1d83aac4f036ce58b9cf5928f545e511a2 +SHA512 (util-linux-2.41.2.tar.xz) = 696c87e7cf185acc9b4b969ddade6155ea2945ae494eaecfd7b1f35d9607166cb09be79878fb793dd31b4d4dcac8c9be4be76af3886185db7ae8b58c303fb0cf diff --git a/util-linux.spec b/util-linux.spec index 1c611f7..ea4f5a9 100644 --- a/util-linux.spec +++ b/util-linux.spec @@ -1,7 +1,7 @@ ### Header Summary: Collection of basic system utilities Name: util-linux -Version: 2.41.1 +Version: 2.41.2 # -p -e rc1 Release: %autorelease -b7 License: GPL-1.0-or-later AND GPL-2.0-only AND GPL-2.0-or-later AND GPL-3.0-or-later AND LGPL-2.1-or-later AND BSD-2-Clause AND BSD-3-Clause AND BSD-4-Clause-UC AND LicenseRef-Fedora-Public-Domain @@ -114,9 +114,6 @@ Patch1: login-default-motd-file.patch # 2367956 - EROFS vs. the latest util-linux and kernel Patch2: 0001-libmount-disable-EROFS-backing-file-support.patch -# Upstream -Patch3: 0001-ldattach-add-ifndef-BOTHER.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 @@ -733,11 +730,13 @@ fi %{compldir}/chcpu %{compldir}/chfn %{compldir}/chmem +%{compldir}/choom %{compldir}/chsh %{compldir}/col %{compldir}/colcrt %{compldir}/colrm %{compldir}/column +%{compldir}/coresched %{compldir}/ctrlaltdel %{compldir}/delpart %{compldir}/eject From 7ef16d92f732410f09ee5fe6a22e033caea7bda5 Mon Sep 17 00:00:00 2001 From: Fxzx micah Date: Tue, 18 Nov 2025 19:22:12 +0000 Subject: [PATCH 216/232] liblastlog2 uses /var/lib/lastlog You can verify it through man pam_lastlog2. --- util-linux.spec | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/util-linux.spec b/util-linux.spec index ea4f5a9..0bc12e2 100644 --- a/util-linux.spec +++ b/util-linux.spec @@ -395,7 +395,7 @@ mkdir -p %{buildroot}%{_sysconfdir}/{pam.d,security/console.apps} # And a dirs that the makefiles don't create install -d %{buildroot}%{_rundir}/uuidd install -d %{buildroot}%{_sharedstatedir}/libuuid -install -d %{buildroot}%{_sharedstatedir}/liblastlog +install -d %{buildroot}%{_sharedstatedir}/lastlog # /etc/adjtime install -m 644 %{SOURCE5} %{buildroot}%{_sysconfdir}/adjtime @@ -969,7 +969,7 @@ fi %files -n liblastlog2 %license Documentation/licenses/COPYING.BSD-2-Clause -%dir %{_sharedstatedir}/liblastlog +%dir %{_sharedstatedir}/lastlog %{_libdir}/liblastlog2.so.* %{_pam_moduledir}/pam_lastlog2.so %{_tmpfilesdir}/lastlog2-tmpfiles.conf From 9c226720cb200a9bac460b0c6f4038b78e6bfe8d Mon Sep 17 00:00:00 2001 From: Karel Zak Date: Tue, 2 Dec 2025 16:37:43 +0100 Subject: [PATCH 217/232] backport upstream patches for GCC-15 - regenerate Fedora patches from the Git tree --- 0000-login-use-O_CREAT-on-lastlog.patch | 27 ++++++++ ...un-motd.d-to-the-hardcoded-MOTD_FILE.patch | 27 ++++++++ ...t-disable-EROFS-backing-file-support.patch | 8 +-- ...lkid-use-snprintf-instead-of-sprintf.patch | 58 ++++++++++++++++ ...x-bsearch-macro-usage-with-glibc-C23.patch | 42 ++++++++++++ ...nst-qualifier-discarded-warnings-in-.patch | 57 ++++++++++++++++ ...fix-const-qualifier-warnings-for-C23.patch | 45 +++++++++++++ ...fix-const-qualifier-warnings-for-C23.patch | 67 +++++++++++++++++++ ...st-qualifier-warning-in-mnt_parse_mo.patch | 54 +++++++++++++++ ...st-qualifier-warning-in-blkid_parse_.patch | 54 +++++++++++++++ ...qualifier-warnings-in-parse_callerid.patch | 34 ++++++++++ ...ualifier-warning-in-new_counter_spec.patch | 34 ++++++++++ ...-const-qualifier-warning-in-strnrstr.patch | 34 ++++++++++ ...fix-const-qualifier-warnings-for-C23.patch | 67 +++++++++++++++++++ ...qualifier-warning-in-readlink_to_nam.patch | 33 +++++++++ ...fix-const-qualifier-warnings-for-C23.patch | 49 ++++++++++++++ ...nst-qualifier-warning-in-parse_block.patch | 33 +++++++++ ...-qualifier-warning-in-get_max_partno.patch | 34 ++++++++++ ...onst-qualifier-warning-in-read_speed.patch | 33 +++++++++ login-default-motd-file.patch | 13 ---- login-lastlog-create.patch | 12 ---- util-linux.spec | 33 ++++++--- 22 files changed, 809 insertions(+), 39 deletions(-) create mode 100644 0000-login-use-O_CREAT-on-lastlog.patch create mode 100644 0001-login-add-run-motd.d-to-the-hardcoded-MOTD_FILE.patch rename 0001-libmount-disable-EROFS-backing-file-support.patch => 0002-libmount-disable-EROFS-backing-file-support.patch (94%) create mode 100644 0003-libblkid-use-snprintf-instead-of-sprintf.patch create mode 100644 0004-lsfd-fix-bsearch-macro-usage-with-glibc-C23.patch create mode 100644 0005-lib-lscpu-fix-const-qualifier-discarded-warnings-in-.patch create mode 100644 0006-lsns-fix-const-qualifier-warnings-for-C23.patch create mode 100644 0007-libmount-fix-const-qualifier-warnings-for-C23.patch create mode 100644 0008-libmount-fix-const-qualifier-warning-in-mnt_parse_mo.patch create mode 100644 0009-libblkid-fix-const-qualifier-warning-in-blkid_parse_.patch create mode 100644 0010-dmesg-fix-const-qualifier-warnings-in-parse_callerid.patch create mode 100644 0011-lsfd-fix-const-qualifier-warning-in-new_counter_spec.patch create mode 100644 0012-lsfd-fix-const-qualifier-warning-in-strnrstr.patch create mode 100644 0013-logger-fix-const-qualifier-warnings-for-C23.patch create mode 100644 0014-namei-fix-const-qualifier-warning-in-readlink_to_nam.patch create mode 100644 0015-whereis-fix-const-qualifier-warnings-for-C23.patch create mode 100644 0016-enosys-fix-const-qualifier-warning-in-parse_block.patch create mode 100644 0017-partx-fix-const-qualifier-warning-in-get_max_partno.patch create mode 100644 0018-eject-fix-const-qualifier-warning-in-read_speed.patch delete mode 100644 login-default-motd-file.patch delete mode 100644 login-lastlog-create.patch diff --git a/0000-login-use-O_CREAT-on-lastlog.patch b/0000-login-use-O_CREAT-on-lastlog.patch new file mode 100644 index 0000000..39751c2 --- /dev/null +++ b/0000-login-use-O_CREAT-on-lastlog.patch @@ -0,0 +1,27 @@ +From a2357184ff3dc3beb001fcb12e1e4c0dcf8d0dbd Mon Sep 17 00:00:00 2001 +From: Karel Zak +Date: Tue, 2 Dec 2025 16:15:44 +0100 +Subject: login: use O_CREAT on lastlog + +Addresses: https://bugzilla.redhat.com/show_bug.cgi?id=151635 +Signed-off-by: Karel Zak +--- + 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 321f9d6ce..edc69fd9a 100644 +--- a/login-utils/login.c ++++ b/login-utils/login.c +@@ -682,7 +682,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.51.1 + diff --git a/0001-login-add-run-motd.d-to-the-hardcoded-MOTD_FILE.patch b/0001-login-add-run-motd.d-to-the-hardcoded-MOTD_FILE.patch new file mode 100644 index 0000000..91d7f5c --- /dev/null +++ b/0001-login-add-run-motd.d-to-the-hardcoded-MOTD_FILE.patch @@ -0,0 +1,27 @@ +From 617a887a6ec7e433f6a9f4c60592ed38b12b9f18 Mon Sep 17 00:00:00 2001 +From: Karel Zak +Date: Tue, 2 Dec 2025 16:17:55 +0100 +Subject: login: add /run/motd.d` to the hardcoded MOTD_FILE + +Addresses: https://github.com/coreos/console-login-helper-messages/issues/60 +Signed-off-by: Karel Zak +--- + include/pathnames.h | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/include/pathnames.h b/include/pathnames.h +index 34ba11ca3..c91a077e1 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.51.1 + diff --git a/0001-libmount-disable-EROFS-backing-file-support.patch b/0002-libmount-disable-EROFS-backing-file-support.patch similarity index 94% rename from 0001-libmount-disable-EROFS-backing-file-support.patch rename to 0002-libmount-disable-EROFS-backing-file-support.patch index 0735aa6..2cb17a1 100644 --- a/0001-libmount-disable-EROFS-backing-file-support.patch +++ b/0002-libmount-disable-EROFS-backing-file-support.patch @@ -1,7 +1,7 @@ -From 3b1b56c00b34e1d00349349a8a91d0add72ce97b Mon Sep 17 00:00:00 2001 +From 93a62761843ff76187bd542fe717fa0c9b8f73a7 Mon Sep 17 00:00:00 2001 From: Karel Zak Date: Tue, 24 Jun 2025 10:56:58 +0200 -Subject: [PATCH] libmount: disable EROFS backing file support +Subject: libmount: disable EROFS backing file support Let's temporarily use the old reliable loop devices rather than directly mounting EROFS images. It seems some tools need to adapt to the change. @@ -14,7 +14,7 @@ Signed-off-by: Karel Zak 2 files changed, 42 deletions(-) diff --git a/libmount/src/context_mount.c b/libmount/src/context_mount.c -index fbb200708..4d6d53194 100644 +index ee3eadb05..e1d06a61e 100644 --- a/libmount/src/context_mount.c +++ b/libmount/src/context_mount.c @@ -961,24 +961,6 @@ int mnt_context_finalize_mount(struct libmnt_context *cxt) @@ -85,5 +85,5 @@ index 444d69d6f..29e181fe8 100644 * prevent a regular file as a mount(2) source argument. A filesystem * that is able to mount regular files could be implemented. For this -- -2.49.0 +2.51.1 diff --git a/0003-libblkid-use-snprintf-instead-of-sprintf.patch b/0003-libblkid-use-snprintf-instead-of-sprintf.patch new file mode 100644 index 0000000..6372a17 --- /dev/null +++ b/0003-libblkid-use-snprintf-instead-of-sprintf.patch @@ -0,0 +1,58 @@ +From 0cd0a9dd42a3249bbbee4855fbc406c4ca5fdd5b Mon Sep 17 00:00:00 2001 +From: Karel Zak +Date: Mon, 6 Oct 2025 15:04:24 +0200 +Subject: libblkid: use snprintf() instead of sprintf() + +Replace sprintf() calls with snprintf() to ensure proper bounds +checking when formatting strings. + +In encode.c, the check now validates snprintf() return value instead +of pre-checking buffer size, providing more robust error handling. + +In probe.c, snprintf() is used with proper size calculation based on +remaining buffer space. + +Signed-off-by: Karel Zak +(cherry picked from commit 041380f4ca7244df624bf7efdb5e27fdd3144175) +(cherry picked from commit 917917253e60b0ba485cf6a27a2f993aa43e1eea) +--- + libblkid/src/encode.c | 6 ++++-- + libblkid/src/probe.c | 4 ++-- + 2 files changed, 6 insertions(+), 4 deletions(-) + +diff --git a/libblkid/src/encode.c b/libblkid/src/encode.c +index 8213873ee..4b83f6690 100644 +--- a/libblkid/src/encode.c ++++ b/libblkid/src/encode.c +@@ -191,9 +191,11 @@ int blkid_encode_string(const char *str, char *str_enc, size_t len) + j += seqlen; + i += (seqlen-1); + } else if (str[i] == '\\' || !is_whitelisted(str[i], NULL)) { +- if (len-j < 4) ++ int rc; ++ ++ rc = snprintf(&str_enc[j], len-j, "\\x%02x", (unsigned char) str[i]); ++ if (rc != 4) + goto err; +- sprintf(&str_enc[j], "\\x%02x", (unsigned char) str[i]); + j += 4; + } else { + if (len-j < 1) +diff --git a/libblkid/src/probe.c b/libblkid/src/probe.c +index 61b93021c..a38f5990e 100644 +--- a/libblkid/src/probe.c ++++ b/libblkid/src/probe.c +@@ -2012,8 +2012,8 @@ static void blkid_probe_log_csum_mismatch(blkid_probe pr, size_t n, const void * + int hex_size = min(sizeof(csum_hex), n * 2); + + for (int i = 0; i < hex_size; i+=2) { +- sprintf(&csum_hex[i], "%02X", ((const unsigned char *) csum)[i / 2]); +- sprintf(&expected_hex[i], "%02X", ((const unsigned char *) expected)[i / 2]); ++ snprintf(&csum_hex[i], sizeof(csum_hex) - i, "%02X", ((const unsigned char *) csum)[i / 2]); ++ snprintf(&expected_hex[i], sizeof(expected_hex) - i, "%02X", ((const unsigned char *) expected)[i / 2]); + } + + DBG(LOWPROBE, ul_debug( +-- +2.51.1 + diff --git a/0004-lsfd-fix-bsearch-macro-usage-with-glibc-C23.patch b/0004-lsfd-fix-bsearch-macro-usage-with-glibc-C23.patch new file mode 100644 index 0000000..c8fb5ea --- /dev/null +++ b/0004-lsfd-fix-bsearch-macro-usage-with-glibc-C23.patch @@ -0,0 +1,42 @@ +From 189960ccca3866461d4ee91c3b7ffb9dac6d0078 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Cristian=20Rodr=C3=ADguez?= +Date: Sat, 22 Nov 2025 10:41:08 -0300 +Subject: lsfd: fix bsearch macro usage with glibc C23 +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +C23 requires bsearch to be a const preserving macro, build now fails +with + +../lsfd-cmd/lsfd.c:1879:75: error: macro ‘bsearch’ passed 6 arguments, but takes just 5 + 1879 | nfds, sizeof(struct pollfd), pollfdcmp)) + | ^ +In file included from ../include/c.h:17, + from ../lsfd-cmd/lsfd.c:48: +/usr/include/stdlib.h:987:10: note: macro ‘bsearch’ defined here + 987 | # define bsearch(KEY, BASE, NMEMB, SIZE, COMPAR) \ + + add parenthesis around expression to fix it. + +(cherry picked from commit 711bda1441561bfd2eb6d45fe0bc789535c1f1a8) +--- + lsfd-cmd/lsfd.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/lsfd-cmd/lsfd.c b/lsfd-cmd/lsfd.c +index 75cd1de58..9aae240fc 100644 +--- a/lsfd-cmd/lsfd.c ++++ b/lsfd-cmd/lsfd.c +@@ -1836,7 +1836,7 @@ static void mark_poll_fds_as_multiplexed(char *buf, + struct file *file = list_entry(f, struct file, files); + if (is_opened_file(file) && !file->multiplexed) { + int fd = file->association; +- if (bsearch(&(struct pollfd){.fd = fd,}, local.iov_base, ++ if (bsearch((&(struct pollfd){.fd = fd,}), local.iov_base, + nfds, sizeof(struct pollfd), pollfdcmp)) + file->multiplexed = 1; + } +-- +2.51.1 + diff --git a/0005-lib-lscpu-fix-const-qualifier-discarded-warnings-in-.patch b/0005-lib-lscpu-fix-const-qualifier-discarded-warnings-in-.patch new file mode 100644 index 0000000..a5064b0 --- /dev/null +++ b/0005-lib-lscpu-fix-const-qualifier-discarded-warnings-in-.patch @@ -0,0 +1,57 @@ +From 638055dbe76ca0b3f87bcc0879e5810fadece18c Mon Sep 17 00:00:00 2001 +From: Karel Zak +Date: Thu, 27 Nov 2025 10:27:07 +0100 +Subject: lib, lscpu: fix const qualifier discarded warnings in bsearch + +Fix compilation warnings from newer compilers with stricter +const-correctness checks. When bsearch() searches in const arrays, +the result pointer must also be const to avoid discarding the +const qualifier. + +Fixed in: +- lib/color-names.c: searching in static const basic_schemes[] +- sys-utils/lscpu-cputype.c: searching in const pattern arrays + +The warnings were: + lib/color-names.c:62:13: error: assignment discards 'const' + qualifier from pointer target type + [-Werror=discarded-qualifiers] + +Signed-off-by: Karel Zak +(cherry picked from commit 0cef3e4f5aac19bc3623883ca64c66538aa9b442) +--- + lib/color-names.c | 3 ++- + sys-utils/lscpu-cputype.c | 3 ++- + 2 files changed, 4 insertions(+), 2 deletions(-) + +diff --git a/lib/color-names.c b/lib/color-names.c +index 88c4ef957..daebcedae 100644 +--- a/lib/color-names.c ++++ b/lib/color-names.c +@@ -54,7 +54,8 @@ const char *color_sequence_from_colorname(const char *str) + { "white", UL_COLOR_WHITE }, + { "yellow", UL_COLOR_BOLD_YELLOW } + }; +- struct ul_color_name key = { .name = str }, *res; ++ struct ul_color_name key = { .name = str }; ++ const struct ul_color_name *res; + + if (!str) + return NULL; +diff --git a/sys-utils/lscpu-cputype.c b/sys-utils/lscpu-cputype.c +index 3937a00a8..99b112bf9 100644 +--- a/sys-utils/lscpu-cputype.c ++++ b/sys-utils/lscpu-cputype.c +@@ -444,7 +444,8 @@ static char *key_cleanup(char *str, int *keynum) + + static const struct cpuinfo_pattern *cpuinfo_parse_line(char *str, char **value, int *keynum) + { +- struct cpuinfo_pattern key = { .id = 0 }, *pat; ++ struct cpuinfo_pattern key = { .id = 0 }; ++ const struct cpuinfo_pattern *pat; + char *p, *v; + char buf[CPUTYPE_PATTERN_BUFSZ] = { 0 }; + +-- +2.51.1 + diff --git a/0006-lsns-fix-const-qualifier-warnings-for-C23.patch b/0006-lsns-fix-const-qualifier-warnings-for-C23.patch new file mode 100644 index 0000000..8478b21 --- /dev/null +++ b/0006-lsns-fix-const-qualifier-warnings-for-C23.patch @@ -0,0 +1,45 @@ +From 986936d454b1f9165f5b35196a732db71a8d3b46 Mon Sep 17 00:00:00 2001 +From: Karel Zak +Date: Thu, 27 Nov 2025 15:41:21 +0100 +Subject: lsns: fix const qualifier warnings for C23 + +Fix const qualifier discarded warnings in read_persistent_namespaces() +and is_path_included() functions. These warnings are reported by gcc 15 +which defaults to the C23 standard. + +The strchr() and strstr() functions return pointers into const strings, +so the receiving variables must be declared as const char *. + +Signed-off-by: Karel Zak +(cherry picked from commit dbe4c16973d5d0f69ba3bf1bd8942a51de9a0933) +--- + sys-utils/lsns.c | 6 +++--- + 1 file changed, 3 insertions(+), 3 deletions(-) + +diff --git a/sys-utils/lsns.c b/sys-utils/lsns.c +index 812afe710..2ee078ac6 100644 +--- a/sys-utils/lsns.c ++++ b/sys-utils/lsns.c +@@ -1003,8 +1003,8 @@ static int read_persistent_namespaces(struct lsns *ls) + struct libmnt_fs *fs = NULL; + + while (mnt_table_next_fs(ls->tab, itr, &fs) == 0) { +- const char *root; +- char *p, *end = NULL; ++ const char *root, *p; ++ char *end = NULL; + ino_t ino; + int fd; + +@@ -1095,7 +1095,7 @@ static int is_path_included(const char *path_set, const char *elt, + { + size_t elt_len; + size_t path_set_len; +- char *tmp; ++ const char *tmp; + + + tmp = strstr(path_set, elt); +-- +2.51.1 + diff --git a/0007-libmount-fix-const-qualifier-warnings-for-C23.patch b/0007-libmount-fix-const-qualifier-warnings-for-C23.patch new file mode 100644 index 0000000..5f67a10 --- /dev/null +++ b/0007-libmount-fix-const-qualifier-warnings-for-C23.patch @@ -0,0 +1,67 @@ +From 04f796acef76bb18445f516f44838b95dba49883 Mon Sep 17 00:00:00 2001 +From: Karel Zak +Date: Thu, 27 Nov 2025 15:45:55 +0100 +Subject: libmount: fix const qualifier warnings for C23 + +Fix const qualifier discarded warnings in optlist_add_flags(), +mnt_opt_value_with(), and mnt_optstr_apply_flags() functions. +These warnings are reported by gcc 15 which defaults to the C23 standard. + +The strchr() and strstr() functions return pointers into const strings, +so the receiving variables must be declared as const char *. + +Signed-off-by: Karel Zak +(cherry picked from commit c0c79c41527365ca7de30c75daaa018ea01fff97) +--- + libmount/src/optlist.c | 7 +++---- + libmount/src/optstr.c | 2 +- + 2 files changed, 4 insertions(+), 5 deletions(-) + +diff --git a/libmount/src/optlist.c b/libmount/src/optlist.c +index 256c592fd..1d32c2dd6 100644 +--- a/libmount/src/optlist.c ++++ b/libmount/src/optlist.c +@@ -601,7 +601,7 @@ static int optlist_add_flags(struct libmnt_optlist *ls, unsigned long flags, + + for (ent = map; ent && ent->name; ent++) { + +- char *p; ++ const char *p; + size_t sz; + struct libmnt_opt *opt; + +@@ -621,7 +621,7 @@ static int optlist_add_flags(struct libmnt_optlist *ls, unsigned long flags, + sz = p - ent->name; + p -= sz; + } else { +- p = (char *) ent->name; ++ p = ent->name; + sz = strlen(ent->name); /* alone "name" */ + } + +@@ -1162,8 +1162,7 @@ const char *mnt_opt_get_value(struct libmnt_opt *opt) + /* check if option value is @str or comma separated @str */ + int mnt_opt_value_with(struct libmnt_opt *opt, const char *str) + { +- char *p; +- const char *start = opt->value; ++ const char *p, *start = opt->value; + size_t len; + + if (!str || !opt->value || !*opt->value) +diff --git a/libmount/src/optstr.c b/libmount/src/optstr.c +index ac20d8755..51526973d 100644 +--- a/libmount/src/optstr.c ++++ b/libmount/src/optstr.c +@@ -807,7 +807,7 @@ int mnt_optstr_apply_flags(char **optstr, unsigned long flags, + const struct libmnt_optmap *ent; + struct ul_buffer buf = UL_INIT_BUFFER; + size_t sz; +- char *p; ++ const char *p; + + ul_buffer_refer_string(&buf, *optstr); + +-- +2.51.1 + diff --git a/0008-libmount-fix-const-qualifier-warning-in-mnt_parse_mo.patch b/0008-libmount-fix-const-qualifier-warning-in-mnt_parse_mo.patch new file mode 100644 index 0000000..d4355db --- /dev/null +++ b/0008-libmount-fix-const-qualifier-warning-in-mnt_parse_mo.patch @@ -0,0 +1,54 @@ +From 1ba0d6e2c78f3423cb6427e4922f5949af7429e0 Mon Sep 17 00:00:00 2001 +From: Karel Zak +Date: Thu, 27 Nov 2025 16:24:11 +0100 +Subject: libmount: fix const qualifier warning in mnt_parse_mountinfo_line + +Fix const qualifier discarded warning in mnt_parse_mountinfo_line(). +This warning is reported by gcc 15 which defaults to the C23 standard. + +The strstr() function returns a pointer into a const string, so +introduce a separate 'sep' variable to hold this const pointer, +keeping 'p' for non-const unmangle() results that need to be freed. + +Signed-off-by: Karel Zak +(cherry picked from commit 530bf5c5b071753e149699c638ad1820daf5c205) +--- + libmount/src/tab_parse.c | 11 ++++++----- + 1 file changed, 6 insertions(+), 5 deletions(-) + +diff --git a/libmount/src/tab_parse.c b/libmount/src/tab_parse.c +index 3dd853880..3503c233c 100644 +--- a/libmount/src/tab_parse.c ++++ b/libmount/src/tab_parse.c +@@ -186,6 +186,7 @@ static int mnt_parse_mountinfo_line(struct libmnt_fs *fs, const char *s) + int rc = 0; + unsigned int maj, min; + char *p; ++ const char *sep; + + fs->flags |= MNT_FS_KERNEL; + +@@ -242,15 +243,15 @@ static int mnt_parse_mountinfo_line(struct libmnt_fs *fs, const char *s) + } + + /* (7) optional fields, terminated by " - " */ +- p = strstr(s, " - "); +- if (!p) { ++ sep = strstr(s, " - "); ++ if (!sep) { + DBG(TAB, ul_debug("mountinfo parse error: separator not found")); + return -EINVAL; + } +- if (p > s + 1) +- fs->opt_fields = strndup(s + 1, p - s - 1); ++ if (sep > s + 1) ++ fs->opt_fields = strndup(s + 1, sep - s - 1); + +- s = skip_separator(p + 3); ++ s = skip_separator(sep + 3); + + /* (8) FS type */ + p = unmangle(s, &s); +-- +2.51.1 + diff --git a/0009-libblkid-fix-const-qualifier-warning-in-blkid_parse_.patch b/0009-libblkid-fix-const-qualifier-warning-in-blkid_parse_.patch new file mode 100644 index 0000000..cd6b676 --- /dev/null +++ b/0009-libblkid-fix-const-qualifier-warning-in-blkid_parse_.patch @@ -0,0 +1,54 @@ +From 088509a327523fc25e2014c47035e587740ca564 Mon Sep 17 00:00:00 2001 +From: Karel Zak +Date: Thu, 27 Nov 2025 16:28:41 +0100 +Subject: libblkid: fix const qualifier warning in blkid_parse_tag_string + +Fix const qualifier discarded warning in blkid_parse_tag_string(). +This warning is reported by gcc 15 which defaults to the C23 standard. + +The strchr() function returns a pointer into a const string, so +introduce a separate 'eq' variable to hold this const pointer for +finding the '=' separator. Also move the 'cp' variable declaration +into the block where it's actually used for quote handling. + +Signed-off-by: Karel Zak +(cherry picked from commit c45442ef125270d0ab2cb539747ccaf737d60d37) +--- + libblkid/src/tag.c | 10 ++++++---- + 1 file changed, 6 insertions(+), 4 deletions(-) + +diff --git a/libblkid/src/tag.c b/libblkid/src/tag.c +index 178336505..f195c0625 100644 +--- a/libblkid/src/tag.c ++++ b/libblkid/src/tag.c +@@ -202,21 +202,23 @@ errout: + */ + int blkid_parse_tag_string(const char *token, char **ret_type, char **ret_val) + { +- char *name, *value, *cp; ++ char *name, *value; ++ const char *eq; + + DBG(TAG, ul_debug("trying to parse '%s' as a tag", token)); + +- if (!token || !(cp = strchr(token, '='))) ++ if (!token || !(eq = strchr(token, '='))) + return -1; + + name = strdup(token); + if (!name) + return -1; +- value = name + (cp - token); ++ value = name + (eq - token); + *value++ = '\0'; + if (*value == '"' || *value == '\'') { + char c = *value++; +- if (!(cp = strrchr(value, c))) ++ char *cp = strrchr(value, c); ++ if (!cp) + goto errout; /* missing closing quote */ + *cp = '\0'; + } +-- +2.51.1 + diff --git a/0010-dmesg-fix-const-qualifier-warnings-in-parse_callerid.patch b/0010-dmesg-fix-const-qualifier-warnings-in-parse_callerid.patch new file mode 100644 index 0000000..2d6f9d0 --- /dev/null +++ b/0010-dmesg-fix-const-qualifier-warnings-in-parse_callerid.patch @@ -0,0 +1,34 @@ +From d35ec59cf727c302cd499cc0d6efffd9efdcdce3 Mon Sep 17 00:00:00 2001 +From: Karel Zak +Date: Thu, 27 Nov 2025 16:33:04 +0100 +Subject: dmesg: fix const qualifier warnings in parse_callerid + +Fix const qualifier discarded warnings in parse_callerid(). +These warnings are reported by gcc 15 which defaults to the C23 standard. + +The strchr() and strstr() functions return pointers into const strings, +so the receiving variables must be declared as const char *. + +Signed-off-by: Karel Zak +(cherry picked from commit 40e6850d2b2ba2492d5f3e75656cb9bcce2806bb) +--- + sys-utils/dmesg.c | 3 +-- + 1 file changed, 1 insertion(+), 2 deletions(-) + +diff --git a/sys-utils/dmesg.c b/sys-utils/dmesg.c +index cccbd4067..cdf23b021 100644 +--- a/sys-utils/dmesg.c ++++ b/sys-utils/dmesg.c +@@ -844,8 +844,7 @@ static const char *parse_callerid(const char *p_str, const char *end, + const char *p_after; + const char *p_next; + size_t cid_size; +- char *p_scn; +- char *p_cid; ++ const char *p_scn, *p_cid; + + /* Check for PRINTK_CALLER prefix, must be before msg text */ + p_cid = strstr(p_str, DMESG_CALLER_PREFIX); +-- +2.51.1 + diff --git a/0011-lsfd-fix-const-qualifier-warning-in-new_counter_spec.patch b/0011-lsfd-fix-const-qualifier-warning-in-new_counter_spec.patch new file mode 100644 index 0000000..793e284 --- /dev/null +++ b/0011-lsfd-fix-const-qualifier-warning-in-new_counter_spec.patch @@ -0,0 +1,34 @@ +From 3a9950c35da4f1e7032d55f3c993fff390fde9c2 Mon Sep 17 00:00:00 2001 +From: Karel Zak +Date: Thu, 27 Nov 2025 16:35:56 +0100 +Subject: lsfd: fix const qualifier warning in new_counter_spec + +Fix const qualifier discarded warning in new_counter_spec(). +This warning is reported by gcc 15 which defaults to the C23 standard. + +The function modifies the input string by inserting a null terminator +to split it into name and expression parts, so the parameter should +be char * rather than const char *. + +Signed-off-by: Karel Zak +(cherry picked from commit 014d2779afb4118d7117442eeed562e2c7b7594f) +--- + lsfd-cmd/lsfd.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/lsfd-cmd/lsfd.c b/lsfd-cmd/lsfd.c +index 9aae240fc..2e83acf91 100644 +--- a/lsfd-cmd/lsfd.c ++++ b/lsfd-cmd/lsfd.c +@@ -2278,7 +2278,7 @@ static struct libscols_filter *new_filter(const char *expr, bool debug, struct l + return f; + } + +-static struct counter_spec *new_counter_spec(const char *spec_str) ++static struct counter_spec *new_counter_spec(char *spec_str) + { + char *sep; + struct counter_spec *spec; +-- +2.51.1 + diff --git a/0012-lsfd-fix-const-qualifier-warning-in-strnrstr.patch b/0012-lsfd-fix-const-qualifier-warning-in-strnrstr.patch new file mode 100644 index 0000000..7c78c52 --- /dev/null +++ b/0012-lsfd-fix-const-qualifier-warning-in-strnrstr.patch @@ -0,0 +1,34 @@ +From 6b3fa46d97201628b893f81c3bf3202aedd6ce30 Mon Sep 17 00:00:00 2001 +From: Karel Zak +Date: Thu, 27 Nov 2025 16:38:18 +0100 +Subject: lsfd: fix const qualifier warning in strnrstr + +Fix const qualifier discarded warning in strnrstr(). +This warning is reported by gcc 15 which defaults to the C23 standard. + +The function returns a non-const pointer into the haystack parameter, +and callers modify the string through that pointer. Therefore, the +haystack parameter should be char * rather than const char *. + +Signed-off-by: Karel Zak +(cherry picked from commit 935f2ab21add95059a92208f69ef578708307481) +--- + lsfd-cmd/file.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/lsfd-cmd/file.c b/lsfd-cmd/file.c +index 32b08693d..5ea3ccc57 100644 +--- a/lsfd-cmd/file.c ++++ b/lsfd-cmd/file.c +@@ -387,7 +387,7 @@ void decode_source(char *buf, size_t bufsize, + dev_minor); + } + +-static char *strnrstr(const char *haystack, const char *needle, size_t needle_len) ++static char *strnrstr(char *haystack, const char *needle, size_t needle_len) + { + char *last = strstr(haystack, needle); + if (last == NULL) +-- +2.51.1 + diff --git a/0013-logger-fix-const-qualifier-warnings-for-C23.patch b/0013-logger-fix-const-qualifier-warnings-for-C23.patch new file mode 100644 index 0000000..7b661d7 --- /dev/null +++ b/0013-logger-fix-const-qualifier-warnings-for-C23.patch @@ -0,0 +1,67 @@ +From f7458f53c4cf63014de131434872e6c8fee6adab Mon Sep 17 00:00:00 2001 +From: Karel Zak +Date: Thu, 27 Nov 2025 16:43:38 +0100 +Subject: logger: fix const qualifier warnings for C23 + +Fix const qualifier discarded warnings in valid_structured_data_param() +and valid_structured_data_id() functions. These warnings are reported by +gcc 15 which defaults to the C23 standard. + +The strchr() and strstr() functions return pointers into const strings, +so the receiving variables must be declared as const char *. + +Signed-off-by: Karel Zak +(cherry picked from commit 22c3b959ef381b35a55ed00cf6acd2507b461d4b) +--- + misc-utils/logger.c | 14 +++++++------- + 1 file changed, 7 insertions(+), 7 deletions(-) + +diff --git a/misc-utils/logger.c b/misc-utils/logger.c +index f332a7d27..2a45b12bf 100644 +--- a/misc-utils/logger.c ++++ b/misc-utils/logger.c +@@ -699,10 +699,10 @@ static char *get_structured_data_string(struct logger_ctl *ctl) + + static int valid_structured_data_param(const char *str) + { +- char *s; +- char *eq = strchr(str, '='), +- *qm1 = strchr(str, '"'), +- *qm2 = qm1 ? ul_strchr_escaped(qm1 + 1, '"') : NULL; ++ const char *s; ++ const char *eq = strchr(str, '='), ++ *qm1 = strchr(str, '"'), ++ *qm2 = qm1 ? ul_strchr_escaped(qm1 + 1, '"') : NULL; + + /* something is missing */ + if (!eq || !qm1 || !qm2) +@@ -710,7 +710,7 @@ static int valid_structured_data_param(const char *str) + + /* ']' need to be escaped */ + for (s = qm1 + 1; s && *s; ) { +- char *p = strchr(s, ']'); ++ const char *p = strchr(s, ']'); + if (!p) + break; + if (p > qm2 || p == ul_strchr_escaped(s, ']')) +@@ -720,7 +720,7 @@ static int valid_structured_data_param(const char *str) + + /* '\' is allowed only before '[]"\' chars */ + for (s = qm1 + 1; s && *s; ) { +- char *p = strchr(s, '\\'); ++ const char *p = strchr(s, '\\'); + if (!p) + break; + if (!strchr("[]\"\\", *(p + 1))) +@@ -739,7 +739,7 @@ static int valid_structured_data_param(const char *str) + */ + static int valid_structured_data_id(const char *str) + { +- char *at = strchr(str, '@'); ++ const char *at = strchr(str, '@'); + const char *p; + + /* standardized IDs without @ */ +-- +2.51.1 + diff --git a/0014-namei-fix-const-qualifier-warning-in-readlink_to_nam.patch b/0014-namei-fix-const-qualifier-warning-in-readlink_to_nam.patch new file mode 100644 index 0000000..e5c7da6 --- /dev/null +++ b/0014-namei-fix-const-qualifier-warning-in-readlink_to_nam.patch @@ -0,0 +1,33 @@ +From cb68695cf9d93fe8692c69ae3773e64364491d48 Mon Sep 17 00:00:00 2001 +From: Karel Zak +Date: Thu, 27 Nov 2025 16:44:47 +0100 +Subject: namei: fix const qualifier warning in readlink_to_namei + +Fix const qualifier discarded warning in readlink_to_namei(). +This warning is reported by gcc 15 which defaults to the C23 standard. + +The strrchr() function returns a pointer into a const string, so the +receiving variable must be declared as const char *. + +Signed-off-by: Karel Zak +(cherry picked from commit e318417f00982bf496fd2359853b07ada3e3c544) +--- + misc-utils/namei.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/misc-utils/namei.c b/misc-utils/namei.c +index 0a9ed8df8..2c3049284 100644 +--- a/misc-utils/namei.c ++++ b/misc-utils/namei.c +@@ -100,7 +100,7 @@ readlink_to_namei(struct namei *nm, const char *path) + if (sz < 1) + err(EXIT_FAILURE, _("failed to read symlink: %s"), path); + if (*sym != '/') { +- char *p = strrchr(path, '/'); ++ const char *p = strrchr(path, '/'); + + if (p) { + isrel = 1; +-- +2.51.1 + diff --git a/0015-whereis-fix-const-qualifier-warnings-for-C23.patch b/0015-whereis-fix-const-qualifier-warnings-for-C23.patch new file mode 100644 index 0000000..2d41aef --- /dev/null +++ b/0015-whereis-fix-const-qualifier-warnings-for-C23.patch @@ -0,0 +1,49 @@ +From bc377ab3489beb493e940f01cfad7a2997c32550 Mon Sep 17 00:00:00 2001 +From: Karel Zak +Date: Thu, 27 Nov 2025 16:46:22 +0100 +Subject: whereis: fix const qualifier warnings for C23 + +Fix const qualifier discarded warnings in dirlist_add_subdir() and +lookup() functions. These warnings are reported by gcc 15 which +defaults to the C23 standard. + +The strchr() and strrchr() functions return pointers into const strings, +so the receiving variables must be declared as const char *. + +Signed-off-by: Karel Zak +(cherry picked from commit 01018b74163f9122c75179a7c991b0aa0f8c603c) +--- + misc-utils/whereis.c | 7 ++++--- + 1 file changed, 4 insertions(+), 3 deletions(-) + +diff --git a/misc-utils/whereis.c b/misc-utils/whereis.c +index b575e57ae..310512b30 100644 +--- a/misc-utils/whereis.c ++++ b/misc-utils/whereis.c +@@ -269,7 +269,7 @@ static void dirlist_add_subdir(struct wh_dirlist **ls, int type, const char *dir + char buf[PATH_MAX], *d; + DIR *dirp; + struct dirent *dp; +- char *postfix; ++ const char *postfix; + size_t len; + + postfix = strchr(dir, '*'); +@@ -473,11 +473,12 @@ static void lookup(const char *pattern, struct wh_dirlist *ls, int want) + { + char patbuf[PATH_MAX] = { 0 }; + int count = 0; +- char *wait = NULL, *p; ++ char *wait = NULL; ++ const char *p; + + /* canonicalize pattern -- remove path suffix etc. */ + p = strrchr(pattern, '/'); +- p = p ? p + 1 : (char *) pattern; ++ p = p ? p + 1 : pattern; + xstrncpy(patbuf, p, PATH_MAX); + + DBG(SEARCH, ul_debug("lookup dirs for '%s' (%s), want: %s %s %s", +-- +2.51.1 + diff --git a/0016-enosys-fix-const-qualifier-warning-in-parse_block.patch b/0016-enosys-fix-const-qualifier-warning-in-parse_block.patch new file mode 100644 index 0000000..4af94c8 --- /dev/null +++ b/0016-enosys-fix-const-qualifier-warning-in-parse_block.patch @@ -0,0 +1,33 @@ +From d2d6d2bba6470d3b38a284d7de874901e3cb6662 Mon Sep 17 00:00:00 2001 +From: Karel Zak +Date: Thu, 27 Nov 2025 16:47:46 +0100 +Subject: enosys: fix const qualifier warning in parse_block + +Fix const qualifier discarded warning in parse_block(). +This warning is reported by gcc 15 which defaults to the C23 standard. + +The strchr() function returns a pointer into a const string, so the +receiving variable must be declared as const char *. + +Signed-off-by: Karel Zak +(cherry picked from commit 70379d240dcf975d140160bb4c14cf1b3fe70bcc) +--- + misc-utils/enosys.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/misc-utils/enosys.c b/misc-utils/enosys.c +index 6afb27107..5f780ae98 100644 +--- a/misc-utils/enosys.c ++++ b/misc-utils/enosys.c +@@ -105,7 +105,7 @@ static struct blocked_number *parse_block(const char *s, int ret, const struct s + struct blocked_number *blocked; + const char *name, *error_name; + long blocked_number; +- char *colon; ++ const char *colon; + bool found; + size_t i; + +-- +2.51.1 + diff --git a/0017-partx-fix-const-qualifier-warning-in-get_max_partno.patch b/0017-partx-fix-const-qualifier-warning-in-get_max_partno.patch new file mode 100644 index 0000000..07b20c2 --- /dev/null +++ b/0017-partx-fix-const-qualifier-warning-in-get_max_partno.patch @@ -0,0 +1,34 @@ +From d1ae6e00299866ae3ad8dd549302eaa9b499a24f Mon Sep 17 00:00:00 2001 +From: Karel Zak +Date: Thu, 27 Nov 2025 16:48:53 +0100 +Subject: partx: fix const qualifier warning in get_max_partno + +Fix const qualifier discarded warning in get_max_partno(). +This warning is reported by gcc 15 which defaults to the C23 standard. + +The strrchr() function returns a pointer into a const string, so the +receiving variable must be declared as const char *. + +Signed-off-by: Karel Zak +(cherry picked from commit 4c94ce5d05d97420df7a512bbbaee8c4017414ae) +--- + disk-utils/partx.c | 3 ++- + 1 file changed, 2 insertions(+), 1 deletion(-) + +diff --git a/disk-utils/partx.c b/disk-utils/partx.c +index 347d5daad..a2df5d4c0 100644 +--- a/disk-utils/partx.c ++++ b/disk-utils/partx.c +@@ -218,7 +218,8 @@ err: + + static int get_max_partno(const char *disk, dev_t devno) + { +- char path[PATH_MAX], *parent, *dirname = NULL; ++ char path[PATH_MAX], *dirname = NULL; ++ const char *parent; + struct stat st; + DIR *dir; + struct dirent *d; +-- +2.51.1 + diff --git a/0018-eject-fix-const-qualifier-warning-in-read_speed.patch b/0018-eject-fix-const-qualifier-warning-in-read_speed.patch new file mode 100644 index 0000000..7f0b421 --- /dev/null +++ b/0018-eject-fix-const-qualifier-warning-in-read_speed.patch @@ -0,0 +1,33 @@ +From 84b1a2c93dcdb5b51d1273fa85776b1007411b58 Mon Sep 17 00:00:00 2001 +From: Karel Zak +Date: Thu, 27 Nov 2025 16:50:19 +0100 +Subject: eject: fix const qualifier warning in read_speed + +Fix const qualifier discarded warning in read_speed(). +This warning is reported by gcc 15 which defaults to the C23 standard. + +The strrchr() function returns a pointer into a const string, so the +receiving variable must be declared as const char *. + +Signed-off-by: Karel Zak +(cherry picked from commit cc1f2ac99b99eede36a58cf115a56bdfbc977e52) +--- + sys-utils/eject.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/sys-utils/eject.c b/sys-utils/eject.c +index 545642475..e6d4db102 100644 +--- a/sys-utils/eject.c ++++ b/sys-utils/eject.c +@@ -493,7 +493,7 @@ static void select_speed(const struct eject_control *ctl) + static int read_speed(const char *devname) + { + int drive_number = -1; +- char *name; ++ const char *name; + FILE *f; + + f = fopen(_PATH_PROC_CDROMINFO, "r"); +-- +2.51.1 + diff --git a/login-default-motd-file.patch b/login-default-motd-file.patch deleted file mode 100644 index 3670848..0000000 --- a/login-default-motd-file.patch +++ /dev/null @@ -1,13 +0,0 @@ -diff --git a/include/pathnames.h b/include/pathnames.h -index 3845d4c33..fac3a0783 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 diff --git a/login-lastlog-create.patch b/login-lastlog-create.patch deleted file mode 100644 index e2523d3..0000000 --- a/login-lastlog-create.patch +++ /dev/null @@ -1,12 +0,0 @@ -diff -up util-linux-2.36/login-utils/login.c.kzak util-linux-2.36/login-utils/login.c ---- util-linux-2.36/login-utils/login.c.kzak 2020-07-23 14:13:26.777030764 +0200 -+++ util-linux-2.36/login-utils/login.c 2020-07-23 14:11:22.793686983 +0200 -@@ -585,7 +585,7 @@ static void log_lastlog(struct login_con - 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); diff --git a/util-linux.spec b/util-linux.spec index ea4f5a9..0ceb1e9 100644 --- a/util-linux.spec +++ b/util-linux.spec @@ -102,17 +102,30 @@ Provides: /usr/sbin/runuser Provides: /usr/sbin/sfdisk %endif -### Ready for upstream? -### -# 151635 - makeing /var/log/lastlog -Patch0: login-lastlog-create.patch -# Add `/run/motd.d` to the hardcoded MOTD_FILE -# https://github.com/coreos/console-login-helper-messages/issues/60 -Patch1: login-default-motd-file.patch +### Fedora specific patches +Patch0: 0000-login-use-O_CREAT-on-lastlog.patch +Patch1: 0001-login-add-run-motd.d-to-the-hardcoded-MOTD_FILE.patch -# https://github.com/dracut-ng/dracut-ng/issues/1384 -# 2367956 - EROFS vs. the latest util-linux and kernel -Patch2: 0001-libmount-disable-EROFS-backing-file-support.patch +### Temporary dracut workaround +Patch2: 0002-libmount-disable-EROFS-backing-file-support.patch + +### Upstream backports (mostly for gcc-15) +Patch3: 0003-libblkid-use-snprintf-instead-of-sprintf.patch +Patch4: 0004-lsfd-fix-bsearch-macro-usage-with-glibc-C23.patch +Patch5: 0005-lib-lscpu-fix-const-qualifier-discarded-warnings-in-.patch +Patch6: 0006-lsns-fix-const-qualifier-warnings-for-C23.patch +Patch7: 0007-libmount-fix-const-qualifier-warnings-for-C23.patch +Patch8: 0008-libmount-fix-const-qualifier-warning-in-mnt_parse_mo.patch +Patch9: 0009-libblkid-fix-const-qualifier-warning-in-blkid_parse_.patch +Patch10: 0010-dmesg-fix-const-qualifier-warnings-in-parse_callerid.patch +Patch11: 0011-lsfd-fix-const-qualifier-warning-in-new_counter_spec.patch +Patch12: 0012-lsfd-fix-const-qualifier-warning-in-strnrstr.patch +Patch13: 0013-logger-fix-const-qualifier-warnings-for-C23.patch +Patch14: 0014-namei-fix-const-qualifier-warning-in-readlink_to_nam.patch +Patch15: 0015-whereis-fix-const-qualifier-warnings-for-C23.patch +Patch16: 0016-enosys-fix-const-qualifier-warning-in-parse_block.patch +Patch17: 0017-partx-fix-const-qualifier-warning-in-get_max_partno.patch +Patch18: 0018-eject-fix-const-qualifier-warning-in-read_speed.patch %description The util-linux package contains a large variety of low-level system From df438c4170ebad73b9ba2e60cd68b562474ba0ff Mon Sep 17 00:00:00 2001 From: Karel Zak Date: Mon, 15 Dec 2025 16:42:08 +0100 Subject: [PATCH 218/232] upgrade to upstream release v2.41.3 --- .gitignore | 1 + ...lkid-use-snprintf-instead-of-sprintf.patch | 58 ---------------- ...x-bsearch-macro-usage-with-glibc-C23.patch | 42 ------------ ...nst-qualifier-discarded-warnings-in-.patch | 57 ---------------- ...fix-const-qualifier-warnings-for-C23.patch | 45 ------------- ...fix-const-qualifier-warnings-for-C23.patch | 67 ------------------- ...st-qualifier-warning-in-mnt_parse_mo.patch | 54 --------------- ...st-qualifier-warning-in-blkid_parse_.patch | 54 --------------- ...qualifier-warnings-in-parse_callerid.patch | 34 ---------- ...ualifier-warning-in-new_counter_spec.patch | 34 ---------- ...-const-qualifier-warning-in-strnrstr.patch | 34 ---------- ...fix-const-qualifier-warnings-for-C23.patch | 67 ------------------- ...qualifier-warning-in-readlink_to_nam.patch | 33 --------- ...fix-const-qualifier-warnings-for-C23.patch | 49 -------------- ...nst-qualifier-warning-in-parse_block.patch | 33 --------- ...-qualifier-warning-in-get_max_partno.patch | 34 ---------- ...onst-qualifier-warning-in-read_speed.patch | 33 --------- sources | 2 +- util-linux.spec | 20 +----- 19 files changed, 3 insertions(+), 748 deletions(-) delete mode 100644 0003-libblkid-use-snprintf-instead-of-sprintf.patch delete mode 100644 0004-lsfd-fix-bsearch-macro-usage-with-glibc-C23.patch delete mode 100644 0005-lib-lscpu-fix-const-qualifier-discarded-warnings-in-.patch delete mode 100644 0006-lsns-fix-const-qualifier-warnings-for-C23.patch delete mode 100644 0007-libmount-fix-const-qualifier-warnings-for-C23.patch delete mode 100644 0008-libmount-fix-const-qualifier-warning-in-mnt_parse_mo.patch delete mode 100644 0009-libblkid-fix-const-qualifier-warning-in-blkid_parse_.patch delete mode 100644 0010-dmesg-fix-const-qualifier-warnings-in-parse_callerid.patch delete mode 100644 0011-lsfd-fix-const-qualifier-warning-in-new_counter_spec.patch delete mode 100644 0012-lsfd-fix-const-qualifier-warning-in-strnrstr.patch delete mode 100644 0013-logger-fix-const-qualifier-warnings-for-C23.patch delete mode 100644 0014-namei-fix-const-qualifier-warning-in-readlink_to_nam.patch delete mode 100644 0015-whereis-fix-const-qualifier-warnings-for-C23.patch delete mode 100644 0016-enosys-fix-const-qualifier-warning-in-parse_block.patch delete mode 100644 0017-partx-fix-const-qualifier-warning-in-get_max_partno.patch delete mode 100644 0018-eject-fix-const-qualifier-warning-in-read_speed.patch diff --git a/.gitignore b/.gitignore index cdfd72d..9c2726a 100644 --- a/.gitignore +++ b/.gitignore @@ -102,3 +102,4 @@ /util-linux-2.41.tar.xz /util-linux-2.41.1.tar.xz /util-linux-2.41.2.tar.xz +/util-linux-2.41.3.tar.xz diff --git a/0003-libblkid-use-snprintf-instead-of-sprintf.patch b/0003-libblkid-use-snprintf-instead-of-sprintf.patch deleted file mode 100644 index 6372a17..0000000 --- a/0003-libblkid-use-snprintf-instead-of-sprintf.patch +++ /dev/null @@ -1,58 +0,0 @@ -From 0cd0a9dd42a3249bbbee4855fbc406c4ca5fdd5b Mon Sep 17 00:00:00 2001 -From: Karel Zak -Date: Mon, 6 Oct 2025 15:04:24 +0200 -Subject: libblkid: use snprintf() instead of sprintf() - -Replace sprintf() calls with snprintf() to ensure proper bounds -checking when formatting strings. - -In encode.c, the check now validates snprintf() return value instead -of pre-checking buffer size, providing more robust error handling. - -In probe.c, snprintf() is used with proper size calculation based on -remaining buffer space. - -Signed-off-by: Karel Zak -(cherry picked from commit 041380f4ca7244df624bf7efdb5e27fdd3144175) -(cherry picked from commit 917917253e60b0ba485cf6a27a2f993aa43e1eea) ---- - libblkid/src/encode.c | 6 ++++-- - libblkid/src/probe.c | 4 ++-- - 2 files changed, 6 insertions(+), 4 deletions(-) - -diff --git a/libblkid/src/encode.c b/libblkid/src/encode.c -index 8213873ee..4b83f6690 100644 ---- a/libblkid/src/encode.c -+++ b/libblkid/src/encode.c -@@ -191,9 +191,11 @@ int blkid_encode_string(const char *str, char *str_enc, size_t len) - j += seqlen; - i += (seqlen-1); - } else if (str[i] == '\\' || !is_whitelisted(str[i], NULL)) { -- if (len-j < 4) -+ int rc; -+ -+ rc = snprintf(&str_enc[j], len-j, "\\x%02x", (unsigned char) str[i]); -+ if (rc != 4) - goto err; -- sprintf(&str_enc[j], "\\x%02x", (unsigned char) str[i]); - j += 4; - } else { - if (len-j < 1) -diff --git a/libblkid/src/probe.c b/libblkid/src/probe.c -index 61b93021c..a38f5990e 100644 ---- a/libblkid/src/probe.c -+++ b/libblkid/src/probe.c -@@ -2012,8 +2012,8 @@ static void blkid_probe_log_csum_mismatch(blkid_probe pr, size_t n, const void * - int hex_size = min(sizeof(csum_hex), n * 2); - - for (int i = 0; i < hex_size; i+=2) { -- sprintf(&csum_hex[i], "%02X", ((const unsigned char *) csum)[i / 2]); -- sprintf(&expected_hex[i], "%02X", ((const unsigned char *) expected)[i / 2]); -+ snprintf(&csum_hex[i], sizeof(csum_hex) - i, "%02X", ((const unsigned char *) csum)[i / 2]); -+ snprintf(&expected_hex[i], sizeof(expected_hex) - i, "%02X", ((const unsigned char *) expected)[i / 2]); - } - - DBG(LOWPROBE, ul_debug( --- -2.51.1 - diff --git a/0004-lsfd-fix-bsearch-macro-usage-with-glibc-C23.patch b/0004-lsfd-fix-bsearch-macro-usage-with-glibc-C23.patch deleted file mode 100644 index c8fb5ea..0000000 --- a/0004-lsfd-fix-bsearch-macro-usage-with-glibc-C23.patch +++ /dev/null @@ -1,42 +0,0 @@ -From 189960ccca3866461d4ee91c3b7ffb9dac6d0078 Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Cristian=20Rodr=C3=ADguez?= -Date: Sat, 22 Nov 2025 10:41:08 -0300 -Subject: lsfd: fix bsearch macro usage with glibc C23 -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -C23 requires bsearch to be a const preserving macro, build now fails -with - -../lsfd-cmd/lsfd.c:1879:75: error: macro ‘bsearch’ passed 6 arguments, but takes just 5 - 1879 | nfds, sizeof(struct pollfd), pollfdcmp)) - | ^ -In file included from ../include/c.h:17, - from ../lsfd-cmd/lsfd.c:48: -/usr/include/stdlib.h:987:10: note: macro ‘bsearch’ defined here - 987 | # define bsearch(KEY, BASE, NMEMB, SIZE, COMPAR) \ - - add parenthesis around expression to fix it. - -(cherry picked from commit 711bda1441561bfd2eb6d45fe0bc789535c1f1a8) ---- - lsfd-cmd/lsfd.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/lsfd-cmd/lsfd.c b/lsfd-cmd/lsfd.c -index 75cd1de58..9aae240fc 100644 ---- a/lsfd-cmd/lsfd.c -+++ b/lsfd-cmd/lsfd.c -@@ -1836,7 +1836,7 @@ static void mark_poll_fds_as_multiplexed(char *buf, - struct file *file = list_entry(f, struct file, files); - if (is_opened_file(file) && !file->multiplexed) { - int fd = file->association; -- if (bsearch(&(struct pollfd){.fd = fd,}, local.iov_base, -+ if (bsearch((&(struct pollfd){.fd = fd,}), local.iov_base, - nfds, sizeof(struct pollfd), pollfdcmp)) - file->multiplexed = 1; - } --- -2.51.1 - diff --git a/0005-lib-lscpu-fix-const-qualifier-discarded-warnings-in-.patch b/0005-lib-lscpu-fix-const-qualifier-discarded-warnings-in-.patch deleted file mode 100644 index a5064b0..0000000 --- a/0005-lib-lscpu-fix-const-qualifier-discarded-warnings-in-.patch +++ /dev/null @@ -1,57 +0,0 @@ -From 638055dbe76ca0b3f87bcc0879e5810fadece18c Mon Sep 17 00:00:00 2001 -From: Karel Zak -Date: Thu, 27 Nov 2025 10:27:07 +0100 -Subject: lib, lscpu: fix const qualifier discarded warnings in bsearch - -Fix compilation warnings from newer compilers with stricter -const-correctness checks. When bsearch() searches in const arrays, -the result pointer must also be const to avoid discarding the -const qualifier. - -Fixed in: -- lib/color-names.c: searching in static const basic_schemes[] -- sys-utils/lscpu-cputype.c: searching in const pattern arrays - -The warnings were: - lib/color-names.c:62:13: error: assignment discards 'const' - qualifier from pointer target type - [-Werror=discarded-qualifiers] - -Signed-off-by: Karel Zak -(cherry picked from commit 0cef3e4f5aac19bc3623883ca64c66538aa9b442) ---- - lib/color-names.c | 3 ++- - sys-utils/lscpu-cputype.c | 3 ++- - 2 files changed, 4 insertions(+), 2 deletions(-) - -diff --git a/lib/color-names.c b/lib/color-names.c -index 88c4ef957..daebcedae 100644 ---- a/lib/color-names.c -+++ b/lib/color-names.c -@@ -54,7 +54,8 @@ const char *color_sequence_from_colorname(const char *str) - { "white", UL_COLOR_WHITE }, - { "yellow", UL_COLOR_BOLD_YELLOW } - }; -- struct ul_color_name key = { .name = str }, *res; -+ struct ul_color_name key = { .name = str }; -+ const struct ul_color_name *res; - - if (!str) - return NULL; -diff --git a/sys-utils/lscpu-cputype.c b/sys-utils/lscpu-cputype.c -index 3937a00a8..99b112bf9 100644 ---- a/sys-utils/lscpu-cputype.c -+++ b/sys-utils/lscpu-cputype.c -@@ -444,7 +444,8 @@ static char *key_cleanup(char *str, int *keynum) - - static const struct cpuinfo_pattern *cpuinfo_parse_line(char *str, char **value, int *keynum) - { -- struct cpuinfo_pattern key = { .id = 0 }, *pat; -+ struct cpuinfo_pattern key = { .id = 0 }; -+ const struct cpuinfo_pattern *pat; - char *p, *v; - char buf[CPUTYPE_PATTERN_BUFSZ] = { 0 }; - --- -2.51.1 - diff --git a/0006-lsns-fix-const-qualifier-warnings-for-C23.patch b/0006-lsns-fix-const-qualifier-warnings-for-C23.patch deleted file mode 100644 index 8478b21..0000000 --- a/0006-lsns-fix-const-qualifier-warnings-for-C23.patch +++ /dev/null @@ -1,45 +0,0 @@ -From 986936d454b1f9165f5b35196a732db71a8d3b46 Mon Sep 17 00:00:00 2001 -From: Karel Zak -Date: Thu, 27 Nov 2025 15:41:21 +0100 -Subject: lsns: fix const qualifier warnings for C23 - -Fix const qualifier discarded warnings in read_persistent_namespaces() -and is_path_included() functions. These warnings are reported by gcc 15 -which defaults to the C23 standard. - -The strchr() and strstr() functions return pointers into const strings, -so the receiving variables must be declared as const char *. - -Signed-off-by: Karel Zak -(cherry picked from commit dbe4c16973d5d0f69ba3bf1bd8942a51de9a0933) ---- - sys-utils/lsns.c | 6 +++--- - 1 file changed, 3 insertions(+), 3 deletions(-) - -diff --git a/sys-utils/lsns.c b/sys-utils/lsns.c -index 812afe710..2ee078ac6 100644 ---- a/sys-utils/lsns.c -+++ b/sys-utils/lsns.c -@@ -1003,8 +1003,8 @@ static int read_persistent_namespaces(struct lsns *ls) - struct libmnt_fs *fs = NULL; - - while (mnt_table_next_fs(ls->tab, itr, &fs) == 0) { -- const char *root; -- char *p, *end = NULL; -+ const char *root, *p; -+ char *end = NULL; - ino_t ino; - int fd; - -@@ -1095,7 +1095,7 @@ static int is_path_included(const char *path_set, const char *elt, - { - size_t elt_len; - size_t path_set_len; -- char *tmp; -+ const char *tmp; - - - tmp = strstr(path_set, elt); --- -2.51.1 - diff --git a/0007-libmount-fix-const-qualifier-warnings-for-C23.patch b/0007-libmount-fix-const-qualifier-warnings-for-C23.patch deleted file mode 100644 index 5f67a10..0000000 --- a/0007-libmount-fix-const-qualifier-warnings-for-C23.patch +++ /dev/null @@ -1,67 +0,0 @@ -From 04f796acef76bb18445f516f44838b95dba49883 Mon Sep 17 00:00:00 2001 -From: Karel Zak -Date: Thu, 27 Nov 2025 15:45:55 +0100 -Subject: libmount: fix const qualifier warnings for C23 - -Fix const qualifier discarded warnings in optlist_add_flags(), -mnt_opt_value_with(), and mnt_optstr_apply_flags() functions. -These warnings are reported by gcc 15 which defaults to the C23 standard. - -The strchr() and strstr() functions return pointers into const strings, -so the receiving variables must be declared as const char *. - -Signed-off-by: Karel Zak -(cherry picked from commit c0c79c41527365ca7de30c75daaa018ea01fff97) ---- - libmount/src/optlist.c | 7 +++---- - libmount/src/optstr.c | 2 +- - 2 files changed, 4 insertions(+), 5 deletions(-) - -diff --git a/libmount/src/optlist.c b/libmount/src/optlist.c -index 256c592fd..1d32c2dd6 100644 ---- a/libmount/src/optlist.c -+++ b/libmount/src/optlist.c -@@ -601,7 +601,7 @@ static int optlist_add_flags(struct libmnt_optlist *ls, unsigned long flags, - - for (ent = map; ent && ent->name; ent++) { - -- char *p; -+ const char *p; - size_t sz; - struct libmnt_opt *opt; - -@@ -621,7 +621,7 @@ static int optlist_add_flags(struct libmnt_optlist *ls, unsigned long flags, - sz = p - ent->name; - p -= sz; - } else { -- p = (char *) ent->name; -+ p = ent->name; - sz = strlen(ent->name); /* alone "name" */ - } - -@@ -1162,8 +1162,7 @@ const char *mnt_opt_get_value(struct libmnt_opt *opt) - /* check if option value is @str or comma separated @str */ - int mnt_opt_value_with(struct libmnt_opt *opt, const char *str) - { -- char *p; -- const char *start = opt->value; -+ const char *p, *start = opt->value; - size_t len; - - if (!str || !opt->value || !*opt->value) -diff --git a/libmount/src/optstr.c b/libmount/src/optstr.c -index ac20d8755..51526973d 100644 ---- a/libmount/src/optstr.c -+++ b/libmount/src/optstr.c -@@ -807,7 +807,7 @@ int mnt_optstr_apply_flags(char **optstr, unsigned long flags, - const struct libmnt_optmap *ent; - struct ul_buffer buf = UL_INIT_BUFFER; - size_t sz; -- char *p; -+ const char *p; - - ul_buffer_refer_string(&buf, *optstr); - --- -2.51.1 - diff --git a/0008-libmount-fix-const-qualifier-warning-in-mnt_parse_mo.patch b/0008-libmount-fix-const-qualifier-warning-in-mnt_parse_mo.patch deleted file mode 100644 index d4355db..0000000 --- a/0008-libmount-fix-const-qualifier-warning-in-mnt_parse_mo.patch +++ /dev/null @@ -1,54 +0,0 @@ -From 1ba0d6e2c78f3423cb6427e4922f5949af7429e0 Mon Sep 17 00:00:00 2001 -From: Karel Zak -Date: Thu, 27 Nov 2025 16:24:11 +0100 -Subject: libmount: fix const qualifier warning in mnt_parse_mountinfo_line - -Fix const qualifier discarded warning in mnt_parse_mountinfo_line(). -This warning is reported by gcc 15 which defaults to the C23 standard. - -The strstr() function returns a pointer into a const string, so -introduce a separate 'sep' variable to hold this const pointer, -keeping 'p' for non-const unmangle() results that need to be freed. - -Signed-off-by: Karel Zak -(cherry picked from commit 530bf5c5b071753e149699c638ad1820daf5c205) ---- - libmount/src/tab_parse.c | 11 ++++++----- - 1 file changed, 6 insertions(+), 5 deletions(-) - -diff --git a/libmount/src/tab_parse.c b/libmount/src/tab_parse.c -index 3dd853880..3503c233c 100644 ---- a/libmount/src/tab_parse.c -+++ b/libmount/src/tab_parse.c -@@ -186,6 +186,7 @@ static int mnt_parse_mountinfo_line(struct libmnt_fs *fs, const char *s) - int rc = 0; - unsigned int maj, min; - char *p; -+ const char *sep; - - fs->flags |= MNT_FS_KERNEL; - -@@ -242,15 +243,15 @@ static int mnt_parse_mountinfo_line(struct libmnt_fs *fs, const char *s) - } - - /* (7) optional fields, terminated by " - " */ -- p = strstr(s, " - "); -- if (!p) { -+ sep = strstr(s, " - "); -+ if (!sep) { - DBG(TAB, ul_debug("mountinfo parse error: separator not found")); - return -EINVAL; - } -- if (p > s + 1) -- fs->opt_fields = strndup(s + 1, p - s - 1); -+ if (sep > s + 1) -+ fs->opt_fields = strndup(s + 1, sep - s - 1); - -- s = skip_separator(p + 3); -+ s = skip_separator(sep + 3); - - /* (8) FS type */ - p = unmangle(s, &s); --- -2.51.1 - diff --git a/0009-libblkid-fix-const-qualifier-warning-in-blkid_parse_.patch b/0009-libblkid-fix-const-qualifier-warning-in-blkid_parse_.patch deleted file mode 100644 index cd6b676..0000000 --- a/0009-libblkid-fix-const-qualifier-warning-in-blkid_parse_.patch +++ /dev/null @@ -1,54 +0,0 @@ -From 088509a327523fc25e2014c47035e587740ca564 Mon Sep 17 00:00:00 2001 -From: Karel Zak -Date: Thu, 27 Nov 2025 16:28:41 +0100 -Subject: libblkid: fix const qualifier warning in blkid_parse_tag_string - -Fix const qualifier discarded warning in blkid_parse_tag_string(). -This warning is reported by gcc 15 which defaults to the C23 standard. - -The strchr() function returns a pointer into a const string, so -introduce a separate 'eq' variable to hold this const pointer for -finding the '=' separator. Also move the 'cp' variable declaration -into the block where it's actually used for quote handling. - -Signed-off-by: Karel Zak -(cherry picked from commit c45442ef125270d0ab2cb539747ccaf737d60d37) ---- - libblkid/src/tag.c | 10 ++++++---- - 1 file changed, 6 insertions(+), 4 deletions(-) - -diff --git a/libblkid/src/tag.c b/libblkid/src/tag.c -index 178336505..f195c0625 100644 ---- a/libblkid/src/tag.c -+++ b/libblkid/src/tag.c -@@ -202,21 +202,23 @@ errout: - */ - int blkid_parse_tag_string(const char *token, char **ret_type, char **ret_val) - { -- char *name, *value, *cp; -+ char *name, *value; -+ const char *eq; - - DBG(TAG, ul_debug("trying to parse '%s' as a tag", token)); - -- if (!token || !(cp = strchr(token, '='))) -+ if (!token || !(eq = strchr(token, '='))) - return -1; - - name = strdup(token); - if (!name) - return -1; -- value = name + (cp - token); -+ value = name + (eq - token); - *value++ = '\0'; - if (*value == '"' || *value == '\'') { - char c = *value++; -- if (!(cp = strrchr(value, c))) -+ char *cp = strrchr(value, c); -+ if (!cp) - goto errout; /* missing closing quote */ - *cp = '\0'; - } --- -2.51.1 - diff --git a/0010-dmesg-fix-const-qualifier-warnings-in-parse_callerid.patch b/0010-dmesg-fix-const-qualifier-warnings-in-parse_callerid.patch deleted file mode 100644 index 2d6f9d0..0000000 --- a/0010-dmesg-fix-const-qualifier-warnings-in-parse_callerid.patch +++ /dev/null @@ -1,34 +0,0 @@ -From d35ec59cf727c302cd499cc0d6efffd9efdcdce3 Mon Sep 17 00:00:00 2001 -From: Karel Zak -Date: Thu, 27 Nov 2025 16:33:04 +0100 -Subject: dmesg: fix const qualifier warnings in parse_callerid - -Fix const qualifier discarded warnings in parse_callerid(). -These warnings are reported by gcc 15 which defaults to the C23 standard. - -The strchr() and strstr() functions return pointers into const strings, -so the receiving variables must be declared as const char *. - -Signed-off-by: Karel Zak -(cherry picked from commit 40e6850d2b2ba2492d5f3e75656cb9bcce2806bb) ---- - sys-utils/dmesg.c | 3 +-- - 1 file changed, 1 insertion(+), 2 deletions(-) - -diff --git a/sys-utils/dmesg.c b/sys-utils/dmesg.c -index cccbd4067..cdf23b021 100644 ---- a/sys-utils/dmesg.c -+++ b/sys-utils/dmesg.c -@@ -844,8 +844,7 @@ static const char *parse_callerid(const char *p_str, const char *end, - const char *p_after; - const char *p_next; - size_t cid_size; -- char *p_scn; -- char *p_cid; -+ const char *p_scn, *p_cid; - - /* Check for PRINTK_CALLER prefix, must be before msg text */ - p_cid = strstr(p_str, DMESG_CALLER_PREFIX); --- -2.51.1 - diff --git a/0011-lsfd-fix-const-qualifier-warning-in-new_counter_spec.patch b/0011-lsfd-fix-const-qualifier-warning-in-new_counter_spec.patch deleted file mode 100644 index 793e284..0000000 --- a/0011-lsfd-fix-const-qualifier-warning-in-new_counter_spec.patch +++ /dev/null @@ -1,34 +0,0 @@ -From 3a9950c35da4f1e7032d55f3c993fff390fde9c2 Mon Sep 17 00:00:00 2001 -From: Karel Zak -Date: Thu, 27 Nov 2025 16:35:56 +0100 -Subject: lsfd: fix const qualifier warning in new_counter_spec - -Fix const qualifier discarded warning in new_counter_spec(). -This warning is reported by gcc 15 which defaults to the C23 standard. - -The function modifies the input string by inserting a null terminator -to split it into name and expression parts, so the parameter should -be char * rather than const char *. - -Signed-off-by: Karel Zak -(cherry picked from commit 014d2779afb4118d7117442eeed562e2c7b7594f) ---- - lsfd-cmd/lsfd.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/lsfd-cmd/lsfd.c b/lsfd-cmd/lsfd.c -index 9aae240fc..2e83acf91 100644 ---- a/lsfd-cmd/lsfd.c -+++ b/lsfd-cmd/lsfd.c -@@ -2278,7 +2278,7 @@ static struct libscols_filter *new_filter(const char *expr, bool debug, struct l - return f; - } - --static struct counter_spec *new_counter_spec(const char *spec_str) -+static struct counter_spec *new_counter_spec(char *spec_str) - { - char *sep; - struct counter_spec *spec; --- -2.51.1 - diff --git a/0012-lsfd-fix-const-qualifier-warning-in-strnrstr.patch b/0012-lsfd-fix-const-qualifier-warning-in-strnrstr.patch deleted file mode 100644 index 7c78c52..0000000 --- a/0012-lsfd-fix-const-qualifier-warning-in-strnrstr.patch +++ /dev/null @@ -1,34 +0,0 @@ -From 6b3fa46d97201628b893f81c3bf3202aedd6ce30 Mon Sep 17 00:00:00 2001 -From: Karel Zak -Date: Thu, 27 Nov 2025 16:38:18 +0100 -Subject: lsfd: fix const qualifier warning in strnrstr - -Fix const qualifier discarded warning in strnrstr(). -This warning is reported by gcc 15 which defaults to the C23 standard. - -The function returns a non-const pointer into the haystack parameter, -and callers modify the string through that pointer. Therefore, the -haystack parameter should be char * rather than const char *. - -Signed-off-by: Karel Zak -(cherry picked from commit 935f2ab21add95059a92208f69ef578708307481) ---- - lsfd-cmd/file.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/lsfd-cmd/file.c b/lsfd-cmd/file.c -index 32b08693d..5ea3ccc57 100644 ---- a/lsfd-cmd/file.c -+++ b/lsfd-cmd/file.c -@@ -387,7 +387,7 @@ void decode_source(char *buf, size_t bufsize, - dev_minor); - } - --static char *strnrstr(const char *haystack, const char *needle, size_t needle_len) -+static char *strnrstr(char *haystack, const char *needle, size_t needle_len) - { - char *last = strstr(haystack, needle); - if (last == NULL) --- -2.51.1 - diff --git a/0013-logger-fix-const-qualifier-warnings-for-C23.patch b/0013-logger-fix-const-qualifier-warnings-for-C23.patch deleted file mode 100644 index 7b661d7..0000000 --- a/0013-logger-fix-const-qualifier-warnings-for-C23.patch +++ /dev/null @@ -1,67 +0,0 @@ -From f7458f53c4cf63014de131434872e6c8fee6adab Mon Sep 17 00:00:00 2001 -From: Karel Zak -Date: Thu, 27 Nov 2025 16:43:38 +0100 -Subject: logger: fix const qualifier warnings for C23 - -Fix const qualifier discarded warnings in valid_structured_data_param() -and valid_structured_data_id() functions. These warnings are reported by -gcc 15 which defaults to the C23 standard. - -The strchr() and strstr() functions return pointers into const strings, -so the receiving variables must be declared as const char *. - -Signed-off-by: Karel Zak -(cherry picked from commit 22c3b959ef381b35a55ed00cf6acd2507b461d4b) ---- - misc-utils/logger.c | 14 +++++++------- - 1 file changed, 7 insertions(+), 7 deletions(-) - -diff --git a/misc-utils/logger.c b/misc-utils/logger.c -index f332a7d27..2a45b12bf 100644 ---- a/misc-utils/logger.c -+++ b/misc-utils/logger.c -@@ -699,10 +699,10 @@ static char *get_structured_data_string(struct logger_ctl *ctl) - - static int valid_structured_data_param(const char *str) - { -- char *s; -- char *eq = strchr(str, '='), -- *qm1 = strchr(str, '"'), -- *qm2 = qm1 ? ul_strchr_escaped(qm1 + 1, '"') : NULL; -+ const char *s; -+ const char *eq = strchr(str, '='), -+ *qm1 = strchr(str, '"'), -+ *qm2 = qm1 ? ul_strchr_escaped(qm1 + 1, '"') : NULL; - - /* something is missing */ - if (!eq || !qm1 || !qm2) -@@ -710,7 +710,7 @@ static int valid_structured_data_param(const char *str) - - /* ']' need to be escaped */ - for (s = qm1 + 1; s && *s; ) { -- char *p = strchr(s, ']'); -+ const char *p = strchr(s, ']'); - if (!p) - break; - if (p > qm2 || p == ul_strchr_escaped(s, ']')) -@@ -720,7 +720,7 @@ static int valid_structured_data_param(const char *str) - - /* '\' is allowed only before '[]"\' chars */ - for (s = qm1 + 1; s && *s; ) { -- char *p = strchr(s, '\\'); -+ const char *p = strchr(s, '\\'); - if (!p) - break; - if (!strchr("[]\"\\", *(p + 1))) -@@ -739,7 +739,7 @@ static int valid_structured_data_param(const char *str) - */ - static int valid_structured_data_id(const char *str) - { -- char *at = strchr(str, '@'); -+ const char *at = strchr(str, '@'); - const char *p; - - /* standardized IDs without @ */ --- -2.51.1 - diff --git a/0014-namei-fix-const-qualifier-warning-in-readlink_to_nam.patch b/0014-namei-fix-const-qualifier-warning-in-readlink_to_nam.patch deleted file mode 100644 index e5c7da6..0000000 --- a/0014-namei-fix-const-qualifier-warning-in-readlink_to_nam.patch +++ /dev/null @@ -1,33 +0,0 @@ -From cb68695cf9d93fe8692c69ae3773e64364491d48 Mon Sep 17 00:00:00 2001 -From: Karel Zak -Date: Thu, 27 Nov 2025 16:44:47 +0100 -Subject: namei: fix const qualifier warning in readlink_to_namei - -Fix const qualifier discarded warning in readlink_to_namei(). -This warning is reported by gcc 15 which defaults to the C23 standard. - -The strrchr() function returns a pointer into a const string, so the -receiving variable must be declared as const char *. - -Signed-off-by: Karel Zak -(cherry picked from commit e318417f00982bf496fd2359853b07ada3e3c544) ---- - misc-utils/namei.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/misc-utils/namei.c b/misc-utils/namei.c -index 0a9ed8df8..2c3049284 100644 ---- a/misc-utils/namei.c -+++ b/misc-utils/namei.c -@@ -100,7 +100,7 @@ readlink_to_namei(struct namei *nm, const char *path) - if (sz < 1) - err(EXIT_FAILURE, _("failed to read symlink: %s"), path); - if (*sym != '/') { -- char *p = strrchr(path, '/'); -+ const char *p = strrchr(path, '/'); - - if (p) { - isrel = 1; --- -2.51.1 - diff --git a/0015-whereis-fix-const-qualifier-warnings-for-C23.patch b/0015-whereis-fix-const-qualifier-warnings-for-C23.patch deleted file mode 100644 index 2d41aef..0000000 --- a/0015-whereis-fix-const-qualifier-warnings-for-C23.patch +++ /dev/null @@ -1,49 +0,0 @@ -From bc377ab3489beb493e940f01cfad7a2997c32550 Mon Sep 17 00:00:00 2001 -From: Karel Zak -Date: Thu, 27 Nov 2025 16:46:22 +0100 -Subject: whereis: fix const qualifier warnings for C23 - -Fix const qualifier discarded warnings in dirlist_add_subdir() and -lookup() functions. These warnings are reported by gcc 15 which -defaults to the C23 standard. - -The strchr() and strrchr() functions return pointers into const strings, -so the receiving variables must be declared as const char *. - -Signed-off-by: Karel Zak -(cherry picked from commit 01018b74163f9122c75179a7c991b0aa0f8c603c) ---- - misc-utils/whereis.c | 7 ++++--- - 1 file changed, 4 insertions(+), 3 deletions(-) - -diff --git a/misc-utils/whereis.c b/misc-utils/whereis.c -index b575e57ae..310512b30 100644 ---- a/misc-utils/whereis.c -+++ b/misc-utils/whereis.c -@@ -269,7 +269,7 @@ static void dirlist_add_subdir(struct wh_dirlist **ls, int type, const char *dir - char buf[PATH_MAX], *d; - DIR *dirp; - struct dirent *dp; -- char *postfix; -+ const char *postfix; - size_t len; - - postfix = strchr(dir, '*'); -@@ -473,11 +473,12 @@ static void lookup(const char *pattern, struct wh_dirlist *ls, int want) - { - char patbuf[PATH_MAX] = { 0 }; - int count = 0; -- char *wait = NULL, *p; -+ char *wait = NULL; -+ const char *p; - - /* canonicalize pattern -- remove path suffix etc. */ - p = strrchr(pattern, '/'); -- p = p ? p + 1 : (char *) pattern; -+ p = p ? p + 1 : pattern; - xstrncpy(patbuf, p, PATH_MAX); - - DBG(SEARCH, ul_debug("lookup dirs for '%s' (%s), want: %s %s %s", --- -2.51.1 - diff --git a/0016-enosys-fix-const-qualifier-warning-in-parse_block.patch b/0016-enosys-fix-const-qualifier-warning-in-parse_block.patch deleted file mode 100644 index 4af94c8..0000000 --- a/0016-enosys-fix-const-qualifier-warning-in-parse_block.patch +++ /dev/null @@ -1,33 +0,0 @@ -From d2d6d2bba6470d3b38a284d7de874901e3cb6662 Mon Sep 17 00:00:00 2001 -From: Karel Zak -Date: Thu, 27 Nov 2025 16:47:46 +0100 -Subject: enosys: fix const qualifier warning in parse_block - -Fix const qualifier discarded warning in parse_block(). -This warning is reported by gcc 15 which defaults to the C23 standard. - -The strchr() function returns a pointer into a const string, so the -receiving variable must be declared as const char *. - -Signed-off-by: Karel Zak -(cherry picked from commit 70379d240dcf975d140160bb4c14cf1b3fe70bcc) ---- - misc-utils/enosys.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/misc-utils/enosys.c b/misc-utils/enosys.c -index 6afb27107..5f780ae98 100644 ---- a/misc-utils/enosys.c -+++ b/misc-utils/enosys.c -@@ -105,7 +105,7 @@ static struct blocked_number *parse_block(const char *s, int ret, const struct s - struct blocked_number *blocked; - const char *name, *error_name; - long blocked_number; -- char *colon; -+ const char *colon; - bool found; - size_t i; - --- -2.51.1 - diff --git a/0017-partx-fix-const-qualifier-warning-in-get_max_partno.patch b/0017-partx-fix-const-qualifier-warning-in-get_max_partno.patch deleted file mode 100644 index 07b20c2..0000000 --- a/0017-partx-fix-const-qualifier-warning-in-get_max_partno.patch +++ /dev/null @@ -1,34 +0,0 @@ -From d1ae6e00299866ae3ad8dd549302eaa9b499a24f Mon Sep 17 00:00:00 2001 -From: Karel Zak -Date: Thu, 27 Nov 2025 16:48:53 +0100 -Subject: partx: fix const qualifier warning in get_max_partno - -Fix const qualifier discarded warning in get_max_partno(). -This warning is reported by gcc 15 which defaults to the C23 standard. - -The strrchr() function returns a pointer into a const string, so the -receiving variable must be declared as const char *. - -Signed-off-by: Karel Zak -(cherry picked from commit 4c94ce5d05d97420df7a512bbbaee8c4017414ae) ---- - disk-utils/partx.c | 3 ++- - 1 file changed, 2 insertions(+), 1 deletion(-) - -diff --git a/disk-utils/partx.c b/disk-utils/partx.c -index 347d5daad..a2df5d4c0 100644 ---- a/disk-utils/partx.c -+++ b/disk-utils/partx.c -@@ -218,7 +218,8 @@ err: - - static int get_max_partno(const char *disk, dev_t devno) - { -- char path[PATH_MAX], *parent, *dirname = NULL; -+ char path[PATH_MAX], *dirname = NULL; -+ const char *parent; - struct stat st; - DIR *dir; - struct dirent *d; --- -2.51.1 - diff --git a/0018-eject-fix-const-qualifier-warning-in-read_speed.patch b/0018-eject-fix-const-qualifier-warning-in-read_speed.patch deleted file mode 100644 index 7f0b421..0000000 --- a/0018-eject-fix-const-qualifier-warning-in-read_speed.patch +++ /dev/null @@ -1,33 +0,0 @@ -From 84b1a2c93dcdb5b51d1273fa85776b1007411b58 Mon Sep 17 00:00:00 2001 -From: Karel Zak -Date: Thu, 27 Nov 2025 16:50:19 +0100 -Subject: eject: fix const qualifier warning in read_speed - -Fix const qualifier discarded warning in read_speed(). -This warning is reported by gcc 15 which defaults to the C23 standard. - -The strrchr() function returns a pointer into a const string, so the -receiving variable must be declared as const char *. - -Signed-off-by: Karel Zak -(cherry picked from commit cc1f2ac99b99eede36a58cf115a56bdfbc977e52) ---- - sys-utils/eject.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/sys-utils/eject.c b/sys-utils/eject.c -index 545642475..e6d4db102 100644 ---- a/sys-utils/eject.c -+++ b/sys-utils/eject.c -@@ -493,7 +493,7 @@ static void select_speed(const struct eject_control *ctl) - static int read_speed(const char *devname) - { - int drive_number = -1; -- char *name; -+ const char *name; - FILE *f; - - f = fopen(_PATH_PROC_CDROMINFO, "r"); --- -2.51.1 - diff --git a/sources b/sources index ce7b5d9..96ed8d3 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (util-linux-2.41.2.tar.xz) = 696c87e7cf185acc9b4b969ddade6155ea2945ae494eaecfd7b1f35d9607166cb09be79878fb793dd31b4d4dcac8c9be4be76af3886185db7ae8b58c303fb0cf +SHA512 (util-linux-2.41.3.tar.xz) = 3d299f0e05a4c982a04dbcbaaeff1222152feedf51c56c5dbdeb75999c68269d652a994f5cdf4c1ee42bb7b28475dd0792192c299fd9bc3b45198c5b153dad00 diff --git a/util-linux.spec b/util-linux.spec index 3068e99..0426af4 100644 --- a/util-linux.spec +++ b/util-linux.spec @@ -1,7 +1,7 @@ ### Header Summary: Collection of basic system utilities Name: util-linux -Version: 2.41.2 +Version: 2.41.3 # -p -e rc1 Release: %autorelease -b7 License: GPL-1.0-or-later AND GPL-2.0-only AND GPL-2.0-or-later AND GPL-3.0-or-later AND LGPL-2.1-or-later AND BSD-2-Clause AND BSD-3-Clause AND BSD-4-Clause-UC AND LicenseRef-Fedora-Public-Domain @@ -109,24 +109,6 @@ Patch1: 0001-login-add-run-motd.d-to-the-hardcoded-MOTD_FILE.patch ### Temporary dracut workaround Patch2: 0002-libmount-disable-EROFS-backing-file-support.patch -### Upstream backports (mostly for gcc-15) -Patch3: 0003-libblkid-use-snprintf-instead-of-sprintf.patch -Patch4: 0004-lsfd-fix-bsearch-macro-usage-with-glibc-C23.patch -Patch5: 0005-lib-lscpu-fix-const-qualifier-discarded-warnings-in-.patch -Patch6: 0006-lsns-fix-const-qualifier-warnings-for-C23.patch -Patch7: 0007-libmount-fix-const-qualifier-warnings-for-C23.patch -Patch8: 0008-libmount-fix-const-qualifier-warning-in-mnt_parse_mo.patch -Patch9: 0009-libblkid-fix-const-qualifier-warning-in-blkid_parse_.patch -Patch10: 0010-dmesg-fix-const-qualifier-warnings-in-parse_callerid.patch -Patch11: 0011-lsfd-fix-const-qualifier-warning-in-new_counter_spec.patch -Patch12: 0012-lsfd-fix-const-qualifier-warning-in-strnrstr.patch -Patch13: 0013-logger-fix-const-qualifier-warnings-for-C23.patch -Patch14: 0014-namei-fix-const-qualifier-warning-in-readlink_to_nam.patch -Patch15: 0015-whereis-fix-const-qualifier-warnings-for-C23.patch -Patch16: 0016-enosys-fix-const-qualifier-warning-in-parse_block.patch -Patch17: 0017-partx-fix-const-qualifier-warning-in-get_max_partno.patch -Patch18: 0018-eject-fix-const-qualifier-warning-in-read_speed.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 From 4bac19fd38f59e72be7356578115428100710afc Mon Sep 17 00:00:00 2001 From: Karel Zak Date: Mon, 15 Dec 2025 16:53:44 +0100 Subject: [PATCH 219/232] add completition bits blkpr lsfd --- util-linux.spec | 3 +++ 1 file changed, 3 insertions(+) diff --git a/util-linux.spec b/util-linux.spec index 0426af4..fad72a3 100644 --- a/util-linux.spec +++ b/util-linux.spec @@ -719,7 +719,9 @@ fi %{_sbindir}/zramctl %{compldir}/addpart +%{compldir}/bits %{compldir}/blkdiscard +%{compldir}/blkpr %{compldir}/blkzone %{compldir}/cal %{compldir}/chcpu @@ -758,6 +760,7 @@ fi %{compldir}/lsblk %{compldir}/lscpu %{compldir}/lsclocks +%{compldir}/lsfd %{compldir}/lsipc %{compldir}/lsirq %{compldir}/lslocks From 06dbf9bb28d4f669f1aace6aa46607fbe9396284 Mon Sep 17 00:00:00 2001 From: Karel Zak Date: Mon, 12 Jan 2026 11:55:59 +0100 Subject: [PATCH 220/232] fix built on new gcc (bison based code and libblkid API) --- ...nore-Wunused-but-set-variable-for-bi.patch | 63 +++++++++++++++++++ ...const-from-blkid_partitions_get_name.patch | 44 +++++++++++++ util-linux.spec | 5 ++ 3 files changed, 112 insertions(+) create mode 100644 0003-build-sys-gcc-ignore-Wunused-but-set-variable-for-bi.patch create mode 100644 0004-blkid-Drop-const-from-blkid_partitions_get_name.patch diff --git a/0003-build-sys-gcc-ignore-Wunused-but-set-variable-for-bi.patch b/0003-build-sys-gcc-ignore-Wunused-but-set-variable-for-bi.patch new file mode 100644 index 0000000..2b48c5a --- /dev/null +++ b/0003-build-sys-gcc-ignore-Wunused-but-set-variable-for-bi.patch @@ -0,0 +1,63 @@ +From b3e1a72d0272c8dc26db8c11c61cd4fed6a6b95f Mon Sep 17 00:00:00 2001 +From: Christian Goeschel Ndjomouo +Date: Tue, 6 Jan 2026 10:43:45 -0500 +Subject: build-sys: (gcc) ignore -Wunused-but-set-variable for bison + +[kzak@redhat.com: - merge two Christian's patches to make it more portable] + +Signed-off-by: Christian Goeschel Ndjomouo +Signed-off-by: Karel Zak +(cherry picked from commit db9047892a45c06bceb5768e7bb8c887289b9859) +(cherry picked from commit 718e4a76dd1262ce97f83dbc0c0fe9f97564ecbb) +--- + libsmartcols/src/filter-parser.y | 11 +++++++---- + sys-utils/hwclock-parse-date.y | 11 +++++++---- + 2 files changed, 14 insertions(+), 8 deletions(-) + +diff --git a/libsmartcols/src/filter-parser.y b/libsmartcols/src/filter-parser.y +index a7d41408e..23b05df33 100644 +--- a/libsmartcols/src/filter-parser.y ++++ b/libsmartcols/src/filter-parser.y +@@ -1,9 +1,12 @@ + %{ +-#ifdef __clang__ +-/* clang detects yynerrs as unused. +- * Will be fixed in future versions of bison. ++/* ++ * Compilers detect yynerrs as unused. Let's hope it will be fixed in future ++ * versions of Bison. + */ +-#pragma clang diagnostic ignored "-Wunused-but-set-variable" ++#if defined(__GNUC__) && !defined(__clang__) ++# pragma GCC diagnostic ignored "-Wunused-but-set-variable" ++#elif defined(__clang__) ++# pragma clang diagnostic ignored "-Wunused-but-set-variable" + #endif + + #include +diff --git a/sys-utils/hwclock-parse-date.y b/sys-utils/hwclock-parse-date.y +index 0d996cc87..7d6c38268 100644 +--- a/sys-utils/hwclock-parse-date.y ++++ b/sys-utils/hwclock-parse-date.y +@@ -34,11 +34,14 @@ + * TZ strings in dates. + */ + +-#ifdef __clang__ +-/* clang 15 detects yynerrs as unused. +- * Will be fixed in future versions of bison. ++/* ++ * Compilers detect yynerrs as unused. Let's hope it will be fixed in future ++ * versions of Bison. + */ +-#pragma clang diagnostic ignored "-Wunused-but-set-variable" ++#if defined(__GNUC__) && !defined(__clang__) ++# pragma GCC diagnostic ignored "-Wunused-but-set-variable" ++#elif defined(__clang__) ++# pragma clang diagnostic ignored "-Wunused-but-set-variable" + #endif + + /** +-- +2.52.0 + diff --git a/0004-blkid-Drop-const-from-blkid_partitions_get_name.patch b/0004-blkid-Drop-const-from-blkid_partitions_get_name.patch new file mode 100644 index 0000000..749b7f9 --- /dev/null +++ b/0004-blkid-Drop-const-from-blkid_partitions_get_name.patch @@ -0,0 +1,44 @@ +From b994886e18307ef3002a63679fba4a6177f476cf Mon Sep 17 00:00:00 2001 +From: Daan De Meyer +Date: Wed, 26 Nov 2025 15:08:25 +0100 +Subject: blkid: Drop const from blkid_partitions_get_name() + +const for idx is useless as the value is copied anyway, so drop the +const. AFAIK this doesn't change ABI. + +(cherry picked from commit b243de928aab8565e264f4af1d776cc860689f64) +(cherry picked from commit 479133958af89a2afda442e158107b465301dfbb) +--- + libblkid/src/blkid.h.in | 2 +- + libblkid/src/partitions/partitions.c | 2 +- + 2 files changed, 2 insertions(+), 2 deletions(-) + +diff --git a/libblkid/src/blkid.h.in b/libblkid/src/blkid.h.in +index 91fc3b0be..031650dbc 100644 +--- a/libblkid/src/blkid.h.in ++++ b/libblkid/src/blkid.h.in +@@ -340,7 +340,7 @@ extern uint64_t blkid_topology_get_diskseq(blkid_topology tp) + * partitions probing + */ + extern int blkid_known_pttype(const char *pttype); +-extern int blkid_partitions_get_name(const size_t idx, const char **name); ++extern int blkid_partitions_get_name(size_t idx, const char **name); + + extern int blkid_probe_enable_partitions(blkid_probe pr, int enable) + __ul_attribute__((nonnull)); +diff --git a/libblkid/src/partitions/partitions.c b/libblkid/src/partitions/partitions.c +index 9df813c92..e838b3db1 100644 +--- a/libblkid/src/partitions/partitions.c ++++ b/libblkid/src/partitions/partitions.c +@@ -907,7 +907,7 @@ int blkid_known_pttype(const char *pttype) + * + * Returns: -1 if @idx is out of range, or 0 on success. + */ +-int blkid_partitions_get_name(const size_t idx, const char **name) ++int blkid_partitions_get_name(size_t idx, const char **name) + { + if (idx < ARRAY_SIZE(idinfos)) { + *name = idinfos[idx]->name; +-- +2.52.0 + diff --git a/util-linux.spec b/util-linux.spec index fad72a3..c67d24b 100644 --- a/util-linux.spec +++ b/util-linux.spec @@ -109,6 +109,11 @@ Patch1: 0001-login-add-run-motd.d-to-the-hardcoded-MOTD_FILE.patch ### Temporary dracut workaround Patch2: 0002-libmount-disable-EROFS-backing-file-support.patch +# Upstream backports +Patch3: 0003-build-sys-gcc-ignore-Wunused-but-set-variable-for-bi.patch +Patch4: 0004-blkid-Drop-const-from-blkid_partitions_get_name.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 From 4737f2d70274faa77e4b5e9ef117edb248599c14 Mon Sep 17 00:00:00 2001 From: Karel Zak Date: Mon, 12 Jan 2026 12:15:47 +0100 Subject: [PATCH 221/232] enable BuildRequires for parsers --- util-linux.spec | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/util-linux.spec b/util-linux.spec index c67d24b..f1f58a4 100644 --- a/util-linux.spec +++ b/util-linux.spec @@ -44,7 +44,8 @@ BuildRequires: librtas-devel #BuildRequires: autoconf #BuildRequires: automake #BuildRequires: libtool -#BuildRequires: bison +BuildRequires: bison +BuildRequires: flex ### Sources Source0: https://www.kernel.org/pub/linux/utils/util-linux/v%{upstream_major}/util-linux-%{upstream_version}.tar.xz From 47417a6e2e9737412879c5fd2ae1a8fea98e19af Mon Sep 17 00:00:00 2001 From: Nuo Cheng Date: Sat, 6 Dec 2025 01:10:43 +0000 Subject: [PATCH 222/232] Update util-linux-su.pamd fix variables not set in /etc/environment through command 'su --login' --- util-linux-su.pamd | 1 + 1 file changed, 1 insertion(+) diff --git a/util-linux-su.pamd b/util-linux-su.pamd index 030657f..5733201 100644 --- a/util-linux-su.pamd +++ b/util-linux-su.pamd @@ -1,4 +1,5 @@ #%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 From 196be3f2a16d94149800f747c1468bfea7b9707a Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Sat, 17 Jan 2026 19:43:43 +0000 Subject: [PATCH 223/232] Rebuilt for https://fedoraproject.org/wiki/Fedora_44_Mass_Rebuild From da7125e4bb4140112a50af0a7ff4b03d3b3d1d1b Mon Sep 17 00:00:00 2001 From: Karel Zak Date: Thu, 2 Apr 2026 14:26:48 +0200 Subject: [PATCH 224/232] upgrade to upstream release v2.42 --- .gitignore | 1 + ...t-disable-EROFS-backing-file-support.patch | 89 ------------------- ...nore-Wunused-but-set-variable-for-bi.patch | 63 ------------- ...const-from-blkid_partitions_get_name.patch | 44 --------- sources | 2 +- util-linux.spec | 18 ++-- 6 files changed, 11 insertions(+), 206 deletions(-) delete mode 100644 0002-libmount-disable-EROFS-backing-file-support.patch delete mode 100644 0003-build-sys-gcc-ignore-Wunused-but-set-variable-for-bi.patch delete mode 100644 0004-blkid-Drop-const-from-blkid_partitions_get_name.patch diff --git a/.gitignore b/.gitignore index 9c2726a..fa4f8f4 100644 --- a/.gitignore +++ b/.gitignore @@ -103,3 +103,4 @@ /util-linux-2.41.1.tar.xz /util-linux-2.41.2.tar.xz /util-linux-2.41.3.tar.xz +/util-linux-2.42.tar.xz diff --git a/0002-libmount-disable-EROFS-backing-file-support.patch b/0002-libmount-disable-EROFS-backing-file-support.patch deleted file mode 100644 index 2cb17a1..0000000 --- a/0002-libmount-disable-EROFS-backing-file-support.patch +++ /dev/null @@ -1,89 +0,0 @@ -From 93a62761843ff76187bd542fe717fa0c9b8f73a7 Mon Sep 17 00:00:00 2001 -From: Karel Zak -Date: Tue, 24 Jun 2025 10:56:58 +0200 -Subject: libmount: disable EROFS backing file support - -Let's temporarily use the old reliable loop devices rather than directly -mounting EROFS images. It seems some tools need to adapt to the change. -See https://github.com/dracut-ng/dracut-ng/issues/1384 - -Signed-off-by: Karel Zak ---- - libmount/src/context_mount.c | 35 ----------------------------------- - libmount/src/hook_loopdev.c | 7 ------- - 2 files changed, 42 deletions(-) - -diff --git a/libmount/src/context_mount.c b/libmount/src/context_mount.c -index ee3eadb05..e1d06a61e 100644 ---- a/libmount/src/context_mount.c -+++ b/libmount/src/context_mount.c -@@ -961,24 +961,6 @@ int mnt_context_finalize_mount(struct libmnt_context *cxt) - return rc; - } - --static int is_erofs_regfile(struct libmnt_context *cxt) --{ -- const char *type = mnt_fs_get_fstype(cxt->fs); -- const char *src = mnt_fs_get_srcpath(cxt->fs); -- unsigned long flags = 0; -- struct stat st; -- -- if (!type || strcmp(type, "erofs") != 0) -- return 0; -- if (mnt_context_get_user_mflags(cxt, &flags)) -- return 0; -- if (flags & (MNT_MS_LOOP | MNT_MS_OFFSET | MNT_MS_SIZELIMIT)) -- return 0; /* it's already loopdev */ -- if (!src || stat(src, &st) != 0 || !S_ISREG(st.st_mode)) -- return 0; -- return 1; --} -- - /** - * mnt_context_mount: - * @cxt: mount context -@@ -1083,23 +1065,6 @@ again: - } - } - -- /* -- * Try mount EROFS image again with loop device. -- * See hook_loopdev.c:is_loopdev_required() for more details. -- */ -- if (rc && mnt_context_get_syscall_errno(cxt) == ENOTBLK -- && is_erofs_regfile(cxt)) { -- struct libmnt_optlist *ol = mnt_context_get_optlist(cxt); -- -- mnt_context_reset_status(cxt); -- DBG(CXT, ul_debugobj(cxt, "enabling loop= for EROFS")); -- mnt_optlist_append_flags(ol, MNT_MS_LOOP, cxt->map_userspace); -- -- rc = mnt_context_call_hooks(cxt, MNT_STAGE_PREP_SOURCE); -- if (!rc) -- goto again; -- } -- - if (rc == 0) - rc = mnt_context_call_hooks(cxt, MNT_STAGE_POST); - -diff --git a/libmount/src/hook_loopdev.c b/libmount/src/hook_loopdev.c -index 444d69d6f..29e181fe8 100644 ---- a/libmount/src/hook_loopdev.c -+++ b/libmount/src/hook_loopdev.c -@@ -468,13 +468,6 @@ static int is_loopdev_required(struct libmnt_context *cxt, struct libmnt_optlist - } - } - -- /* The EROFS kernel driver can be compiled with EROFS_FS_BACKED_BY_FILE, -- * allowing for the mounting of a regular file as a filesystem without -- * a loop device. -- */ -- if (type && strcmp(type, "erofs") == 0) -- return 0; -- - /* Note that there is no restriction (on kernel side) that would - * prevent a regular file as a mount(2) source argument. A filesystem - * that is able to mount regular files could be implemented. For this --- -2.51.1 - diff --git a/0003-build-sys-gcc-ignore-Wunused-but-set-variable-for-bi.patch b/0003-build-sys-gcc-ignore-Wunused-but-set-variable-for-bi.patch deleted file mode 100644 index 2b48c5a..0000000 --- a/0003-build-sys-gcc-ignore-Wunused-but-set-variable-for-bi.patch +++ /dev/null @@ -1,63 +0,0 @@ -From b3e1a72d0272c8dc26db8c11c61cd4fed6a6b95f Mon Sep 17 00:00:00 2001 -From: Christian Goeschel Ndjomouo -Date: Tue, 6 Jan 2026 10:43:45 -0500 -Subject: build-sys: (gcc) ignore -Wunused-but-set-variable for bison - -[kzak@redhat.com: - merge two Christian's patches to make it more portable] - -Signed-off-by: Christian Goeschel Ndjomouo -Signed-off-by: Karel Zak -(cherry picked from commit db9047892a45c06bceb5768e7bb8c887289b9859) -(cherry picked from commit 718e4a76dd1262ce97f83dbc0c0fe9f97564ecbb) ---- - libsmartcols/src/filter-parser.y | 11 +++++++---- - sys-utils/hwclock-parse-date.y | 11 +++++++---- - 2 files changed, 14 insertions(+), 8 deletions(-) - -diff --git a/libsmartcols/src/filter-parser.y b/libsmartcols/src/filter-parser.y -index a7d41408e..23b05df33 100644 ---- a/libsmartcols/src/filter-parser.y -+++ b/libsmartcols/src/filter-parser.y -@@ -1,9 +1,12 @@ - %{ --#ifdef __clang__ --/* clang detects yynerrs as unused. -- * Will be fixed in future versions of bison. -+/* -+ * Compilers detect yynerrs as unused. Let's hope it will be fixed in future -+ * versions of Bison. - */ --#pragma clang diagnostic ignored "-Wunused-but-set-variable" -+#if defined(__GNUC__) && !defined(__clang__) -+# pragma GCC diagnostic ignored "-Wunused-but-set-variable" -+#elif defined(__clang__) -+# pragma clang diagnostic ignored "-Wunused-but-set-variable" - #endif - - #include -diff --git a/sys-utils/hwclock-parse-date.y b/sys-utils/hwclock-parse-date.y -index 0d996cc87..7d6c38268 100644 ---- a/sys-utils/hwclock-parse-date.y -+++ b/sys-utils/hwclock-parse-date.y -@@ -34,11 +34,14 @@ - * TZ strings in dates. - */ - --#ifdef __clang__ --/* clang 15 detects yynerrs as unused. -- * Will be fixed in future versions of bison. -+/* -+ * Compilers detect yynerrs as unused. Let's hope it will be fixed in future -+ * versions of Bison. - */ --#pragma clang diagnostic ignored "-Wunused-but-set-variable" -+#if defined(__GNUC__) && !defined(__clang__) -+# pragma GCC diagnostic ignored "-Wunused-but-set-variable" -+#elif defined(__clang__) -+# pragma clang diagnostic ignored "-Wunused-but-set-variable" - #endif - - /** --- -2.52.0 - diff --git a/0004-blkid-Drop-const-from-blkid_partitions_get_name.patch b/0004-blkid-Drop-const-from-blkid_partitions_get_name.patch deleted file mode 100644 index 749b7f9..0000000 --- a/0004-blkid-Drop-const-from-blkid_partitions_get_name.patch +++ /dev/null @@ -1,44 +0,0 @@ -From b994886e18307ef3002a63679fba4a6177f476cf Mon Sep 17 00:00:00 2001 -From: Daan De Meyer -Date: Wed, 26 Nov 2025 15:08:25 +0100 -Subject: blkid: Drop const from blkid_partitions_get_name() - -const for idx is useless as the value is copied anyway, so drop the -const. AFAIK this doesn't change ABI. - -(cherry picked from commit b243de928aab8565e264f4af1d776cc860689f64) -(cherry picked from commit 479133958af89a2afda442e158107b465301dfbb) ---- - libblkid/src/blkid.h.in | 2 +- - libblkid/src/partitions/partitions.c | 2 +- - 2 files changed, 2 insertions(+), 2 deletions(-) - -diff --git a/libblkid/src/blkid.h.in b/libblkid/src/blkid.h.in -index 91fc3b0be..031650dbc 100644 ---- a/libblkid/src/blkid.h.in -+++ b/libblkid/src/blkid.h.in -@@ -340,7 +340,7 @@ extern uint64_t blkid_topology_get_diskseq(blkid_topology tp) - * partitions probing - */ - extern int blkid_known_pttype(const char *pttype); --extern int blkid_partitions_get_name(const size_t idx, const char **name); -+extern int blkid_partitions_get_name(size_t idx, const char **name); - - extern int blkid_probe_enable_partitions(blkid_probe pr, int enable) - __ul_attribute__((nonnull)); -diff --git a/libblkid/src/partitions/partitions.c b/libblkid/src/partitions/partitions.c -index 9df813c92..e838b3db1 100644 ---- a/libblkid/src/partitions/partitions.c -+++ b/libblkid/src/partitions/partitions.c -@@ -907,7 +907,7 @@ int blkid_known_pttype(const char *pttype) - * - * Returns: -1 if @idx is out of range, or 0 on success. - */ --int blkid_partitions_get_name(const size_t idx, const char **name) -+int blkid_partitions_get_name(size_t idx, const char **name) - { - if (idx < ARRAY_SIZE(idinfos)) { - *name = idinfos[idx]->name; --- -2.52.0 - diff --git a/sources b/sources index 96ed8d3..51a58d9 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (util-linux-2.41.3.tar.xz) = 3d299f0e05a4c982a04dbcbaaeff1222152feedf51c56c5dbdeb75999c68269d652a994f5cdf4c1ee42bb7b28475dd0792192c299fd9bc3b45198c5b153dad00 +SHA512 (util-linux-2.42.tar.xz) = 909bba6c38d43ca4cb9bd974c399b4f0537b54709ac43e8acc823d9d9979fbc7523572469eb452b13c86116675d6d2ebb3764444781204f7e5bd0156252635d7 diff --git a/util-linux.spec b/util-linux.spec index f1f58a4..9809b9f 100644 --- a/util-linux.spec +++ b/util-linux.spec @@ -1,7 +1,7 @@ ### Header Summary: Collection of basic system utilities Name: util-linux -Version: 2.41.3 +Version: 2.42 # -p -e rc1 Release: %autorelease -b7 License: GPL-1.0-or-later AND GPL-2.0-only AND GPL-2.0-or-later AND GPL-3.0-or-later AND LGPL-2.1-or-later AND BSD-2-Clause AND BSD-3-Clause AND BSD-4-Clause-UC AND LicenseRef-Fedora-Public-Domain @@ -107,14 +107,6 @@ Provides: /usr/sbin/sfdisk Patch0: 0000-login-use-O_CREAT-on-lastlog.patch Patch1: 0001-login-add-run-motd.d-to-the-hardcoded-MOTD_FILE.patch -### Temporary dracut workaround -Patch2: 0002-libmount-disable-EROFS-backing-file-support.patch - -# Upstream backports -Patch3: 0003-build-sys-gcc-ignore-Wunused-but-set-variable-for-bi.patch -Patch4: 0004-blkid-Drop-const-from-blkid_partitions_get_name.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 @@ -561,6 +553,7 @@ fi %{_bindir}/colcrt %{_bindir}/colrm %{_bindir}/column +%{_bindir}/copyfilerange %{_bindir}/coresched %{_bindir}/eject %{_bindir}/enosys @@ -568,6 +561,7 @@ fi %{_bindir}/fallocate %{_bindir}/fincore %{_bindir}/fadvise +%{_bindir}/getino %{_bindir}/getopt %{_bindir}/hexdump %{_bindir}/irqtop @@ -617,6 +611,7 @@ fi %{_mandir}/man1/colcrt.1* %{_mandir}/man1/colrm.1* %{_mandir}/man1/column.1* +%{_mandir}/man1/copyfilerange.1* %{_mandir}/man1/coresched.1.* %{_mandir}/man1/eject.1* %{_mandir}/man1/enosys.1* @@ -624,6 +619,7 @@ fi %{_mandir}/man1/fadvise.1* %{_mandir}/man1/fallocate.1* %{_mandir}/man1/fincore.1* +%{_mandir}/man1/getino.1* %{_mandir}/man1/getopt.1* %{_mandir}/man1/hexdump.1* %{_mandir}/man1/irqtop.1* @@ -739,6 +735,7 @@ fi %{compldir}/colcrt %{compldir}/colrm %{compldir}/column +%{compldir}/copyfilerange %{compldir}/coresched %{compldir}/ctrlaltdel %{compldir}/delpart @@ -754,6 +751,7 @@ fi %{compldir}/fsck.minix %{compldir}/fsfreeze %{compldir}/fstrim +%{compldir}/getino %{compldir}/getopt %{compldir}/hexdump %{compldir}/irqtop @@ -987,10 +985,12 @@ fi %{_libdir}/pkgconfig/lastlog2.pc %{_mandir}/man3/lastlog2.3.* %{_mandir}/man3/ll2_import_lastlog.3* +%{_mandir}/man3/ll2_new_context.3* %{_mandir}/man3/ll2_read_all.3* %{_mandir}/man3/ll2_read_entry.3* %{_mandir}/man3/ll2_remove_entry.3* %{_mandir}/man3/ll2_rename_user.3* +%{_mandir}/man3/ll2_unref_context.3* %{_mandir}/man3/ll2_update_login_time.3* %{_mandir}/man3/ll2_write_entry.3* From f89132526858f8e537f7dd4d6ca729eb19e0c804 Mon Sep 17 00:00:00 2001 From: Karel Zak Date: Tue, 19 May 2026 13:29:13 +0200 Subject: [PATCH 225/232] upgrade to upstream release v2.42.1 - fix pam_lastlog2 libpam linking (rhbz#2453457) --- .gitignore | 1 + ...ix-libpam-linking-in-autotools-build.patch | 59 +++++++++++++++++++ sources | 2 +- util-linux.spec | 5 +- 4 files changed, 64 insertions(+), 3 deletions(-) create mode 100644 0002-pam_lastlog2-fix-libpam-linking-in-autotools-build.patch diff --git a/.gitignore b/.gitignore index fa4f8f4..99b84c3 100644 --- a/.gitignore +++ b/.gitignore @@ -104,3 +104,4 @@ /util-linux-2.41.2.tar.xz /util-linux-2.41.3.tar.xz /util-linux-2.42.tar.xz +/util-linux-2.42.1.tar.xz diff --git a/0002-pam_lastlog2-fix-libpam-linking-in-autotools-build.patch b/0002-pam_lastlog2-fix-libpam-linking-in-autotools-build.patch new file mode 100644 index 0000000..375d025 --- /dev/null +++ b/0002-pam_lastlog2-fix-libpam-linking-in-autotools-build.patch @@ -0,0 +1,59 @@ +From 5549462c4d10e7b9c67d2cf4e99a7735770e816d Mon Sep 17 00:00:00 2001 +From: Karel Zak +Date: Tue, 19 May 2026 10:54:57 +0200 +Subject: [PATCH] pam_lastlog2: fix libpam linking in autotools build + +Move -lpam from LDFLAGS to LIBADD. When -lpam is in LDFLAGS it +appears on the linker command line before object files, so the +--as-needed linker flag (default on Fedora) discards it before +seeing any undefined PAM symbols. This results in pam_lastlog2.so +missing libpam.so in its ELF NEEDED entries. + +The module then fails to load with dlopen() if the calling process +does not itself link against libpam (e.g., systemd in Fedora 44+): + + PAM unable to dlopen(pam_lastlog2.so): undefined symbol: pam_syslog + +Fixes: https://bugzilla.redhat.com/show_bug.cgi?id=2453457 +Signed-off-by: Karel Zak +(cherry picked from commit 5683ed6320e00205146cbb3d0c76462733530eca) +--- + Makefile.in | 4 ++-- + pam_lastlog2/src/Makemodule.am | 4 ++-- + 2 files changed, 4 insertions(+), 4 deletions(-) + +diff --git a/Makefile.in b/Makefile.in +index 1234567..abcdefg 100644 +--- a/Makefile.in ++++ b/Makefile.in +@@ -7596,9 +7596,9 @@ + @BUILD_PAM_LASTLOG2_TRUE@ $(SOLIB_CFLAGS) \ + @BUILD_PAM_LASTLOG2_TRUE@ -I$(ul_liblastlog2_incdir) + +-@BUILD_PAM_LASTLOG2_TRUE@pam_lastlog2_la_LIBADD = liblastlog2.la ++@BUILD_PAM_LASTLOG2_TRUE@pam_lastlog2_la_LIBADD = liblastlog2.la -lpam + @BUILD_PAM_LASTLOG2_TRUE@pam_lastlog2_la_LDFLAGS = $(SOLIB_LDFLAGS) \ +-@BUILD_PAM_LASTLOG2_TRUE@ -lpam -module -avoid-version -shared \ ++@BUILD_PAM_LASTLOG2_TRUE@ -module -avoid-version -shared \ + @BUILD_PAM_LASTLOG2_TRUE@ $(am__append_609) + POMAN_PO_FILES = $(wildcard po-man/*.po) + @ENABLE_ASCIIDOC_TRUE@@ENABLE_POMAN_TRUE@PO_STAMPS = po4a-gen.stamp +diff --git a/pam_lastlog2/src/Makemodule.am b/pam_lastlog2/src/Makemodule.am +index 629930853..876171e9f 100644 +--- a/pam_lastlog2/src/Makemodule.am ++++ b/pam_lastlog2/src/Makemodule.am +@@ -11,9 +11,9 @@ pam_lastlog2_la_CFLAGS = \ + $(SOLIB_CFLAGS) \ + -I$(ul_liblastlog2_incdir) + +-pam_lastlog2_la_LIBADD = liblastlog2.la ++pam_lastlog2_la_LIBADD = liblastlog2.la -lpam + +-pam_lastlog2_la_LDFLAGS = $(SOLIB_LDFLAGS) -lpam -module -avoid-version -shared ++pam_lastlog2_la_LDFLAGS = $(SOLIB_LDFLAGS) -module -avoid-version -shared + if HAVE_VSCRIPT + pam_lastlog2_la_LDFLAGS += $(VSCRIPT_LDFLAGS),$(top_srcdir)/pam_lastlog2/src/pam_lastlog2.sym + endif +-- +2.52.0 + diff --git a/sources b/sources index 51a58d9..aaa0b65 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (util-linux-2.42.tar.xz) = 909bba6c38d43ca4cb9bd974c399b4f0537b54709ac43e8acc823d9d9979fbc7523572469eb452b13c86116675d6d2ebb3764444781204f7e5bd0156252635d7 +SHA512 (util-linux-2.42.1.tar.xz) = 18dd2cfc353e389e4eeb37375473e7b3d0ab7fcd059a881d7cd0815ddcaa7b5795db92fcf56e531089267c8e69936c4fd3abd97786aa111b115996203aadbca2 diff --git a/util-linux.spec b/util-linux.spec index 9809b9f..7f000f7 100644 --- a/util-linux.spec +++ b/util-linux.spec @@ -1,9 +1,9 @@ ### Header Summary: Collection of basic system utilities Name: util-linux -Version: 2.42 +Version: 2.42.1 # -p -e rc1 -Release: %autorelease -b7 +Release: %autorelease License: GPL-1.0-or-later AND GPL-2.0-only AND GPL-2.0-or-later AND GPL-3.0-or-later AND LGPL-2.1-or-later AND BSD-2-Clause AND BSD-3-Clause AND BSD-4-Clause-UC AND LicenseRef-Fedora-Public-Domain URL: https://en.wikipedia.org/wiki/Util-linux @@ -106,6 +106,7 @@ Provides: /usr/sbin/sfdisk ### Fedora specific patches Patch0: 0000-login-use-O_CREAT-on-lastlog.patch Patch1: 0001-login-add-run-motd.d-to-the-hardcoded-MOTD_FILE.patch +Patch2: 0002-pam_lastlog2-fix-libpam-linking-in-autotools-build.patch %description The util-linux package contains a large variety of low-level system From ad160404f25800844ad14e6afad574c237c75942 Mon Sep 17 00:00:00 2001 From: Karel Zak Date: Tue, 19 May 2026 13:49:26 +0200 Subject: [PATCH 226/232] fix pam_lastlog2 patch to modify only Makefile.in --- ...ix-libpam-linking-in-autotools-build.patch | 21 ++----------------- 1 file changed, 2 insertions(+), 19 deletions(-) diff --git a/0002-pam_lastlog2-fix-libpam-linking-in-autotools-build.patch b/0002-pam_lastlog2-fix-libpam-linking-in-autotools-build.patch index 375d025..233a7f8 100644 --- a/0002-pam_lastlog2-fix-libpam-linking-in-autotools-build.patch +++ b/0002-pam_lastlog2-fix-libpam-linking-in-autotools-build.patch @@ -18,9 +18,8 @@ Fixes: https://bugzilla.redhat.com/show_bug.cgi?id=2453457 Signed-off-by: Karel Zak (cherry picked from commit 5683ed6320e00205146cbb3d0c76462733530eca) --- - Makefile.in | 4 ++-- - pam_lastlog2/src/Makemodule.am | 4 ++-- - 2 files changed, 4 insertions(+), 4 deletions(-) + Makefile.in | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Makefile.in b/Makefile.in index 1234567..abcdefg 100644 @@ -38,22 +37,6 @@ index 1234567..abcdefg 100644 @BUILD_PAM_LASTLOG2_TRUE@ $(am__append_609) POMAN_PO_FILES = $(wildcard po-man/*.po) @ENABLE_ASCIIDOC_TRUE@@ENABLE_POMAN_TRUE@PO_STAMPS = po4a-gen.stamp -diff --git a/pam_lastlog2/src/Makemodule.am b/pam_lastlog2/src/Makemodule.am -index 629930853..876171e9f 100644 ---- a/pam_lastlog2/src/Makemodule.am -+++ b/pam_lastlog2/src/Makemodule.am -@@ -11,9 +11,9 @@ pam_lastlog2_la_CFLAGS = \ - $(SOLIB_CFLAGS) \ - -I$(ul_liblastlog2_incdir) - --pam_lastlog2_la_LIBADD = liblastlog2.la -+pam_lastlog2_la_LIBADD = liblastlog2.la -lpam - --pam_lastlog2_la_LDFLAGS = $(SOLIB_LDFLAGS) -lpam -module -avoid-version -shared -+pam_lastlog2_la_LDFLAGS = $(SOLIB_LDFLAGS) -module -avoid-version -shared - if HAVE_VSCRIPT - pam_lastlog2_la_LDFLAGS += $(VSCRIPT_LDFLAGS),$(top_srcdir)/pam_lastlog2/src/pam_lastlog2.sym - endif -- 2.52.0 From 49c5ecdbfba0787839a9f956c9edc14ff6732a03 Mon Sep 17 00:00:00 2001 From: Karel Zak Date: Wed, 20 May 2026 10:28:46 +0200 Subject: [PATCH 227/232] make util-linux-i18n noarch (rhbz#2453891) --- util-linux.spec | 1 + 1 file changed, 1 insertion(+) diff --git a/util-linux.spec b/util-linux.spec index 7f000f7..d22ef6c 100644 --- a/util-linux.spec +++ b/util-linux.spec @@ -315,6 +315,7 @@ mountinfo, etc) and mount filesystems. Summary: Internationalization pack for util-linux Requires: util-linux = %{version}-%{release} License: GPL-2.0-or-later +BuildArch: noarch %description -n util-linux-i18n Internationalization pack with translated messages and manual pages for From 62e94b8fcbad1c982cb623aee26d7e00838bf4d9 Mon Sep 17 00:00:00 2001 From: Karel Zak Date: Wed, 20 May 2026 11:07:37 +0200 Subject: [PATCH 228/232] revert util-linux-i18n noarch (rhbz#2453891) --- util-linux.spec | 1 - 1 file changed, 1 deletion(-) diff --git a/util-linux.spec b/util-linux.spec index d22ef6c..7f000f7 100644 --- a/util-linux.spec +++ b/util-linux.spec @@ -315,7 +315,6 @@ mountinfo, etc) and mount filesystems. Summary: Internationalization pack for util-linux Requires: util-linux = %{version}-%{release} License: GPL-2.0-or-later -BuildArch: noarch %description -n util-linux-i18n Internationalization pack with translated messages and manual pages for From e20697608b0484e6be54a7368c5e178f2457d9ff Mon Sep 17 00:00:00 2001 From: Python Maint Date: Wed, 3 Jun 2026 17:43:18 +0200 Subject: [PATCH 229/232] Rebuilt for Python 3.15 From d3c879ee069eb7fcc931120f4bc72b5b43b1ce95 Mon Sep 17 00:00:00 2001 From: Karel Zak Date: Tue, 16 Jun 2026 14:54:51 +0200 Subject: [PATCH 230/232] upgrade to upstream release v2.42.2 --- .gitignore | 1 + ...ix-libpam-linking-in-autotools-build.patch | 42 ------------------- sources | 2 +- util-linux.spec | 3 +- 4 files changed, 3 insertions(+), 45 deletions(-) delete mode 100644 0002-pam_lastlog2-fix-libpam-linking-in-autotools-build.patch diff --git a/.gitignore b/.gitignore index 99b84c3..15c7c05 100644 --- a/.gitignore +++ b/.gitignore @@ -105,3 +105,4 @@ /util-linux-2.41.3.tar.xz /util-linux-2.42.tar.xz /util-linux-2.42.1.tar.xz +/util-linux-2.42.2.tar.xz diff --git a/0002-pam_lastlog2-fix-libpam-linking-in-autotools-build.patch b/0002-pam_lastlog2-fix-libpam-linking-in-autotools-build.patch deleted file mode 100644 index 233a7f8..0000000 --- a/0002-pam_lastlog2-fix-libpam-linking-in-autotools-build.patch +++ /dev/null @@ -1,42 +0,0 @@ -From 5549462c4d10e7b9c67d2cf4e99a7735770e816d Mon Sep 17 00:00:00 2001 -From: Karel Zak -Date: Tue, 19 May 2026 10:54:57 +0200 -Subject: [PATCH] pam_lastlog2: fix libpam linking in autotools build - -Move -lpam from LDFLAGS to LIBADD. When -lpam is in LDFLAGS it -appears on the linker command line before object files, so the ---as-needed linker flag (default on Fedora) discards it before -seeing any undefined PAM symbols. This results in pam_lastlog2.so -missing libpam.so in its ELF NEEDED entries. - -The module then fails to load with dlopen() if the calling process -does not itself link against libpam (e.g., systemd in Fedora 44+): - - PAM unable to dlopen(pam_lastlog2.so): undefined symbol: pam_syslog - -Fixes: https://bugzilla.redhat.com/show_bug.cgi?id=2453457 -Signed-off-by: Karel Zak -(cherry picked from commit 5683ed6320e00205146cbb3d0c76462733530eca) ---- - Makefile.in | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -diff --git a/Makefile.in b/Makefile.in -index 1234567..abcdefg 100644 ---- a/Makefile.in -+++ b/Makefile.in -@@ -7596,9 +7596,9 @@ - @BUILD_PAM_LASTLOG2_TRUE@ $(SOLIB_CFLAGS) \ - @BUILD_PAM_LASTLOG2_TRUE@ -I$(ul_liblastlog2_incdir) - --@BUILD_PAM_LASTLOG2_TRUE@pam_lastlog2_la_LIBADD = liblastlog2.la -+@BUILD_PAM_LASTLOG2_TRUE@pam_lastlog2_la_LIBADD = liblastlog2.la -lpam - @BUILD_PAM_LASTLOG2_TRUE@pam_lastlog2_la_LDFLAGS = $(SOLIB_LDFLAGS) \ --@BUILD_PAM_LASTLOG2_TRUE@ -lpam -module -avoid-version -shared \ -+@BUILD_PAM_LASTLOG2_TRUE@ -module -avoid-version -shared \ - @BUILD_PAM_LASTLOG2_TRUE@ $(am__append_609) - POMAN_PO_FILES = $(wildcard po-man/*.po) - @ENABLE_ASCIIDOC_TRUE@@ENABLE_POMAN_TRUE@PO_STAMPS = po4a-gen.stamp --- -2.52.0 - diff --git a/sources b/sources index aaa0b65..8420d1b 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (util-linux-2.42.1.tar.xz) = 18dd2cfc353e389e4eeb37375473e7b3d0ab7fcd059a881d7cd0815ddcaa7b5795db92fcf56e531089267c8e69936c4fd3abd97786aa111b115996203aadbca2 +SHA512 (util-linux-2.42.2.tar.xz) = 7415add0be2930654e322830808dde03ff6d511bd357f0679e6b6287a13ca79fe58ce4ac05edef86b76fb381b3a36ca2da9d3c31b5dc0a1d889c203156a57277 diff --git a/util-linux.spec b/util-linux.spec index 7f000f7..d92cb07 100644 --- a/util-linux.spec +++ b/util-linux.spec @@ -1,7 +1,7 @@ ### Header Summary: Collection of basic system utilities Name: util-linux -Version: 2.42.1 +Version: 2.42.2 # -p -e rc1 Release: %autorelease License: GPL-1.0-or-later AND GPL-2.0-only AND GPL-2.0-or-later AND GPL-3.0-or-later AND LGPL-2.1-or-later AND BSD-2-Clause AND BSD-3-Clause AND BSD-4-Clause-UC AND LicenseRef-Fedora-Public-Domain @@ -106,7 +106,6 @@ Provides: /usr/sbin/sfdisk ### Fedora specific patches Patch0: 0000-login-use-O_CREAT-on-lastlog.patch Patch1: 0001-login-add-run-motd.d-to-the-hardcoded-MOTD_FILE.patch -Patch2: 0002-pam_lastlog2-fix-libpam-linking-in-autotools-build.patch %description The util-linux package contains a large variety of low-level system From 9213a0ec8f2e3348008b124ea36bb7be3d88c745 Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Fri, 17 Jul 2026 08:18:23 +0000 Subject: [PATCH 231/232] Rebuilt for https://fedoraproject.org/wiki/Fedora_45_Mass_Rebuild From a0317f94b5e9504715995fb11d8e8555737683cf Mon Sep 17 00:00:00 2001 From: Python Maint Date: Wed, 22 Jul 2026 10:16:14 +0200 Subject: [PATCH 232/232] Rebuilt for Python 3.15.0b4 ABI change