See https://github.com/openSUSE/systemd/blob/SUSE/v254/NEWS for details.
This includes the following bug fixes:
- upstream commit 331aa7aa15ee5dd12b369b276f575d521435eb52 (bsc#1203141)
- upstream commit 529ba8a1a3968564b67049a077f213e3a0d53070 (bsc#1209340)
- upstream commit f1f331a252d22c15f37d03524cce967664358c5c (bsc#1186606)
- upstream commit df1dccd25547b430258bd42ec60428fc9aff1370 (bsc#1213185)
* Drop 5001-Revert-core-propagate-stop-too-if-restart-is-issued.patch. A fix
for https://github.com/systemd/systemd/issues/26839 has been integrated in
v254.
* Drop 5002-Revert-core-service-when-resetting-PID-also-reset-kn.patch, it's
part of v254.
* Drop 0001-restore-var-run-and-var-lock-bind-mount-if-they-aren.patch, it's
no more needed these days.
* Rebase 0001-conf-parser-introduce-early-drop-ins.patch
OBS-URL: https://build.opensuse.org/package/show/Base:System/systemd?expand=0&rev=1420
/etc/hostname is supposed to contain the static host name of the system. This
patch was used to work around cases where users incorrectly save the FQDN
instead. However this is incorrect and not consistent with what
systemd-hostnamed does and what other distributions do. Also assuming that
/etc/hostname will contain the system host name only removes any ambiguities
since the host name can contain a period.
/etc/hosts is usually where one sets the domain name by aliasing the host name
to the FQDN.
Note that the installer used to save the FQDN in /etc/hostname but this has
been fixed since several years now (bsc#972463).
OBS-URL: https://build.opensuse.org/package/show/Base:System/systemd?expand=0&rev=1416
only "Requires(pre): group()", rpm is allowed to drop the group at the end of
the package installations hence let's keep "Requires: group()" dep.
Note: this is also needed when (post)file-triggers are enabled due to the
current limitation of the default libzypp transaction backend.
OBS-URL: https://build.opensuse.org/package/show/Base:System/systemd?expand=0&rev=1402
ensure that packages that really need the tmpfiles in advance to use the right
API which is %tmpfiles_create_package.
- file-triggers: to be consistent with what we already does with tmpfiles, we
skip the call to systemd-sysusers and delay system user creations until the
next reboot.
OBS-URL: https://build.opensuse.org/package/show/Base:System/systemd?expand=0&rev=1397
For now we send signal to user instances to trigger their reexecution. It's
asynchronous but it shouldn't cause any problem in practice and it's probably
safer than triggering reexecution with "systemctl --user -M 1000@
daemon-reexec" command. The latter command creates a new PAM session behind
the scene bringing with it the known issue (upstream issue #8598) with
"(sd-pam)" helper process when the PAM session is being closed.
OBS-URL: https://build.opensuse.org/package/show/Base:System/systemd?expand=0&rev=1393
More specifically, file triggers handle automatically installations or updates
of files for sysusers, tmpfiles, hwdb, journal catalog, udev rules, sysctl and
binfmt.
Therefore it makes a bunch of systemd rpm macros (such as %udev_hwdb_update,
%udev_rules_update, %journal_catalog_update, %tmpfiles_create,
%sysusers_create and so on) not needed anymore. However before considering
simplifying your spec files beware that these changes are not available in SLE
yet and will probably never reach the current releases (latest one being
SLE15-SP5 as of this writing).
Macros dealing with unit restart/enabling (such as %systemd_pre,
%service_add_pre, %service_del_postun, ...) are still needed though. However
reloading of systemd instances (and thus restarting of units) are delayed
until the very end of the package install/update transaction and is now done
only once.
Nevertheless to fully take advantage of file triggers, users have to activate
a specific zypper transaction backend which is still considered as
experimental, see bsc#1041742 for details.
- Provide a (slighlty) customized version of systemd-update-helper. Some of the
systemd rpm macros rely now on the helper and delegate their work to it. Hence
we don't need to rebuild all packages anymore when the content of the rpm
macros must be updated/fixed.
OBS-URL: https://build.opensuse.org/package/show/Base:System/systemd?expand=0&rev=1390
(sub) package that contains all the fixups relative to a (sub) package. This
has the advantage to limit the number of scripts but more importantly it will
ease the sharing of the spec file between TW and SLE. We should also be able
to compare the fixlets of two distros even if the spec files have diverged.
Note that all the fixups are run just once now.
OBS-URL: https://build.opensuse.org/package/show/Base:System/systemd?expand=0&rev=1386
3ce9610975 test: dont use anchor char '$' to match a part of a string
03ede3eaa2 locale: when no xvariant match select the entry with an empty xvariant
f08017efd5 locale: convert generated vconsole keymap to x11 layout automatically
e8cf56459b localed-util: make use of strdupcspn()
821c684440 test: use kbd-mode-map we ship in TEST-73-LOCALE
- Mapping for converted keymaps is not needed anymore since their conversion to
their x11 layout counterpart is now done automatically by localed (commit
f08017efd5).
OBS-URL: https://build.opensuse.org/package/show/Base:System/systemd?expand=0&rev=1382
Until we switch to filetriggers these calls are needed when a new version of
systemd introduced a new config file during an update.
- We also introduce a new build conditional "%filetriggers" to identify easily
which parts of the code will become obsolete when we'll switch to file
triggers (WIP). This is important as this is unlikely to happen on SLE.
OBS-URL: https://build.opensuse.org/package/show/Base:System/systemd?expand=0&rev=1378
package since they don't have any effect during installation (systemctl is not
yet installed when %pre script is executed). This is actually the reason why
it's handled by the %%posttrans scripts of systemd-presets-common-SUSE.
OBS-URL: https://build.opensuse.org/package/show/Base:System/systemd?expand=0&rev=1376
03cfbe7673 test: use setpriv instead of su for user switch from root
857843834c test: wrap mkfs.*/mksquashfs/mkswap binaries when running w/ ASan
be7388f8c5 test: do not remove state directory on failure
1b2885bd16 test: fix regexp in testsuite-74.mount.sh
41142f8013 test: drop extraneous bracket in testsuite-74.mount.sh
OBS-URL: https://build.opensuse.org/package/show/Base:System/systemd?expand=0&rev=1368
That way "systemd --user" instances get their own session keyring instead of
the user default session keyring. For some reasons cifscreds refuses to work
with the latter. That's what is expected for every PAM session anyway.
OBS-URL: https://build.opensuse.org/package/show/Base:System/systemd?expand=0&rev=1365
8b01686dd2 test: don't export $TOOLS_DIR
7a56b1b2f0 test: clean up $STATEDIR too
324bb19eb8 test: $STATEDIR should not point to /usr/lib/systemd/tests when NO_BUILD=1
2251735482 test: install symlinks with valid targets on SUSE and Debian
c30905a269 test: on openSUSE install the collection of unit test binaries in the target only for TEST-02-UNITTESTS
797ced15d8 meson: make sure the unit test scripts find testdata/ even if they are not installed in the same directory
04dc5b44b7 meson: define testdata_dir globally
69643c6c96 test: install unit tests in a dedicated subdirectory below '$testsdir'
OBS-URL: https://build.opensuse.org/package/show/Base:System/systemd?expand=0&rev=1364
d914e29c33 Revert "hwdb: fix swapped buttons for Logitech Lift left" (bsc#1209618)
8360811d23 udev-rules: fix nvme symlink creation on namespace changes (bsc#1207410)
b77c13a130 systemctl: explicitly cast the constants to uint64_t (bsc#1209305)
51011f280d test: assume run-unit-tests.py and unit tests are installed in the same directory
d86e346f6b tests: don't use absolute paths when installing binaries in TEST-58-REPART
97e886c1f4 tests: fix inverted condition in testsuite-58.sh
- Drop 5002-systemctl-explicitly-cast-the-constants-to-uint64_t.patch, it's been
merged in 'SUSE/v253', see above.
OBS-URL: https://build.opensuse.org/package/show/Base:System/systemd?expand=0&rev=1363
It includes the following fixes:
9b75a3d050 coredump: do not allow user to access coredumps with changed uid/gid/capabilities (bsc#1205000 CVE-2022-4415)
For a complete list of changes, visit:
bf3fef9988...5a506d73bd
Additionally, it also includes the following backports:
- 20ca3155c5 localed: reload PID1 configuration after modifying /etc/locale.conf
- 3538c202fd test: update TEST-73-LOCALE to define several locale settings in initial PID1 environment
- Drop 5000-coredump-adjust-whitespace.patch
5001-coredump-do-not-allow-user-to-access-coredumps-with-.patch
They are part of v252.4.
OBS-URL: https://build.opensuse.org/package/show/Base:System/systemd?expand=0&rev=1338
6372fb0cc4 btrfs-util: convert O_PATH if necessary, in btrfs quota call (bsc#1205560)
12e68eb0e5 blockdev-util: move O_PATH fd conversion into btrfs_get_block_device_fd() to shorten things
bb2bafdc9d btrfs-util: convert to fd_reopen_condition()
1323232948 fd-util: add new helper fd_reopen_conditional()
- Drop 6000-Revert-tmpfiles-whenever-creating-an-inode-immediate.patch
It's no more needed as a fix for bsc#1205560 has been queued, see above.
OBS-URL: https://build.opensuse.org/package/show/Base:System/systemd?expand=0&rev=1334
d28e81d65c test: fix the default timeout values described in README.testsuite
d921c83f53 meson: install test-kernel-install only when -Dkernel-install=true
c3b6c4b584 tests: update install_suse_systemd()
3c77335b19 tests: install dmi-sysfs module on openSUSE
df632130cd tests: install systemd-resolved on openSUSE
- Add 6000-Revert-tmpfiles-whenever-creating-an-inode-immediate.patch until
upstream issue #25468 is fixed.
- Drop 0001-meson-build-kernel-install-man-page-when-necessary.patch, the patch
has been merged in the SUSE git repo.
This includes the following bug fixes:
- upstream commit 67c3e1f63a5221b47a8fea85ae421671f29f3b7e (bsc#1200723)
OBS-URL: https://build.opensuse.org/package/show/Base:System/systemd?expand=0&rev=1329
To make sure that the same seed is not replicated when installing from a
'golden' image.
For regular installations the random seed file is initialized by the installer
itself (bsc#1174964). Even if it didn't, the random seed file would be created
on first boot anyway.
OBS-URL: https://build.opensuse.org/package/show/Base:System/systemd?expand=0&rev=1318
So `machinectl import-tar` always works flawlessly. systemd-container already
is an optional package and both tar and gpg are rather basic anyway so no harm
should be done by requiring them.
- Move the systemd sysupdate stuff from the main package to the experimental
sub-package while it's still time. The method used (currently) for updating
openSUSE distro is rpm, not systemd-sysupdate.
OBS-URL: https://build.opensuse.org/package/show/Base:System/systemd?expand=0&rev=1295
98bc28d824 tmpfiles: constify item_compatible() parameters
3faf1a2648 test: adapt install_pam() for openSUSE
b7ca34fa28 test: add test checking tmpfiles conf file precedence
2713693d93 test tmpfiles: add a test for 'w+'
ce2cbefe38 tmpfiles.d: only 'w+' can have multiple lines for the same path (bsc#1198090)
769f5a0cbe Support -D_FORTIFY_SOURCE=3 by using __builtin_dynamic_object_size.
OBS-URL: https://build.opensuse.org/package/show/Base:System/systemd?expand=0&rev=1277
1c229f8fc1 cryptsetup: fall back to traditional unlocking if any TPM2 operation fails
8881f21539 cryptsetup: fix typo
5882148902 journald: make use of CLAMP() in cache_space_refresh()
6ee0601f73 journald: make sure journal_file_open() doesn't leave a corrupted file around after failing (bsc#1198114)
fe928f3d49 fs-util: make sure openat_report_new() initializes return param also on shortcut
3881af1806 fs-util: fix typos in comments
96060b73ba journal-file: port journal_file_open() to openat_report_new()
611d9955bb fs-util: add openat_report_new() wrapper around openat()
f16edb41d4 network: ignore all errors in loading .network files (bsc#1197968)
5422730a7b meson: build kernel-install man page when necessary
45c627cfc2 build: include status of TPM2 in the feature string show by --version
- Drop 0001-meson-build-kernel-install-man-page-when-necessary.patch
It's been merged in the SUSE git repo.
This includes the following bug fixes:
- upstream commit 34357545590d4791d1acbbeb07ae8f7636e187cb (bsc#1198093)
OBS-URL: https://build.opensuse.org/package/show/Base:System/systemd?expand=0&rev=1274
sub-package: they may deserve a dedicated sub-package in the future but for
now move them to udev so they aren't installed in systemd based containers.
- Move a bunch of components operating on (mainly block) devices into udev as
without udev they're most likely useless.
OBS-URL: https://build.opensuse.org/package/show/Base:System/systemd?expand=0&rev=1268
37b683c832 journal: preserve acls when rotating user journals with NOCOW attribute set
d043fabebc journal: when copying journal file to undo NOCOW flag, go via fd
78c2766689 journal-file: explicitly handle file systems that do not support hole punching
7ecfb4b098 journal-file: fix error handling of pread() in journald_file_punch_holes()
c4946a412c journal-file: don't use pread() when determining where to append, use mmap as before
d3fbd20628 journal: various fixes to journal_file_read_object()
5897a8e8d4 shared: Handle filesystems that don't support hole punching in COPY_HOLES
27746408e2 journal: Truncate file instead of punching hole in final object
59b6130030 shared: Ensure COPY_HOLES copies trailing holes
ac9ccba73f journal: stat journal file after truncating
0257283444 journal: Copy holes when archiving BTRFS journal files
26c2a9952d shared: Copy holes in sparse files in copy_bytes_full()
6c7191dece copy: fix wrong argument passed to S_ISREG() in copy_file_fd_full()
af0a43024d udev: 60-persistent-storage-tape.rules: handle duplicate device ID (bsc#1195529)
OBS-URL: https://build.opensuse.org/package/show/Base:System/systemd?expand=0&rev=1263
targets (bsc#1196567)
The script 'upgrade-from-pre-210.sh' used to initialize the default target
during migration from sysvinit to systemd. However it created symlinks to
runlevel targets, which are deprecated and might be missing when
systemd-sysvcompat package is not installed. If such symlinks are found the
script now renames them to point to 'true' systemd target units.
- When migrating from sysvinit to systemd (it probably won't happen anymore),
let's use the default systemd target, which is the graphical.target one. In
most cases it will do the right thing anyway.
OBS-URL: https://build.opensuse.org/package/show/Base:System/systemd?expand=0&rev=1258