Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package util-linux for openSUSE:Factory checked in at 2026-05-08 16:41:56 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/util-linux (Old) and /work/SRC/openSUSE:Factory/.util-linux.new.1966 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "util-linux" Fri May 8 16:41:56 2026 rev:308 rq:1351328 version:2.42 Changes: -------- --- /work/SRC/openSUSE:Factory/util-linux/util-linux.changes 2026-03-07 20:00:50.609338151 +0100 +++ /work/SRC/openSUSE:Factory/.util-linux.new.1966/util-linux.changes 2026-05-08 16:41:59.596759043 +0200 @@ -1,0 +2,107 @@ +Wed May 6 22:52:28 UTC 2026 - Stanislav Brabec <[email protected]> + +- Temporarily disable following test that do not work properly + in pre-16.1 IBS: + * lsfd/option-hyperlink + * lsfd/option-inet + * lsfd/mkfds_udp + * lsfd/mkfds_udp6 + +------------------------------------------------------------------- +Tue May 5 10:04:33 UTC 2026 - Stanislav Brabec <[email protected]> + +- Fix su passing argument regression + (util-linux-su-revert-su-pass-arguments.patch). + +------------------------------------------------------------------- +Mon Apr 27 09:33:08 UTC 2026 - Stanislav Brabec <[email protected]> + +- Update to version 2.42 (jsc#PED-16188): + * Security fixes: + * CVE-2026-27456: mount(8) TOCTOU symlink attack via loop + device (bsc1261606). + * CWE-190 - Integer overflow in libblkid parse_dos_extended() + (boo#1222465, obsoletes + util-linux-bsc-1222465.patch). + * login(1): now uses the original FQDN (as specified by + "-h <host>") to configure the PAM RHOST item (bsc#1258859, + CVE-2026-3184, obsoletes util-linux-CVE-2026-3184.patch). + * login(1), if configured with LOGIN_SHELL_FALLBACK in + login.defs, can fall back to another valid shell from + /etc/shells if the user's configured shell is inaccessible due + to administrative errors + (refreshed util-linux-login_defs-check.sh). + * agetty reads issue file(s) in a way compatible with libeconf + and systemd, hermetic-usr and drop-ins are now supported. For + more details see + https://uapi-group.org/specifications/specs/configuration_files_specification/ + (obsoletes util-linux-agetty-configs.patch, + util-linux-lib-configs-fix1.patch, + util-linux-lib-configs-fix2.patch + util-linux-lib-configs-fix3.patch + util-linux-lib-configs-fix4.patch + util-linux-lib-configs-fix5.patch + util-linux-lib-configs-fix6.patch + util-linux-lib-configs.patch). + * agetty uses netlink to get network interface information for + issue file output (obsoletes + util-linux-agetty-netlink-fix4.patch, + util-linux-agetty-netlink.patch, + util-linux-lib-netlink-fix1.patch, + util-linux-lib-netlink-fix2.patch, + util-linux-lib-netlink-fix3.patch, + util-linux-lib-netlink-fix5.patch, + util-linux-lib-netlink.patch, + util-linux-man-generated.patch). + * The libsmartcols-based tools with JSON support can now produce + additional JSON formats. The output format may be changed by + LIBSMARTCOLS_JSON={lines,compact} environment variable. + * column(1) now supports colors. + * New command copyfilerange(1) to copy file ranges using the + copy_file_range() syscall. + * New command getino(1) to print the unique inode number + associated with a process file descriptor or namespace for a + given PID. + * fadvise(1) now supports --fd to address a file by file + descriptor rather than by path. + * fallocate(1) now supports --report-holes to scan the file and + report the distribution of holes. + * A significant performance regression has been fixed in + hardlink(1). + * hardlink(1) now supports FIEMAP-based sparse file optimization. + * kill(1), waitpid(1) and nsenter(1) now support the PID:INO + convention to precisely address processes. + * mount(8) now supports --beneath to atomically replace a + filesystem at a mountpoint. + * mount(8) now supports --exclusive to ensure that the filesystem + is mounted as a unique instance and that the superblock is not + reused by the kernel. + * libmount now reads filesystem information from udevd (with + fallback to classic libblkid-based detection). This feature can + be disabled by --disable-libmount-udev-support. + * setarch(8) now supports --pid to show the personality of a + specified process. + * The pager support for tools like "dmesg -H" has been improved + to work better with signals. + * losetup(8) now supports --remove to remove a loop device node + from the system. + * lsblk(8), lslocks(8), lsmem(1) and lsclocks(1) support + <NAME>_COLUMNS environment variable to specify output columns + as an alternative to --output. + * lsfd(1) now supports new UNIX.IPEER, PACKET.PROTOCOL.RAW and + TUN.DEVNETNS columns. + * setpriv(1) now supports landlock via --landlock-access and + --landlock-rule options. + * Many other new features and fixes. For complete list see + https://kernel.org/pub/linux/utils/util-linux/v2.42/v2.42-ReleaseNotes +- Refreshed patch: util-linux-bash-completion-su-chsh-l.patch. +- Dropped upstream patch: util-linux-agetty-escape-erase.patch. +- Fix build wih libeconf + (util-linux-fix-build-with-libeconf.patch). + +------------------------------------------------------------------- +Mon Apr 27 02:30:07 UTC 2026 - Stanislav Brabec <[email protected]> + +- Make uuidd compatible with immutable mode (jsc#PED-16165). + +------------------------------------------------------------------- Old: ---- util-linux-2.41.3.tar.sign util-linux-2.41.3.tar.xz util-linux-CVE-2026-3184.patch util-linux-agetty-configs.patch util-linux-agetty-escape-erase.patch util-linux-agetty-netlink-fix4.patch util-linux-agetty-netlink.patch util-linux-bsc-1222465.patch util-linux-lib-configs-fix1.patch util-linux-lib-configs-fix2.patch util-linux-lib-configs-fix3.patch util-linux-lib-configs-fix4.patch util-linux-lib-configs-fix5.patch util-linux-lib-configs-fix6.patch util-linux-lib-configs.patch util-linux-lib-netlink-fix1.patch util-linux-lib-netlink-fix2.patch util-linux-lib-netlink-fix3.patch util-linux-lib-netlink-fix5.patch util-linux-lib-netlink.patch util-linux-man-generated.patch New: ---- util-linux-2.42.tar.sign util-linux-2.42.tar.xz util-linux-fix-build-with-libeconf.patch util-linux-su-revert-su-pass-arguments.patch util-linux-uuidd.tmpfiles.in ----------(Old B)---------- Old: "-h <host>") to configure the PAM RHOST item (bsc#1258859, CVE-2026-3184, obsoletes util-linux-CVE-2026-3184.patch). * login(1), if configured with LOGIN_SHELL_FALLBACK in Old: https://uapi-group.org/specifications/specs/configuration_files_specification/ (obsoletes util-linux-agetty-configs.patch, util-linux-lib-configs-fix1.patch, Old:- Refreshed patch: util-linux-bash-completion-su-chsh-l.patch. - Dropped upstream patch: util-linux-agetty-escape-erase.patch. - Fix build wih libeconf Old: issue file output (obsoletes util-linux-agetty-netlink-fix4.patch, util-linux-agetty-netlink.patch, Old: util-linux-agetty-netlink-fix4.patch, util-linux-agetty-netlink.patch, util-linux-lib-netlink-fix1.patch, Old: (boo#1222465, obsoletes util-linux-bsc-1222465.patch). * login(1): now uses the original FQDN (as specified by Old: (obsoletes util-linux-agetty-configs.patch, util-linux-lib-configs-fix1.patch, util-linux-lib-configs-fix2.patch Old: util-linux-lib-configs-fix1.patch, util-linux-lib-configs-fix2.patch util-linux-lib-configs-fix3.patch Old: util-linux-lib-configs-fix2.patch util-linux-lib-configs-fix3.patch util-linux-lib-configs-fix4.patch Old: util-linux-lib-configs-fix3.patch util-linux-lib-configs-fix4.patch util-linux-lib-configs-fix5.patch Old: util-linux-lib-configs-fix4.patch util-linux-lib-configs-fix5.patch util-linux-lib-configs-fix6.patch Old: util-linux-lib-configs-fix5.patch util-linux-lib-configs-fix6.patch util-linux-lib-configs.patch). Old: util-linux-lib-configs-fix6.patch util-linux-lib-configs.patch). * agetty uses netlink to get network interface information for Old: util-linux-agetty-netlink.patch, util-linux-lib-netlink-fix1.patch, util-linux-lib-netlink-fix2.patch, Old: util-linux-lib-netlink-fix1.patch, util-linux-lib-netlink-fix2.patch, util-linux-lib-netlink-fix3.patch, Old: util-linux-lib-netlink-fix2.patch, util-linux-lib-netlink-fix3.patch, util-linux-lib-netlink-fix5.patch, Old: util-linux-lib-netlink-fix3.patch, util-linux-lib-netlink-fix5.patch, util-linux-lib-netlink.patch, Old: util-linux-lib-netlink-fix5.patch, util-linux-lib-netlink.patch, util-linux-man-generated.patch). Old: util-linux-lib-netlink.patch, util-linux-man-generated.patch). * The libsmartcols-based tools with JSON support can now produce ----------(Old E)---------- ----------(New B)---------- New:- Fix build wih libeconf (util-linux-fix-build-with-libeconf.patch). New:- Fix su passing argument regression (util-linux-su-revert-su-pass-arguments.patch). ----------(New E)---------- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ util-linux.spec ++++++ --- /var/tmp/diff_new_pack.tiryc8/_old 2026-05-08 16:42:01.132822695 +0200 +++ /var/tmp/diff_new_pack.tiryc8/_new 2026-05-08 16:42:01.136822861 +0200 @@ -85,19 +85,20 @@ %endif # ulbuild == python -Version: 2.41.3 +Version: 2.42 Release: 0 License: GPL-2.0-or-later #Git-Clone: https://github.com/util-linux/util-linux URL: https://www.kernel.org/pub/linux/utils/util-linux/ -Source: https://www.kernel.org/pub/linux/utils/util-linux/v2.41/util-linux-%{version}.tar.xz +Source: https://www.kernel.org/pub/linux/utils/util-linux/v2.42/util-linux-%{version}.tar.xz Source2: util-linux-login_defs-check.sh +Source3: util-linux-uuidd.tmpfiles.in 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.41/util-linux-%{version}.tar.sign +Source12: https://www.kernel.org/pub/linux/utils/util-linux/v2.42/util-linux-%{version}.tar.sign Source13: %{_name}.keyring Source14: runuser.pamd Source15: runuser-l.pamd @@ -108,47 +109,14 @@ Patch0: make-sure-sbin-resp-usr-sbin-are-in-PATH.diff Patch1: libmount-print-a-blacklist-hint-for-unknown-filesyst.patch Patch2: Add-documentation-on-blacklisted-modules-to-mount-8-.patch -# PATCH-FIX-SUSE util-linux-bash-completion-su-chsh-l.patch bsc1172427 -- Fix "su -s" bash completion. +# PATCH-FIX-SUSE util-linux-bash-completion-su-chsh-l.patch bsc1172427 -- Fix "su -s" bash completion, as SUSE uses chsh from shadow, not util-linux. Patch3: util-linux-bash-completion-su-chsh-l.patch +# PATCH-FIX-UPSTREAM util-linux-fix-build-with-libeconf.patch -- Fix build with libeconf. +Patch4: util-linux-fix-build-with-libeconf.patch +# PATCH-FIX-SUSE static_lib.patch [email protected] -- Fix build with libeconf. Not upstreamable in this form. Needs work! Patch5: static_lib.patch -# PATCH-FEATURE-UPSTREAM util-linux-lib-netlink.patch boo1139983 jsc#PED-8734 [email protected] -- Implement netlink based IP address detection and issue reload. -Patch6: util-linux-lib-netlink.patch -# PATCH-FEATURE-UPSTREAM util-linux-agetty-netlink.patch boo1139983 jsc#PED-8734 [email protected] -- Implement netlink based IP address detection and issue reload. -Patch7: util-linux-agetty-netlink.patch -# PATCH-FIX-UPSTREAM util-linux-lib-netlink-fix1.patch jsc#PED-8734 [email protected] -- Implement netlink based IP address detection and issue reload. -Patch8: util-linux-lib-netlink-fix1.patch -# PATCH-FIX-UPSTREAM util-linux-lib-netlink-fix2.patch jsc#PED-8734 [email protected] -- Implement netlink based IP address detection and issue reload. -Patch9: util-linux-lib-netlink-fix2.patch -# PATCH-FIX-UPSTREAM util-linux-lib-netlink-fix3.patch jsc#PED-8734 [email protected] -- Implement netlink based IP address detection and issue reload. -Patch10: util-linux-lib-netlink-fix3.patch -# PATCH-FIX-UPSTREAM util-linux-agetty-netlink-fix4.patch jsc#PED-8734 [email protected] -- Implement netlink based IP address detection and issue reload. -Patch11: util-linux-agetty-netlink-fix4.patch -# PATCH-FIX-UPSTREAM util-linux-lib-netlink-fix5.patch gh#util-linux/util-linux#4032 [email protected] -- Fix NETLINK_ROUTE socket leak. -Patch12: util-linux-lib-netlink-fix5.patch -# PATCH-FEATURE-UPSTREAM util-linux-lib-configs.patch gh#util-linux/util-linux#3752 [email protected] -- Added lib "configs" for parsing configuration. -Patch13: util-linux-lib-configs.patch -# PATCH-FEATURE-UPSTREAM util-linux-agetty-configs.patch gh#util-linux/util-linux#3752 [email protected] -- agetty: using configs lib for parsing issue files. -Patch14: util-linux-agetty-configs.patch -# PATCH-FIX-UPSTREAM util-linux-lib-configs-fix1.patch [email protected] -- Fix agetty: using configs lib. -Patch15: util-linux-lib-configs-fix1.patch -# PATCH-FIX-UPSTREAM util-linux-lib-configs-fix2.patch [email protected] -- Fix agetty: using configs lib. -Patch16: util-linux-lib-configs-fix2.patch -# PATCH-FIX-UPSTREAM util-linux-lib-configs-fix3.patch [email protected] -- Fix agetty: using configs lib. -Patch17: util-linux-lib-configs-fix3.patch -# PATCH-FIX-UPSTREAM util-linux-lib-configs-fix4.patch [email protected] -- Fix agetty: using configs lib. -Patch18: util-linux-lib-configs-fix4.patch -# PATCH-FIX-UPSTREAM util-linux-lib-configs-fix5.patch [email protected] -- Fix agetty: using configs lib. -Patch19: util-linux-lib-configs-fix5.patch -# PATCH-FIX-UPSTREAM util-linux-lib-configs-fix6.patch [email protected] -- Fix agetty: using configs lib. -Patch20: util-linux-lib-configs-fix6.patch -# PATCH-FIX-UPSTREAM util-linux-agetty-escape-erase.patch bsc#1194818 [email protected] -- Fix agetty erase of escape characters. -Patch21: util-linux-agetty-escape-erase.patch -# PATCH-FIX-BUILD util-linux-man-generated.patch [email protected] -- Update generated man pages modified by patches. -Patch22: util-linux-man-generated.patch -# PATCH-FIX-OPENSUSE bsc#1222465: fdisk creates broken partition table -Patch23: util-linux-bsc-1222465.patch -# PATCH-FIX-SECURITY util-linux-CVE-2026-3184.patch bsc1258859 CVE-2026-3184 -- Use full hostname for PAM to ensure correct access control for "login -h". -Patch24: util-linux-CVE-2026-3184.patch +# PATCH-FIX-UPSTREAM util-linux-su-revert-su-pass-arguments.patch -- Fix su passing argument regression. +Patch6: util-linux-su-revert-su-pass-arguments.patch BuildRequires: audit-devel BuildRequires: bc BuildRequires: binutils-devel @@ -220,7 +188,7 @@ # Upgrade this symbol version only if new variables appear! # Verify by shadow-login_defs-check.sh from shadow source package. # Use downstream version. Upstream may accept the patch later. -Recommends: login_defs-support-for-util-linux >= 4.17.4 +Recommends: login_defs-support-for-util-linux >= 4.19.4 Requires(post): coreutils %endif # ulsubset == core @@ -506,9 +474,13 @@ %prep %setup -q -n %{_name}-%{version} cp -a %{S:2} . +cp -a %{S:3} uuidd.tmpfiles.in %autopatch -p1 # This test randomly fails or keeps hanging task inside build chroot (tested on 2.38). rm tests/ts/lsns/ioctl_ns +# Sometimes lefts running tasks and hangs forever in pre-16.1 IBS. Remove these checks (tested on 2.42). +rm tests/ts/lsfd/option-hyperlink +rm tests/ts/lsfd/option-inet %build AUTOPOINT=true GTKDOCIZE=true autoreconf -vfi @@ -618,6 +590,7 @@ ############## %if "%ulbuild" == "base" configure_and_build +sed "s:@sharedstatedir@:%{_sharedstatedir}:" uuidd.tmpfiles.in >uuidd.tmpfiles %endif # ulbuild == base @@ -648,7 +621,7 @@ ################ %if "%ulbuild" == "base" %make_install -mkdir -p "%{buildroot}%{_distconfdir}/default" "%{buildroot}%{_pam_vendordir}" "%{buildroot}%{_sysconfdir}/issue.d" "%{buildroot}/usr/lib/issue.d" +mkdir -p "%{buildroot}%{_distconfdir}/default" "%{buildroot}%{_pam_vendordir}" "%{buildroot}%{_sysconfdir}/issue.d" "%{buildroot}/usr/lib/issue.d" "%{buildroot}%{_datadir}/user-tmpfiles.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 @@ -671,6 +644,7 @@ "%{buildroot}/%{_mandir}/man8/raw.8"* echo -e "#!/bin/sh\n/sbin/blockdev --flushbufs \$1" > %{buildroot}%{_sbindir}/flushb chmod 755 %{buildroot}%{_sbindir}/flushb +install -m0644 uuidd.tmpfiles %{buildroot}%{_datadir}/user-tmpfiles.d/uuidd.conf # arch dependent @@ -805,6 +779,11 @@ export TS_OPT_lslocks_lslocks_known_fail=yes # FIXME: script/options sometimes fails on aarch64, arm7l and s390x export TS_OPT_script_options_known_fail=yes +# Fails in chroot +export TS_OPT_lsfd_column_mntid_nonroot_known_fail=yes +# Fails in pre-16.1 IBS. Temporarily disable these checks. +export TS_OPT_lsfd_mkfds_udp_known_fail=yes +export TS_OPT_lsfd_mkfds_udp6_known_fail=yes # # hacks export PATH="$PATH:/sbin:/usr/sbin" @@ -970,6 +949,7 @@ # Useful for Tumbleweed or zypper dup only. mv /run/run/uuidd /run/uuidd >/dev/null 2>&1 || : rmdir --ignore-fail-on-non-empty /run/run >/dev/null 2>&1 || : +%tmpfiles_create uuidd.conf %{service_add_post uuidd.socket uuidd.service} %preun -n uuidd @@ -1080,14 +1060,15 @@ %core %{_bindir}/colcrt %core %{_bindir}/colrm %core %{_bindir}/column +%core %{_bindir}/copyfilerange %core %{_bindir}/dmesg %core %{_bindir}/enosys %core %{_bindir}/exch %core %{_bindir}/fadvise %core %{_bindir}/fallocate %core %{_bindir}/fincore - %core %{_bindir}/flock +%core %{_bindir}/getino %core %{_bindir}/getopt %core %{_bindir}/hardlink %core %{_bindir}/hexdump @@ -1292,6 +1273,7 @@ %core %{_mandir}/man1/colcrt.1.gz %core %{_mandir}/man1/colrm.1.gz %core %{_mandir}/man1/column.1.gz +%core %{_mandir}/man1/copyfilerange.1.gz %core %{_mandir}/man1/coresched.1.gz %core %{_mandir}/man1/dmesg.1.gz %core %{_mandir}/man1/enosys.1.gz @@ -1301,6 +1283,7 @@ %core %{_mandir}/man1/fallocate.1.gz %core %{_mandir}/man1/fincore.1.gz %core %{_mandir}/man1/flock.1.gz +%core %{_mandir}/man1/getino.1.gz %core %{_mandir}/man1/getopt.1.gz %core %{_mandir}/man1/hardlink.1.gz %core %{_mandir}/man1/hexdump.1.gz @@ -1427,6 +1410,7 @@ %exclude %{_datadir}/bash-completion/completions/logger %exclude %{_datadir}/bash-completion/completions/lsblk %exclude %{_datadir}/bash-completion/completions/lslogins +%exclude %{_datadir}/user-tmpfiles.d/uuidd.conf %exclude %{_bindir}/findmnt %exclude %{_bindir}/logger @@ -1486,6 +1470,7 @@ %exclude %{_datadir}/bash-completion/completions/colcrt %exclude %{_datadir}/bash-completion/completions/colrm %exclude %{_datadir}/bash-completion/completions/column +%exclude %{_datadir}/bash-completion/completions/copyfilerange %exclude %{_datadir}/bash-completion/completions/coresched %exclude %{_datadir}/bash-completion/completions/ctrlaltdel %exclude %{_datadir}/bash-completion/completions/delpart @@ -1505,6 +1490,7 @@ %exclude %{_datadir}/bash-completion/completions/fsck.minix %exclude %{_datadir}/bash-completion/completions/fsfreeze %exclude %{_datadir}/bash-completion/completions/fstrim +%exclude %{_datadir}/bash-completion/completions/getino %exclude %{_datadir}/bash-completion/completions/getopt %exclude %{_datadir}/bash-completion/completions/hardlink %exclude %{_datadir}/bash-completion/completions/hexdump @@ -1784,10 +1770,11 @@ %if "%ulsubset" == "systemd" %files -n uuidd %{_sbindir}/uuidd -%attr(-,uuidd,uuidd) %dir %{_sharedstatedir}/libuuid +%attr(-,uuidd,uuidd) %ghost %dir %{_sharedstatedir}/libuuid %attr(-,uuidd,uuidd) %ghost %{_sharedstatedir}/libuuid/clock.txt %attr(-,uuidd,uuidd) %ghost %dir /run/uuidd %{_datadir}/bash-completion/completions/uuidd +%{_datadir}/user-tmpfiles.d/uuidd.conf %{_mandir}/man8/uuidd.8.gz %{_unitdir}/uuidd.service %{_unitdir}/uuidd.socket ++++++ make-sure-sbin-resp-usr-sbin-are-in-PATH.diff ++++++ --- /var/tmp/diff_new_pack.tiryc8/_old 2026-05-08 16:42:01.232826839 +0200 +++ /var/tmp/diff_new_pack.tiryc8/_new 2026-05-08 16:42:01.236827005 +0200 @@ -2,12 +2,12 @@ Date: 2013-06-06 08:27:43+0000 Subject: let `su' handle /sbin and /usr/sbin in path -Index: util-linux-2.31/login-utils/su-common.c +Index: util-linux-2.42/login-utils/su-common.c =================================================================== ---- util-linux-2.31.orig/login-utils/su-common.c -+++ util-linux-2.31/login-utils/su-common.c -@@ -944,6 +944,117 @@ static void setenv_path(const struct pas - err(EXIT_FAILURE, _("failed to set the PATH environment variable")); +--- util-linux-2.42.orig/login-utils/su-common.c ++++ util-linux-2.42/login-utils/su-common.c +@@ -674,6 +674,117 @@ static void create_watching_parent(struc + exit(status); } +/* Add or clear /sbin and /usr/sbin for the su command @@ -124,10 +124,18 @@ static void modify_environment(struct su_context *su, const char *shell) { const struct passwd *pw = su->pwd; -@@ -982,6 +1093,22 @@ static void modify_environment(struct su +@@ -726,9 +837,27 @@ static void modify_environment(struct su + if (shell) + xsetenv("SHELL", shell, 1); - if (getlogindefs_bool("ALWAYS_SET_PATH", 0)) - setenv_path(pw); +- if (getlogindefs_bool("ALWAYS_SET_PATH", 0) +- && logindefs_setenv_path(pw->pw_uid) != 0) +- err(EXIT_FAILURE, _("failed to set the PATH environment variable")); ++ if (getlogindefs_bool("ALWAYS_SET_PATH", 0)) ++ { ++ if (logindefs_setenv_path(pw->pw_uid) != 0) ++ err(EXIT_FAILURE, _("failed to set the PATH environment variable")); ++ } + else + { + char const *path = getenv ("PATH"); ++++++ util-linux-2.41.3.tar.xz -> util-linux-2.42.tar.xz ++++++ /work/SRC/openSUSE:Factory/util-linux/util-linux-2.41.3.tar.xz /work/SRC/openSUSE:Factory/.util-linux.new.1966/util-linux-2.42.tar.xz differ: char 15, line 1 ++++++ util-linux-bash-completion-su-chsh-l.patch ++++++ --- /var/tmp/diff_new_pack.tiryc8/_old 2026-05-08 16:42:01.400833802 +0200 +++ /var/tmp/diff_new_pack.tiryc8/_new 2026-05-08 16:42:01.404833967 +0200 @@ -8,13 +8,15 @@ package that does not include this feature. Use /etc/shells instead. ---- util-linux/bash-completion/su -+++ util-linux/bash-completion/su -@@ -14,7 +14,7 @@ _su_module() +Index: util-linux-2.42/bash-completion/su +=================================================================== +--- util-linux-2.42.orig/bash-completion/su ++++ util-linux-2.42/bash-completion/su +@@ -15,7 +15,7 @@ _su_module() return 0 ;; '-s'|'--shell') -- COMPREPLY=( $(compgen -W "$(chsh -l)" -- $cur) ) +- COMPREPLY=( $(compgen -W "$(command chsh -l)" -- $cur) ) + COMPREPLY=( $(compgen -W "$(</etc/shells)" -- $cur) ) return 0 ;; ++++++ util-linux-fix-build-with-libeconf.patch ++++++ >From 9447bc4f72ac5634dcfd78ea877286279b050369 Mon Sep 17 00:00:00 2001 From: Stanislav Brabec <[email protected]> Date: Thu, 30 Apr 2026 05:24:41 +0200 Subject: [PATCH] Fix build with libeconf Building with libeconf fails. Fix the build: - Add missing includes. - Make open_etc_shells() public, as required by login.c. - shells.c requires linking against libeconf. To prevent linking of all binaries with libeconf, split shells.c out of libcommon to libcommon_shells and use it only if it is really needed. Signed-off-by: Stanislav Brabec <[email protected]> --- include/shells.h | 8 ++++++++ lib/Makemodule.am | 11 ++++++++++- lib/shells.c | 2 +- login-utils/Makemodule.am | 5 +---- login-utils/login.c | 4 ++++ sys-utils/Makemodule.am | 6 +++--- term-utils/Makemodule.am | 4 ++-- text-utils/Makemodule.am | 2 +- 8 files changed, 30 insertions(+), 12 deletions(-) Index: util-linux-2.42/include/shells.h =================================================================== --- util-linux-2.42.orig/include/shells.h +++ util-linux-2.42/include/shells.h @@ -6,9 +6,17 @@ #include <pwd.h> +#if defined (HAVE_LIBECONF) && defined (USE_VENDORDIR) +# include <libeconf.h> +#endif + #define UL_SHELL_NOENV (1 << 0) #define UL_SHELL_NOPWD (1 << 1) +#if defined (HAVE_LIBECONF) && defined (USE_VENDORDIR) +econf_file *open_etc_shells(void); +#endif + extern void print_shells(FILE *out, const char *format); extern int is_known_shell(const char *shell_name); Index: util-linux-2.42/lib/Makemodule.am =================================================================== --- util-linux-2.42.orig/lib/Makemodule.am +++ util-linux-2.42/lib/Makemodule.am @@ -38,7 +38,6 @@ libcommon_la_SOURCES = \ lib/randutils.c \ lib/sha1.c \ lib/sha256.c \ - lib/shells.c \ lib/signames.c \ lib/strutils.c \ lib/strv.c \ @@ -69,6 +68,16 @@ libcommon_la_SOURCES += lib/procfs.c endif endif +EXTRA_LTLIBRARIES += libcommon_shells.la +libcommon_shells_la_CFLAGS = $(AM_CFLAGS) +libcommon_shells_la_SOURCES = \ + lib/shells.c +if HAVE_ECONF +if USE_VENDORDIR +libcommon_shells_la_LIBADD = -leconf +endif +endif + EXTRA_LTLIBRARIES += libtcolors.la libtcolors_la_CFLAGS = $(AM_CFLAGS) libtcolors_la_SOURCES = lib/colors.c lib/color-names.c include/colors.h include/color-names.h Index: util-linux-2.42/lib/shells.c =================================================================== --- util-linux-2.42.orig/lib/shells.c +++ util-linux-2.42/lib/shells.c @@ -15,7 +15,7 @@ #include "shells.h" #if defined (HAVE_LIBECONF) && defined (USE_VENDORDIR) -static econf_file *open_etc_shells(void) +econf_file *open_etc_shells(void) { econf_err error; econf_file *key_file = NULL; Index: util-linux-2.42/login-utils/Makemodule.am =================================================================== --- util-linux-2.42.orig/login-utils/Makemodule.am +++ util-linux-2.42/login-utils/Makemodule.am @@ -60,7 +60,7 @@ dist_noinst_DATA += login-utils/login.1. login_SOURCES = \ login-utils/login.c \ lib/logindefs.c -login_LDADD = $(LDADD) libcommon.la -lpam +login_LDADD = $(LDADD) libcommon.la libcommon_shells.la -lpam if HAVE_LINUXPAM login_LDADD += -lpam_misc endif @@ -70,9 +70,6 @@ endif if HAVE_SELINUX login_LDADD += -lselinux endif -if HAVE_ECONF -login_LDADD += -leconf -endif endif # BUILD_LOGIN Index: util-linux-2.42/login-utils/login.c =================================================================== --- util-linux-2.42.orig/login-utils/login.c +++ util-linux-2.42/login-utils/login.c @@ -86,6 +86,10 @@ #include "logindefs.h" +#if defined (HAVE_LIBECONF) && defined (USE_VENDORDIR) +# include "shells.h" +#endif + #define LOGIN_MAX_TRIES 3 #define LOGIN_EXIT_TIMEOUT 5 #define LOGIN_TIMEOUT 60 Index: util-linux-2.42/sys-utils/Makemodule.am =================================================================== --- util-linux-2.42.orig/sys-utils/Makemodule.am +++ util-linux-2.42/sys-utils/Makemodule.am @@ -20,7 +20,7 @@ usrbin_exec_PROGRAMS += flock MANPAGES += sys-utils/flock.1 dist_noinst_DATA += sys-utils/flock.1.adoc flock_SOURCES = sys-utils/flock.c lib/monotonic.c lib/timer.c -flock_LDADD = $(LDADD) libcommon.la $(REALTIME_LIBS) +flock_LDADD = $(LDADD) libcommon.la libcommon_shells.la $(REALTIME_LIBS) endif if BUILD_CHOOM @@ -522,7 +522,7 @@ dist_noinst_DATA += sys-utils/unshare.1. unshare_SOURCES = sys-utils/unshare.c \ lib/caputils.c \ lib/exec_shell.c -unshare_LDADD = $(LDADD) libcommon.la +unshare_LDADD = $(LDADD) libcommon.la libcommon_shells.la unshare_CFLAGS = $(AM_CFLAGS) -I$(ul_libmount_incdir) if HAVE_STATIC_UNSHARE @@ -540,7 +540,7 @@ MANPAGES += sys-utils/nsenter.1 dist_noinst_DATA += sys-utils/nsenter.1.adoc nsenter_SOURCES = sys-utils/nsenter.c lib/exec_shell.c \ lib/caputils.c -nsenter_LDADD = $(LDADD) libcommon.la $(SELINUX_LIBS) +nsenter_LDADD = $(LDADD) libcommon.la libcommon_shells.la $(SELINUX_LIBS) if HAVE_STATIC_NSENTER usrbin_exec_PROGRAMS += nsenter.static @@ -599,4 +599,7 @@ if HAVE_LINUX_LANDLOCK_H setpriv_SOURCES += sys-utils/setpriv-landlock.c endif setpriv_LDADD = $(LDADD) -lcap-ng libcommon.la +if HAVE_ECONF +setpriv_LDADD += -leconf +endif endif Index: util-linux-2.42/term-utils/Makemodule.am =================================================================== --- util-linux-2.42.orig/term-utils/Makemodule.am +++ util-linux-2.42/term-utils/Makemodule.am @@ -7,7 +7,7 @@ script_SOURCES = term-utils/script.c \ include/pty-session.h \ lib/monotonic.c script_CFLAGS = $(AM_CFLAGS) -Wno-format-y2k -script_LDADD = $(LDADD) libcommon.la $(MATH_LIBS) $(REALTIME_LIBS) -lutil +script_LDADD = $(LDADD) libcommon.la libcommon_shells.la $(MATH_LIBS) $(REALTIME_LIBS) -lutil if HAVE_UTEMPTER script_LDADD += -lutempter endif @@ -38,7 +38,7 @@ scriptlive_SOURCES = term-utils/scriptli lib/pty-session.c \ include/pty-session.h \ lib/monotonic.c -scriptlive_LDADD = $(LDADD) libcommon.la $(MATH_LIBS) $(REALTIME_LIBS) -lutil +scriptlive_LDADD = $(LDADD) libcommon.la libcommon_shells.la $(MATH_LIBS) $(REALTIME_LIBS) -lutil endif # BUILD_SCRIPTLIVE Index: util-linux-2.42/text-utils/Makemodule.am =================================================================== --- util-linux-2.42.orig/text-utils/Makemodule.am +++ util-linux-2.42/text-utils/Makemodule.am @@ -98,7 +98,7 @@ MANPAGES += text-utils/more.1 dist_noinst_DATA += text-utils/more.1.adoc more_SOURCES = text-utils/more.c more_CFLAGS = $(AM_CFLAGS) $(BSD_WARN_CFLAGS) -more_LDADD = $(LDADD) $(MAGIC_LIBS) libcommon.la +more_LDADD = $(LDADD) $(MAGIC_LIBS) libcommon.la libcommon_shells.la if HAVE_TINFO more_LDADD += $(TINFO_LIBS) more_LDADD += $(TINFO_CFLAGS) ++++++ util-linux-login_defs-check.sh ++++++ --- /var/tmp/diff_new_pack.tiryc8/_old 2026-05-08 16:42:01.440835459 +0200 +++ /var/tmp/diff_new_pack.tiryc8/_new 2026-05-08 16:42:01.444835626 +0200 @@ -15,7 +15,7 @@ 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/ .*$//') != 713b442bf6d16353b7f74538ece165b424f90932 ; then +if test $(sha1sum util-linux-login_defs-vars.lst | sed 's/ .*$//') != d13dc1cf4efb635deaf6da34ba1a39cf7ecc77d1 ; then echo "does not match!" >&2 echo "Checksum is: $(sha1sum util-linux-login_defs-vars.lst | sed 's/ .*$//')" >&2 ++++++ util-linux-su-revert-su-pass-arguments.patch ++++++ >From f0b8ec59b1f5a053c126bcdef54e090c84bec5d8 Mon Sep 17 00:00:00 2001 From: Christian Goeschel Ndjomouo <[email protected]> Date: Tue, 7 Apr 2026 10:25:17 -0400 Subject: [PATCH] su-common: revert "su: pass arguments after <user> to shell" This reverts commit ac0147fd14b348097c82c1c89a5417b582e26bad. Commit ac0147f added '+' to the getopt(3) option string which allowed the passing of all arguments after a non-option arg to be passed to the invoked shell, in this case after <user>. However, this introduced a regression in runuser(1) and su(1) where options for both utilities are scattered before and after the username. E.g.: "su <user> -c 'echo foo' -s /bin/bash" will pass both -c and -s argument sets to the invoked shell instead of simply passing -c 'echo foo'. Note that this behavior is more common in BSD/macOS-style implementations of su(1), in a future commit this behavior will be added more sensibly and carefully. Addresses: ac0147f Signed-off-by: Christian Goeschel Ndjomouo <[email protected]> --- login-utils/su-common.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/login-utils/su-common.c b/login-utils/su-common.c index 6f361e65a..c4b30f39a 100644 --- a/login-utils/su-common.c +++ b/login-utils/su-common.c @@ -1045,7 +1045,7 @@ int su_main(int argc, char **argv, int mode) su->conv.appdata_ptr = (void *) su; while ((optc = - getopt_long(argc, argv, "+c:fg:G:lmpPTs:u:hVw:", longopts, + getopt_long(argc, argv, "c:fg:G:lmpPTs:u:hVw:", longopts, NULL)) != -1) { err_exclusive_options(optc, longopts, excl, excl_st); @@ -1153,7 +1153,7 @@ int su_main(int argc, char **argv, int mode) } FALLTHROUGH; case SU_MODE: - if (optind < argc && *argv[optind] != '-') + if (optind < argc) su->new_user = argv[optind++]; break; } -- 2.53.0 ++++++ util-linux-uuidd.tmpfiles.in ++++++ d @sharedstatedir@/libuuid 0755 uuidd uuidd -
