Compare commits

2 Commits
1.1 ... main

8 changed files with 233 additions and 57 deletions

View File

@@ -14,12 +14,11 @@ Signed-off-by: Martin Wilck <mwilck@suse.com>
libmount/src/context_mount.c | 41 ++++++++++++++++++++++++++++++++----
1 file changed, 37 insertions(+), 4 deletions(-)
diff --git a/libmount/src/context_mount.c b/libmount/src/context_mount.c
index f914c9b..a48483f 100644
--- a/libmount/src/context_mount.c
+++ b/libmount/src/context_mount.c
@@ -1423,6 +1423,32 @@ done:
return rc;
diff -ur util-linux-2.41.orig/libmount/src/context_mount.c util-linux-2.41/libmount/src/context_mount.c
--- util-linux-2.41.orig/libmount/src/context_mount.c 2025-03-04 19:14:02.587173600 +0100
+++ util-linux-2.41/libmount/src/context_mount.c 2025-04-08 14:03:59.173505340 +0200
@@ -1469,6 +1469,32 @@
}
}
+/*
@@ -51,7 +50,7 @@ index f914c9b..a48483f 100644
int mnt_context_get_mount_excode(
struct libmnt_context *cxt,
int rc,
@@ -1670,10 +1696,17 @@ int mnt_context_get_mount_excode(
@@ -1772,10 +1798,17 @@
case ENODEV:
if (!buf)
break;
@@ -73,6 +72,3 @@ index f914c9b..a48483f 100644
snprintf(buf, bufsz, _("unknown filesystem type"));
break;
--
2.19.2

View File

@@ -1,16 +0,0 @@
-----BEGIN PGP SIGNATURE-----
iQIzBAABCAAdFiEEsMZNFDAcxu+u32Dk5LcdXuw5woQFAmeFCjYACgkQ5LcdXuw5
woQOfw//e1E0K/KQutqIhO4bl+gnpmq8lTP/2Bn3eCrrpoyM5V+FTh/gxVUbsU6H
uTUw7LZVAb1Ihwp6j3XnkqjzhOQ5yBe6iv2H5pfYQS6mSemIuIBoMd9PyCvNgh90
mW4jC6WnSdaH71QW9lAPPjog45v6WXR/8UwhTGf/0tKkxurwUyyIaAktG5FtGnlW
xVQ4tOyqAgcGdTtNFrD3pgO3rydYZIo/JMwL0mTpfcgzgbKZ1aJVx1J2mdRVZ5N9
MMLU6/6qAmxEy8EUb2AmlTCFjXNC2J7eRZGvRF1WzNbFBh6cShl/825OY/9Kvmzv
IWIfuFBvyLa6VPEDDw2U0dtrHXXGeSs7ACSKE+0aMDTrznPy6WuA4XRFIm5AuOt3
Gb/95ZK4udrijg5cquMZMzs5yFCiDNGYpwMWMAwHglNfPtwSKZ6tno0k1YrE/Y0P
9+dq2rjjpREHO5itFigLAJQVHVop3rp8EfRLONgXy4Sh/j7mUjjACE4DWwzBsJEQ
fEwTbb91oHJ2WtiTj3P2nOyVUMOv9PX3p8V/V0RXQcLe7gfCa198evEcA5Swcihm
aym4FE58Trr7FBRyQcRuU5B74i7VW5a+22yLpvG0l0jL8Aer8iAaG86yJjogTUHi
uQJKHnc2ZBtBB8XKht1KsqMs/5qlo6aoalo+bR9cewuoAJZNoa8=
=gB1/
-----END PGP SIGNATURE-----

Binary file not shown.

View File

@@ -0,0 +1,16 @@
-----BEGIN PGP SIGNATURE-----
iQIzBAABCAAdFiEEsMZNFDAcxu+u32Dk5LcdXuw5woQFAmhaXXIACgkQ5LcdXuw5
woTvGg/8DVhCA5WWXbRh+fxsTwb2vIWPgBpjV+wUqxiNeijPXDK7tDcNF9bHvXy7
X7ajs4y+ULzw2hBpBmI/k/Oi/enDYNo+Q76du6POjJkasgO0bY9kGVVFhd61BFfk
86yY0uOud3n/F/ht1rR3TdFaatA2QtK7AqGmh3xpQh7ELJ8v7uNT/uyU7ZtKJXT3
uEa217G1OYxxJlmLmob0jWYYuyjtg0nB/Xw4MiXrTqQbD4K0304eDsYu10DaRPW6
ZNEjnCYEaPPkZ1xH3L29ZZlrwZ47ApN52dsTRzoymQGhak5UsKvcL7pWAa3gIlk9
m3cL6TnuFXemBF6FqdAu2+xs1gX6zzPW8+2iff+9PrvODXSZPNBamwsVY6Ae39g9
8lRQH1RpyXdIB+wg3ItgaGxTYz6aEJU9nCsE2uHQF/IRSdEHsqG5rc00ax0h4Ihk
M+3z94Wuo+8NceY7kIM/lkH5sCnVV4WcpGImA3kvaVDkjYhb8XK8Yb3KFR8RE/rH
LOCRavkKXaKT4CaS+SLvOZoFTTLciw7oNqecopSsREPk0y4HKbPdfRrfcS38m4ex
HXp9yI2Rl7vThtDuNi0Bcp6GmLo4cgWgHBYSNZcnGH88LJk2Ya7Yamg+tUeynGCI
6RvQxxfDT8mMf5deEiiLgG9RxjSVlA53dIZf1tB1RUjjh61aLdQ=
=mm3H
-----END PGP SIGNATURE-----

BIN
util-linux-2.41.1.tar.xz LFS Normal file

Binary file not shown.

View File

@@ -15,7 +15,7 @@ echo -n "Checking login.defs variables in util-linux... " >&2
sed -n 's/^.*logindefs_setenv*("[A-Z0-9_]*", "\([A-Z0-9_]*\)".*$/\1/p'
) | LC_ALL=C sort -u >util-linux-login_defs-vars.lst
if test $(sha1sum util-linux-login_defs-vars.lst | sed 's/ .*$//') != 8516ca34e059b2dee1d4421a3ab07e88331b1674 ; then
if test $(sha1sum util-linux-login_defs-vars.lst | sed 's/ .*$//') != 713b442bf6d16353b7f74538ece165b424f90932 ; then
echo "does not match!" >&2
echo "Checksum is: $(sha1sum util-linux-login_defs-vars.lst | sed 's/ .*$//')" >&2
@@ -32,10 +32,13 @@ If it is false positive:
- The same fix is needed in shadow package in shadow-login_defs-check.sh.
If it is true positive:
- Check-out shadow package and call shadow-login_defs-check.sh.
- Compare its output shadow-login_defs-check-util-linux.lst with
util-linux-login_defs-vars.lst in the util-linux build directory.
- Check-out shadow package and call shadow-login_defs-check.sh. If it
fails, check the output.
- Update shadow shadow-login_defs-util-linux.patch, if needed.
- Verify that the new variable is included in FOREIGNDEFS in lib/getdef.c.
If not, add it to shadow-login_defs-util-linux.patch and send the chunk
to the upstream.
- If shadow-login_defs-util-linux.patch was updated, update
login_defs-support-for-util-linux symbol version in both shadow and
util-linux spec files accordingly.

View File

@@ -1,3 +1,180 @@
-------------------------------------------------------------------
Tue Jun 24 22:41:18 UTC 2025 - Stanislav Brabec <sbrabec@suse.com>
- Update to version 2.41.1:
* cfdisk: fix memory leak and possible NULL dereference
* fdisk: fix possible memory leak
* findmnt: fix -k option parsing regression (boo#1242705,
drop util-linux-libblkid-econf-parse.patch)
* hardlink: fix performance regression
* include/cctype: fix string comparison
* libblkid:
* Fix crash while parsing config with libeconf
* befs fix underflow
* avoid strcasecmp() for ASCII-only strings
* libblkid/src/topology/dm: fix fscanf return value check to
match expected number of parsed items
* libmount:
* (subdir) restrict for real mounts only
* (subdir) remove unused code
* avoid calling memset() unnecessarily
* fix --no-canonicalize regression (boo#1244251,
drop libmount-fix-no-canonicalize-regression.patch)
* lsblk:
* use ID_PART_ENTRY_SCHEME as fallback for PTTYPE
* avoid strcasecmp() for ASCII-only strings
* lscpu:
* fix possible buffer overflow in cpuinfo parser
* Fix loongarch op-mode output with recent kernel
* lsfd:
* scan the protocol field of /proc/net/packet as a hex number
* fix the description for PACKET.PROTOCOL column
* lsns:
* enhance compilation without USE_NS_GET_API
* fix undefined reference to add_namespace_for_nsfd #3483
* more:
* fix broken ':!command' command key
* fix implicit previous shell_line execution #3508
* tests: (test_mkfds::mapped-packet-socket) add a new parameter,
protocol
* treewide:
* add ul_ to parse_timestamp() function name
(drop util-linux-rename-common-symbols-4.patch)
* add ul_ to parse_switch() function name
(drop util-linux-rename-common-symbols-3.patch)
* add ul_ to parse_size() function name
(drop util-linux-rename-common-symbols-2.patch)
* add ul_ to parse_range() function name
(drop util-linux-rename-common-symbols-1.patch)
* fix optional arguments usage
* avoid strcasecmp() for ASCII-only strings
* Wipefs: improve --all descriptions for whole-disks
* Misc: Do not call exit() on code ending in shared libraries
* Other fixes. For complete list see
https://kernel.org/pub/linux/utils/util-linux/v2.41/v2.41.1-ReleaseNotes
- Fix problem with uname26 listed twice.
-------------------------------------------------------------------
Tue Jun 10 11:16:10 UTC 2025 - Nicolas Belouin <nicolas@belouin.fr>
- Fix libmount --no-canonicalize regression (boo#1244251,
gh#util-linux/util-linux#3479,
libmount-fix-no-canonicalize-regression.patch).
-------------------------------------------------------------------
Thu May 29 15:21:59 UTC 2025 - Stanislav Brabec <sbrabec@suse.com>
- Add ul_ prefix to functions with common names. Fixes btrfsprogs
build failure (gh#util-linux/util-linux#3603,
util-linux-rename-common-symbols-1.patch,
util-linux-rename-common-symbols-2.patch,
util-linux-rename-common-symbols-3.patch,
util-linux-rename-common-symbols-4.patch).
-------------------------------------------------------------------
Tue May 20 14:27:14 UTC 2025 - Stanislav Brabec <sbrabec@suse.com>
- Fix segfault of findmnt (boo#1242705,
gh#util-linux/util-linux#3574,
util-linux-libblkid-econf-parse.patch).
-------------------------------------------------------------------
Thu Apr 17 18:33:03 UTC 2025 - Stanislav Brabec <sbrabec@suse.com>
- Enable mountfd support again (jsc#PED-9752).
BREAKING CHANGE
Mountfd is nearly completely compatible with the old mount. There
is a special case that cannot be handled by mountfd, and it needs
to be handled by applications:
Mountfd discriminates between physical mount layer and virtual
mount layer. Once the physical mount layer is read-only,
read-write mount on the virtual layer is not possible.
If the first mount is read only, then the physical filesystem is
mounted read-only, and later mount of the same file system as
read-write is not possible. To solve this problem, the first
mount needs to be read-only only on the virtual layer, keeping
the physical layer read-write.
The user space fix is simple:
Instead of
mount -oro
use
mount -oro=vfs
This will keep the physical layer read-write, but the virtual
file system layer (and the user space access) will be read-only.
-------------------------------------------------------------------
Mon Apr 7 21:00:58 UTC 2025 - Stanislav Brabec <sbrabec@suse.com>
- Update to version 2.41:
* agetty: Fixed an issue where issue files were not being printed
from additional locations, such as /run or /usr/lib. This
change now allows for the use of local information from /etc,
in addition to generated files from /run and
distribution-specific files from /usr/lib.
* cfdisk and sfdisk: Added support for the --sector-size command
line option.
* sfdisk: Added a new option, --discard-free.
* fdisk: Added a new command, 'T', to discard sectors.
* chrt: The --sched-runtime now supports SCHED_{OTHER,BATCH}
policies.
* column: Can now handle ANSI SGR colors inside OSC 8 hyperlink
escape codes and sequences.
* enosys: Can now dump defined filters.
* libmount:
* Added experimental support for statmount() and listmount()
syscalls.
* This new functionality can be accessed using "findmnt
--kernel=listmount".
* Added a new mount option,
X-mount.nocanonicalize[=source|target].
* Added new mount extensions to the "ro" flag (ro[=vfs,fs]).
* Added a new option, X-mount.noloop, to disable automatic loop
device creation.
* Now supports bind symlinks over symlinks.
* Reads all kernel info/warning/error messages from new API
syscalls (and mount(8) prints them).
* libuuid: Now supports RFC9562 UUIDs.
* findmnt, lsblk, and lsfd: Added a new --hyperlink command line
option to print paths as terminal hyperlinks.
* findmnt: Can now address filesystems using --id and --uniq-id
(requires listmount() kernel support).
* flock: Added support for the --fcntl command line option.
* hardlink: Can now prioritize specified trees on the command
line using --prioritize-trees.
* Can exclude sub-trees using --exclude-subtree or keep them in
the current mount using --mount.
* Duplicates can now be printed using --list-duplicates.
* hwclock: Added a new --param-index option to address position
for RTC_PARAM_{GET,SET} ioctls.
* kill: Can now decode signal masks (e.g. as used in /proc) to
signal names.
* libblkid: Made many changes to improve detection, including
exfat, GPT, LUKS2, bitlocker, etc.
* login: Added support for LOGIN_ENV_SAFELIST in /etc/login.def.
* lsfd: Now supports pidfs and AF_VSOCK sockets.
* lsipc, ipcmk, ipcrm: Now supports POSIX ipc.
* lslogins: Now supports lastlog2.
* lsns: Added support for the --filter option.
* build by meson: Now supports translated man pages and has fixed
many bugs.
* mkswap: The option --file should now be usable on btrfs.
* nsenter: Improved support for pidfd and can now join target
process's socket net namespace.
* scriptlive: Added a new option, --echo <never|always|auto>.
* zramctl: Now supports COMP-RATIO and --algorithm-params.
* Many other new features and fixes. For complete list see
https://kernel.org/pub/linux/utils/util-linux/v2.41/v2.41-ReleaseNotes
- Update util-linux-login_defs-check.sh:
* Make instructions up to date.
* Update checksum reflecting the shadow update.
- Refresh libmount-print-a-blacklist-hint-for-unknown-filesyst.patch.
-------------------------------------------------------------------
Mon Feb 24 17:16:49 UTC 2025 - Jan Engelhardt <jengelh@inai.de>
- Delete /usr/sbin/rc* symlinks
- Drop bashisms from build recipe
-------------------------------------------------------------------
Tue Jan 28 23:05:38 UTC 2025 - Stanislav Brabec <sbrabec@suse.com>

View File

@@ -85,18 +85,18 @@ Group: Development/Languages/Python
%endif
# ulbuild == python
Version: 2.40.4
Version: 2.41.1
Release: 0
License: GPL-2.0-or-later
URL: https://www.kernel.org/pub/linux/utils/util-linux/
Source: https://www.kernel.org/pub/linux/utils/util-linux/v2.40/util-linux-%{version}.tar.xz
Source: https://www.kernel.org/pub/linux/utils/util-linux/v2.41/util-linux-%{version}.tar.xz
Source2: util-linux-login_defs-check.sh
Source7: baselibs.conf
Source8: login.pamd
Source9: remote.pamd
Source10: su.pamd
Source11: su.default
Source12: https://www.kernel.org/pub/linux/utils/util-linux/v2.39/util-linux-%{version}.tar.sign
Source12: https://www.kernel.org/pub/linux/utils/util-linux/v2.41/util-linux-%{version}.tar.sign
Source13: %{_name}.keyring
Source14: runuser.pamd
Source15: runuser-l.pamd
@@ -185,7 +185,8 @@ Supplements: filesystem(minix)
# All login.defs variables require support from shadow side.
# Upgrade this symbol version only if new variables appear!
# Verify by shadow-login_defs-check.sh from shadow source package.
Recommends: login_defs-support-for-util-linux >= 2.37
# Use downstream version. Upstream may accept the patch later.
Recommends: login_defs-support-for-util-linux >= 4.17.4
%endif
# ulsubset == core
@@ -485,38 +486,38 @@ export CXXFLAGS="%{optflags} -D_GNU_SOURCE"
# Here we define a build function. For the base build, we use it as it
# is. For python build, we use it repeatedly for all flavors.
function configure_and_build() {
configure_and_build() {
# configure options depending on ulbuild and ulsubset values
configure_options=""
# libmagic is only used for determining in more(1) whether or not a file
# is binary. but it has builtin code that is doing the same with a simpler
# check and the libmagic database dependency is rather large (9MB+)
configure_options+="--without-libmagic "
configure_options="$configure_options --without-libmagic "
%if "%ulbuild" == "python"
%define _configure ../configure
configure_options+="--disable-all-programs "
configure_options+="--with-python "
configure_options+="--enable-pylibmount "
configure_options+="--enable-libmount "
configure_options+="--enable-libblkid "
configure_options="$configure_options --disable-all-programs "
configure_options="$configure_options --with-python "
configure_options="$configure_options --enable-pylibmount "
configure_options="$configure_options --enable-libmount "
configure_options="$configure_options --enable-libblkid "
%endif
# ulbuild == python
%if "%ulbuild" == "base"
configure_options+="--enable-all-programs "
configure_options+="--without-python "
configure_options="$configure_options --enable-all-programs "
configure_options="$configure_options --without-python "
%endif
# ulbuild == base
%if "%ulsubset" == "core"
configure_options+="--without-systemd --disable-liblastlog2"
configure_options="$configure_options --without-systemd --disable-liblastlog2"
%endif
# ulsubset == core
%if "%ulsubset" == "systemd"
configure_options+="--with-systemd "
configure_options="$configure_options --with-systemd "
%endif
# ulsubset == systemd
@@ -560,9 +561,8 @@ configure_options+="--with-systemd "
--enable-fs-paths-default="/sbin:/usr/sbin"\
--enable-static\
--with-vendordir=%{_distconfdir}\
--disable-libmount-mountfd-support\
$configure_options
make %{?_smp_mflags}
%make_build
}
################
@@ -613,7 +613,7 @@ fi
################
%if "%ulbuild" == "base"
%make_install
mkdir -p %{buildroot}{%{_distconfdir}/default,%{_pam_vendordir},%{_sysconfdir}/issue.d}
mkdir -p "%{buildroot}/%{_distconfdir}/default" "%{buildroot}/%{_pam_vendordir}" "%{buildroot}/%{_sysconfdir}/issue.d"
install -m 644 %{SOURCE51} %{buildroot}%{_distconfdir}/blkid.conf
touch %{buildroot}%{_sysconfdir}/blkid.conf
mkdir %{buildroot}%{_sysconfdir}/blkid.conf.d %{buildroot}%{_distconfdir}/blkid.conf.d
@@ -670,10 +670,10 @@ rm -f %{buildroot}%{_mandir}/man8/fdisk.8*
# create list of setarch(8) symlinks
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|parisc|parisc32|parisc64|uname26)\.8.*" \
-regex ".*(linux32|linux64|s390|s390x|i386|ppc|ppc64|ppc32|sparc|sparc64|sparc32|sparc32bash|mips|mips64|mips32|ia64|x86_64|parisc|parisc32|parisc64)\.8.*" \
-printf "%{_mandir}/man8/%f*\n" >> %{name}.files
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|parisc|parisc32|parisc64|uname26)$" \
-regex ".*(linux32|linux64|s390|s390x|i386|ppc|ppc64|ppc32|sparc|sparc64|sparc32|sparc32bash|mips|mips64|mips32|ia64|x86_64|parisc|parisc32|parisc64)$" \
-printf "%{_bindir}/%f\n" >> %{name}.files
mkdir -p %{buildroot}/run/uuidd
@@ -714,8 +714,6 @@ mv %{buildroot}%{_bindir}/login %{buildroot}/bin/
%else
# ulsubset != core, ulbuild == base
echo -n "" >%{name}.lang
ln -sf /sbin/service %{buildroot}%{_sbindir}/rcuuidd
ln -sf /sbin/service %{buildroot}%{_sbindir}/rcfstrim
%endif
# ulsubset == core, ulbuild == base
@@ -1022,7 +1020,9 @@ rmdir --ignore-fail-on-non-empty /run/run >/dev/null 2>&1 || :
%core %{_bindir}/kill
%core %verify(not mode) %attr(%ul_suid,root,root) %{_bindir}/su
%core %{_bindir}/eject
%core %{_bindir}/bits
%core %{_bindir}/cal
%core %{_bindir}/coresched
%core %{_bindir}/chmem
%core %{_bindir}/choom
%core %{_bindir}/chrt
@@ -1234,6 +1234,7 @@ rmdir --ignore-fail-on-non-empty /run/run >/dev/null 2>&1 || :
%core %{_mandir}/man1/kill.1.gz
%core %{_mandir}/man1/su.1.gz
%core %{_mandir}/man1/bits.1.gz
%core %{_mandir}/man1/cal.1.gz
%core %{_mandir}/man1/choom.1.gz
%core %{_mandir}/man1/chrt.1.gz
@@ -1241,6 +1242,7 @@ rmdir --ignore-fail-on-non-empty /run/run >/dev/null 2>&1 || :
%core %{_mandir}/man1/colcrt.1.gz
%core %{_mandir}/man1/colrm.1.gz
%core %{_mandir}/man1/column.1.gz
%core %{_mandir}/man1/coresched.1.gz
%core %{_mandir}/man1/dmesg.1.gz
%core %{_mandir}/man1/enosys.1.gz
%core %{_mandir}/man1/eject.1.gz
@@ -1587,7 +1589,6 @@ rmdir --ignore-fail-on-non-empty /run/run >/dev/null 2>&1 || :
%exclude %{_mandir}/man8/parisc64.8.gz
%exclude %{_mandir}/man8/uname26.8.gz
%{_sbindir}/rcfstrim
%{_unitdir}/fstrim.service
%{_unitdir}/fstrim.timer
%endif
@@ -1734,7 +1735,6 @@ rmdir --ignore-fail-on-non-empty /run/run >/dev/null 2>&1 || :
%attr(-,uuidd,uuidd) %ghost %dir /run/uuidd
%{_datadir}/bash-completion/completions/uuidd
%{_mandir}/man8/uuidd.8.gz
%{_sbindir}/rcuuidd
%{_unitdir}/uuidd.service
%{_unitdir}/uuidd.socket