Script 'mail_helper' called by obssrc
Hello community,

here is the log from the commit of package systemd for openSUSE:Factory checked 
in at 2021-07-01 07:05:27
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/systemd (Old)
 and      /work/SRC/openSUSE:Factory/.systemd.new.2625 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "systemd"

Thu Jul  1 07:05:27 2021 rev:330 rq:902866 version:248.3

Changes:
--------
--- /work/SRC/openSUSE:Factory/systemd/systemd-mini.changes     2021-06-04 
00:33:08.388871352 +0200
+++ /work/SRC/openSUSE:Factory/.systemd.new.2625/systemd-mini.changes   
2021-07-01 07:05:31.787526132 +0200
@@ -1,0 +2,168 @@
+Mon Jun 28 16:45:04 UTC 2021 - Franck Bui <f...@suse.com>
+
+- Import commit e9a23d9e064c2e7ac21a1b984d116bcf15327e63
+
+  8dd19c6ee3 sd-device: allow to read sysattr which contains embedded NUL
+  d52409e5fe pid1: only add a Wants= type dependency on /tmp when 
PrivateTmp=yes (bsc#1181970
+
+-------------------------------------------------------------------
+Thu Jun 24 13:39:30 UTC 2021 - Franck Bui <f...@suse.com>
+
+- Import commit fcdb8dce591db2f5fc3c1e3eeb7abe9a2090b401
+
+  aa2d840a3b compat-rules: fix warning: "label ???out??? defined but not used" 
in path_id_compat.c
+
+- Restore 61-persistent-storage-compat.rules that was mistakenly
+  dropped during the merge of v248.
+
+-------------------------------------------------------------------
+Fri Jun 18 12:53:34 UTC 2021 - Franck Bui <f...@suse.com>
+
+- Create /run/lock/subsys again (bsc#1187292)
+
+  The creation of this directory was mistakenly dropped when
+  'filesystem' package took the initialization of the generic paths
+  over.
+
+  Paths under /run/lock are still managed by systemd for lack of
+  better place.
+
+-------------------------------------------------------------------
+Fri Jun  4 13:10:30 UTC 2021 - Franck Bui <f...@suse.com>
+
+- Drop systemd's dependency on udev (jsc#PM-2677)
+
+  In some environments (i.e. containers) udev is usually not necessary
+  but pulls in unnecessary packages.
+
+-------------------------------------------------------------------
+Fri Jun  4 07:32:16 UTC 2021 - Franck Bui <f...@suse.com>
+
+- Now that chkconfig/insserv are history, let's implement the strict
+  minimum in systemd-sysv-install to enable/disable SysV init scripts
+  (bsc#1186595 bsc#1186359)
+
+  Indeed there's no much point in dropping SysV support completely
+  until upstream will do especially since 3rd party applications such
+  as vmware still rely on it, see bsc#1186359).
+
+-------------------------------------------------------------------
+Tue May 25 16:30:40 UTC 2021 - Franck Bui <f...@suse.com>
+
+- Allow the sysusers config files shipped by systemd rpms to be
+  overriden during system installation (bsc#1171962)
+
+- While at it, add a comment to explain why we don't use
+  %sysusers_create in %pre and why it should be safe in %post.
+
+-------------------------------------------------------------------
+Thu May 20 20:19:27 UTC 2021 - Franck Bui <f...@suse.com>
+
+- udev requires systemd in its %post (bsc#1185958)
+
+  udevadm, called in udev's %post, requires libsystemd-shared-248.so.
+
+-------------------------------------------------------------------
+Thu May 20 18:52:53 UTC 2021 - Franck Bui <f...@suse.com>
+
+- Restore all "License:" tags
+
+  udev uses a different license (GPL-2.0-only) than the main package
+  and "osc service localrun format_spec_file" has the good taste to
+  restore the license tags for all other subpackages if one of the
+  subpackage tag differs.
+
+-------------------------------------------------------------------
+Thu May 20 15:47:38 UTC 2021 - Franck Bui <f...@suse.com>
+
+- Expect 644 permissions for /usr/lib/udev/compat-symlink-generation 
(bsc#1185807)
+
+-------------------------------------------------------------------
+Wed May 19 06:54:57 UTC 2021 - Franck Bui <f...@suse.com>
+
+- Spec file minor cleanups:
+
+  - Drop all "Group:" tags as they are deprecated.
+
+  - Drop "License:" tags from all subpackages and make it inherited
+    from the main package.
+
+  - Drop "%bcond_with parentpathid" as it's not used.
+
+-------------------------------------------------------------------
+Tue May 18 18:31:20 UTC 2021 - Franck Bui <f...@suse.com>
+
+- Introduce subpackage systemd-tests
+
+  This subpackage is mainly used before submitting a new version of
+  the systemd packages. As such it's not intended for regular users
+  hence can be removed/renamed at any time. One might wonder why the
+  unit tests are not executed during package builds (%check)... the
+  reason is that the environment used to build package (chroot) is too
+  limited and therefore only a subset of the unit tests would be
+  executed in this environment.
+
+  To disable the build of the subpackage, use "--without=tests".
+
+-------------------------------------------------------------------
+Tue May 18 10:04:16 UTC 2021 - Franck Bui <f...@suse.com>
+
+- Add 0001-Revert-core-prevent-excessive-proc-self-mountinfo-pa.patch
+
+  A temporary patch until
+  https://github.com/systemd/systemd/issues/19464 is solved.
+
+-------------------------------------------------------------------
+Tue May 18 08:19:57 UTC 2021 - Franck Bui <f...@suse.com>
+
+- Import commit bc08011f04ac4f12569ec05965149f665a0b110b (merge of v248.3)
+
+  For a complete list of changes, visit:
+  
https://github.com/openSUSE/systemd/compare/6f5c11b28f5739b901390f22c2bf4c003cadedaa...bc08011f04ac4f12569ec05965149f665a0b110b
+
+-------------------------------------------------------------------
+Mon May 10 13:12:56 UTC 2021 - Franck Bui <f...@suse.com>
+
+- Import commit 6f5c11b28f5739b901390f22c2bf4c003cadedaa (merge of v248.2)
+
+  For a complete list of changes, visit:
+  
https://github.com/openSUSE/systemd/compare/e5f93c9d2e9e26dd0dff430c4c072a547357ae7d...6f5c11b28f5739b901390f22c2bf4c003cadedaa
+
+-------------------------------------------------------------------
+Mon Apr 26 16:25:38 UTC 2021 - Franck Bui <f...@suse.com>
+
+- Upgrade to v248 (commit 5d3d934a5c2f4593207497db94e6f313348e89e7)
+
+  See https://github.com/openSUSE/systemd/blob/SUSE/v248/NEWS for
+  details. 
+
+  - A couple runtime dependencies on libraries are now tracked
+    manually (with Recommends:) due to the fact that some symbols of
+    these libs are dynamically loaded with dlopen() (heck!)
+
+  - oomd is left disablde for now
+
+  - pam configuration file 'systemd-user' is now shipped in
+    /usr/etc/pam.d
+
+  - Rebased 0001-conf-parser-introduce-early-drop-ins.patch
+            0003-strip-the-domain-part-from-etc-hostname-when-setting.patch
+            0006-sysv-generator-add-back-support-for-SysV-scripts-for.patch
+
+  - Dropped 0004-tmpfiles-support-exclude-statements-based-on-file-ow.patch
+    as it is SLE specific.
+
+- Clean systemd-experimental up:
+
+  - Enclose "%package/%descriptoin experimental" within a "%if
+    %experimental/%endif" block condition
+
+  - List the build requirements in the sub-package instead of listing
+    them in the main package.
+
+  - Enable support for fido2, pwquality and qrencode in the home
+    stuff
+
+  - Improve the package description
+
+-------------------------------------------------------------------
systemd.changes: same change

Old:
----
  0004-tmpfiles-support-exclude-statements-based-on-file-ow.patch
  systemd-v246.13+suse.105.g14581e0120.tar.xz

New:
----
  0001-Revert-core-prevent-excessive-proc-self-mountinfo-pa.patch
  systemd-v248.3+suse.30.ge9a23d9e06.tar.xz

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

Other differences:
------------------
++++++ systemd-mini.spec ++++++
--- /var/tmp/diff_new_pack.ku8fIG/_old  2021-07-01 07:05:32.887517539 +0200
+++ /var/tmp/diff_new_pack.ku8fIG/_new  2021-07-01 07:05:32.891517508 +0200
@@ -26,7 +26,7 @@
 ##### WARNING: please do not edit this auto generated spec file. Use the 
systemd.spec! #####
 %define mini -mini
 %define min_kernel_version 4.5
-%define suse_version +suse.105.g14581e0120
+%define suse_version +suse.30.ge9a23d9e06
 
 %bcond_with     gnuefi
 %if 0%{?bootstrap}
@@ -39,6 +39,7 @@
 %bcond_with     resolved
 %bcond_with     sysvcompat
 %bcond_with     experimental
+%bcond_with     tests
 %else
 %bcond_without  coredump
 %ifarch %{ix86} x86_64
@@ -52,16 +53,15 @@
 %bcond_without  resolved
 %bcond_without  sysvcompat
 %bcond_without  experimental
+%bcond_without  tests
 %endif
-%bcond_with     parentpathid
 
 Name:           systemd-mini
 URL:            http://www.freedesktop.org/wiki/Software/systemd
-Version:        246.13
+Version:        248.3
 Release:        0
 Summary:        A System and Session Manager
 License:        LGPL-2.1-or-later
-Group:          System/Base
 BuildRoot:      %{_tmppath}/%{name}-%{version}-build
 %if ! 0%{?bootstrap}
 BuildRequires:  docbook-xsl-stylesheets
@@ -76,6 +76,7 @@
 BuildRequires:  pkgconfig(audit)
 BuildRequires:  pkgconfig(libcryptsetup) >= 1.6.0
 BuildRequires:  pkgconfig(libdw)
+BuildRequires:  pkgconfig(libfido2)
 BuildRequires:  pkgconfig(liblz4)
 BuildRequires:  pkgconfig(liblzma)
 BuildRequires:  pkgconfig(libpcre2-8)
@@ -113,10 +114,6 @@
 %if %{with gnuefi}
 BuildRequires:  gnu-efi
 %endif
-%if %{with experimental}
-BuildRequires:  pkgconfig(fdisk)
-BuildRequires:  pkgconfig(openssl)
-%endif
 
 %if 0%{?bootstrap}
 #!BuildIgnore:  dbus-1
@@ -128,13 +125,15 @@
 Requires:       aaa_base >= 13.2
 Requires:       dbus-1 >= 1.4.0
 Requires:       kbd
-Requires:       kmod >= 15
 Requires:       netcfg >= 11.5
 Requires:       systemd-default-settings-branding
 Requires:       systemd-presets-branding
-Requires:       udev = %{version}-%{release}
 Requires:       util-linux >= 2.27.1
 Requires:       group(lock)
+# This Recommends because some symbols of libpcre2 are dlopen()ed by journalctl
+Recommends:     libpcre2-8-0
+# ditto but dlopen()ed by systemd-cryptenroll
+Recommends:     libfido2
 Requires(post): coreutils
 Requires(post): findutils
 Requires(post): systemd-presets-branding
@@ -175,7 +174,6 @@
 Patch1:         0001-restore-var-run-and-var-lock-bind-mount-if-they-aren.patch
 Patch2:         0002-rc-local-fix-ordering-startup-for-etc-init.d-boot.lo.patch
 Patch3:         0003-strip-the-domain-part-from-etc-hostname-when-setting.patch
-Patch4:         0004-tmpfiles-support-exclude-statements-based-on-file-ow.patch
 Patch5:         0005-udev-create-default-symlinks-for-primary-cd_dvd-driv.patch
 Patch6:         0006-sysv-generator-add-back-support-for-SysV-scripts-for.patch
 Patch7:         0007-networkd-make-network.service-an-alias-of-systemd-ne.patch
@@ -191,6 +189,7 @@
 # upstream and need an urgent fix. Even in this case, the patches are
 # temporary and should be removed as soon as a fix is merged by
 # upstream.
+Patch100:       0001-Revert-core-prevent-excessive-proc-self-mountinfo-pa.patch
 
 %description
 Systemd is a system and service manager, compatible with SysV and LSB
@@ -206,7 +205,6 @@
 %package doc
 Summary:        HTML documentation for systemd
 License:        LGPL-2.1-or-later
-Group:          Documentation/Other
 Supplements:    (systemd and patterns-base-documentation)
 
 %description doc
@@ -218,7 +216,6 @@
 %package devel
 Summary:        Development headers for systemd
 License:        LGPL-2.1-or-later
-Group:          Development/Libraries/C and C++
 Requires:       libsystemd0%{?mini} = %{version}-%{release}
 Requires:       systemd-rpm-macros
 %if 0%{?bootstrap}
@@ -231,7 +228,6 @@
 %package sysvinit
 Summary:        System V init tools
 License:        LGPL-2.1-or-later
-Group:          System/Base
 Requires:       %{name} = %{version}-%{release}
 Provides:       sbin_init
 Conflicts:      otherproviders(sbin_init)
@@ -244,7 +240,6 @@
 %package -n libsystemd0%{?mini}
 Summary:        Component library for systemd
 License:        LGPL-2.1-or-later
-Group:          System/Libraries
 %if 0%{?bootstrap}
 Conflicts:      libsystemd0
 Requires:       this-is-only-for-build-envs
@@ -274,14 +269,14 @@
 %package -n udev%{?mini}
 Summary:        A rule-based device node and kernel event manager
 License:        GPL-2.0-only
-Group:          System/Kernel
 URL:            http://www.kernel.org/pub/linux/utils/kernel/hotplug/udev.html
+Requires:       kmod
 Requires:       system-group-hardware
 Requires:       group(kvm)
 Requires(post): sed
 Requires(post): coreutils
 Requires(postun): coreutils
-Requires(postun): /usr/bin/systemctl
+%systemd_requires
 
 Conflicts:      filesystem < 11.5
 Conflicts:      mkinitrd < 2.7.0
@@ -307,7 +302,6 @@
 %package -n libudev%{?mini}1
 Summary:        Dynamic library to access udev device information
 License:        LGPL-2.1-or-later
-Group:          System/Libraries
 %if 0%{?bootstrap}
 Conflicts:      libudev1
 Conflicts:      kiwi
@@ -322,7 +316,6 @@
 %package -n libudev%{?mini}-devel
 Summary:        Development files for libudev
 License:        LGPL-2.1-or-later
-Group:          Development/Libraries/Other
 Requires:       libudev%{?mini}1 = %{version}-%{release}
 %if 0%{?bootstrap}
 Provides:       libudev-devel = %{version}-%{version}
@@ -338,7 +331,6 @@
 %package coredump
 Summary:        Systemd tools for coredump management
 License:        LGPL-2.1-or-later
-Group:          System/Base
 Requires:       %{name} = %{version}-%{release}
 %systemd_requires
 Provides:       systemd:%{_bindir}/coredumpctl
@@ -352,7 +344,6 @@
 %package container
 Summary:        Systemd tools for container management
 License:        LGPL-2.1-or-later
-Group:          System/Base
 Requires:       %{name} = %{version}-%{release}
 %systemd_requires
 Provides:       systemd:%{_bindir}/systemd-nspawn
@@ -370,8 +361,9 @@
 %package network
 Summary:        Systemd tools for networkd and resolved
 License:        LGPL-2.1-or-later
-Group:          System/Base
 Requires:       %{name} = %{version}-%{release}
+# This Recommends because some symbols of libidn2 are dlopen()ed by resolved
+Recommends:     pkgconfig(libidn2)
 BuildRequires:  pkgconfig(libidn2)
 Provides:       systemd:/usr/lib/systemd/systemd-networkd
 Provides:       systemd:/usr/lib/systemd/systemd-resolved
@@ -387,7 +379,6 @@
 %package portable
 Summary:        Systemd tools for portable services
 License:        LGPL-2.1-or-later
-Group:          System/Base
 Requires:       %{name} = %{version}-%{release}
 %systemd_requires
 
@@ -407,7 +398,6 @@
 %package logger
 Summary:        Journal only logging
 License:        LGPL-2.1-or-later
-Group:          System/Base
 Provides:       syslog
 Provides:       sysvinit(syslog)
 Requires(post): /usr/bin/systemctl
@@ -419,7 +409,6 @@
 %package -n nss-systemd
 Summary:        Plugin for local virtual host name resolution
 License:        LGPL-2.1-or-later
-Group:          System/Libraries
 
 %description -n nss-systemd
 This package contains a plugin for the Name Service Switch (NSS),
@@ -432,7 +421,6 @@
 %package -n nss-myhostname
 Summary:        Plugin for local system host name resolution
 License:        LGPL-2.1-or-later
-Group:          System/Libraries
 
 %description -n nss-myhostname
 This package contains a plug-in module for the Name Service Switch
@@ -449,7 +437,6 @@
 %package -n nss-resolve
 Summary:        Plugin for local hostname resolution via systemd-resolved
 License:        LGPL-2.1-or-later
-Group:          System/Libraries
 Requires:       %{name}-network = %{version}-%{release}
 
 %description -n nss-resolve
@@ -466,7 +453,6 @@
 %package -n nss-mymachines
 Summary:        Plugin for local virtual host name resolution
 License:        LGPL-2.1-or-later
-Group:          System/Libraries
 
 %description -n nss-mymachines
 This package contains a plugin for the Name Service Switch (NSS),
@@ -483,11 +469,8 @@
 %package journal-remote
 Summary:        Gateway for serving journal events over the network using HTTP
 License:        LGPL-2.1-or-later
-Group:          System/Base
 Requires:       %{name} = %{version}-%{release}
-Requires(post):   systemd
-Requires(preun):  systemd
-Requires(postun): systemd
+%systemd_requires
 
 %description journal-remote
 This extends the journal functionality to keep a copy of logs on a
@@ -499,23 +482,61 @@
 systemd-journal-remote, and systemd-journal-upload.
 %endif
 
+%if %{with tests}
+%package tests
+Summary:        Unit tests for systemd
+License:        LGPL-2.1-or-later
+Requires:       %{name} = %{version}-%{release}
+Recommends:     python3
+Recommends:     python3-colorama
+# Optional dep for mkfs.vfat needed by test-loop-block (otherwise skipped)
+Recommends:     dosfstools
+
+%description tests
+This package contains the unit tests used to check various internal
+functions used by systemd and all its components.
+
+The python script /usr/lib/systemd/tests/run-unit-tests.py can be used
+to run all unit tests at once.
+%endif
+
+%if %{with experimental}
 %package experimental
 Summary:        Experimental systemd features
 License:        LGPL-2.1-or-later
-Group:          System/Base
 Requires:       %{name} = %{version}-%{release}
+# These Recommends because some symbols of these libs are dlopen()ed by home 
stuff
+Recommends:     libfido2
+Recommends:     libpwquality1
+Recommends:     libqrencode4
+# libfido2, libpwquality1 and libqrencode4 are build requirements for home 
stuff
+BuildRequires:  pkgconfig(libfido2)
+BuildRequires:  pkgconfig(libqrencode)
+BuildRequires:  pkgconfig(pwquality)
+# fdisk and openssl are build requirements for home stuff and repart
+BuildRequires:  pkgconfig(fdisk)
+BuildRequires:  pkgconfig(openssl)
 %systemd_requires
 
 %description experimental
-This package contains optional extra systemd services that are
-considered a preview feature. Behaviour details and option names are
-subject to change without the usual backwards-compatibility promises.
-
-Components that turn out to be stable may be merged into the main or a
-dedicated package later.
+This package contains optional extra services that are considered as
+previews and are provided so users can do early experiments with the
+new features or technologies without waiting for them to be fully
+supported by either upstream and openSUSE.
+
+Please note that all services should be considered in development
+phase and as such their behaviors details, unit files, option names,
+etc... are subject to change without the usual backwards-compatibility
+promises.
+
+Components that turn out to be stable and considered as fully
+supported will be merged into the main package or moved into a
+dedicated package.
 
-Use at your own risk.
+The package contains: homed, pstore, repart, userdbd.
 
+Have fun with these services at your own risk.
+%endif
 
 %if ! 0%{?bootstrap}
 %lang_package
@@ -528,6 +549,7 @@
 %build
 # keep split-usr until all packages have moved their systemd rules to /usr
 %meson \
+        -Dmode=release \
         -Dversion-tag=%{version}%{suse_version} \
         -Ddocdir=%{_docdir}/systemd \
         -Drootprefix=/usr \
@@ -535,6 +557,7 @@
         -Dsplit-bin=true \
         -Dsystem-uid-max=499 \
         -Dsystem-gid-max=499 \
+        -Dpamconfdir=%{_distconfdir}/pam.d \
         -Dpamlibdir=%{_pamdir} \
         -Dxinitrcdir=%{_distconfdir}/X11/xinit/xinitrc.d \
         -Drpmmacrosdir=no \
@@ -550,6 +573,7 @@
         -Dsmack=false \
         -Dima=false \
         -Delfutils=auto \
+        -Doomd=false \
 %if %{with experimental}
         -Dpstore=true \
         -Drepart=true \
@@ -562,16 +586,11 @@
         -Duserdb=false \
 %endif
 %if 0%{?bootstrap}
-        -Dfdisk=false \
-        -Dpwquality=false \
-        -Dp11kit=false \
+        -Dnss-myhostname=false \
 %else
         -Dman=true \
         -Dhtml=true \
 %endif
-%if 0%{?bootstrap}
-        -Dnss-myhostname=false \
-%endif
 %if %{without coredump}
         -Dcoredump=false \
 %endif
@@ -600,6 +619,13 @@
         -Dsysvinit-path= \
         -Dsysvrcnd-path= \
 %endif
+%if %{with tests}
+        -Dtests=unsafe \
+        -Dinstall-tests=true \
+%else
+        -Dtests=false \
+        -Dinstall-tests=false \
+%endif
         -Dadm-group=false \
         -Dwheel-group=false \
         -Dgshadow=false \
@@ -660,8 +686,8 @@
 rm -rf %{buildroot}/etc/systemd/system/*.target.{requires,wants}
 rm -f %{buildroot}/etc/systemd/system/default.target
 
-# Replace /etc/pam.d/systemd-user shipped by upstream with the openSUSE one.
-install -m0644 %{S:2} %{buildroot}%{_sysconfdir}/pam.d/
+# Replace upstream systemd-user with the openSUSE one.
+install -m0644 %{S:2} %{buildroot}%{_distconfdir}/pam.d
 
 # don't enable wall ask password service, it spams every console (bnc#747783)
 rm 
%{buildroot}%{_unitdir}/multi-user.target.wants/systemd-ask-password-wall.path
@@ -838,10 +864,16 @@
 pam-config --add --systemd || :
 %endif
 
-%sysusers_create %{_sysusersdir}/systemd.conf
+# systemd-sysusers is not available in %pre so this needs to be done
+# in %post. However this shouldn't be an issue since all files the
+# main package ships are owned by root.
+%sysusers_create systemd.conf
+
 [ -e %{_localstatedir}/lib/random-seed ] && mv 
%{_localstatedir}/lib/random-seed %{_localstatedir}/lib/systemd/ || :
 /usr/lib/systemd/systemd-random-seed save || :
+
 systemctl daemon-reexec  || :
+
 %journal_catalog_update
 %tmpfiles_create
 
@@ -908,7 +940,7 @@
 fi
 
 %postun
-# daemon-reload is implied by %systemd_postun_with_restart
+# daemon-reload is implied by %%systemd_postun_with_restart
 %systemd_postun_with_restart systemd-journald.service
 %systemd_postun_with_restart systemd-timesyncd.service
 # Avoid restarting logind until fixed upstream (issue #1163)
@@ -1012,7 +1044,8 @@
 %service_add_pre systemd-journal-upload.service
 
 %post journal-remote
-%sysusers_create %{_sysusersdir}/systemd-remote.conf
+# Assume that all files shipped by systemd-journal-remove are owned by root.
+%sysusers_create systemd-remote.conf
 %service_add_post systemd-journal-gatewayd.socket 
systemd-journal-gatewayd.service
 %service_add_post systemd-journal-remote.socket systemd-journal-remote.service
 %service_add_post systemd-journal-upload.service
@@ -1116,7 +1149,11 @@
 %{_bindir}/localectl
 %{_bindir}/systemctl
 %{_bindir}/systemd-analyze
+%if ! 0%{?bootstrap}
+%{_bindir}/systemd-cryptenroll
+%endif
 %{_bindir}/systemd-delta
+%{_bindir}/systemd-dissect
 %{_bindir}/systemd-escape
 %{_bindir}/systemd-firstboot
 %{_bindir}/systemd-id128
@@ -1126,6 +1163,7 @@
 %{_bindir}/systemd-umount
 %{_bindir}/systemd-notify
 %{_bindir}/systemd-run
+%{_bindir}/systemd-sysext
 %{_bindir}/journalctl
 %{_bindir}/systemd-ask-password
 %{_bindir}/loginctl
@@ -1166,6 +1204,7 @@
 %exclude %{_unitdir}/systemd-udev*.*
 %exclude %{_unitdir}/*.target.wants/systemd-udev*.*
 %exclude %{_unitdir}/initrd-udevadm-cleanup-db.service
+%exclude %{_unitdir}/kmod-static-nodes.service
 %exclude %{_unitdir}/systemd-nspawn@.service
 %if %{with machined}
 %exclude %{_prefix}/lib/systemd/systemd-machined
@@ -1262,6 +1301,7 @@
 %{_modulesloaddir}
 
 %dir %{_sysusersdir}
+%doc %{_sysusersdir}/README
 %{_sysusersdir}/systemd.conf
 
 %dir %{_sysconfdir}/tmpfiles.d
@@ -1275,6 +1315,7 @@
 
 %dir %{_sysctldir}
 %dir %{_sysconfdir}/sysctl.d
+%doc %{_sysctldir}/README
 %{_sysctldir}/99-sysctl.conf
 
 %dir %{_sysconfdir}/X11/xorg.conf.d
@@ -1289,7 +1330,7 @@
 %dir %{_distconfdir}/X11/xinit/xinitrc.d
 %{_distconfdir}/X11/xinit/xinitrc.d/50-systemd-user.sh
 
-%config(noreplace) %{_sysconfdir}/pam.d/systemd-user
+%{_distconfdir}/pam.d/systemd-user
 
 %config(noreplace) %{_sysconfdir}/systemd/journald.conf
 %config(noreplace) %{_sysconfdir}/systemd/logind.conf
@@ -1313,6 +1354,7 @@
 
 # FIXME: why do we have to own this dir ?
 %dir %{_modprobedir}
+%doc %{_modprobedir}/README
 %{_modprobedir}/systemd.conf
 
 # Some files created at runtime.
@@ -1353,6 +1395,7 @@
 %{_mandir}/man7/[bdfks]*
 %{_mandir}/man8/kern*
 %{_mandir}/man8/pam_*
+%{_mandir}/man8//rc-local.*
 %{_mandir}/man8/systemd-[a-gik-tvx]*
 %{_mandir}/man8/systemd-h[aioy]*
 %{_mandir}/man8/systemd-journald*
@@ -1477,13 +1520,18 @@
 %dir %{_prefix}/lib/udev/
 %{_prefix}/lib/udev/ata_id
 %{_prefix}/lib/udev/cdrom_id
+# dmi_memory_id is only relevant on arches with DMI
+%ifarch %{arm} aarch64 %{ix86} x86_64 ia64 mips
+%{_prefix}/lib/udev/dmi_memory_id
+%endif
 %{_prefix}/lib/udev/fido_id
 %{_prefix}/lib/udev/mtd_probe
 %{_prefix}/lib/udev/path_id_compat
 %{_prefix}/lib/udev/scsi_id
 %{_prefix}/lib/udev/v4l_id
-%ghost %{_prefix}/lib/udev/compat-symlink-generation
+%ghost %attr(644, root, root) %{_prefix}/lib/udev/compat-symlink-generation
 %dir %{_udevrulesdir}/
+%doc %{_udevrulesdir}/README
 %exclude %{_udevrulesdir}/70-uaccess.rules
 %exclude %{_udevrulesdir}/71-seat.rules
 %exclude %{_udevrulesdir}/73-seat-late.rules
@@ -1504,6 +1552,7 @@
 %endif
 %dir %{_unitdir}
 %{_prefix}/lib/systemd/systemd-udevd
+%{_unitdir}/kmod-static-nodes.service
 %{_unitdir}/systemd-udev*.service
 %{_unitdir}/systemd-udevd*.socket
 %{_unitdir}/initrd-udevadm-cleanup-db.service
@@ -1696,10 +1745,15 @@
 %{_mandir}/man*/systemd-portabled*
 %endif
 
+%if %{with tests}
+%files tests
+%{_prefix}/lib/systemd/tests
+%endif
+
 %if %{with experimental}
 %files experimental
 %defattr(-,root,root)
-%config(noreplace) /etc/systemd/pstore.conf
+%config(noreplace) %{_sysconfdir}/systemd/pstore.conf
 %{_prefix}/lib/systemd/systemd-pstore
 %{_unitdir}/systemd-pstore.service
 %{_tmpfilesdir}/systemd-pstore.conf
@@ -1707,18 +1761,19 @@
 %{_bindir}/systemd-repart
 %{_unitdir}/systemd-repart.service
 %{_mandir}/man*/*repart*
-/usr/bin/userdbctl
+%{_bindir}/userdbctl
 %{_prefix}/lib/systemd/systemd-userwork
 %{_prefix}/lib/systemd/systemd-userdbd
 %{_unitdir}/systemd-userdbd.service
 %{_unitdir}/systemd-userdbd.socket
 %{_mandir}/man*/userdbctl*
 %{_mandir}/man*/systemd-userdbd*
-%config %{_sysconfdir}/homed.conf
+%config(noreplace) %{_sysconfdir}/systemd/homed.conf
 %{_bindir}/homectl
 %{_prefix}/lib/systemd/systemd-homed
 %{_prefix}/lib/systemd/systemd-homework
 %{_unitdir}/systemd-homed.service
+%{_unitdir}/systemd-homed-activate.service
 %{_pamdir}/pam_systemd_home.so
 %{_datadir}/dbus-1/system-services/org.freedesktop.home1.service
 %{_datadir}/dbus-1/system.d/org.freedesktop.home1.conf

++++++ systemd.spec ++++++
--- /var/tmp/diff_new_pack.ku8fIG/_old  2021-07-01 07:05:32.923517258 +0200
+++ /var/tmp/diff_new_pack.ku8fIG/_new  2021-07-01 07:05:32.927517227 +0200
@@ -24,7 +24,7 @@
 %define bootstrap 0
 %define mini %nil
 %define min_kernel_version 4.5
-%define suse_version +suse.105.g14581e0120
+%define suse_version +suse.30.ge9a23d9e06
 
 %bcond_with     gnuefi
 %if 0%{?bootstrap}
@@ -37,6 +37,7 @@
 %bcond_with     resolved
 %bcond_with     sysvcompat
 %bcond_with     experimental
+%bcond_with     tests
 %else
 %bcond_without  coredump
 %ifarch %{ix86} x86_64
@@ -50,16 +51,15 @@
 %bcond_without  resolved
 %bcond_without  sysvcompat
 %bcond_without  experimental
+%bcond_without  tests
 %endif
-%bcond_with     parentpathid
 
 Name:           systemd
 URL:            http://www.freedesktop.org/wiki/Software/systemd
-Version:        246.13
+Version:        248.3
 Release:        0
 Summary:        A System and Session Manager
 License:        LGPL-2.1-or-later
-Group:          System/Base
 BuildRoot:      %{_tmppath}/%{name}-%{version}-build
 %if ! 0%{?bootstrap}
 BuildRequires:  docbook-xsl-stylesheets
@@ -74,6 +74,7 @@
 BuildRequires:  pkgconfig(audit)
 BuildRequires:  pkgconfig(libcryptsetup) >= 1.6.0
 BuildRequires:  pkgconfig(libdw)
+BuildRequires:  pkgconfig(libfido2)
 BuildRequires:  pkgconfig(liblz4)
 BuildRequires:  pkgconfig(liblzma)
 BuildRequires:  pkgconfig(libpcre2-8)
@@ -111,10 +112,6 @@
 %if %{with gnuefi}
 BuildRequires:  gnu-efi
 %endif
-%if %{with experimental}
-BuildRequires:  pkgconfig(fdisk)
-BuildRequires:  pkgconfig(openssl)
-%endif
 
 %if 0%{?bootstrap}
 #!BuildIgnore:  dbus-1
@@ -126,13 +123,15 @@
 Requires:       aaa_base >= 13.2
 Requires:       dbus-1 >= 1.4.0
 Requires:       kbd
-Requires:       kmod >= 15
 Requires:       netcfg >= 11.5
 Requires:       systemd-default-settings-branding
 Requires:       systemd-presets-branding
-Requires:       udev = %{version}-%{release}
 Requires:       util-linux >= 2.27.1
 Requires:       group(lock)
+# This Recommends because some symbols of libpcre2 are dlopen()ed by journalctl
+Recommends:     libpcre2-8-0
+# ditto but dlopen()ed by systemd-cryptenroll
+Recommends:     libfido2
 Requires(post): coreutils
 Requires(post): findutils
 Requires(post): systemd-presets-branding
@@ -173,7 +172,6 @@
 Patch1:         0001-restore-var-run-and-var-lock-bind-mount-if-they-aren.patch
 Patch2:         0002-rc-local-fix-ordering-startup-for-etc-init.d-boot.lo.patch
 Patch3:         0003-strip-the-domain-part-from-etc-hostname-when-setting.patch
-Patch4:         0004-tmpfiles-support-exclude-statements-based-on-file-ow.patch
 Patch5:         0005-udev-create-default-symlinks-for-primary-cd_dvd-driv.patch
 Patch6:         0006-sysv-generator-add-back-support-for-SysV-scripts-for.patch
 Patch7:         0007-networkd-make-network.service-an-alias-of-systemd-ne.patch
@@ -189,6 +187,7 @@
 # upstream and need an urgent fix. Even in this case, the patches are
 # temporary and should be removed as soon as a fix is merged by
 # upstream.
+Patch100:       0001-Revert-core-prevent-excessive-proc-self-mountinfo-pa.patch
 
 %description
 Systemd is a system and service manager, compatible with SysV and LSB
@@ -204,7 +203,6 @@
 %package doc
 Summary:        HTML documentation for systemd
 License:        LGPL-2.1-or-later
-Group:          Documentation/Other
 Supplements:    (systemd and patterns-base-documentation)
 
 %description doc
@@ -216,7 +214,6 @@
 %package devel
 Summary:        Development headers for systemd
 License:        LGPL-2.1-or-later
-Group:          Development/Libraries/C and C++
 Requires:       libsystemd0%{?mini} = %{version}-%{release}
 Requires:       systemd-rpm-macros
 %if 0%{?bootstrap}
@@ -229,7 +226,6 @@
 %package sysvinit
 Summary:        System V init tools
 License:        LGPL-2.1-or-later
-Group:          System/Base
 Requires:       %{name} = %{version}-%{release}
 Provides:       sbin_init
 Conflicts:      otherproviders(sbin_init)
@@ -242,7 +238,6 @@
 %package -n libsystemd0%{?mini}
 Summary:        Component library for systemd
 License:        LGPL-2.1-or-later
-Group:          System/Libraries
 %if 0%{?bootstrap}
 Conflicts:      libsystemd0
 Requires:       this-is-only-for-build-envs
@@ -272,14 +267,14 @@
 %package -n udev%{?mini}
 Summary:        A rule-based device node and kernel event manager
 License:        GPL-2.0-only
-Group:          System/Kernel
 URL:            http://www.kernel.org/pub/linux/utils/kernel/hotplug/udev.html
+Requires:       kmod
 Requires:       system-group-hardware
 Requires:       group(kvm)
 Requires(post): sed
 Requires(post): coreutils
 Requires(postun): coreutils
-Requires(postun): /usr/bin/systemctl
+%systemd_requires
 
 Conflicts:      filesystem < 11.5
 Conflicts:      mkinitrd < 2.7.0
@@ -305,7 +300,6 @@
 %package -n libudev%{?mini}1
 Summary:        Dynamic library to access udev device information
 License:        LGPL-2.1-or-later
-Group:          System/Libraries
 %if 0%{?bootstrap}
 Conflicts:      libudev1
 Conflicts:      kiwi
@@ -320,7 +314,6 @@
 %package -n libudev%{?mini}-devel
 Summary:        Development files for libudev
 License:        LGPL-2.1-or-later
-Group:          Development/Libraries/Other
 Requires:       libudev%{?mini}1 = %{version}-%{release}
 %if 0%{?bootstrap}
 Provides:       libudev-devel = %{version}-%{version}
@@ -336,7 +329,6 @@
 %package coredump
 Summary:        Systemd tools for coredump management
 License:        LGPL-2.1-or-later
-Group:          System/Base
 Requires:       %{name} = %{version}-%{release}
 %systemd_requires
 Provides:       systemd:%{_bindir}/coredumpctl
@@ -350,7 +342,6 @@
 %package container
 Summary:        Systemd tools for container management
 License:        LGPL-2.1-or-later
-Group:          System/Base
 Requires:       %{name} = %{version}-%{release}
 %systemd_requires
 Provides:       systemd:%{_bindir}/systemd-nspawn
@@ -368,8 +359,9 @@
 %package network
 Summary:        Systemd tools for networkd and resolved
 License:        LGPL-2.1-or-later
-Group:          System/Base
 Requires:       %{name} = %{version}-%{release}
+# This Recommends because some symbols of libidn2 are dlopen()ed by resolved
+Recommends:     pkgconfig(libidn2)
 BuildRequires:  pkgconfig(libidn2)
 Provides:       systemd:/usr/lib/systemd/systemd-networkd
 Provides:       systemd:/usr/lib/systemd/systemd-resolved
@@ -385,7 +377,6 @@
 %package portable
 Summary:        Systemd tools for portable services
 License:        LGPL-2.1-or-later
-Group:          System/Base
 Requires:       %{name} = %{version}-%{release}
 %systemd_requires
 
@@ -405,7 +396,6 @@
 %package logger
 Summary:        Journal only logging
 License:        LGPL-2.1-or-later
-Group:          System/Base
 Provides:       syslog
 Provides:       sysvinit(syslog)
 Requires(post): /usr/bin/systemctl
@@ -417,7 +407,6 @@
 %package -n nss-systemd
 Summary:        Plugin for local virtual host name resolution
 License:        LGPL-2.1-or-later
-Group:          System/Libraries
 
 %description -n nss-systemd
 This package contains a plugin for the Name Service Switch (NSS),
@@ -430,7 +419,6 @@
 %package -n nss-myhostname
 Summary:        Plugin for local system host name resolution
 License:        LGPL-2.1-or-later
-Group:          System/Libraries
 
 %description -n nss-myhostname
 This package contains a plug-in module for the Name Service Switch
@@ -447,7 +435,6 @@
 %package -n nss-resolve
 Summary:        Plugin for local hostname resolution via systemd-resolved
 License:        LGPL-2.1-or-later
-Group:          System/Libraries
 Requires:       %{name}-network = %{version}-%{release}
 
 %description -n nss-resolve
@@ -464,7 +451,6 @@
 %package -n nss-mymachines
 Summary:        Plugin for local virtual host name resolution
 License:        LGPL-2.1-or-later
-Group:          System/Libraries
 
 %description -n nss-mymachines
 This package contains a plugin for the Name Service Switch (NSS),
@@ -481,11 +467,8 @@
 %package journal-remote
 Summary:        Gateway for serving journal events over the network using HTTP
 License:        LGPL-2.1-or-later
-Group:          System/Base
 Requires:       %{name} = %{version}-%{release}
-Requires(post):   systemd
-Requires(preun):  systemd
-Requires(postun): systemd
+%systemd_requires
 
 %description journal-remote
 This extends the journal functionality to keep a copy of logs on a
@@ -497,23 +480,61 @@
 systemd-journal-remote, and systemd-journal-upload.
 %endif
 
+%if %{with tests}
+%package tests
+Summary:        Unit tests for systemd
+License:        LGPL-2.1-or-later
+Requires:       %{name} = %{version}-%{release}
+Recommends:     python3
+Recommends:     python3-colorama
+# Optional dep for mkfs.vfat needed by test-loop-block (otherwise skipped)
+Recommends:     dosfstools
+
+%description tests
+This package contains the unit tests used to check various internal
+functions used by systemd and all its components.
+
+The python script /usr/lib/systemd/tests/run-unit-tests.py can be used
+to run all unit tests at once.
+%endif
+
+%if %{with experimental}
 %package experimental
 Summary:        Experimental systemd features
 License:        LGPL-2.1-or-later
-Group:          System/Base
 Requires:       %{name} = %{version}-%{release}
+# These Recommends because some symbols of these libs are dlopen()ed by home 
stuff
+Recommends:     libfido2
+Recommends:     libpwquality1
+Recommends:     libqrencode4
+# libfido2, libpwquality1 and libqrencode4 are build requirements for home 
stuff
+BuildRequires:  pkgconfig(libfido2)
+BuildRequires:  pkgconfig(libqrencode)
+BuildRequires:  pkgconfig(pwquality)
+# fdisk and openssl are build requirements for home stuff and repart
+BuildRequires:  pkgconfig(fdisk)
+BuildRequires:  pkgconfig(openssl)
 %systemd_requires
 
 %description experimental
-This package contains optional extra systemd services that are
-considered a preview feature. Behaviour details and option names are
-subject to change without the usual backwards-compatibility promises.
-
-Components that turn out to be stable may be merged into the main or a
-dedicated package later.
+This package contains optional extra services that are considered as
+previews and are provided so users can do early experiments with the
+new features or technologies without waiting for them to be fully
+supported by either upstream and openSUSE.
+
+Please note that all services should be considered in development
+phase and as such their behaviors details, unit files, option names,
+etc... are subject to change without the usual backwards-compatibility
+promises.
+
+Components that turn out to be stable and considered as fully
+supported will be merged into the main package or moved into a
+dedicated package.
 
-Use at your own risk.
+The package contains: homed, pstore, repart, userdbd.
 
+Have fun with these services at your own risk.
+%endif
 
 %if ! 0%{?bootstrap}
 %lang_package
@@ -526,6 +547,7 @@
 %build
 # keep split-usr until all packages have moved their systemd rules to /usr
 %meson \
+        -Dmode=release \
         -Dversion-tag=%{version}%{suse_version} \
         -Ddocdir=%{_docdir}/systemd \
         -Drootprefix=/usr \
@@ -533,6 +555,7 @@
         -Dsplit-bin=true \
         -Dsystem-uid-max=499 \
         -Dsystem-gid-max=499 \
+        -Dpamconfdir=%{_distconfdir}/pam.d \
         -Dpamlibdir=%{_pamdir} \
         -Dxinitrcdir=%{_distconfdir}/X11/xinit/xinitrc.d \
         -Drpmmacrosdir=no \
@@ -548,6 +571,7 @@
         -Dsmack=false \
         -Dima=false \
         -Delfutils=auto \
+        -Doomd=false \
 %if %{with experimental}
         -Dpstore=true \
         -Drepart=true \
@@ -560,16 +584,11 @@
         -Duserdb=false \
 %endif
 %if 0%{?bootstrap}
-        -Dfdisk=false \
-        -Dpwquality=false \
-        -Dp11kit=false \
+        -Dnss-myhostname=false \
 %else
         -Dman=true \
         -Dhtml=true \
 %endif
-%if 0%{?bootstrap}
-        -Dnss-myhostname=false \
-%endif
 %if %{without coredump}
         -Dcoredump=false \
 %endif
@@ -598,6 +617,13 @@
         -Dsysvinit-path= \
         -Dsysvrcnd-path= \
 %endif
+%if %{with tests}
+        -Dtests=unsafe \
+        -Dinstall-tests=true \
+%else
+        -Dtests=false \
+        -Dinstall-tests=false \
+%endif
         -Dadm-group=false \
         -Dwheel-group=false \
         -Dgshadow=false \
@@ -658,8 +684,8 @@
 rm -rf %{buildroot}/etc/systemd/system/*.target.{requires,wants}
 rm -f %{buildroot}/etc/systemd/system/default.target
 
-# Replace /etc/pam.d/systemd-user shipped by upstream with the openSUSE one.
-install -m0644 %{S:2} %{buildroot}%{_sysconfdir}/pam.d/
+# Replace upstream systemd-user with the openSUSE one.
+install -m0644 %{S:2} %{buildroot}%{_distconfdir}/pam.d
 
 # don't enable wall ask password service, it spams every console (bnc#747783)
 rm 
%{buildroot}%{_unitdir}/multi-user.target.wants/systemd-ask-password-wall.path
@@ -836,10 +862,16 @@
 pam-config --add --systemd || :
 %endif
 
-%sysusers_create %{_sysusersdir}/systemd.conf
+# systemd-sysusers is not available in %pre so this needs to be done
+# in %post. However this shouldn't be an issue since all files the
+# main package ships are owned by root.
+%sysusers_create systemd.conf
+
 [ -e %{_localstatedir}/lib/random-seed ] && mv 
%{_localstatedir}/lib/random-seed %{_localstatedir}/lib/systemd/ || :
 /usr/lib/systemd/systemd-random-seed save || :
+
 systemctl daemon-reexec  || :
+
 %journal_catalog_update
 %tmpfiles_create
 
@@ -906,7 +938,7 @@
 fi
 
 %postun
-# daemon-reload is implied by %systemd_postun_with_restart
+# daemon-reload is implied by %%systemd_postun_with_restart
 %systemd_postun_with_restart systemd-journald.service
 %systemd_postun_with_restart systemd-timesyncd.service
 # Avoid restarting logind until fixed upstream (issue #1163)
@@ -1010,7 +1042,8 @@
 %service_add_pre systemd-journal-upload.service
 
 %post journal-remote
-%sysusers_create %{_sysusersdir}/systemd-remote.conf
+# Assume that all files shipped by systemd-journal-remove are owned by root.
+%sysusers_create systemd-remote.conf
 %service_add_post systemd-journal-gatewayd.socket 
systemd-journal-gatewayd.service
 %service_add_post systemd-journal-remote.socket systemd-journal-remote.service
 %service_add_post systemd-journal-upload.service
@@ -1114,7 +1147,11 @@
 %{_bindir}/localectl
 %{_bindir}/systemctl
 %{_bindir}/systemd-analyze
+%if ! 0%{?bootstrap}
+%{_bindir}/systemd-cryptenroll
+%endif
 %{_bindir}/systemd-delta
+%{_bindir}/systemd-dissect
 %{_bindir}/systemd-escape
 %{_bindir}/systemd-firstboot
 %{_bindir}/systemd-id128
@@ -1124,6 +1161,7 @@
 %{_bindir}/systemd-umount
 %{_bindir}/systemd-notify
 %{_bindir}/systemd-run
+%{_bindir}/systemd-sysext
 %{_bindir}/journalctl
 %{_bindir}/systemd-ask-password
 %{_bindir}/loginctl
@@ -1164,6 +1202,7 @@
 %exclude %{_unitdir}/systemd-udev*.*
 %exclude %{_unitdir}/*.target.wants/systemd-udev*.*
 %exclude %{_unitdir}/initrd-udevadm-cleanup-db.service
+%exclude %{_unitdir}/kmod-static-nodes.service
 %exclude %{_unitdir}/systemd-nspawn@.service
 %if %{with machined}
 %exclude %{_prefix}/lib/systemd/systemd-machined
@@ -1260,6 +1299,7 @@
 %{_modulesloaddir}
 
 %dir %{_sysusersdir}
+%doc %{_sysusersdir}/README
 %{_sysusersdir}/systemd.conf
 
 %dir %{_sysconfdir}/tmpfiles.d
@@ -1273,6 +1313,7 @@
 
 %dir %{_sysctldir}
 %dir %{_sysconfdir}/sysctl.d
+%doc %{_sysctldir}/README
 %{_sysctldir}/99-sysctl.conf
 
 %dir %{_sysconfdir}/X11/xorg.conf.d
@@ -1287,7 +1328,7 @@
 %dir %{_distconfdir}/X11/xinit/xinitrc.d
 %{_distconfdir}/X11/xinit/xinitrc.d/50-systemd-user.sh
 
-%config(noreplace) %{_sysconfdir}/pam.d/systemd-user
+%{_distconfdir}/pam.d/systemd-user
 
 %config(noreplace) %{_sysconfdir}/systemd/journald.conf
 %config(noreplace) %{_sysconfdir}/systemd/logind.conf
@@ -1311,6 +1352,7 @@
 
 # FIXME: why do we have to own this dir ?
 %dir %{_modprobedir}
+%doc %{_modprobedir}/README
 %{_modprobedir}/systemd.conf
 
 # Some files created at runtime.
@@ -1351,6 +1393,7 @@
 %{_mandir}/man7/[bdfks]*
 %{_mandir}/man8/kern*
 %{_mandir}/man8/pam_*
+%{_mandir}/man8//rc-local.*
 %{_mandir}/man8/systemd-[a-gik-tvx]*
 %{_mandir}/man8/systemd-h[aioy]*
 %{_mandir}/man8/systemd-journald*
@@ -1475,13 +1518,18 @@
 %dir %{_prefix}/lib/udev/
 %{_prefix}/lib/udev/ata_id
 %{_prefix}/lib/udev/cdrom_id
+# dmi_memory_id is only relevant on arches with DMI
+%ifarch %{arm} aarch64 %{ix86} x86_64 ia64 mips
+%{_prefix}/lib/udev/dmi_memory_id
+%endif
 %{_prefix}/lib/udev/fido_id
 %{_prefix}/lib/udev/mtd_probe
 %{_prefix}/lib/udev/path_id_compat
 %{_prefix}/lib/udev/scsi_id
 %{_prefix}/lib/udev/v4l_id
-%ghost %{_prefix}/lib/udev/compat-symlink-generation
+%ghost %attr(644, root, root) %{_prefix}/lib/udev/compat-symlink-generation
 %dir %{_udevrulesdir}/
+%doc %{_udevrulesdir}/README
 %exclude %{_udevrulesdir}/70-uaccess.rules
 %exclude %{_udevrulesdir}/71-seat.rules
 %exclude %{_udevrulesdir}/73-seat-late.rules
@@ -1502,6 +1550,7 @@
 %endif
 %dir %{_unitdir}
 %{_prefix}/lib/systemd/systemd-udevd
+%{_unitdir}/kmod-static-nodes.service
 %{_unitdir}/systemd-udev*.service
 %{_unitdir}/systemd-udevd*.socket
 %{_unitdir}/initrd-udevadm-cleanup-db.service
@@ -1694,10 +1743,15 @@
 %{_mandir}/man*/systemd-portabled*
 %endif
 
+%if %{with tests}
+%files tests
+%{_prefix}/lib/systemd/tests
+%endif
+
 %if %{with experimental}
 %files experimental
 %defattr(-,root,root)
-%config(noreplace) /etc/systemd/pstore.conf
+%config(noreplace) %{_sysconfdir}/systemd/pstore.conf
 %{_prefix}/lib/systemd/systemd-pstore
 %{_unitdir}/systemd-pstore.service
 %{_tmpfilesdir}/systemd-pstore.conf
@@ -1705,18 +1759,19 @@
 %{_bindir}/systemd-repart
 %{_unitdir}/systemd-repart.service
 %{_mandir}/man*/*repart*
-/usr/bin/userdbctl
+%{_bindir}/userdbctl
 %{_prefix}/lib/systemd/systemd-userwork
 %{_prefix}/lib/systemd/systemd-userdbd
 %{_unitdir}/systemd-userdbd.service
 %{_unitdir}/systemd-userdbd.socket
 %{_mandir}/man*/userdbctl*
 %{_mandir}/man*/systemd-userdbd*
-%config %{_sysconfdir}/homed.conf
+%config(noreplace) %{_sysconfdir}/systemd/homed.conf
 %{_bindir}/homectl
 %{_prefix}/lib/systemd/systemd-homed
 %{_prefix}/lib/systemd/systemd-homework
 %{_unitdir}/systemd-homed.service
+%{_unitdir}/systemd-homed-activate.service
 %{_pamdir}/pam_systemd_home.so
 %{_datadir}/dbus-1/system-services/org.freedesktop.home1.service
 %{_datadir}/dbus-1/system.d/org.freedesktop.home1.conf

++++++ 0001-Revert-core-prevent-excessive-proc-self-mountinfo-pa.patch ++++++
>From c9bce1f07276c591d8637dbfc3244ee11e8fa4e1 Mon Sep 17 00:00:00 2001
From: Franck Bui <f...@suse.com>
Date: Tue, 18 May 2021 11:53:55 +0200
Subject: [PATCH 1/1] Revert "core: prevent excessive /proc/self/mountinfo
 parsing"

This reverts commit d586f642fd90e3bb378f7b6d3e3a64a753e51756.

This reverts commit d586f642fd90e3bb378f7b6d3e3a64a753e51756 temporarly until
more investigation is done to find the root cause of
https://github.com/systemd/systemd/issues/19464.
---
 src/core/mount.c | 6 ------
 1 file changed, 6 deletions(-)

diff --git a/src/core/mount.c b/src/core/mount.c
index ca5d0939a1..2939062161 100644
--- a/src/core/mount.c
+++ b/src/core/mount.c
@@ -1859,12 +1859,6 @@ static void mount_enumerate(Manager *m) {
                         goto fail;
                 }
 
-                r = sd_event_source_set_ratelimit(m->mount_event_source, 1 * 
USEC_PER_SEC, 5);
-                if (r < 0) {
-                        log_error_errno(r, "Failed to enable rate limit for 
mount events: %m");
-                        goto fail;
-                }
-
                 (void) sd_event_source_set_description(m->mount_event_source, 
"mount-monitor-dispatch");
         }
 
-- 
2.26.2

++++++ 0001-conf-parser-introduce-early-drop-ins.patch ++++++
--- /var/tmp/diff_new_pack.ku8fIG/_old  2021-07-01 07:05:32.959516976 +0200
+++ /var/tmp/diff_new_pack.ku8fIG/_new  2021-07-01 07:05:32.959516976 +0200
@@ -1,4 +1,4 @@
-From 569f94a86a608fa7a47fef583f3f504ec8223967 Mon Sep 17 00:00:00 2001
+From 0eb84d049c77dceeb48724770f89f0fa01557c87 Mon Sep 17 00:00:00 2001
 From: Franck Bui <f...@suse.com>
 Date: Fri, 22 Jan 2021 14:57:08 +0100
 Subject: [PATCH 1/1] conf-parser: introduce 'early' drop-ins
@@ -61,23 +61,23 @@
 
 Fixes: #2121
 ---
- src/shared/conf-parser.c    |  47 ++++++++++-
- src/test/test-conf-parser.c | 151 ++++++++++++++++++++++++++++++++++++
- 2 files changed, 194 insertions(+), 4 deletions(-)
+ src/shared/conf-parser.c    |  48 ++++++++++--
+ src/test/test-conf-parser.c | 152 ++++++++++++++++++++++++++++++++++++
+ 2 files changed, 195 insertions(+), 5 deletions(-)
 
 diff --git a/src/shared/conf-parser.c b/src/shared/conf-parser.c
-index 7499b3b882..799026626c 100644
+index 9dfa190751..b5dee9cbb1 100644
 --- a/src/shared/conf-parser.c
 +++ b/src/shared/conf-parser.c
-@@ -426,6 +426,7 @@ int config_parse(const char *unit,
+@@ -428,6 +428,7 @@ int config_parse(
  
  static int config_parse_many_files(
-                 const char *conf_file,
+                 const char* const* conf_files,
 +                char **early_files,
                  char **files,
                  const char *sections,
                  ConfigItemLookup lookup,
-@@ -438,6 +439,12 @@ static int config_parse_many_files(
+@@ -440,6 +441,12 @@ static int config_parse_many_files(
          char **fn;
          int r;
  
@@ -87,10 +87,10 @@
 +                        return r;
 +        }
 +
-         if (conf_file) {
-                 r = config_parse(NULL, conf_file, NULL, sections, lookup, 
table, flags, userdata, &mtime);
-                 if (r < 0)
-@@ -456,6 +463,28 @@ static int config_parse_many_files(
+         /* First read the first found main config file. */
+         STRV_FOREACH(fn, (char**) conf_files) {
+                 r = config_parse(NULL, *fn, NULL, sections, lookup, table, 
flags, userdata, &mtime);
+@@ -462,6 +469,28 @@ static int config_parse_many_files(
          return 0;
  }
  
@@ -119,7 +119,7 @@
  /* Parse each config file in the directories specified as nulstr. */
  int config_parse_many_nulstr(
                  const char *conf_file,
-@@ -467,14 +496,19 @@ int config_parse_many_nulstr(
+@@ -473,15 +502,19 @@ int config_parse_many_nulstr(
                  void *userdata,
                  usec_t *ret_mtime) {
  
@@ -131,17 +131,18 @@
          if (r < 0)
                  return r;
  
--        return config_parse_many_files(conf_file, files, sections, lookup, 
table, flags, userdata, ret_mtime);
+-        return config_parse_many_files(STRV_MAKE_CONST(conf_file),
+-                                       files, sections, lookup, table, flags, 
userdata,
 +        r = config_parse_split_conf_files(files, &early_files, &late_files);
 +        if (r < 0)
 +                return r;
 +
-+        return config_parse_many_files(conf_file, early_files, late_files, 
sections,
-+                                       lookup, table, flags, userdata, 
ret_mtime);
++        return config_parse_many_files(STRV_MAKE_CONST(conf_file), 
early_files, late_files,
++                                       sections, lookup, table, flags, 
userdata,
+                                        ret_mtime);
  }
  
- /* Parse each config file in the directories specified as strv. */
-@@ -489,8 +523,8 @@ int config_parse_many(
+@@ -497,8 +530,8 @@ int config_parse_many(
                  void *userdata,
                  usec_t *ret_mtime) {
  
@@ -151,22 +152,22 @@
          const char *suffix;
          int r;
  
-@@ -503,7 +537,12 @@ int config_parse_many(
+@@ -511,7 +544,12 @@ int config_parse_many(
          if (r < 0)
                  return r;
  
--        return config_parse_many_files(conf_file, files, sections, lookup, 
table, flags, userdata, ret_mtime);
+-        return config_parse_many_files(conf_files, files, sections, lookup, 
table, flags, userdata, ret_mtime);
 +        r = config_parse_split_conf_files(files, &early_files, &late_files);
 +        if (r < 0)
 +                return r;
 +
-+        return config_parse_many_files(conf_file, early_files, late_files, 
sections,
-+                                       lookup, table, flags, userdata, 
ret_mtime);
++        return config_parse_many_files(conf_files, early_files, late_files,
++                                       sections, lookup, table, flags, 
userdata, ret_mtime);
  }
  
  #define DEFINE_PARSER(type, vartype, conv_func)                         \
 diff --git a/src/test/test-conf-parser.c b/src/test/test-conf-parser.c
-index 07edc17f92..2df4b073c5 100644
+index 5da864347e..77d9f28a79 100644
 --- a/src/test/test-conf-parser.c
 +++ b/src/test/test-conf-parser.c
 @@ -5,6 +5,9 @@
@@ -179,7 +180,7 @@
  #include "string-util.h"
  #include "strv.h"
  #include "tmpfile-util.h"
-@@ -385,6 +388,151 @@ static void test_config_parse(unsigned i, const char *s) 
{
+@@ -385,6 +388,152 @@ static void test_config_parse(unsigned i, const char *s) 
{
          }
  }
  
@@ -263,7 +264,8 @@
 +                                             NULL,
 +                                             NULL);
 +        } else {
-+                r = config_parse_many(conf_file, (const char * const*) 
conf_dirs, "",
++                r = config_parse_many(STRV_MAKE_CONST(conf_file),
++                                      (const char * const*) conf_dirs, "",
 +                                      "Section\0",
 +                                      config_item_table_lookup, items,
 +                                      CONFIG_PARSE_WARN,
@@ -331,7 +333,7 @@
  int main(int argc, char **argv) {
          unsigned i;
  
-@@ -407,5 +555,8 @@ int main(int argc, char **argv) {
+@@ -407,5 +556,8 @@ int main(int argc, char **argv) {
          for (i = 0; i < ELEMENTSOF(config_file); i++)
                  test_config_parse(i, config_file[i]);
  

++++++ 0003-strip-the-domain-part-from-etc-hostname-when-setting.patch ++++++
--- /var/tmp/diff_new_pack.ku8fIG/_old  2021-07-01 07:05:32.971516883 +0200
+++ /var/tmp/diff_new_pack.ku8fIG/_new  2021-07-01 07:05:32.975516852 +0200
@@ -1,7 +1,7 @@
-From f299a8180f1db0680b454c0e37696891361e3067 Mon Sep 17 00:00:00 2001
+From 54366ae306ae19bdb2a5af7eb5158260cdc37e8f Mon Sep 17 00:00:00 2001
 From: Frederic Crozat <fcro...@suse.com>
 Date: Tue, 28 May 2013 15:17:35 +0200
-Subject: [PATCH 03/12] strip the domain part from /etc/hostname when setting
+Subject: [PATCH 1/1] strip the domain part from /etc/hostname when setting
  system host name
 
 [fbui: fixes bnc#820213]
@@ -13,19 +13,17 @@
        possibility was to fix the installer to create a correct
        /etc/hostname file. Need to investigate...]
 ---
- src/core/hostname-setup.c | 10 +++++++++-
- 1 file changed, 9 insertions(+), 1 deletion(-)
+ src/shared/hostname-setup.c | 7 +++++++
+ 1 file changed, 7 insertions(+)
 
-diff --git a/src/core/hostname-setup.c b/src/core/hostname-setup.c
-index 6d047db838..1acc0c998b 100644
---- a/src/core/hostname-setup.c
-+++ b/src/core/hostname-setup.c
-@@ -39,8 +39,16 @@ int hostname_setup(void) {
-                                 enoent = true;
+diff --git a/src/shared/hostname-setup.c b/src/shared/hostname-setup.c
+index 511aa7d031..351d0e761d 100644
+--- a/src/shared/hostname-setup.c
++++ b/src/shared/hostname-setup.c
+@@ -189,6 +189,13 @@ int hostname_setup(bool really) {
                          else
                                  log_warning_errno(r, "Failed to read 
configured hostname: %m");
--                } else
-+                } else {
+                 } else {
 +                        char *domain;
 +
 +                        /* SUSE: strip the domain name */
@@ -34,10 +32,8 @@
 +                                *domain = '\0';
 +
                          hn = b;
-+                }
-         }
- 
-         if (isempty(hn)) {
+                         source = HOSTNAME_STATIC;
+                 }
 -- 
 2.26.2
 

++++++ 0006-sysv-generator-add-back-support-for-SysV-scripts-for.patch ++++++
--- /var/tmp/diff_new_pack.ku8fIG/_old  2021-07-01 07:05:32.987516758 +0200
+++ /var/tmp/diff_new_pack.ku8fIG/_new  2021-07-01 07:05:32.987516758 +0200
@@ -1,7 +1,7 @@
-From f9521480d5dc5af747fecc9adc4c617e473e5494 Mon Sep 17 00:00:00 2001
+From ac7bfed30245145ce68a037e7578da12ce2de009 Mon Sep 17 00:00:00 2001
 From: Franck Bui <f...@suse.com>
 Date: Thu, 26 May 2016 08:59:41 +0200
-Subject: [PATCH 06/12] sysv-generator: add (back) support for SysV scripts for
+Subject: [PATCH 1/1] sysv-generator: add (back) support for SysV scripts for
  the early boot
 
 For the record, the upstream support was removed by commit
@@ -43,7 +43,7 @@
  1 file changed, 23 insertions(+)
 
 diff --git a/src/sysv-generator/sysv-generator.c 
b/src/sysv-generator/sysv-generator.c
-index a2c72d1009..1c01008967 100644
+index 8c7aef23c3..f88f9119fb 100644
 --- a/src/sysv-generator/sysv-generator.c
 +++ b/src/sysv-generator/sysv-generator.c
 @@ -31,6 +31,9 @@ static const struct {
@@ -63,8 +63,8 @@
 +        bool early;
  } SysvStub;
  
- static void free_sysvstub(SysvStub *s) {
-@@ -147,6 +151,12 @@ static int generate_unit_file(SysvStub *s) {
+ static SysvStub* free_sysvstub(SysvStub *s) {
+@@ -146,6 +150,12 @@ static int generate_unit_file(SysvStub *s) {
                  fprintf(f, "Description=%s\n", t);
          }
  
@@ -77,7 +77,7 @@
          STRV_FOREACH(p, s->before)
                  fprintf(f, "Before=%s\n", *p);
          STRV_FOREACH(p, s->after)
-@@ -213,6 +223,10 @@ static char *sysv_translate_name(const char *name) {
+@@ -212,6 +222,10 @@ static char *sysv_translate_name(const char *name) {
          _cleanup_free_ char *c = NULL;
          char *res;
  
@@ -88,7 +88,7 @@
          c = strdup(name);
          if (!c)
                  return NULL;
-@@ -289,6 +303,11 @@ static int sysv_translate_facility(SysvStub *s, unsigned 
line, const char *name,
+@@ -288,6 +302,11 @@ static int sysv_translate_facility(SysvStub *s, unsigned 
line, const char *name,
                  return 1;
          }
  
@@ -100,7 +100,7 @@
          /* Strip ".sh" suffix from file name for comparison */
          filename_no_sh = strdupa(filename);
          e = endswith(filename_no_sh, ".sh");
-@@ -676,6 +695,9 @@ static int fix_order(SysvStub *s, Hashmap *all_services) {
+@@ -674,6 +693,9 @@ static int fix_order(SysvStub *s, Hashmap *all_services) {
                  if (other->sysv_start_priority < 0)
                          continue;
  
@@ -110,7 +110,7 @@
                  /* If both units have modern headers we don't care
                   * about the priorities */
                  if (s->has_lsb && other->has_lsb)
-@@ -800,6 +822,7 @@ static int enumerate_sysv(const LookupPaths *lp, Hashmap 
*all_services) {
+@@ -798,6 +820,7 @@ static int enumerate_sysv(const LookupPaths *lp, Hashmap 
*all_services) {
                                  .sysv_start_priority = -1,
                                  .name = TAKE_PTR(name),
                                  .path = TAKE_PTR(fpath),

++++++ systemd-sysv-install ++++++
--- /var/tmp/diff_new_pack.ku8fIG/_old  2021-07-01 07:05:33.115515758 +0200
+++ /var/tmp/diff_new_pack.ku8fIG/_new  2021-07-01 07:05:33.115515758 +0200
@@ -1,41 +1,148 @@
-#!/bin/sh
+#!/bin/bash
+
 # This script is called by "systemctl enable/disable" when the given unit is a
 # SysV init.d script. It needs to call the distribution's mechanism for
 # enabling/disabling those, such as chkconfig, update-rc.d, or similar. This
 # can optionally take a --root argument for enabling a SysV init script
 # in a chroot or similar.
+#
+# chkconfig(8) and insserv(8) are no more available hence let's do the
+# bare minimum and create/remote the symlinks for the well known
+# runlevels and nothing more. Note that we don't take care of
+# enabling/disabling the service dependencies as the sysv-generator
+# will take care of them for us (openSUSE specific).
+#
+
 set -e
 
 usage() {
-    echo "Usage: $0 [--root=path] enable|disable|is-enabled <sysv script 
name>" >&2
-    exit 1
+       echo >&2 "Usage: $0 [--quiet] [--root=path] enable|disable|is-enabled 
<sysv script name>"
+       exit 1
+}
+
+info() {
+       $quiet || echo "$*"
+}
+
+die() {
+       echo >&2 "error: $*, aborting."
+       exit 1
+}
+
+declare -A lsb_header
+
+check_runlevels() {
+       for l in $*; do
+               # Sanity check
+               case $l in
+               0|1|2|3|4|5|6)  continue ;;
+               *)              return 1
+               esac
+       done
 }
 
+load_initscript() {
+       local found_lsb_start_marker=false
+       local found_lsb_end_marker=false
+
+       [ -r $1 ] || die "initscript /etc/init.d/$1 can't be read"
+
+       lsb_header=()
+
+       while read line; do
+               # skip anything that is not a comment
+               [[ "$line" =~ ^# ]] || continue
+
+               if ! $found_lsb_start_marker; then
+                       [ "$line" == "### BEGIN INIT INFO" ] &&
+                               found_lsb_start_marker=true
+                       continue
+               fi
+
+               line=$(echo ${line:1})
+
+               case "$line" in
+               Default-Start:*)
+                       levels=$(echo ${line:14})
+
+                       check_runlevels $levels ||
+                               die "Invalid runlevels specified in $line"
+
+                       lsb_header[Default-Start]=$levels
+                       ;;
+               "## END INIT INFO")
+                       found_lsb_end_marker=true
+                       break ;;
+               esac
+       done <$1
+
+       $found_lsb_end_marker ||
+               die "malformated LSB header in $1: missing LSB end marker"
+}
+
+enable_initscript() {
+       load_initscript $1
+
+       for l in ${lsb_header[Default-Start]}; do
+               symlink="$(pwd)/rc${l}.d/S50$1"
+
+               info "ln -sf ../$1 $symlink"
+               ln -sf ../$1 "$symlink"
+       done
+}
+
+disable_initscript() {
+       for symlink in rc*.d/[SK]*; do
+               [ -L $symlink ] && [ $(readlink $symlink) = "../$1" ] && {
+                       info "rm $(pwd)/$symlink"
+                       rm $symlink
+               }
+       done
+}
+
+is_initscript_enabled() {
+       for symlink in rc*.d/S*; do
+               [ -L $symlink ] && [ $(readlink $symlink) = "../$1" ] &&
+                       return 0
+       done
+       return 1
+}
+
+root=
+quiet=false
+
 # parse options
-eval set -- "$(getopt -o r: --long root: -- "$@")"
+eval set -- "$(getopt --name $(basename $0) -o hqr: --long help,quiet,root: -- 
"$@")"
 while true; do
-    case "$1" in
-        -r|--root)
-            ROOT="$2"
-            shift 2 ;;
-        --) shift ; break ;;
-        *) usage ;;
-    esac
+       case "$1" in
+       -h|--help)
+               usage ;;
+       -r|--root)
+               shift
+               root=$1 ;;
+       -q|--quiet)
+               quiet=true ;;
+        --)
+               shift
+               break ;;
+        *)
+               usage ;;
+       esac
+       shift
 done
 
-NAME="$2"
-[ -n "$NAME" ] || usage
+[ $# -eq 2 ] || usage
+action=$1
+name=$2
+
+sysvinit_path=$(realpath -q -e $root/etc/init.d) ||
+       die "$root/etc/init.d: no such file or directory"
+
+cd $sysvinit_path
 
-case "$1" in
-    enable)
-        chkconfig $ROOT --no-systemctl -s "$NAME" on
-        ;;
-    disable)
-        chkconfig $ROOT --no-systemctl -s "$NAME" off
-        ;;
-    is-enabled)
-        chkconfig $ROOT --no-systemctl -c "$NAME"
-        ;;
-    *)
-        usage ;;
+case "$action" in
+enable)                enable_initscript $name ;;
+disable)       disable_initscript $name ;;
+is-enabled)    is_initscript_enabled $name ;;
+*)             usage
 esac

++++++ systemd-v246.13+suse.105.g14581e0120.tar.xz -> 
systemd-v248.3+suse.30.ge9a23d9e06.tar.xz ++++++
/work/SRC/openSUSE:Factory/systemd/systemd-v246.13+suse.105.g14581e0120.tar.xz 
/work/SRC/openSUSE:Factory/.systemd.new.2625/systemd-v248.3+suse.30.ge9a23d9e06.tar.xz
 differ: char 26, line 1

++++++ tmpfiles-suse.conf ++++++
--- /var/tmp/diff_new_pack.ku8fIG/_old  2021-07-01 07:05:33.171515320 +0200
+++ /var/tmp/diff_new_pack.ku8fIG/_new  2021-07-01 07:05:33.171515320 +0200
@@ -9,6 +9,10 @@
 # FIXME: Might be moved to lockded.
 d /run/lock 0775 root lock -
 
+# /run/lock/subsys is used for serializing SysV service execution, and
+# hence without use on SysV-less systems.
+d /run/lock/subsys 0755 root root -
+
 # FIXME: Should these one be moved to shadow ?
 f /var/log/wtmp 0664 root utmp -
 f /var/log/btmp 0660 root utmp -

Reply via email to