diff --git a/files.experimental b/files.experimental index aa23c6a..3c2cea2 100644 --- a/files.experimental +++ b/files.experimental @@ -5,6 +5,8 @@ %if %{with sd_boot} %dir %{_unitdir}/initrd.target.wants %endif +# Main config files have been replaced in favor of drop-ins. +%ghost %{_sysconfdir}/systemd/oomd.conf %{_bindir}/oomctl %{_bindir}/systemd-repart %{_datadir}/bash-completion/completions/oomctl diff --git a/files.journal-remote b/files.journal-remote index 1acfe41..27597c7 100644 --- a/files.journal-remote +++ b/files.journal-remote @@ -4,6 +4,9 @@ %dir %{_sysconfdir}/systemd/journal-remote.conf.d %dir %{_sysconfdir}/systemd/journal-upload.conf.d %ghost %dir %{_localstatedir}/log/journal/remote +# Main config files have been replaced in favor of drop-ins. +%ghost %{_sysconfdir}/systemd/journal-remote.conf +%ghost %{_sysconfdir}/systemd/journal-upload.conf %{_datadir}/systemd/gatewayd %{_datadir}/systemd/gatewayd/browse.html %{_mandir}/man5/journal-remote.conf.5.gz diff --git a/files.network b/files.network index 6086712..654930f 100644 --- a/files.network +++ b/files.network @@ -5,6 +5,8 @@ %dir %{_sysconfdir}/systemd/network %dir %{_sysconfdir}/systemd/networkd.conf.d %dir %{_systemd_util_dir}/network +# Main config files have been replaced in favor of drop-ins. +%ghost %{_sysconfdir}/systemd/networkd.conf %{_bindir}/networkctl %{_datadir}/bash-completion/completions/networkctl %{_datadir}/dbus-1/interfaces/org.freedesktop.network1.DHCPServer.xml diff --git a/files.systemd b/files.systemd index 4838f6b..f218502 100644 --- a/files.systemd +++ b/files.systemd @@ -87,6 +87,11 @@ %ghost %config(noreplace) %{_sysconfdir}/machine-info %ghost %dir %attr(2755, root, systemd-journal) %{_localstatedir}/log/journal %ghost %{_localstatedir}/lib/systemd/catalog/database +# Main config files have been replaced in favor of drop-ins. +%ghost %{_sysconfdir}/systemd/journald.conf +%ghost %{_sysconfdir}/systemd/logind.conf +%ghost %{_sysconfdir}/systemd/system.conf +%ghost %{_sysconfdir}/systemd/user.conf %license LICENSE.GPL2 %license LICENSE.LGPL2.1 %{_bindir}/busctl diff --git a/files.udev b/files.udev index 54fc044..f4eafb6 100644 --- a/files.udev +++ b/files.udev @@ -33,6 +33,11 @@ %ghost %attr(644, root, root) %{_prefix}/lib/udev/compat-symlink-generation %ghost %config(noreplace) %{_sysconfdir}/vconsole.conf %ghost %{_localstatedir}/lib/systemd/backlight +# Main config files have been replaced in favor of drop-ins. +%ghost %{_sysconfdir}/systemd/pstore.conf +%ghost %{_sysconfdir}/systemd/sleep.conf +%ghost %{_sysconfdir}/systemd/timesyncd.conf +%ghost %{_sysconfdir}/udev/iocost.conf %if %{without bootstrap} %{_bindir}/kernel-install %{_bindir}/systemd-cryptenroll diff --git a/fixlet-systemd-post.sh b/fixlet-systemd-post.sh index 1ddb654..e32bf8f 100644 --- a/fixlet-systemd-post.sh +++ b/fixlet-systemd-post.sh @@ -276,6 +276,31 @@ drop_after_local_support() { fi } +# +# We have stopped shipping the main config files in /etc but we don't try to +# clean them up automatically as it can have unexepected side effects +# (bsc#1226415). Instead we simply suggest users to convert them (if they exist) +# into drop-ins. +# +# Note: run at each package update +# +check_config_files () { + config_files=(systemd/journald.conf systemd/logind.conf systemd/system.conf systemd/user.conf + systemd/pstore.conf systemd/sleep.conf systemd/timesyncd.conf systemd/coredump.conf + systemd/journal-remote.conf systemd/journal-upload.conf systemd/networkd.conf + systemd/resolved.conf systemd/oomd.conf udev/iocost.conf) + + for f in ${config_files[*]}; do + [ -e /etc/$f ] || continue + + cat >&2 < + +- Don't mention any rpm macros inside comments, even if escaped (bsc#1228091) + + Otherwise pesign-obs-integration ends up re-packaging systemd with all macros + inside comments unescaped leading to unpredictable behavior. Now why rpm + expands rpm macros inside comments is the question... + +------------------------------------------------------------------- +Wed Jul 17 08:21:21 UTC 2024 - Franck Bui + +- Import commit 8acd7e2a9524d0a8db7976b4e1f10d6f0bd0441f (merge of v254.15) + + For a complete list of changes, visit: + https://github.com/openSUSE/systemd/compare/10392b9b7c013cbc6c3dc70d8c623e22b0a7c78b...8acd7e2a9524d0a8db7976b4e1f10d6f0bd0441f + +------------------------------------------------------------------- +Thu Jul 11 17:48:32 UTC 2024 - Franck Bui + +- Import commit 10392b9b7c013cbc6c3dc70d8c623e22b0a7c78b (merge of v254.14) + + For a complete list of changes, visit: + https://github.com/openSUSE/systemd/compare/e87183896e2dbb0b2a78709c9ae0e37911b7fbcd...10392b9b7c013cbc6c3dc70d8c623e22b0a7c78b + +------------------------------------------------------------------- +Thu Jul 11 17:45:27 UTC 2024 - Franck Bui + +- testsuite: move a misplaced %endif + +------------------------------------------------------------------- +Thu Jul 11 15:50:51 UTC 2024 - Franck Bui + +- Don't automatically clean unmodified config files up (bsc#1226415) + + Relying on the presence of .rpmsave for detecting unmodified main config files + couldn't work as it created a time window in which some of the systemd + services were restarted with no config file. That had the bad side effect to + restart them with the upstream defaults, ignoring any user's customization. + +------------------------------------------------------------------- +Thu Jul 11 14:07:44 UTC 2024 - Franck Bui + +- Import commit e87183896e2dbb0b2a78709c9ae0e37911b7fbcd (merge of v254.11) + + For a complete list of changes, visit: + https://github.com/openSUSE/systemd/compare/952e82f83554e8f49b2246799dddc38257a0893a...e87183896e2dbb0b2a78709c9ae0e37911b7fbcd + +------------------------------------------------------------------- +Thu Jul 11 12:56:31 UTC 2024 - Franck Bui + +- Import commit 952e82f83554e8f49b2246799dddc38257a0893a + + d317008225 gpt-auto-generator: be more defensive when checking the presence of ESP in fstab + fed117d448 journalctl: explicitly check < 0 for error + 41d9e82099 journalctl: make --until work again with --after-cursor and --lines (bsc#1221906) + +------------------------------------------------------------------- +Thu Jul 11 10:40:35 UTC 2024 - Franck Bui + +- Import commit 67a66ebcb994882ebfe0e9de3765628969e50067 (merge of v254.10) + + For a complete list of changes, visit: + https://github.com/openSUSE/systemd/compare/31f1148f75a1155d3eb37fd1a450096d669ec65b...67a66ebcb994882ebfe0e9de3765628969e50067 + +------------------------------------------------------------------- +Thu Jul 11 10:17:37 UTC 2024 - Franck Bui + +- Make sure systemd-sysvcompat replaces systemd-sysvinit on upgrades (bsc#1218110) + ------------------------------------------------------------------- Thu Feb 22 09:47:41 UTC 2024 - Franck Bui diff --git a/systemd.spec b/systemd.spec index bfd8378..2a235a2 100644 --- a/systemd.spec +++ b/systemd.spec @@ -18,14 +18,14 @@ %global flavor @BUILD_FLAVOR@%{nil} -%define archive_version +suse.30.g31f1148f75 +%define archive_version +suse.39.g8acd7e2a95 %if 0%{?version_override} %define systemd_major %version_override %define systemd_minor %{nil} %else %define systemd_major 254 -%define systemd_minor 9 +%define systemd_minor 15 %endif %define systemd_version %{systemd_major}%{?systemd_minor:.%{systemd_minor}} @@ -76,20 +76,6 @@ %bcond_without filetriggers %bcond_with split_usr -# We stopped shipping main config files in /etc but we have to restore any -# config files that might have been backed up by rpm during the migration of the -# main config files from /etc to /usr. This needs to be done in %%posttrans -# because the .rpmsave files are created when the *old* package version is -# removed. This is not needed by ALP and will be dropped from Factory near the -# end of 2024. -%define restore_rpmsave() \ -if [ -e %{_sysconfdir}/%{1}.rpmsave ] && [ ! -e %{_sysconfdir}/%{1} ]; then \ - echo >&2 "Restoring %{_sysconfdir}/%1. Please consider moving your customizations in a drop-in instead." \ - echo >&2 "For more details, visit https://en.opensuse.org/Systemd#Configuration." \ - mv -v %{_sysconfdir}/%{1}.rpmsave %{_sysconfdir}/%{1} || : \ -fi \ -%{nil} - Name: systemd%{?mini} URL: http://www.freedesktop.org/wiki/Software/systemd # Allow users to specify the version and release when building the rpm by @@ -180,8 +166,6 @@ Obsoletes: nss-myhostname < %{version}-%{release} Provides: nss-myhostname = %{version}-%{release} Provides: systemd-logger = %{version}-%{release} Obsoletes: systemd-logger < %{version}-%{release} -Provides: systemd-sysvinit = %{version}-%{release} -Obsoletes: systemd-sysvinit < %{version}-%{release} Provides: systemd-analyze = %{version}-%{release} Obsoletes: pm-utils <= 1.4.1 Obsoletes: suspend <= 1.0 @@ -285,8 +269,8 @@ developing and building applications linking to these libraries. Summary: SySV and LSB init script support for systemd (deprecated) License: LGPL-2.1-or-later Requires: %{name} = %{version}-%{release} -Provides: systemd-sysvinit:%{_sbindir}/runlevel -Provides: systemd-sysvinit:%{_sbindir}/telinit +Provides: systemd-sysvinit = %{version}-%{release} +Obsoletes: systemd-sysvinit < %{version}-%{release} %description sysvcompat This package ships the necessary files that enable minimal SysV and LSB init @@ -616,6 +600,7 @@ Recommends: tpm2.0-tools %if %{with resolved} # Optional dep for knot needed by TEST-75-RESOLVED Recommends: knot +%endif %if %{with selinux} # Optional deps needed by TEST-06-SELINUX (otherwise skipped) Recommends: selinux-policy-devel @@ -626,7 +611,6 @@ Recommends: selinux-policy-targeted # image, see install_missing_libraries() for details. Requires: libidn2 Requires: pkgconfig(libidn2) -%endif %if %{with experimental} Requires: libpwquality1 Requires: libqrencode4 @@ -1061,9 +1045,9 @@ rm -f %{buildroot}%{_journalcatalogdir}/* rm -fr %{buildroot}%{_docdir}/systemd %endif -# Don't drop %%pre section even if it becomes empty: the build process of -# installation images uses a hardcoded list of packages with a %%pre that needs -# to be run during the build and complains if it can't find one. +# Don't drop the 'pre' section even if it becomes empty: the build process of +# installation images uses a hardcoded list of packages with a 'pre' section +# that needs to be run during the build and complains if it can't find one. %pre # We don't really need to enable these units explicitely since during # installation `systemctl preset-all` is executed at the end of the install @@ -1110,7 +1094,8 @@ systemd-tmpfiles --create || : journalctl --update-catalog || : %endif -# See the comment in %%pre about why we need to call %%systemd_pre. +# See the comment in the 'pre' section about why we need to call 'systemd_pre' +# macro. %systemd_post remote-fs.target %systemd_post getty@.service %systemd_post systemd-journald-audit.socket @@ -1128,12 +1113,6 @@ journalctl --update-catalog || : %systemd_postun_with_restart systemd-timedated.service %systemd_postun_with_restart systemd-userdbd.service -%posttrans -%restore_rpmsave systemd/journald.conf -%restore_rpmsave systemd/logind.conf -%restore_rpmsave systemd/system.conf -%restore_rpmsave systemd/user.conf - %pre -n udev%{?mini} # Units listed below can be enabled at installation accoding to their preset # setting. @@ -1188,10 +1167,6 @@ fi %posttrans -n udev%{?mini} %regenerate_initrd_posttrans -%restore_rpmsave systemd/pstore.conf -%restore_rpmsave systemd/sleep.conf -%restore_rpmsave systemd/timesyncd.conf -%restore_rpmsave udev/iocost.conf %ldconfig_scriptlets -n libsystemd0%{?mini} %ldconfig_scriptlets -n libudev%{?mini}1 @@ -1252,10 +1227,6 @@ fi %systemd_postun_with_restart systemd-journal-gatewayd.service %systemd_postun_with_restart systemd-journal-remote.service %systemd_postun_with_restart systemd-journal-upload.service - -%posttrans journal-remote -%restore_rpmsave systemd/journal-remote.conf -%restore_rpmsave systemd/journal-upload.conf %endif %if %{with networkd} || %{with resolved} @@ -1304,10 +1275,6 @@ fi %ldconfig %systemd_postun systemd-resolved.service %endif - -%posttrans network -%restore_rpmsave systemd/networkd.conf -%restore_rpmsave systemd/resolved.conf %endif %if %{with homed} @@ -1366,9 +1333,6 @@ fi %postun experimental %systemd_postun systemd-homed.service %systemd_postun systemd-oomd.service systemd-oomd.socket - -%posttrans experimental -%restore_rpmsave systemd/oomd.conf %endif # File trigger definitions