Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package systemd for openSUSE:Factory checked in at 2026-03-14 22:21:06 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/systemd (Old) and /work/SRC/openSUSE:Factory/.systemd.new.8177 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "systemd" Sat Mar 14 22:21:06 2026 rev:466 rq:1338788 version:259.5 Changes: -------- --- /work/SRC/openSUSE:Factory/systemd/systemd.changes 2026-03-09 16:11:07.940407628 +0100 +++ /work/SRC/openSUSE:Factory/.systemd.new.8177/systemd.changes 2026-03-14 22:21:39.215288055 +0100 @@ -1,0 +2,59 @@ +Fri Mar 13 17:38:09 UTC 2026 - Franck Bui <[email protected]> + +- Import commit (merge of v259.5) + + For a complete list of changes, visit: + https://github.com/openSUSE/systemd/compare/e53173d15f11454a5770e7732e3eaed3105c11fc...58a9b1726da0e2c89665897ca7e107315b2389e0 + +------------------------------------------------------------------- +Fri Mar 13 14:26:39 UTC 2026 - Antonio Feijoo <[email protected]> + +- systemd-container: require libarchive instead of tar, since + https://github.com/systemd/systemd/commit/a7c8f92d1f937113a279adbe62399f6f0773473f + +------------------------------------------------------------------- +Fri Mar 13 08:33:43 UTC 2026 - Franck Bui <[email protected]> + +- systemd-update-helper: fix the clean-state command only removing + $STATE_DIR/system instead of $STATE_DIR/. + +- systemd-update-helper: add --root option for testing convenience + + It allows the tests to redirect them under a temporary directory via --root + instead of patching the script with sed. + +------------------------------------------------------------------- +Thu Mar 12 17:48:58 UTC 2026 - Franck Bui <[email protected]> + +- Import commit e53173d15f11454a5770e7732e3eaed3105c11fc (merge of v259.4) + + For a complete list of changes, visit: + https://github.com/openSUSE/systemd/compare/1e9dbf558f2578c5f0a38a20cd93950de5d7b648...e53173d15f11454a5770e7732e3eaed3105c11fc + +------------------------------------------------------------------- +Thu Mar 12 17:34:09 UTC 2026 - Franck Bui <[email protected]> + +- systemd-update-helper: fix incorrect skipping of systemctl disable during + package removal (bsc#1245551) + + This bug was caused by stale dont-disable markers left over from a previous + install transaction. Introduce a new command 'clean-state' for + systemd-update-helper, which is called once via a %transfiletriggerin in the + systemd package at the end of any transaction installing unit files, ensuring + markers cannot persist across transactions. + +------------------------------------------------------------------- +Thu Mar 12 14:19:09 UTC 2026 - Franck Bui <[email protected]> + +- systemd.spec: introduce %bcond_without docs to allow skipping man pages and devel-doc + + Add a new %bcond_without docs conditional that disables man page and HTML doc + generation (-Dman, -Dhtml meson options) when building with --without docs. + +------------------------------------------------------------------- +Tue Mar 10 21:43:04 UTC 2026 - Franck Bui <[email protected]> + +- systemd-update-helper: fix do_install_units() incorrectly returning 1 when no + units need preset. + +------------------------------------------------------------------- Old: ---- systemd-259.3+suse.4.g1e9dbf558f.tar.xz New: ---- systemd-259.5+suse.6.g58a9b1726d.tar.xz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ systemd.spec ++++++ --- /var/tmp/diff_new_pack.CKYJ5Y/_old 2026-03-14 22:21:40.387336573 +0100 +++ /var/tmp/diff_new_pack.CKYJ5Y/_new 2026-03-14 22:21:40.387336573 +0100 @@ -1,7 +1,6 @@ # # spec file for package systemd # -# Copyright (c) 2026 SUSE LLC # Copyright (c) 2026 SUSE LLC and contributors # # All modifications and additions to the file contributed by third parties @@ -32,9 +31,9 @@ %bcond_with obs_service_set_version %if %{without obs_service_set_version} -%define systemd_version 259.3 +%define systemd_version 259.5 %define systemd_release 0 -%define archive_version +suse.4.g1e9dbf558f +%define archive_version +suse.6.g58a9b1726d %endif %define _testsuitedir %{_systemd_util_dir}/tests @@ -60,6 +59,7 @@ %else %global mini %nil %bcond_without apparmor +%bcond_without docs %bcond_without homed %bcond_without importd %bcond_without journal_remote @@ -89,15 +89,19 @@ %if %{without bootstrap} BuildRequires: bpftool BuildRequires: clang -BuildRequires: docbook-xsl-stylesheets %if %{with apparmor} BuildRequires: libapparmor-devel %endif BuildRequires: libgcrypt-devel -BuildRequires: libxslt-tools # python is only required for generating systemd.directives.xml BuildRequires: python3-base +%endif +%if %{with docs} +BuildRequires: docbook-xsl-stylesheets +BuildRequires: libxslt-tools BuildRequires: python3-lxml +%endif +%if %{without bootstrap} BuildRequires: pkgconfig(audit) BuildRequires: pkgconfig(libbpf) BuildRequires: pkgconfig(libdw) @@ -452,6 +456,7 @@ [2] https://systemd.io/BOOT_LOADER_INTERFACE/ %endif +%if %{without bootstrap} %package container Summary: Systemd tools for container management License: LGPL-2.1-or-later @@ -461,8 +466,8 @@ BuildRequires: pkgconfig(zlib) %endif Requires: %{name} = %{version}-%{release} -# import-tar needs tar and gpg -Requires: /usr/bin/tar +# import-tar needs libarchive and gpg +Requires: libarchive13 Requires: /usr/bin/gpg %systemd_requires Obsoletes: nss-mymachines < %{version}-%{release} @@ -484,6 +489,7 @@ To activate this NSS module, you will need to include it in /etc/nsswitch.conf, see nss-mymachines(8) manpage for more details. +%endif %if %{with networkd} %package networkd @@ -697,7 +703,9 @@ %if %{without bootstrap} %lang_package +%endif +%if %{with docs} %package doc Summary: Additional documentation or doc formats for systemd License: LGPL-2.1-or-later @@ -777,7 +785,6 @@ -Dfdisk=%{disabled_with bootstrap} \ -Dgcrypt=%{disabled_with bootstrap} \ -Dgnutls=%{disabled_with bootstrap} \ - -Dhtml=%{disabled_with bootstrap} \ -Dima=%{when_not bootstrap} \ -Dkernel-install=%{when_not bootstrap} \ -Dlibarchive=%{disabled_with bootstrap} \ @@ -790,7 +797,6 @@ -Dlibcryptsetup=%{disabled_with bootstrap} \ -Dlibcryptsetup-plugins=%{disabled_with bootstrap} \ -Dlibcurl=%{disabled_with bootstrap} \ - -Dman=%{disabled_with bootstrap} \ -Dmountfsd=%{when_not bootstrap} \ -Dnsresourced=%{when_not bootstrap} \ -Dmicrohttpd=%{enabled_with journal_remote} \ @@ -816,8 +822,10 @@ -Dapparmor=%{enabled_with apparmor} \ -Dcoredump=%{when_not bootstrap} \ -Dhomed=%{enabled_with homed} \ + -Dhtml=%{enabled_with docs} \ -Dimportd=%{enabled_with importd} \ -Dmachined=%{when machined} \ + -Dman=%{enabled_with docs} \ -Dnetworkd=%{when networkd} \ -Dportabled=%{when portabled} \ -Dremote=%{enabled_with journal_remote} \ @@ -873,8 +881,8 @@ # Don't ship resolvconf symlink for now as it conflicts with the binary shipped # by openresolv and provides limited compatibility only. %if %{with resolved} -rm %{buildroot}%{_sbindir}/resolvconf -rm %{buildroot}%{_mandir}/man1/resolvconf.1* +rm -f %{buildroot}%{_sbindir}/resolvconf +rm -f %{buildroot}%{_mandir}/man1/resolvconf.1* %endif install -m0755 -D %{SOURCE3} %{buildroot}/%{_systemd_util_dir}/systemd-update-helper @@ -1036,6 +1044,11 @@ %find_lang systemd %else rm -f %{buildroot}%{_journalcatalogdir}/* +rm -f %{buildroot}%{_bindir}/systemd-nspawn +rm -f %{buildroot}%{_systemd_util_dir}/*/[email protected] +%endif + +%if %{without docs} rm -fr %{buildroot}%{_docdir}/systemd %endif @@ -1149,6 +1162,7 @@ %ldconfig_scriptlets -n libsystemd0%{?mini} %ldconfig_scriptlets -n libudev%{?mini}1 +%if %{without bootstrap} %pre container %systemd_pre systemd-mountfsd.socket %systemd_pre systemd-nsresourced.socket @@ -1172,12 +1186,13 @@ %endif %post container -%if %{with machined} -%ldconfig %systemd_post systemd-mountfsd.socket %systemd_post systemd-nsresourced.socket +%if %{with machined} +%ldconfig %systemd_post machines.target %endif +%endif %if %{with journal_remote} %pre journal-remote @@ -1295,8 +1310,10 @@ %include %{SOURCE206} %endif +%if %{without bootstrap} %files container %include %{SOURCE202} +%endif %if %{with networkd} %files networkd @@ -1330,7 +1347,9 @@ %if %{without bootstrap} %files lang -f systemd.lang %include %{SOURCE210} +%endif +%if %{with docs} %files doc %{_docdir}/systemd/ %include %{SOURCE213} ++++++ files.container ++++++ --- /var/tmp/diff_new_pack.CKYJ5Y/_old 2026-03-14 22:21:40.491340879 +0100 +++ /var/tmp/diff_new_pack.CKYJ5Y/_new 2026-03-14 22:21:40.499341210 +0100 @@ -3,11 +3,11 @@ # %dir %{_sysconfdir}/systemd/nspawn %{_bindir}/systemd-nspawn -%if %{without bootstrap} %{_datadir}/bash-completion/completions/systemd-nspawn %{_datadir}/polkit-1/actions/io.systemd.mount-file-system.policy %{_datadir}/polkit-1/actions/io.systemd.namespace-resource.policy %{_datadir}/zsh/site-functions/_systemd-nspawn +%if %{with docs} %{_mandir}/man1/systemd-nspawn.1.gz %{_mandir}/man5/systemd.nspawn.5.gz %{_mandir}/man8/libnss_mymachines.so.2.8.gz @@ -29,22 +29,16 @@ %{_systemd_util_dir}/network/80-namespace-ns-tun.link %{_systemd_util_dir}/network/80-namespace-ns-tun.network %endif -%if %{without bootstrap} %{_systemd_util_dir}/systemd-mountfsd %{_systemd_util_dir}/systemd-mountwork %{_systemd_util_dir}/systemd-nsresourced %{_systemd_util_dir}/systemd-nsresourcework -%endif %{_systemd_util_dir}/user/[email protected] -%if %{without bootstrap} %{_unitdir}/systemd-mountfsd.service %{_unitdir}/systemd-mountfsd.socket -%endif %{_unitdir}/[email protected] -%if %{without bootstrap} %{_unitdir}/systemd-nsresourced.service %{_unitdir}/systemd-nsresourced.socket -%endif %if %{with machined} %dir %{_unitdir}/machines.target.wants @@ -53,7 +47,6 @@ %{_datadir}/dbus-1/interfaces/org.freedesktop.machine1.Image.xml %{_datadir}/dbus-1/interfaces/org.freedesktop.machine1.Machine.xml %{_datadir}/dbus-1/interfaces/org.freedesktop.machine1.Manager.xml -%{_datadir}/dbus-1/services/org.freedesktop.import1.service %{_datadir}/dbus-1/services/org.freedesktop.machine1.service %{_datadir}/dbus-1/system-services/org.freedesktop.machine1.service %{_datadir}/dbus-1/system.d/org.freedesktop.machine1.conf @@ -61,19 +54,17 @@ %{_datadir}/zsh/site-functions/_machinectl %{_datadir}/zsh/site-functions/_sd_machines %{_libdir}/libnss_mymachines.so.2 +%if %{with docs} %{_mandir}/man1/machinectl.1.gz %{_mandir}/man5/org.freedesktop.machine1.5.gz %{_mandir}/man8/systemd-machined.8.gz %{_mandir}/man8/systemd-machined.service.8.gz +%endif %{_systemd_util_dir}/systemd-machined -%{_systemd_util_dir}/user/dbus-org.freedesktop.import1.service %{_systemd_util_dir}/user/dbus-org.freedesktop.machine1.service %{_systemd_util_dir}/user/machine.slice %{_systemd_util_dir}/user/machines.target -%{_systemd_util_dir}/user/sockets.target.wants/systemd-importd.socket %{_systemd_util_dir}/user/sockets.target.wants/systemd-machined.socket -%{_systemd_util_dir}/user/systemd-importd.service -%{_systemd_util_dir}/user/systemd-importd.socket %{_systemd_util_dir}/user/systemd-machined.service %{_systemd_util_dir}/user/systemd-machined.socket %{_tmpfilesdir}/systemd-nspawn.conf @@ -93,14 +84,17 @@ %{_datadir}/bash-completion/completions/importctl %{_datadir}/dbus-1/interfaces/org.freedesktop.import1.Manager.xml %{_datadir}/dbus-1/interfaces/org.freedesktop.import1.Transfer.xml +%{_datadir}/dbus-1/services/org.freedesktop.import1.service %{_datadir}/dbus-1/system-services/org.freedesktop.import1.service %{_datadir}/dbus-1/system.d/org.freedesktop.import1.conf %{_datadir}/polkit-1/actions/org.freedesktop.import1.policy +%if %{with docs} %{_mandir}/man1/importctl.1.gz %{_mandir}/man5/org.freedesktop.import1.5.gz %{_mandir}/man8/systemd-importd.8.gz %{_mandir}/man8/systemd-importd.service.8.gz %{_mandir}/man8/systemd-import-generator.8.gz +%endif %{_systemd_util_dir}/import-pubring.pgp %{_systemd_util_dir}/systemd-export %{_systemd_util_dir}/systemd-import @@ -108,6 +102,10 @@ %{_systemd_util_dir}/systemd-importd %{_systemd_util_dir}/systemd-pull %{_systemdgeneratordir}/systemd-import-generator +%{_systemd_util_dir}/user/dbus-org.freedesktop.import1.service +%{_systemd_util_dir}/user/sockets.target.wants/systemd-importd.socket +%{_systemd_util_dir}/user/systemd-importd.service +%{_systemd_util_dir}/user/systemd-importd.socket %{_unitdir}/dbus-org.freedesktop.import1.service %{_unitdir}/sockets.target.wants/systemd-importd.socket %{_unitdir}/systemd-importd.service ++++++ files.devel-doc ++++++ --- /var/tmp/diff_new_pack.CKYJ5Y/_old 2026-03-14 22:21:40.531342535 +0100 +++ /var/tmp/diff_new_pack.CKYJ5Y/_new 2026-03-14 22:21:40.535342700 +0100 @@ -1,7 +1,6 @@ # # Keep the list sorted (with `LC_ALL=C sort`). # -%if %{without bootstrap} %{_mandir}/man3/SD_ALERT.3.gz %{_mandir}/man3/SD_BUS_ERROR_ACCESS_DENIED.3.gz %{_mandir}/man3/SD_BUS_ERROR_ADDRESS_IN_USE.3.gz @@ -847,5 +846,4 @@ %{_mandir}/man3/udev_new.3.gz %{_mandir}/man3/udev_ref.3.gz %{_mandir}/man3/udev_unref.3.gz -%endif ++++++ files.experimental ++++++ --- /var/tmp/diff_new_pack.CKYJ5Y/_old 2026-03-14 22:21:40.571344191 +0100 +++ /var/tmp/diff_new_pack.CKYJ5Y/_new 2026-03-14 22:21:40.575344356 +0100 @@ -22,7 +22,6 @@ %{_bindir}/oomctl %endif %if %{with upstream} -%{_bindir}/systemd-mute-console %{_bindir}/systemd-mstack %endif %{_bindir}/systemd-mute-console @@ -43,7 +42,7 @@ %{_datadir}/zsh/site-functions/_oomctl %endif %{_distconfdir}/ssh/ssh_config.d/20-systemd-ssh-proxy.conf -%if %{without bootstrap} +%if %{with docs} %if %{with upstream} %{_mandir}/man1/mount.mstack.1.gz %endif ++++++ files.homed ++++++ --- /var/tmp/diff_new_pack.CKYJ5Y/_old 2026-03-14 22:21:40.595345184 +0100 +++ /var/tmp/diff_new_pack.CKYJ5Y/_new 2026-03-14 22:21:40.599345350 +0100 @@ -12,6 +12,7 @@ %{_datadir}/dbus-1/system.d/org.freedesktop.home1.conf %{_datadir}/polkit-1/actions/org.freedesktop.home1.policy %{_distconfdir}/ssh/sshd_config.d/20-systemd-userdb.conf +%if %{with docs} %{_mandir}/man1/homectl.1.gz %{_mandir}/man1/systemd-homed-firstboot.service.1.gz %{_mandir}/man5/homed.conf.5.gz @@ -20,6 +21,7 @@ %{_mandir}/man8/pam_systemd_home.8.gz %{_mandir}/man8/systemd-homed.8.gz %{_mandir}/man8/systemd-homed.service.8.gz +%endif %{_pam_moduledir}/pam_systemd_home.so %{_systemd_util_dir}/homed.conf %{_systemd_util_dir}/systemd-homed ++++++ files.journal-remote ++++++ --- /var/tmp/diff_new_pack.CKYJ5Y/_old 2026-03-14 22:21:40.623346343 +0100 +++ /var/tmp/diff_new_pack.CKYJ5Y/_new 2026-03-14 22:21:40.627346509 +0100 @@ -8,6 +8,7 @@ %ghost %{_sysconfdir}/systemd/journal-remote.conf %ghost %{_sysconfdir}/systemd/journal-upload.conf %{_datadir}/systemd/gatewayd/browse.html +%if %{with docs} %{_mandir}/man5/journal-remote.conf.5.gz %{_mandir}/man5/journal-remote.conf.d.5.gz %{_mandir}/man5/journal-upload.conf.5.gz @@ -20,6 +21,7 @@ %{_mandir}/man8/systemd-journal-remote.socket.8.gz %{_mandir}/man8/systemd-journal-upload.8.gz %{_mandir}/man8/systemd-journal-upload.service.8.gz +%endif %{_systemd_util_dir}/journal-remote.conf %{_systemd_util_dir}/journal-upload.conf %{_systemd_util_dir}/systemd-journal-gatewayd ++++++ files.networkd ++++++ --- /var/tmp/diff_new_pack.CKYJ5Y/_old 2026-03-14 22:21:40.667348165 +0100 +++ /var/tmp/diff_new_pack.CKYJ5Y/_new 2026-03-14 22:21:40.671348331 +0100 @@ -19,6 +19,7 @@ %{_datadir}/polkit-1/actions/org.freedesktop.network1.policy %{_datadir}/polkit-1/rules.d/60-systemd-networkd.rules %{_datadir}/zsh/site-functions/_networkctl +%if %{with docs} %{_mandir}/man1/networkctl.1.gz %{_mandir}/man5/networkd.conf.5.gz %{_mandir}/man5/networkd.conf.d.5.gz @@ -29,6 +30,7 @@ %{_mandir}/man8/[email protected] %{_mandir}/man8/systemd-networkd.8.gz %{_mandir}/man8/systemd-networkd.service.8.gz +%endif %{_systemd_util_dir}/network/80-6rd-tunnel.link %{_systemd_util_dir}/network/80-6rd-tunnel.network %{_systemd_util_dir}/network/80-auto-link-local.network.example ++++++ files.portable ++++++ --- /var/tmp/diff_new_pack.CKYJ5Y/_old 2026-03-14 22:21:40.695349324 +0100 +++ /var/tmp/diff_new_pack.CKYJ5Y/_new 2026-03-14 22:21:40.699349489 +0100 @@ -11,10 +11,12 @@ %{_datadir}/dbus-1/system-services/org.freedesktop.portable1.service %{_datadir}/dbus-1/system.d/org.freedesktop.portable1.conf %{_datadir}/polkit-1/actions/org.freedesktop.portable1.policy +%if %{with docs} %{_mandir}/man1/portablectl.1.gz %{_mandir}/man5/org.freedesktop.portable1.5.gz %{_mandir}/man8/systemd-portabled.8.gz %{_mandir}/man8/systemd-portabled.service.8.gz +%endif %{_systemd_util_dir}/portable %if %{with upstream} %{_systemd_util_dir}/user/dbus-org.freedesktop.portable1.service ++++++ files.resolved ++++++ --- /var/tmp/diff_new_pack.CKYJ5Y/_old 2026-03-14 22:21:40.723350483 +0100 +++ /var/tmp/diff_new_pack.CKYJ5Y/_new 2026-03-14 22:21:40.727350648 +0100 @@ -15,6 +15,7 @@ %{_datadir}/polkit-1/actions/org.freedesktop.resolve1.policy %{_datadir}/zsh/site-functions/_resolvectl %{_libdir}/libnss_resolve.so.2 +%if %{with docs} %{_mandir}/man1/resolvectl.1.gz %{_mandir}/man5/org.freedesktop.resolve1.5.gz %{_mandir}/man5/resolved.conf.5.gz @@ -24,6 +25,7 @@ %{_mandir}/man8/nss-resolve.8.gz %{_mandir}/man8/systemd-resolved.8.gz %{_mandir}/man8/systemd-resolved.service.8.gz +%endif %{_systemd_util_dir}/resolv.conf %{_systemd_util_dir}/resolved.conf %{_systemd_util_dir}/systemd-resolved ++++++ files.systemd ++++++ --- /var/tmp/diff_new_pack.CKYJ5Y/_old 2026-03-14 22:21:40.755351808 +0100 +++ /var/tmp/diff_new_pack.CKYJ5Y/_new 2026-03-14 22:21:40.759351974 +0100 @@ -242,17 +242,13 @@ %{_datadir}/zsh/site-functions/_systemd %{_datadir}/zsh/site-functions/_systemd-analyze %{_datadir}/zsh/site-functions/_systemd-delta -%if %{with upstream} %{_datadir}/zsh/site-functions/_systemd-id128 -%endif %{_datadir}/zsh/site-functions/_systemd-inhibit %{_datadir}/zsh/site-functions/_systemd-path %{_datadir}/zsh/site-functions/_systemd-run %{_datadir}/zsh/site-functions/_systemd-tmpfiles %{_datadir}/zsh/site-functions/_timedatectl -%if %{with upstream} %{_datadir}/zsh/site-functions/_userdbctl -%endif %{_datadir}/zsh/site-functions/_varlinkctl %endif %{_distconfdir}/profile.d/70-systemd-shell-extra.sh @@ -263,7 +259,7 @@ %endif %{_libdir}/systemd/libsystemd-core-%{base_version}-%{release}.so %{_libdir}/systemd/libsystemd-shared-%{base_version}-%{release}.so -%if %{without bootstrap} +%if %{with docs} %{_mandir}/man1/busctl.1.gz %{_mandir}/man1/coredumpctl.1.gz %{_mandir}/man1/hostnamectl.1.gz ++++++ files.sysvcompat ++++++ --- /var/tmp/diff_new_pack.CKYJ5Y/_old 2026-03-14 22:21:40.783352967 +0100 +++ /var/tmp/diff_new_pack.CKYJ5Y/_new 2026-03-14 22:21:40.791353298 +0100 @@ -1,9 +1,11 @@ # # Please keep the list sorted (with `LC_ALL=C sort`). # +%if %{with docs} %{_mandir}/man8/rc-local.service.8.gz %{_mandir}/man8/systemd-rc-local-generator.8.gz %{_mandir}/man8/systemd-sysv-generator.8.gz +%endif %{_systemd_util_dir}/systemd-sysv-install %{_systemdgeneratordir}/systemd-rc-local-generator %{_systemdgeneratordir}/systemd-sysv-generator ++++++ files.udev ++++++ --- /var/tmp/diff_new_pack.CKYJ5Y/_old 2026-03-14 22:21:40.815354291 +0100 +++ /var/tmp/diff_new_pack.CKYJ5Y/_new 2026-03-14 22:21:40.819354457 +0100 @@ -76,6 +76,8 @@ %{_libdir}/cryptsetup/libcryptsetup-token-systemd-fido2.so %{_libdir}/cryptsetup/libcryptsetup-token-systemd-pkcs11.so %{_libdir}/cryptsetup/libcryptsetup-token-systemd-tpm2.so +%endif +%if %{with docs} %{_mandir}/man1/bootctl.1.gz %{_mandir}/man1/systemd-cryptenroll.1.gz %{_mandir}/man5/crypttab.5.gz @@ -177,6 +179,8 @@ %{_mandir}/man8/systemd-volatile-root.8.gz %{_mandir}/man8/systemd-volatile-root.service.8.gz %{_mandir}/man8/udevadm.8.gz +%endif +%if %{without bootstrap} %{_prefix}/lib/kernel/install.conf %{_prefix}/lib/kernel/install.d/50-depmod.install %{_prefix}/lib/kernel/install.d/90-loaderentry.install @@ -189,6 +193,7 @@ %{_prefix}/lib/pcrlock.d/700-action-efi-exit-boot-services.pcrlock.d/300-present.pcrlock %{_prefix}/lib/pcrlock.d/700-action-efi-exit-boot-services.pcrlock.d/600-absent.pcrlock %{_prefix}/lib/pcrlock.d/750-enter-initrd.pcrlock +%{_prefix}/lib/pcrlock.d/770-nvpcr-separator.pcrlock %{_prefix}/lib/pcrlock.d/800-leave-initrd.pcrlock %{_prefix}/lib/pcrlock.d/850-sysinit.pcrlock %{_prefix}/lib/pcrlock.d/900-ready.pcrlock ++++++ files.uefi-boot ++++++ --- /var/tmp/diff_new_pack.CKYJ5Y/_old 2026-03-14 22:21:40.843355451 +0100 +++ /var/tmp/diff_new_pack.CKYJ5Y/_new 2026-03-14 22:21:40.851355782 +0100 @@ -3,7 +3,7 @@ # %dir %{_systemd_util_dir}/boot %dir %{_systemd_util_dir}/boot/efi -%if %{without bootstrap} +%if %{with docs} %{_mandir}/man5/loader.conf.5.gz %{_mandir}/man7/linuxaa64.efi.stub.7.gz %{_mandir}/man7/linuxia32.efi.stub.7.gz ++++++ files.ukify ++++++ --- /var/tmp/diff_new_pack.CKYJ5Y/_old 2026-03-14 22:21:40.879356941 +0100 +++ /var/tmp/diff_new_pack.CKYJ5Y/_new 2026-03-14 22:21:40.883357107 +0100 @@ -5,7 +5,9 @@ %dir %{_systemd_util_dir}/boot/hwids/ %endif %{_bindir}/ukify +%if %{with docs} %{_mandir}/man1/ukify.1.gz +%endif %{_prefix}/lib/kernel/install.d/60-ukify.install %{_prefix}/lib/kernel/uki.conf %if %{with upstream} ++++++ systemd-259.3+suse.4.g1e9dbf558f.tar.xz -> systemd-259.5+suse.6.g58a9b1726d.tar.xz ++++++ /work/SRC/openSUSE:Factory/systemd/systemd-259.3+suse.4.g1e9dbf558f.tar.xz /work/SRC/openSUSE:Factory/.systemd.new.8177/systemd-259.5+suse.6.g58a9b1726d.tar.xz differ: char 15, line 1 ++++++ systemd-update-helper ++++++ --- /var/tmp/diff_new_pack.CKYJ5Y/_old 2026-03-14 22:21:41.415379130 +0100 +++ /var/tmp/diff_new_pack.CKYJ5Y/_new 2026-03-14 22:21:41.447380455 +0100 @@ -7,37 +7,49 @@ set -eu set -o pipefail +# --root is accepted for testing convenience only. It redirects all state and +# unit file paths under the given directory, allowing tests to run without +# touching the real filesystem. +root="" +if [[ "${1:-}" == --root=* ]]; then + root="${1#--root=}" + shift +fi + command="${1:?}" shift command -v systemctl >/dev/null || exit 0 UPDATE_HELPER_USER_TIMEOUT_SEC=15 +STATE_DIR="${root}/run/systemd/rpm" +UNIT_DIR="${root}/usr/lib/systemd" +RUNTIME_DIR="${root}/run/systemd" do_mark_install_units() { mode=$1 shift - mkdir -p /run/systemd/rpm/$mode/{needs-preset,dont-disable} + mkdir -p $STATE_DIR/$mode/{needs-preset,dont-disable} for unit in "$@" ; do # Clean any leftovers that might remain from a previous transaction # which exited abnormally. - rm -f /run/systemd/rpm/$mode/*/"$unit" + rm -f $STATE_DIR/$mode/*/"$unit" - if [ ! -e /usr/lib/systemd/$mode/"$unit" ]; then + if [ ! -e $UNIT_DIR/$mode/"$unit" ]; then # The unit is being introduced: remember we need to apply preset on # this new unit regardless of whether it's a package update or # installation. - touch /run/systemd/rpm/$mode/needs-preset/"$unit" + touch $STATE_DIR/$mode/needs-preset/"$unit" fi # All passed units are part of a package being installed or updated and # therefore should not be disabled by the removal of a different package # part of the same rpm transaction. This can happen when the package - # shipping the unit is being renamed (e.g. from "A" to "B"), where "A" - # is installed first, followed by the removal "B". In that case, "B" is - # removed and its %preun scriptlet runs %systemd_preun on the unit. - touch /run/systemd/rpm/$mode/dont-disable/"$unit" + # shipping the unit is being renamed (e.g. from "A" to "B"), where "B" + # is installed first, followed by the removal of "A". In that case, "A" + # is removed and its %preun scriptlet runs %systemd_preun on the unit. + touch $STATE_DIR/$mode/dont-disable/"$unit" done } @@ -47,20 +59,20 @@ units=() for unit in "$@" ; do - if [ -e /run/systemd/rpm/$mode/needs-preset/"$unit" ]; then - rm /run/systemd/rpm/$mode/needs-preset/"$unit" + if [ -e $STATE_DIR/$mode/needs-preset/"$unit" ]; then + rm $STATE_DIR/$mode/needs-preset/"$unit" units+=("$unit") fi done - [ ${#units[*]} -gt 0 ] && { - case $mode in - system) - systemctl --no-reload preset "${units[@]}" ;; - user) - systemctl --no-reload preset --global "${units[@]}" ;; - esac - } + [ ${#units[@]} -eq 0 ] && return + + case $mode in + system) + systemctl --no-reload preset "${units[@]}" ;; + user) + systemctl --no-reload preset --global "${units[@]}" ;; + esac } do_remove_units() { @@ -69,18 +81,16 @@ units=() for unit in "$@" ; do - if [ ! -e /run/systemd/rpm/$mode/dont-disable/"$unit" ]; then + if [ ! -e $STATE_DIR/$mode/dont-disable/"$unit" ]; then units+=("$unit") - else - rm /run/systemd/rpm/$mode/dont-disable/"$unit" fi done - [ ${#units[*]} -eq 0 ] && return + [ ${#units[@]} -eq 0 ] && return case $mode in system) - if [ -d /run/systemd/system ]; then + if [ -d $RUNTIME_DIR/system ]; then systemctl --no-reload disable --now --no-warn "${units[@]}" else systemctl --no-reload disable --no-warn "${units[@]}" @@ -89,7 +99,7 @@ user) systemctl --global disable --no-warn "${units[@]}" - [ -d /run/systemd/system ] || return + [ -d $RUNTIME_DIR/system ] || return users=$(systemctl list-units 'user@*' --legend=no | sed -n -r 's/.*user@([0-9]+).service.*/\1/p') for user in $users; do @@ -127,7 +137,7 @@ ;; mark-restart-system-units) # called from %postun (on upgrade) - [ -d /run/systemd/system ] || exit 0 + [ -d $RUNTIME_DIR/system ] || exit 0 for unit in "$@"; do systemctl set-property "$unit" Markers=+needs-restart & @@ -136,7 +146,7 @@ ;; mark-restart-user-units) - [ -d /run/systemd/system ] || exit 0 + [ -d $RUNTIME_DIR/system ] || exit 0 users=$(systemctl list-units 'user@*' --legend=no | sed -n -r 's/.*user@([0-9]+).service.*/\1/p') for user in $users; do @@ -154,7 +164,7 @@ exit 2 fi - [ -d /run/systemd/system ] || exit 0 + [ -d $RUNTIME_DIR/system ] || exit 0 if [[ "$command" =~ reexec ]]; then systemctl daemon-reexec @@ -175,7 +185,7 @@ exit 2 fi - [ -d /run/systemd/system ] || exit 0 + [ -d $RUNTIME_DIR/system ] || exit 0 if [[ "$command" =~ reexec|reload ]]; then SYSTEMD_BUS_TIMEOUT=${UPDATE_HELPER_USER_TIMEOUT_SEC}s systemctl reload "user@*.service" @@ -192,8 +202,13 @@ fi ;; - clean-state) - # Not used anymore, to be removed + clean-state) # called once from %transfiletriggerin + + # Any dont-disable markers left at this point were created during this + # transaction but never consumed (i.e. no matching %preun ran), which + # means they are from a fresh install rather than a rename. Wipe them + # so they cannot interfere with a future removal transaction. + rm -rf $STATE_DIR ;; *) ++++++ triggers.systemd ++++++ --- /var/tmp/diff_new_pack.CKYJ5Y/_old 2026-03-14 22:21:41.895399002 +0100 +++ /var/tmp/diff_new_pack.CKYJ5Y/_new 2026-03-14 22:21:41.939400823 +0100 @@ -20,6 +20,13 @@ %transfiletriggerin -P 900899 -p <lua> -- /usr/lib/systemd/user /etc/systemd/user assert(rpm.execute("/usr/lib/systemd/systemd-update-helper", "user-reload-restart")) +%transfiletriggerin -P 900800 -p <lua> -- /usr/lib/systemd/system /usr/lib/systemd/user +-- Clean up the rpm scriptlet state directory after all other %transfiletriggerin +-- scriptlets have run. This removes stale dont-disable markers that were set by +-- %pre during a fresh install (as opposed to a rename), preventing them from +-- incorrectly suppressing disable in a future removal transaction (bsc#1245551). +assert(rpm.execute("/usr/lib/systemd/systemd-update-helper", "clean-state")) + %transfiletriggerpostun -P 1000100 -p <lua> -- /usr/lib/systemd/system /etc/systemd/system -- On removal, we need to run daemon-reload after any units have been -- removed.
