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 2021-02-02 14:24:25
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/util-linux (Old)
 and      /work/SRC/openSUSE:Factory/.util-linux.new.28504 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "util-linux"

Tue Feb  2 14:24:25 2021 rev:245 rq:867890 version:2.36.1

Changes:
--------
--- /work/SRC/openSUSE:Factory/util-linux/python3-libmount.changes      
2020-06-12 21:35:07.487276038 +0200
+++ /work/SRC/openSUSE:Factory/.util-linux.new.28504/python3-libmount.changes   
2021-02-02 14:24:28.443280057 +0100
@@ -1,0 +2,128 @@
+Fri Jan 29 02:18:58 UTC 2021 - Stanislav Brabec <sbra...@suse.com>
+
+- Do not require libeconf-devel on products without /usr/etc.
+
+-------------------------------------------------------------------
+Mon Jan 25 17:07:55 UTC 2021 - Ludwig Nussel <lnus...@suse.de>
+
+- s/--enable-vendordir/--with-vendordir/
+- remove pam_securetty line again. As long as there is no agreement
+  from pam side having it would fail openQA (boo#1033626)
+
+-------------------------------------------------------------------
+Sat Jan 16 02:30:02 UTC 2021 - Stanislav Brabec <sbra...@suse.com>
+
+- Update to version 2.36.1:
+  * chrt: use SCHED_FLAG_RESET_ON_FORK for sched_setattr()
+  * fallocate: fix --dig-holes at end of files
+  * fdisk: always report fdisk_create_disklabel() errors
+  * flock: keep -E exit status more restrictive
+  * fstrim: remove fstab condition from fstrim.timer
+  * hexdump: automatically use -C when called as hd
+  * hwclock: add fallback if SYS_settimeofday does not exist, fix
+    SYS_settimeofday fallback
+  * libblkid: allow a lot of mac partitions, fix Atari prober logic,
+    limit amount of parsed partitions
+  * more libfdisk improvements
+  * losetup: avoid infinite busy loop, increase limit of setup
+    attempts
+  * lsblk: fix -T optional argument, fix SCSI_IDENT_SERIAL, print
+    zero rather than empty SIZE, read ID_SCSI_IDENT_SERIAL if
+    available
+  * lscpu: Add FUJITSU aarch64 A64FX cpupart, Even more Arm part
+    numbers, avoid segfault on PowerPC systems with valid hardware
+    configurations (bsc#1175623)
+  * mount: Add support for "nosymfollow" mount option.
+  * pg: fix wcstombs()
+  * sfdisk: correct --json --dump false exclusive, fix backward
+    --move-data
+  * vipw: fix short write handling in copyfile
+  * whereis: fix out of boundary read, support zst compressed man
+    pages
+  * minor code improvements and fixes
+  * minor licensing changes
+  * improve docs
+- Require both group(uuidd) and user(uuidd).
+
+-------------------------------------------------------------------
+Thu Nov 26 20:15:46 UTC 2020 - Jan Engelhardt <jeng...@inai.de>
+
+- Do search /usr/sbin for mount helpers. (This drops /sbin/fs,
+  /sbin/fs.d, which we do not use in openSUSE.)
+
+-------------------------------------------------------------------
+Fri Nov 20 15:06:37 UTC 2020 - Ludwig Nussel <lnus...@suse.de>
+
+- prepare usrmerge (boo#1029961)
+
+-------------------------------------------------------------------
+Wed Nov  4 11:07:03 UTC 2020 - Dr. Werner Fink <wer...@suse.de>
+
+- Modernize patch util-linux-sulogin4bsc1175514.patch
+  * Try to autoconfigure broken serial lines
+
+-------------------------------------------------------------------
+Fri Oct 30 14:03:47 UTC 2020 - Dr. Werner Fink <wer...@suse.de>
+
+- Add patch util-linux-sulogin4bsc1175514.patch
+  Avoid sulogin failing on not existing or not functional console
+  devices (bsc#1175514)
+
+-------------------------------------------------------------------
+Wed Sep 16 00:10:11 UTC 2020 - Stanislav Brabec <sbra...@suse.com>
+
+- Fix default permissions of wall and write.
+- Update to version 2.36:
+  * blkdiscard(8) refuses to proceed if filesystem or RAID
+    signatures are found in interactive mode (executed on a
+    terminal). The option --force is required to the discard
+    data.
+  * new commands irqtop(1) and lsirq(1)to monitor kernel
+    interrupts.
+  * cal(1) provides a new --vertical command line option.
+  * blkzone(8) implements open/close/finish commands now.
+  * unshare(1) and nsenter(1) commands support the time namespace
+    now.
+  * agetty(8) now supports multiple paths in the option
+    --issue-file.
+  * fdisk(8), sfdisk(8), cfdisk(8), mkswap(8) and wipefs(8) now
+    support block devices locking by flock(2), new command line
+    option --lock and $LOCK_BLOCK_DEVICE environmental variable.
+  * dmesg(1) new command line option --follow-new to wait and
+    print only new kernel messages.
+  * fdisk(8) new command line option --list-details and
+    --noauto-pt.
+  * fdisk(8) and sfdisk(8) support user-friendly aliases for
+    partition types.
+  * fstrim(8) supports new command line option --listed-in.
+  * libfdisk provides API to relocate GPT backup header. New
+    command line option "sfdisk --relocate".
+  * mount(8) now supports mount by ID= tag.
+  * login(1) supports list of "message of the day".
+  * All tools which read /etc/login.defs is possible to compile
+    with libeconf now.
+  * more(1) has been refactored.
+  * man pages cleanup
+  * other fixes and improvements, see:
+    
https://mirrors.edge.kernel.org/pub/linux/utils/util-linux/v2.36/v2.36-ReleaseNotes
+- Refresh Add-documentation-on-blacklisted-modules-to-mount-8-.patch.
+- Drop upstreamed libeconf.patch,
+  libmount-Avoid-triggering-autofs-in-lookup_umount_fs.patch.
+- util-linux-login_defs-check.sh: Perform all steps to integrate
+  MOTD_FIRSTONLY.
+- Update baselibs.conf.
+
+-------------------------------------------------------------------
+Fri May 22 11:15:01 UTC 2020 - Fabian Vogt <fv...@suse.com>
+
+- Use plain #!/bin/sh for flushb
+
+-------------------------------------------------------------------
+Thu May 21 12:48:40 UTC 2020 - Marketa Calabkova <mcalabk...@suse.com>
+
+- Include pam_securetty in login.pamd again (bsc#1033626)
+- Update to 2.35.2
+  * make glibc 2.31 compatible
+- Dropped unneeded patch libfdisk-script-accept-sector-size.patch
+
+-------------------------------------------------------------------
util-linux-systemd.changes: same change
util-linux.changes: same change

Old:
----
  libeconf.patch
  libfdisk-script-accept-sector-size.patch
  libmount-Avoid-triggering-autofs-in-lookup_umount_fs.patch
  util-linux-2.35.1.tar.sign
  util-linux-2.35.1.tar.xz

New:
----
  util-linux-2.36.1.tar.sign
  util-linux-2.36.1.tar.xz
  util-linux-sulogin4bsc1175514.patch

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ python3-libmount.spec ++++++
--- /var/tmp/diff_new_pack.IeuCrN/_old  2021-02-02 14:24:30.695283559 +0100
+++ /var/tmp/diff_new_pack.IeuCrN/_new  2021-02-02 14:24:30.711283585 +0100
@@ -1,7 +1,7 @@
 #
 # spec file for package python3-libmount
 #
-# Copyright (c) 2020 SUSE LLC
+# Copyright (c) 2021 SUSE LLC
 #
 # All modifications and additions to the file contributed by third parties
 # remain the property of their copyright owners, unless otherwise agreed
@@ -79,13 +79,16 @@
 %endif
 Summary:        %main_summary
 License:        GPL-2.0-or-later
-Group:          %group_pl
+Group:          %main_group
 BuildRequires:  audit-devel
 BuildRequires:  binutils-devel
 BuildRequires:  fdupes
 BuildRequires:  gettext-devel
 BuildRequires:  libcap-ng-devel
+# It should be %%if %%{defined no_config}, but OBS cannot handle it:
+%if 0%{?suse_version} >= 1550
 BuildRequires:  libeconf-devel
+%endif
 BuildRequires:  libselinux-devel
 BuildRequires:  libsepol-devel
 BuildRequires:  libtool
@@ -122,10 +125,10 @@
 %endif
 %endif
 #END SECOND STAGE DEPENDENCIES
-Version:        2.35.1
+Version:        2.36.1
 Release:        0
 URL:            https://www.kernel.org/pub/linux/utils/util-linux/
-Source:         
https://www.kernel.org/pub/linux/utils/util-linux/v2.35/util-linux-%{version}.tar.xz
+Source:         
https://www.kernel.org/pub/linux/utils/util-linux/v2.36/util-linux-%{version}.tar.xz
 Source1:        util-linux-rpmlintrc
 Source2:        util-linux-login_defs-check.sh
 Source4:        raw.service
@@ -136,7 +139,7 @@
 Source9:        remote.pamd
 Source10:       su.pamd
 Source11:       su.default
-Source12:       
https://www.kernel.org/pub/linux/utils/util-linux/v2.35/util-linux-%{version}.tar.sign
+Source12:       
https://www.kernel.org/pub/linux/utils/util-linux/v2.36/util-linux-%{version}.tar.sign
 Source13:       %{_name}.keyring
 Source14:       runuser.pamd
 Source15:       runuser-l.pamd
@@ -146,10 +149,8 @@
 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
-Patch3:         libeconf.patch
-Patch4:         libmount-Avoid-triggering-autofs-in-lookup_umount_fs.patch
-Patch5:         libfdisk-script-accept-sector-size.patch
-BuildRoot:      %{_tmppath}/%{name}-%{version}-build
+# PATCH-FIX-SUSE: Avoid sulogin failing on not existing or not functional 
console devices
+Patch3:         util-linux-sulogin4bsc1175514.patch
 #
 %if %build_util_linux
 Supplements:    filesystem(minix)
@@ -179,12 +180,12 @@
 Provides:       s390-32
 %endif
 # uuid-runtime appeared in SLE11 SP1 to SLE11 SP3
-Provides:       uuid-runtime = %{version}-%{release}
+Provides:       uuid-runtime = %{version}
 Obsoletes:      uuid-runtime <= 2.19.1
 # 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.
-Requires:       login_defs-support-for-util-linux >= 2.33.1
+Requires:       login_defs-support-for-util-linux >= 2.36
 #
 # Using "Requires" here would lend itself to help upgrading, but since
 # util-linux is in the initial bootstrap, that is not a good thing to do:
@@ -378,6 +379,7 @@
 Group:          System/Filesystems
 %if 0%{?suse_version} >= 1330
 Requires(pre):  group(uuidd)
+Requires(pre):  user(uuidd)
 %else
 Requires(pre):  /usr/sbin/groupadd
 Requires(pre):  /usr/sbin/useradd
@@ -550,11 +552,11 @@
   --enable-static \
   --disable-rpath \
   --enable-all-programs \
-  --disable-reset \
   --disable-chfn-chsh \
   --disable-newgrp \
   --disable-vipw \
   --disable-pg \
+  --enable-fs-paths-default="/sbin:/usr/sbin" \
 %if %{without enable_last}
   --disable-last \
 %endif
@@ -574,7 +576,7 @@
 %else
   --without-python \
 %endif
-  --enable-vendordir=%{_distconfdir}
+  --with-vendordir=%{_distconfdir}
 
 #
 # Safety check: HAVE_UUIDD should be always 1:
@@ -637,7 +639,7 @@
 %make_install
 rm -f %{buildroot}%{python3_sitearch}/libmount/*.*a
 %if %build_util_linux
-#UsrMerge
+%if !0%{?usrmerged}
 ln -s %{_bindir}/kill %{buildroot}/bin
 ln -s %{_bindir}/su %{buildroot}/bin
 ln -s %{_bindir}/dmesg %{buildroot}/bin
@@ -675,9 +677,9 @@
 ln -s %{_sbindir}/swaplabel %{buildroot}/sbin
 ln -s %{_sbindir}/fstrim %{buildroot}/sbin
 ln -s %{_sbindir}/chcpu %{buildroot}/sbin
-#EndUsrMerge
+%endif
 install -m 644 %{SOURCE6} %{buildroot}%{_sysconfdir}/filesystems
-echo -e "#! /bin/bash\n/sbin/blockdev --flushbufs \$1" > 
%{buildroot}%{_sbindir}/flushb
+echo -e "#!/bin/sh\n/sbin/blockdev --flushbufs \$1" > 
%{buildroot}%{_sbindir}/flushb
 chmod 755 %{buildroot}%{_sbindir}/flushb
 # Install scripts to configure raw devices at boot time
 install -m 644 $RPM_SOURCE_DIR%{_sysconfdir}.raw   
%{buildroot}%{_sysconfdir}/raw
@@ -688,16 +690,18 @@
 mv %{buildroot}%{_docdir}/%{_name}/getopt %{buildroot}%{_datadir}/
 # Stupid hack so we don't have a tcsh dependency
 chmod 644 %{buildroot}%{_datadir}/getopt/getopt*.tcsh
+%if !0%{?usrmerged}
 # login is always and only in /bin
 mv %{buildroot}%{_bindir}/login %{buildroot}/bin/
+%endif
 # arch dependent
 %ifarch s390 s390x
 rm -f %{buildroot}%{_sysconfdir}/fdprm
 rm -f %{buildroot}%{_sbindir}/fdformat
 rm -f %{buildroot}%{_sbindir}/hwclock
-#UsrMerge
+%if !0%{?usrmerged}
 rm -f %{buildroot}/sbin/hwclock
-#EndUsrMerge
+%endif
 rm -f %{buildroot}%{_bindir}/setterm
 rm -f %{buildroot}%{_sbindir}/tunelp
 rm -f %{buildroot}%{_mandir}/man8/fdformat.8*
@@ -708,19 +712,17 @@
 rm -f %{buildroot}%{_mandir}/man8/cfdisk.8*
 rm -f %{buildroot}%{_mandir}/man8/sfdisk.8*
 rm -f %{buildroot}%{_sbindir}/cfdisk
-#UsrMerge
-rm -f %{buildroot}/sbin/cfdisk
-#EndUsrMerge
 rm -f %{buildroot}%{_sbindir}/sfdisk
-#UsrMerge
+%if !0%{?usrmerged}
+rm -f %{buildroot}/sbin/cfdisk
 rm -f %{buildroot}/sbin/sfdisk
-#EndUsrMerge
+%endif
 %endif
 %ifarch ia64 m68k
 rm -f %{buildroot}%{_sbindir}/fdisk
-#UsrMerge
+%if !0%{?usrmerged}
 rm -f %{buildroot}/sbin/fdisk
-#EndUsrMerge
+%endif
 rm -f %{buildroot}%{_mandir}/man8/fdisk.8*
 %endif
 %find_lang %{name} %{name}.lang
@@ -739,7 +741,9 @@
 mkdir -p %{buildroot}%{_sbindir}
 mkdir -p %{buildroot}%{_localstatedir}/lib/libuuid
 mkdir -p %{buildroot}/run/uuidd
+%if !0%{?usrmerged}
 ln -s %{_bindir}/logger %{buildroot}/bin
+%endif
 # clock.txt from uuidd is a ghost file
 touch %{buildroot}%{_localstatedir}/lib/libuuid/clock.txt
 ln -sf /sbin/service %{buildroot}/usr/sbin/rcuuidd
@@ -763,6 +767,7 @@
 %service_add_post raw.service
 %set_permissions %{_bindir}/wall %{_bindir}/write %{_bindir}/mount 
%{_bindir}/umount
 %set_permissions %{_bindir}/su
+%if ! %{defined no_config}
 #
 # If outdated PAM file is detected, issue a warning.
 for PAM_FILE in login remote runuser runuser-l su su-l ; do
@@ -787,12 +792,15 @@
                echo "Please edit %{_sysconfdir}/login.defs or 
%{_sysconfdir}/default/su to restore your customization." >&2
        fi
 fi
+%endif
 
 %posttrans
+%if %{defined no_config}
 # Migration to /usr/etc.
 for i in  login remote runuser runuser-l su su-l; do
   test -f /etc/pam.d/${i}.rpmsave && mv -v /etc/pam.d/${i}.rpmsave 
/etc/pam.d/${i} ||:
 done
+%endif
 
 %preun
 %service_del_preun raw.service
@@ -898,7 +906,9 @@
 %{_distconfdir}/pam.d/runuser-l
 %{_distconfdir}/pam.d/su
 %{_distconfdir}/pam.d/su-l
-%{_distconfdir}/default
+%if 0%{?suse_version} <= 1520
+%dir %{_distconfdir}/default
+%endif
 %{_distconfdir}/default/runuser
 %{_distconfdir}/default/su
 %else
@@ -912,7 +922,7 @@
 %config(noreplace) %{_sysconfdir}/default/su
 %endif
 %config %dir %{_sysconfdir}/issue.d
-#UsrMerge
+%if !0%{?usrmerged}
 /bin/kill
 /bin/su
 /bin/dmesg
@@ -947,7 +957,7 @@
 /sbin/swaplabel
 /sbin/fstrim
 /sbin/chcpu
-#EndUsrMerge
+%endif
 %{_bindir}/kill
 %verify(not mode) %{_bindir}/su
 %{_bindir}/eject
@@ -971,6 +981,7 @@
 %{_bindir}/ipcmk
 %{_bindir}/ipcrm
 %{_bindir}/ipcs
+%{_bindir}/irqtop
 %{_bindir}/isosize
 %if %{with enable_last}
 %{_bindir}/last
@@ -978,9 +989,13 @@
 %endif
 %{_bindir}/line
 %{_bindir}/look
+%if 0%{?usrmerged}
+%{_bindir}/login
+%endif
 %{_bindir}/lsblk
 %{_bindir}/lscpu
 %{_bindir}/lsipc
+%{_bindir}/lsirq
 %{_bindir}/lslocks
 %{_bindir}/lsmem
 %{_bindir}/lsns
@@ -1082,6 +1097,7 @@
 %{_mandir}/man1/look.1.gz
 %{_mandir}/man1/lscpu.1.gz
 %{_mandir}/man1/lsipc.1.gz
+%{_mandir}/man1/lsirq.1.gz
 %{_mandir}/man1/lsmem.1.gz
 %{_mandir}/man1/mcookie.1.gz
 %{_mandir}/man1/mesg.1.gz
@@ -1089,6 +1105,7 @@
 %{_mandir}/man1/namei.1.gz
 %{_mandir}/man1/nsenter.1.gz
 %{_mandir}/man1/ionice.1.gz
+%{_mandir}/man1/irqtop.1.gz
 %{_mandir}/man1/prlimit.1.gz
 %{_mandir}/man1/rename.1.gz
 %{_mandir}/man1/rev.1.gz
@@ -1182,27 +1199,27 @@
 %ifnarch ia64 m68k
 #XXX: post our patches upstream
 #XXX: call fdupes on /usr/share/man
-#UsrMerge
+%if !0%{?usrmerged}
 /sbin/fdisk
-#EndUsrMerge
+%endif
 %{_sbindir}/fdisk
 %{_mandir}/man8/fdisk.8.gz
 %endif
 %ifnarch %sparc ia64 m68k
 %{_mandir}/man8/cfdisk.8.gz
 %{_mandir}/man8/sfdisk.8.gz
-#UsrMerge
+%if !0%{?usrmerged}
 /sbin/cfdisk
 /sbin/sfdisk
-#EndUsrMerge
+%endif
 %{_sbindir}/cfdisk
 %{_sbindir}/sfdisk
 %endif
 %ifnarch s390 s390x
 %{_sbindir}/fdformat
-#UsrMerge
+%if !0%{?usrmerged}
 /sbin/hwclock
-#EndUsrMerge
+%endif
 %{_sbindir}/hwclock
 %{_bindir}/setterm
 %{_sbindir}/tunelp
@@ -1301,7 +1318,9 @@
 %files
 %endif
 %defattr(-, root, root)
+%if !0%{?usrmerged}
 /bin/logger
+%endif
 %{_bindir}/logger
 %{_bindir}/lslogins
 #BEGIN bootstrap_hack

++++++ util-linux-systemd.spec ++++++
--- /var/tmp/diff_new_pack.IeuCrN/_old  2021-02-02 14:24:30.743283635 +0100
+++ /var/tmp/diff_new_pack.IeuCrN/_new  2021-02-02 14:24:30.747283641 +0100
@@ -1,7 +1,7 @@
 #
 # spec file for package util-linux-systemd
 #
-# Copyright (c) 2020 SUSE LLC
+# Copyright (c) 2021 SUSE LLC
 #
 # All modifications and additions to the file contributed by third parties
 # remain the property of their copyright owners, unless otherwise agreed
@@ -85,7 +85,10 @@
 BuildRequires:  fdupes
 BuildRequires:  gettext-devel
 BuildRequires:  libcap-ng-devel
+# It should be %%if %%{defined no_config}, but OBS cannot handle it:
+%if 0%{?suse_version} >= 1550
 BuildRequires:  libeconf-devel
+%endif
 BuildRequires:  libselinux-devel
 BuildRequires:  libsepol-devel
 BuildRequires:  libtool
@@ -122,10 +125,10 @@
 %endif
 %endif
 #END SECOND STAGE DEPENDENCIES
-Version:        2.35.1
+Version:        2.36.1
 Release:        0
 URL:            https://www.kernel.org/pub/linux/utils/util-linux/
-Source:         
https://www.kernel.org/pub/linux/utils/util-linux/v2.35/util-linux-%{version}.tar.xz
+Source:         
https://www.kernel.org/pub/linux/utils/util-linux/v2.36/util-linux-%{version}.tar.xz
 Source1:        util-linux-rpmlintrc
 Source2:        util-linux-login_defs-check.sh
 Source4:        raw.service
@@ -136,7 +139,7 @@
 Source9:        remote.pamd
 Source10:       su.pamd
 Source11:       su.default
-Source12:       
https://www.kernel.org/pub/linux/utils/util-linux/v2.35/util-linux-%{version}.tar.sign
+Source12:       
https://www.kernel.org/pub/linux/utils/util-linux/v2.36/util-linux-%{version}.tar.sign
 Source13:       %{_name}.keyring
 Source14:       runuser.pamd
 Source15:       runuser-l.pamd
@@ -146,10 +149,8 @@
 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
-Patch3:         libeconf.patch
-Patch4:         libmount-Avoid-triggering-autofs-in-lookup_umount_fs.patch
-Patch5:         libfdisk-script-accept-sector-size.patch
-BuildRoot:      %{_tmppath}/%{name}-%{version}-build
+# PATCH-FIX-SUSE: Avoid sulogin failing on not existing or not functional 
console devices
+Patch3:         util-linux-sulogin4bsc1175514.patch
 #
 %if %build_util_linux
 Supplements:    filesystem(minix)
@@ -179,12 +180,12 @@
 Provides:       s390-32
 %endif
 # uuid-runtime appeared in SLE11 SP1 to SLE11 SP3
-Provides:       uuid-runtime = %{version}-%{release}
+Provides:       uuid-runtime = %{version}
 Obsoletes:      uuid-runtime <= 2.19.1
 # 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.
-Requires:       login_defs-support-for-util-linux >= 2.33.1
+Requires:       login_defs-support-for-util-linux >= 2.36
 #
 # Using "Requires" here would lend itself to help upgrading, but since
 # util-linux is in the initial bootstrap, that is not a good thing to do:
@@ -378,6 +379,7 @@
 Group:          System/Filesystems
 %if 0%{?suse_version} >= 1330
 Requires(pre):  group(uuidd)
+Requires(pre):  user(uuidd)
 %else
 Requires(pre):  /usr/sbin/groupadd
 Requires(pre):  /usr/sbin/useradd
@@ -550,11 +552,11 @@
   --enable-static \
   --disable-rpath \
   --enable-all-programs \
-  --disable-reset \
   --disable-chfn-chsh \
   --disable-newgrp \
   --disable-vipw \
   --disable-pg \
+  --enable-fs-paths-default="/sbin:/usr/sbin" \
 %if %{without enable_last}
   --disable-last \
 %endif
@@ -574,7 +576,7 @@
 %else
   --without-python \
 %endif
-  --enable-vendordir=%{_distconfdir}
+  --with-vendordir=%{_distconfdir}
 
 #
 # Safety check: HAVE_UUIDD should be always 1:
@@ -637,7 +639,7 @@
 %make_install
 rm -f %{buildroot}%{python3_sitearch}/libmount/*.*a
 %if %build_util_linux
-#UsrMerge
+%if !0%{?usrmerged}
 ln -s %{_bindir}/kill %{buildroot}/bin
 ln -s %{_bindir}/su %{buildroot}/bin
 ln -s %{_bindir}/dmesg %{buildroot}/bin
@@ -675,9 +677,9 @@
 ln -s %{_sbindir}/swaplabel %{buildroot}/sbin
 ln -s %{_sbindir}/fstrim %{buildroot}/sbin
 ln -s %{_sbindir}/chcpu %{buildroot}/sbin
-#EndUsrMerge
+%endif
 install -m 644 %{SOURCE6} %{buildroot}%{_sysconfdir}/filesystems
-echo -e "#! /bin/bash\n/sbin/blockdev --flushbufs \$1" > 
%{buildroot}%{_sbindir}/flushb
+echo -e "#!/bin/sh\n/sbin/blockdev --flushbufs \$1" > 
%{buildroot}%{_sbindir}/flushb
 chmod 755 %{buildroot}%{_sbindir}/flushb
 # Install scripts to configure raw devices at boot time
 install -m 644 $RPM_SOURCE_DIR%{_sysconfdir}.raw   
%{buildroot}%{_sysconfdir}/raw
@@ -688,16 +690,18 @@
 mv %{buildroot}%{_docdir}/%{_name}/getopt %{buildroot}%{_datadir}/
 # Stupid hack so we don't have a tcsh dependency
 chmod 644 %{buildroot}%{_datadir}/getopt/getopt*.tcsh
+%if !0%{?usrmerged}
 # login is always and only in /bin
 mv %{buildroot}%{_bindir}/login %{buildroot}/bin/
+%endif
 # arch dependent
 %ifarch s390 s390x
 rm -f %{buildroot}%{_sysconfdir}/fdprm
 rm -f %{buildroot}%{_sbindir}/fdformat
 rm -f %{buildroot}%{_sbindir}/hwclock
-#UsrMerge
+%if !0%{?usrmerged}
 rm -f %{buildroot}/sbin/hwclock
-#EndUsrMerge
+%endif
 rm -f %{buildroot}%{_bindir}/setterm
 rm -f %{buildroot}%{_sbindir}/tunelp
 rm -f %{buildroot}%{_mandir}/man8/fdformat.8*
@@ -708,19 +712,17 @@
 rm -f %{buildroot}%{_mandir}/man8/cfdisk.8*
 rm -f %{buildroot}%{_mandir}/man8/sfdisk.8*
 rm -f %{buildroot}%{_sbindir}/cfdisk
-#UsrMerge
-rm -f %{buildroot}/sbin/cfdisk
-#EndUsrMerge
 rm -f %{buildroot}%{_sbindir}/sfdisk
-#UsrMerge
+%if !0%{?usrmerged}
+rm -f %{buildroot}/sbin/cfdisk
 rm -f %{buildroot}/sbin/sfdisk
-#EndUsrMerge
+%endif
 %endif
 %ifarch ia64 m68k
 rm -f %{buildroot}%{_sbindir}/fdisk
-#UsrMerge
+%if !0%{?usrmerged}
 rm -f %{buildroot}/sbin/fdisk
-#EndUsrMerge
+%endif
 rm -f %{buildroot}%{_mandir}/man8/fdisk.8*
 %endif
 %find_lang %{name} %{name}.lang
@@ -739,7 +741,9 @@
 mkdir -p %{buildroot}%{_sbindir}
 mkdir -p %{buildroot}%{_localstatedir}/lib/libuuid
 mkdir -p %{buildroot}/run/uuidd
+%if !0%{?usrmerged}
 ln -s %{_bindir}/logger %{buildroot}/bin
+%endif
 # clock.txt from uuidd is a ghost file
 touch %{buildroot}%{_localstatedir}/lib/libuuid/clock.txt
 ln -sf /sbin/service %{buildroot}/usr/sbin/rcuuidd
@@ -763,6 +767,7 @@
 %service_add_post raw.service
 %set_permissions %{_bindir}/wall %{_bindir}/write %{_bindir}/mount 
%{_bindir}/umount
 %set_permissions %{_bindir}/su
+%if ! %{defined no_config}
 #
 # If outdated PAM file is detected, issue a warning.
 for PAM_FILE in login remote runuser runuser-l su su-l ; do
@@ -787,12 +792,15 @@
                echo "Please edit %{_sysconfdir}/login.defs or 
%{_sysconfdir}/default/su to restore your customization." >&2
        fi
 fi
+%endif
 
 %posttrans
+%if %{defined no_config}
 # Migration to /usr/etc.
 for i in  login remote runuser runuser-l su su-l; do
   test -f /etc/pam.d/${i}.rpmsave && mv -v /etc/pam.d/${i}.rpmsave 
/etc/pam.d/${i} ||:
 done
+%endif
 
 %preun
 %service_del_preun raw.service
@@ -898,7 +906,9 @@
 %{_distconfdir}/pam.d/runuser-l
 %{_distconfdir}/pam.d/su
 %{_distconfdir}/pam.d/su-l
-%{_distconfdir}/default
+%if 0%{?suse_version} <= 1520
+%dir %{_distconfdir}/default
+%endif
 %{_distconfdir}/default/runuser
 %{_distconfdir}/default/su
 %else
@@ -912,7 +922,7 @@
 %config(noreplace) %{_sysconfdir}/default/su
 %endif
 %config %dir %{_sysconfdir}/issue.d
-#UsrMerge
+%if !0%{?usrmerged}
 /bin/kill
 /bin/su
 /bin/dmesg
@@ -947,7 +957,7 @@
 /sbin/swaplabel
 /sbin/fstrim
 /sbin/chcpu
-#EndUsrMerge
+%endif
 %{_bindir}/kill
 %verify(not mode) %{_bindir}/su
 %{_bindir}/eject
@@ -971,6 +981,7 @@
 %{_bindir}/ipcmk
 %{_bindir}/ipcrm
 %{_bindir}/ipcs
+%{_bindir}/irqtop
 %{_bindir}/isosize
 %if %{with enable_last}
 %{_bindir}/last
@@ -978,9 +989,13 @@
 %endif
 %{_bindir}/line
 %{_bindir}/look
+%if 0%{?usrmerged}
+%{_bindir}/login
+%endif
 %{_bindir}/lsblk
 %{_bindir}/lscpu
 %{_bindir}/lsipc
+%{_bindir}/lsirq
 %{_bindir}/lslocks
 %{_bindir}/lsmem
 %{_bindir}/lsns
@@ -1082,6 +1097,7 @@
 %{_mandir}/man1/look.1.gz
 %{_mandir}/man1/lscpu.1.gz
 %{_mandir}/man1/lsipc.1.gz
+%{_mandir}/man1/lsirq.1.gz
 %{_mandir}/man1/lsmem.1.gz
 %{_mandir}/man1/mcookie.1.gz
 %{_mandir}/man1/mesg.1.gz
@@ -1089,6 +1105,7 @@
 %{_mandir}/man1/namei.1.gz
 %{_mandir}/man1/nsenter.1.gz
 %{_mandir}/man1/ionice.1.gz
+%{_mandir}/man1/irqtop.1.gz
 %{_mandir}/man1/prlimit.1.gz
 %{_mandir}/man1/rename.1.gz
 %{_mandir}/man1/rev.1.gz
@@ -1182,27 +1199,27 @@
 %ifnarch ia64 m68k
 #XXX: post our patches upstream
 #XXX: call fdupes on /usr/share/man
-#UsrMerge
+%if !0%{?usrmerged}
 /sbin/fdisk
-#EndUsrMerge
+%endif
 %{_sbindir}/fdisk
 %{_mandir}/man8/fdisk.8.gz
 %endif
 %ifnarch %sparc ia64 m68k
 %{_mandir}/man8/cfdisk.8.gz
 %{_mandir}/man8/sfdisk.8.gz
-#UsrMerge
+%if !0%{?usrmerged}
 /sbin/cfdisk
 /sbin/sfdisk
-#EndUsrMerge
+%endif
 %{_sbindir}/cfdisk
 %{_sbindir}/sfdisk
 %endif
 %ifnarch s390 s390x
 %{_sbindir}/fdformat
-#UsrMerge
+%if !0%{?usrmerged}
 /sbin/hwclock
-#EndUsrMerge
+%endif
 %{_sbindir}/hwclock
 %{_bindir}/setterm
 %{_sbindir}/tunelp
@@ -1301,7 +1318,9 @@
 %files
 %endif
 %defattr(-, root, root)
+%if !0%{?usrmerged}
 /bin/logger
+%endif
 %{_bindir}/logger
 %{_bindir}/lslogins
 #BEGIN bootstrap_hack

++++++ util-linux.spec ++++++
--- /var/tmp/diff_new_pack.IeuCrN/_old  2021-02-02 14:24:30.767283672 +0100
+++ /var/tmp/diff_new_pack.IeuCrN/_new  2021-02-02 14:24:30.771283678 +0100
@@ -1,7 +1,7 @@
 #
 # spec file for package util-linux
 #
-# Copyright (c) 2020 SUSE LLC
+# Copyright (c) 2021 SUSE LLC
 #
 # All modifications and additions to the file contributed by third parties
 # remain the property of their copyright owners, unless otherwise agreed
@@ -85,7 +85,10 @@
 BuildRequires:  fdupes
 BuildRequires:  gettext-devel
 BuildRequires:  libcap-ng-devel
+# It should be %%if %%{defined no_config}, but OBS cannot handle it:
+%if 0%{?suse_version} >= 1550
 BuildRequires:  libeconf-devel
+%endif
 BuildRequires:  libselinux-devel
 BuildRequires:  libsepol-devel
 BuildRequires:  libtool
@@ -122,10 +125,10 @@
 %endif
 %endif
 #END SECOND STAGE DEPENDENCIES
-Version:        2.35.1
+Version:        2.36.1
 Release:        0
 URL:            https://www.kernel.org/pub/linux/utils/util-linux/
-Source:         
https://www.kernel.org/pub/linux/utils/util-linux/v2.35/util-linux-%{version}.tar.xz
+Source:         
https://www.kernel.org/pub/linux/utils/util-linux/v2.36/util-linux-%{version}.tar.xz
 Source1:        util-linux-rpmlintrc
 Source2:        util-linux-login_defs-check.sh
 Source4:        raw.service
@@ -136,7 +139,7 @@
 Source9:        remote.pamd
 Source10:       su.pamd
 Source11:       su.default
-Source12:       
https://www.kernel.org/pub/linux/utils/util-linux/v2.35/util-linux-%{version}.tar.sign
+Source12:       
https://www.kernel.org/pub/linux/utils/util-linux/v2.36/util-linux-%{version}.tar.sign
 Source13:       %{_name}.keyring
 Source14:       runuser.pamd
 Source15:       runuser-l.pamd
@@ -146,10 +149,8 @@
 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
-Patch3:         libeconf.patch
-Patch4:         libmount-Avoid-triggering-autofs-in-lookup_umount_fs.patch
-Patch5:         libfdisk-script-accept-sector-size.patch
-BuildRoot:      %{_tmppath}/%{name}-%{version}-build
+# PATCH-FIX-SUSE: Avoid sulogin failing on not existing or not functional 
console devices
+Patch3:         util-linux-sulogin4bsc1175514.patch
 #
 %if %build_util_linux
 Supplements:    filesystem(minix)
@@ -179,12 +180,12 @@
 Provides:       s390-32
 %endif
 # uuid-runtime appeared in SLE11 SP1 to SLE11 SP3
-Provides:       uuid-runtime = %{version}-%{release}
+Provides:       uuid-runtime = %{version}
 Obsoletes:      uuid-runtime <= 2.19.1
 # 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.
-Requires:       login_defs-support-for-util-linux >= 2.33.1
+Requires:       login_defs-support-for-util-linux >= 2.36
 #
 # Using "Requires" here would lend itself to help upgrading, but since
 # util-linux is in the initial bootstrap, that is not a good thing to do:
@@ -378,6 +379,7 @@
 Group:          System/Filesystems
 %if 0%{?suse_version} >= 1330
 Requires(pre):  group(uuidd)
+Requires(pre):  user(uuidd)
 %else
 Requires(pre):  /usr/sbin/groupadd
 Requires(pre):  /usr/sbin/useradd
@@ -550,11 +552,11 @@
   --enable-static \
   --disable-rpath \
   --enable-all-programs \
-  --disable-reset \
   --disable-chfn-chsh \
   --disable-newgrp \
   --disable-vipw \
   --disable-pg \
+  --enable-fs-paths-default="/sbin:/usr/sbin" \
 %if %{without enable_last}
   --disable-last \
 %endif
@@ -574,7 +576,7 @@
 %else
   --without-python \
 %endif
-  --enable-vendordir=%{_distconfdir}
+  --with-vendordir=%{_distconfdir}
 
 #
 # Safety check: HAVE_UUIDD should be always 1:
@@ -637,7 +639,7 @@
 %make_install
 rm -f %{buildroot}%{python3_sitearch}/libmount/*.*a
 %if %build_util_linux
-#UsrMerge
+%if !0%{?usrmerged}
 ln -s %{_bindir}/kill %{buildroot}/bin
 ln -s %{_bindir}/su %{buildroot}/bin
 ln -s %{_bindir}/dmesg %{buildroot}/bin
@@ -675,9 +677,9 @@
 ln -s %{_sbindir}/swaplabel %{buildroot}/sbin
 ln -s %{_sbindir}/fstrim %{buildroot}/sbin
 ln -s %{_sbindir}/chcpu %{buildroot}/sbin
-#EndUsrMerge
+%endif
 install -m 644 %{SOURCE6} %{buildroot}%{_sysconfdir}/filesystems
-echo -e "#! /bin/bash\n/sbin/blockdev --flushbufs \$1" > 
%{buildroot}%{_sbindir}/flushb
+echo -e "#!/bin/sh\n/sbin/blockdev --flushbufs \$1" > 
%{buildroot}%{_sbindir}/flushb
 chmod 755 %{buildroot}%{_sbindir}/flushb
 # Install scripts to configure raw devices at boot time
 install -m 644 $RPM_SOURCE_DIR%{_sysconfdir}.raw   
%{buildroot}%{_sysconfdir}/raw
@@ -688,16 +690,18 @@
 mv %{buildroot}%{_docdir}/%{_name}/getopt %{buildroot}%{_datadir}/
 # Stupid hack so we don't have a tcsh dependency
 chmod 644 %{buildroot}%{_datadir}/getopt/getopt*.tcsh
+%if !0%{?usrmerged}
 # login is always and only in /bin
 mv %{buildroot}%{_bindir}/login %{buildroot}/bin/
+%endif
 # arch dependent
 %ifarch s390 s390x
 rm -f %{buildroot}%{_sysconfdir}/fdprm
 rm -f %{buildroot}%{_sbindir}/fdformat
 rm -f %{buildroot}%{_sbindir}/hwclock
-#UsrMerge
+%if !0%{?usrmerged}
 rm -f %{buildroot}/sbin/hwclock
-#EndUsrMerge
+%endif
 rm -f %{buildroot}%{_bindir}/setterm
 rm -f %{buildroot}%{_sbindir}/tunelp
 rm -f %{buildroot}%{_mandir}/man8/fdformat.8*
@@ -708,19 +712,17 @@
 rm -f %{buildroot}%{_mandir}/man8/cfdisk.8*
 rm -f %{buildroot}%{_mandir}/man8/sfdisk.8*
 rm -f %{buildroot}%{_sbindir}/cfdisk
-#UsrMerge
-rm -f %{buildroot}/sbin/cfdisk
-#EndUsrMerge
 rm -f %{buildroot}%{_sbindir}/sfdisk
-#UsrMerge
+%if !0%{?usrmerged}
+rm -f %{buildroot}/sbin/cfdisk
 rm -f %{buildroot}/sbin/sfdisk
-#EndUsrMerge
+%endif
 %endif
 %ifarch ia64 m68k
 rm -f %{buildroot}%{_sbindir}/fdisk
-#UsrMerge
+%if !0%{?usrmerged}
 rm -f %{buildroot}/sbin/fdisk
-#EndUsrMerge
+%endif
 rm -f %{buildroot}%{_mandir}/man8/fdisk.8*
 %endif
 %find_lang %{name} %{name}.lang
@@ -739,7 +741,9 @@
 mkdir -p %{buildroot}%{_sbindir}
 mkdir -p %{buildroot}%{_localstatedir}/lib/libuuid
 mkdir -p %{buildroot}/run/uuidd
+%if !0%{?usrmerged}
 ln -s %{_bindir}/logger %{buildroot}/bin
+%endif
 # clock.txt from uuidd is a ghost file
 touch %{buildroot}%{_localstatedir}/lib/libuuid/clock.txt
 ln -sf /sbin/service %{buildroot}/usr/sbin/rcuuidd
@@ -763,6 +767,7 @@
 %service_add_post raw.service
 %set_permissions %{_bindir}/wall %{_bindir}/write %{_bindir}/mount 
%{_bindir}/umount
 %set_permissions %{_bindir}/su
+%if ! %{defined no_config}
 #
 # If outdated PAM file is detected, issue a warning.
 for PAM_FILE in login remote runuser runuser-l su su-l ; do
@@ -787,12 +792,15 @@
                echo "Please edit %{_sysconfdir}/login.defs or 
%{_sysconfdir}/default/su to restore your customization." >&2
        fi
 fi
+%endif
 
 %posttrans
+%if %{defined no_config}
 # Migration to /usr/etc.
 for i in  login remote runuser runuser-l su su-l; do
   test -f /etc/pam.d/${i}.rpmsave && mv -v /etc/pam.d/${i}.rpmsave 
/etc/pam.d/${i} ||:
 done
+%endif
 
 %preun
 %service_del_preun raw.service
@@ -898,7 +906,9 @@
 %{_distconfdir}/pam.d/runuser-l
 %{_distconfdir}/pam.d/su
 %{_distconfdir}/pam.d/su-l
-%{_distconfdir}/default
+%if 0%{?suse_version} <= 1520
+%dir %{_distconfdir}/default
+%endif
 %{_distconfdir}/default/runuser
 %{_distconfdir}/default/su
 %else
@@ -912,7 +922,7 @@
 %config(noreplace) %{_sysconfdir}/default/su
 %endif
 %config %dir %{_sysconfdir}/issue.d
-#UsrMerge
+%if !0%{?usrmerged}
 /bin/kill
 /bin/su
 /bin/dmesg
@@ -947,7 +957,7 @@
 /sbin/swaplabel
 /sbin/fstrim
 /sbin/chcpu
-#EndUsrMerge
+%endif
 %{_bindir}/kill
 %verify(not mode) %{_bindir}/su
 %{_bindir}/eject
@@ -971,6 +981,7 @@
 %{_bindir}/ipcmk
 %{_bindir}/ipcrm
 %{_bindir}/ipcs
+%{_bindir}/irqtop
 %{_bindir}/isosize
 %if %{with enable_last}
 %{_bindir}/last
@@ -978,9 +989,13 @@
 %endif
 %{_bindir}/line
 %{_bindir}/look
+%if 0%{?usrmerged}
+%{_bindir}/login
+%endif
 %{_bindir}/lsblk
 %{_bindir}/lscpu
 %{_bindir}/lsipc
+%{_bindir}/lsirq
 %{_bindir}/lslocks
 %{_bindir}/lsmem
 %{_bindir}/lsns
@@ -1082,6 +1097,7 @@
 %{_mandir}/man1/look.1.gz
 %{_mandir}/man1/lscpu.1.gz
 %{_mandir}/man1/lsipc.1.gz
+%{_mandir}/man1/lsirq.1.gz
 %{_mandir}/man1/lsmem.1.gz
 %{_mandir}/man1/mcookie.1.gz
 %{_mandir}/man1/mesg.1.gz
@@ -1089,6 +1105,7 @@
 %{_mandir}/man1/namei.1.gz
 %{_mandir}/man1/nsenter.1.gz
 %{_mandir}/man1/ionice.1.gz
+%{_mandir}/man1/irqtop.1.gz
 %{_mandir}/man1/prlimit.1.gz
 %{_mandir}/man1/rename.1.gz
 %{_mandir}/man1/rev.1.gz
@@ -1182,27 +1199,27 @@
 %ifnarch ia64 m68k
 #XXX: post our patches upstream
 #XXX: call fdupes on /usr/share/man
-#UsrMerge
+%if !0%{?usrmerged}
 /sbin/fdisk
-#EndUsrMerge
+%endif
 %{_sbindir}/fdisk
 %{_mandir}/man8/fdisk.8.gz
 %endif
 %ifnarch %sparc ia64 m68k
 %{_mandir}/man8/cfdisk.8.gz
 %{_mandir}/man8/sfdisk.8.gz
-#UsrMerge
+%if !0%{?usrmerged}
 /sbin/cfdisk
 /sbin/sfdisk
-#EndUsrMerge
+%endif
 %{_sbindir}/cfdisk
 %{_sbindir}/sfdisk
 %endif
 %ifnarch s390 s390x
 %{_sbindir}/fdformat
-#UsrMerge
+%if !0%{?usrmerged}
 /sbin/hwclock
-#EndUsrMerge
+%endif
 %{_sbindir}/hwclock
 %{_bindir}/setterm
 %{_sbindir}/tunelp
@@ -1301,7 +1318,9 @@
 %files
 %endif
 %defattr(-, root, root)
+%if !0%{?usrmerged}
 /bin/logger
+%endif
 %{_bindir}/logger
 %{_bindir}/lslogins
 #BEGIN bootstrap_hack

++++++ Add-documentation-on-blacklisted-modules-to-mount-8-.patch ++++++
--- /var/tmp/diff_new_pack.IeuCrN/_old  2021-02-02 14:24:30.791283709 +0100
+++ /var/tmp/diff_new_pack.IeuCrN/_new  2021-02-02 14:24:30.791283709 +0100
@@ -8,12 +8,12 @@
  sys-utils/mount.8 | 26 ++++++++++++++++++++++++++
  1 file changed, 26 insertions(+)
 
-diff --git a/sys-utils/mount.8 b/sys-utils/mount.8
-index da0ac5b..c231e12 100644
---- a/sys-utils/mount.8
-+++ b/sys-utils/mount.8
-@@ -338,6 +338,32 @@ The
- option is similar, with the restriction that the user must be
+Index: util-linux-2.36/sys-utils/mount.8
+===================================================================
+--- util-linux-2.36.orig/sys-utils/mount.8
++++ util-linux-2.36/sys-utils/mount.8
+@@ -400,6 +400,32 @@ The
+ option is similar, with the restriction that the user must be a
  member of the group of the special file.
  
 +.SS Blacklisted file systems
@@ -45,6 +45,3 @@
  .SS Bind mount operation
  Remount part of the file hierarchy somewhere else.  The call is:
  
--- 
-2.19.2
-

++++++ baselibs.conf ++++++
--- /var/tmp/diff_new_pack.IeuCrN/_old  2021-02-02 14:24:30.819283753 +0100
+++ /var/tmp/diff_new_pack.IeuCrN/_new  2021-02-02 14:24:30.819283753 +0100
@@ -1,12 +1,20 @@
-libuuid1
-libuuid-devel
-       requires -libuuid-<targettype>
-       requires "libuuid1-<targettype> = <version>"
 libblkid1
 libblkid-devel
        requires -libblkid-<targettype>
        requires "libblkid1-<targettype> = <version>"
+libfdisk1
+libfdisk-devel
+       requires -libfdisk-<targettype>
+       requires "libfdisk1-<targettype> = <version>"
 libmount1
 libmount-devel
        requires -libmount-<targettype>
        requires "libmount1-<targettype> = <version>"
+libsmartcols1
+libsmartcols-devel
+       requires -libsmartcols-<targettype>
+       requires "libsmartcols1-<targettype> = <version>"
+libuuid1
+libuuid-devel
+       requires -libuuid-<targettype>
+       requires "libuuid1-<targettype> = <version>"

++++++ util-linux-2.35.1.tar.xz -> util-linux-2.36.1.tar.xz ++++++
++++ 469119 lines of diff (skipped)

++++++ util-linux-login_defs-check.sh ++++++
--- /var/tmp/diff_new_pack.IeuCrN/_old  2021-02-02 14:24:33.251287535 +0100
+++ /var/tmp/diff_new_pack.IeuCrN/_new  2021-02-02 14:24:33.255287541 +0100
@@ -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/ .*$//') != 
ca9ea2bf3ee8c8c0c623ace938cdf0f04869f8cf ; then
+if test $(sha1sum util-linux-login_defs-vars.lst | sed 's/ .*$//') != 
bdea2548d823e727ddf2cc3318dfce4aa6a9b48f ; then
 
        echo "does not match!" >&2
        echo "Checksum is: $(sha1sum util-linux-login_defs-vars.lst | sed 's/ 
.*$//')" >&2

++++++ util-linux-sulogin4bsc1175514.patch ++++++
From: Werner Fink <wer...@suse.de>
Date: Fri, 30 Oct 2020 14:54:59 +0100
Subject: [PATCH] sulogin: ignore not existing console devices

and also not functional console devices. Redirect the error
messages to the appropiate console device.

---
 login-utils/sulogin-consoles.h |  1 +
 login-utils/sulogin.c          | 97 +++++++++++++++++++++++++++++++++++-------
 2 files changed, 82 insertions(+), 16 deletions(-)

diff --git a/login-utils/sulogin-consoles.h b/login-utils/sulogin-consoles.h
index 0bfbc3871..12032c997 100644
--- a/login-utils/sulogin-consoles.h
+++ b/login-utils/sulogin-consoles.h
@@ -40,6 +40,7 @@ struct console {
        int fd, id;
 #define        CON_SERIAL      0x0001
 #define        CON_NOTTY       0x0002
+#define        CON_EIO         0x0004
        pid_t pid;
        struct chardata cp;
        struct termios tio;
diff --git a/login-utils/sulogin.c b/login-utils/sulogin.c
index 9091caf14..c833796e7 100644
--- a/login-utils/sulogin.c
+++ b/login-utils/sulogin.c
@@ -52,6 +52,7 @@
 #ifdef __linux__
 # include <sys/kd.h>
 # include <sys/param.h>
+# include <linux/serial.h>
 #endif
 
 #include "c.h"
@@ -104,6 +105,9 @@ static void tcinit(struct console *con)
        int flags = 0, mode = 0;
        struct termios *tio = &con->tio;
        const int fd = con->fd;
+#if defined(TIOCGSERIAL)
+       struct serial_struct serinfo;
+#endif
 #ifdef USE_PLYMOUTH_SUPPORT
        struct termios lock;
        int i = (plymouth_command(MAGIC_PING)) ? PLYMOUTH_TERMIOS_FLAGS_DELAY : 
0;
@@ -123,27 +127,72 @@ static void tcinit(struct console *con)
        }
        memset(&lock, 0, sizeof(struct termios));
        ioctl(fd, TIOCSLCKTRMIOS, &lock);
+       errno = 0;
 #endif
+
+#if defined(TIOCGSERIAL)
+       if (ioctl(fd, TIOCGSERIAL,  &serinfo) >= 0)
+               con->flags |= CON_SERIAL;
+       errno = 0;
+#else
+# if defined(KDGKBMODE)
+       if (ioctl(fd, KDGKBMODE, &mode) < 0)
+               con->flags |= CON_SERIAL;
        errno = 0;
+# endif
+#endif
 
        if (tcgetattr(fd, tio) < 0) {
-               warn(_("tcgetattr failed"));
-               con->flags |= CON_NOTTY;
-               return;
+               int saveno = errno;
+#if defined(KDGKBMODE) || defined(TIOCGSERIAL)
+               if (con->flags & CON_SERIAL) {                  /* Try to 
recover this */
+
+# if defined(TIOCGSERIAL)
+                       serinfo.flags |= ASYNC_SKIP_TEST;       /* Skip test of 
UART */
+
+                       if (ioctl(fd, TIOCSSERIAL, &serinfo) < 0)
+                               goto tcgeterr;
+                       if (ioctl(fd, TIOCSERCONFIG) < 0)       /* Try to 
autoconfigure */
+                               goto tcgeterr;
+                       if (ioctl(fd, TIOCGSERIAL,  &serinfo) < 0)
+                               goto tcgeterr;                  /* Ouch */
+# endif
+                       if (tcgetattr(fd, tio) < 0)             /* Retry to get 
tty attributes */
+                               saveno = errno;
+               }
+# if defined(TIOCGSERIAL)
+       tcgeterr:
+# endif
+               if (saveno)
+#endif
+               {
+                       FILE *fcerr = fdopen(fd, "w");
+                       if (fcerr) {
+                               fprintf(fcerr, _("tcgetattr failed"));
+                               fclose(fcerr);
+                       }
+                       warn(_("tcgetattr failed"));
+
+                       con->flags &= ~CON_SERIAL;
+                       if (saveno != EIO)
+                               con->flags |= CON_NOTTY;
+                       else
+                               con->flags |= CON_EIO;
+
+                       errno = 0;
+                       return;
+               }
        }
 
        /* Handle lines other than virtual consoles here */
-#if defined(KDGKBMODE)
-       if (ioctl(fd, KDGKBMODE, &mode) < 0)
+#if defined(KDGKBMODE) || defined(TIOCGSERIAL)
+       if (con->flags & CON_SERIAL)
 #endif
        {
                speed_t ispeed, ospeed;
                struct winsize ws;
                errno = 0;
 
-               /* this is a modem line */
-               con->flags |= CON_SERIAL;
-
                /* Flush input and output queues on modem lines */
                tcflush(fd, TCIOFLUSH);
 
@@ -220,6 +269,8 @@ static void tcfinal(struct console *con)
        struct termios *tio = &con->tio;
        const int fd = con->fd;
 
+       if (con->flags & CON_EIO)
+               return;
        if ((con->flags & CON_SERIAL) == 0) {
                xsetenv("TERM", "linux", 1);
                return;
@@ -557,12 +608,16 @@ err:
 static void setup(struct console *con)
 {
        int fd = con->fd;
-       const pid_t pid = getpid(), pgrp = getpgid(0), ppgrp =
-           getpgid(getppid()), ttypgrp = tcgetpgrp(fd);
+       const pid_t pid = getpid(), pgrp = getpgid(0), ppgrp = 
getpgid(getppid());
+       pid_t ttypgrp;
 
        if (con->flags & CON_NOTTY)
+               goto notty;
+       if (con->flags & CON_EIO)
                return;
 
+       ttypgrp = tcgetpgrp(fd);
+
        /*
         * Only go through this trouble if the new
         * tty doesn't fall in this process group.
@@ -585,6 +640,7 @@ static void setup(struct console *con)
                ioctl(fd, TIOCSCTTY, (char *)1);
                tcsetpgrp(fd, ppgrp);
        }
+notty:
        dup2(fd, STDIN_FILENO);
        dup2(fd, STDOUT_FILENO);
        dup2(fd, STDERR_FILENO);
@@ -608,20 +664,25 @@ static const char *getpasswd(struct console *con)
        struct termios tty;
        static char pass[128], *ptr;
        struct chardata *cp;
-       const char *ret = pass;
+       const char *ret = NULL;
        unsigned char tc;
        char c, ascval;
        int eightbit;
        const int fd = con->fd;
 
-       if (con->flags & CON_NOTTY)
+       if (con->flags & CON_EIO)
                goto out;
+
        cp = &con->cp;
        tty = con->tio;
+       tc = 0;
+       ret = pass;
 
        tty.c_iflag &= ~(IUCLC|IXON|IXOFF|IXANY);
        tty.c_lflag &= ~(ECHO|ECHOE|ECHOK|ECHONL|TOSTOP|ISIG);
-       tc = (tcsetattr(fd, TCSAFLUSH, &tty) == 0);
+
+       if ((con->flags & CON_NOTTY) == 0)
+               tc = (tcsetattr(fd, TCSAFLUSH, &tty) == 0);
 
        sigemptyset(&sa.sa_mask);
        sa.sa_handler = alrm_handler;
@@ -647,11 +708,12 @@ static const char *getpasswd(struct console *con)
                        }
                        ret = NULL;
                        switch (errno) {
-                       case 0:
                        case EIO:
+                               con->flags |= CON_EIO;
                        case ESRCH:
                        case EINVAL:
                        case ENOENT:
+                       case 0:
                                break;
                        default:
                                warn(_("cannot read %s"), con->tty);
@@ -775,7 +837,7 @@ static void sushell(struct passwd *pwd)
 
 #ifdef HAVE_LIBSELINUX
        if (is_selinux_enabled() > 0) {
-               security_context_t scon=NULL;
+               char *scon=NULL;
                char *seuser=NULL;
                char *level=NULL;
                if (getseuserbyname("root", &seuser, &level) == 0) {
@@ -968,10 +1030,13 @@ int main(int argc, char **argv)
                con = list_entry(ptr, struct console, entry);
                if (con->id >= CONMAX)
                        break;
+               if (con->flags & CON_EIO)
+                       goto next;
 
                switch ((con->pid = fork())) {
                case 0:
                        mask_signal(SIGCHLD, SIG_DFL, NULL);
+                       dup2(con->fd, STDERR_FILENO);
                nofork:
                        setup(con);
                        while (1) {
@@ -1026,7 +1091,7 @@ int main(int argc, char **argv)
                default:
                        break;
                }
-
+       next:
                ptr = ptr->next;
 
        } while (ptr != &consoles);

Reply via email to