Luca Boccassi [Tue, 14 May 2024 23:26:15 +0000 (01:26 +0200)]
Merge pull request #32830 from yuwata/home-skel
home: fix ownership of files copied from skelton directory
Yu Watanabe [Tue, 14 May 2024 21:34:43 +0000 (06:34 +0900)]
test: add tests for "homectl --skel"
Daan De Meyer [Tue, 14 May 2024 18:52:28 +0000 (20:52 +0200)]
TEST-21-DFUZZER: Fix script name
Yu Watanabe [Tue, 14 May 2024 21:19:42 +0000 (06:19 +0900)]
home: fix ownership of files copied from skelton directory
Fixes #32808.
Zbigniew Jędrzejewski-Szmek [Tue, 14 May 2024 18:00:48 +0000 (20:00 +0200)]
core,vconsole-setup: treat locking failure as non-fatal
Locking of the tty device and then /dev/console was added to synchronize
vconsole-setup with other writers to the console. But it turns out that often
the locking doesn't work and we carved out various cases where we ignore
failure:
- lack of permissions (in the user manager)
- missing device node
It turns out that there's at least one more failure mode: we get -EIO when the
console is (mis-)configured to point to an invalid device. E.g. in
rhbug#
2273069 the reporter has a VM in Proxmox without a virtual console
configured and has 'console=tty console=ttyS0' on the kernel cmdline. I
couldn't reproduce this under libvirt, but failure with EIO has been reported
by at least four users in #30501.
Note that in systemd-vconsole-setup we report this is a hard failure, while
in the manager, we only do a debug line. So it's possible that the failure
also occured there, causing the rest of the setup of the tty to be skipped
without further notice.
Ignore the locking failure, since there's just too many ways it can fail. If we
proceed without a lock, we're back to the situation before we started locking,
which wasn't too bad. OTOH, skipping setup of the console is problematic for
users, and it seems better to try to do the setup without locking.
Fixes https://github.com/systemd/systemd/issues/30501,
https://bugzilla.redhat.com/show_bug.cgi?id=
2273069.
Daan De Meyer [Tue, 14 May 2024 20:14:27 +0000 (22:14 +0200)]
test: Enable TEST-54-CREDS on mkosi
Luca Boccassi [Tue, 14 May 2024 20:40:01 +0000 (22:40 +0200)]
Merge pull request #32817 from YHNdnzj/core-varlink
core/core-varlink: trivial cleanups
Weblate [Tue, 14 May 2024 20:06:31 +0000 (22:06 +0200)]
po: Update translation files
Updated by "Update PO files to match POT (msgmerge)" hook in Weblate.
Co-authored-by: Weblate <noreply@weblate.org>
Translate-URL: https://translate.fedoraproject.org/projects/systemd/main/
Translation: systemd/main
Luca Boccassi [Tue, 14 May 2024 20:07:40 +0000 (22:07 +0200)]
Merge pull request #32816 from bluca/chores
Chores for RC2
Daan De Meyer [Tue, 14 May 2024 18:08:00 +0000 (20:08 +0200)]
test: Enable TEST-82-SOFTREBOOT on mkosi
Zbigniew Jędrzejewski-Szmek [Tue, 14 May 2024 19:02:40 +0000 (21:02 +0200)]
mkosi: Restore job for F40
This partially reverts
ecf8468dd4abbf006cb607d023018edee51c851d.
dist-git was made compatible again with F40.
Daan De Meyer [Tue, 14 May 2024 18:50:38 +0000 (20:50 +0200)]
Merge pull request #32812 from DaanDeMeyer/test
test: Only add tpm2.target dependency to TEST-70-TPM2.service
Zbigniew Jędrzejewski-Szmek [Mon, 13 May 2024 16:53:51 +0000 (18:53 +0200)]
sysusers: simplify meson config
There were two parts, for templated and non-templated files, and
they were more different than they should be.
Daan De Meyer [Mon, 13 May 2024 13:17:06 +0000 (15:17 +0200)]
mkosi: Update fedora to latest
We drop the Fedora 40 job as the latest rawhide spec introduced
dependencies that are not available in Fedora 40.
Zbigniew Jędrzejewski-Szmek [Tue, 14 May 2024 14:19:31 +0000 (16:19 +0200)]
core/exec-credential: downgrade warning about missing cred to debug
Follow-up for
6b34871f5d3b0729ef125d79dfe2d493f3b52b40.
The general idea is that the list of credentials to load can and will specify
credentials which actually aren't provided, so a warning is too much. Let's
downgrade this to "info". If it turns out to be too noisy, we can downgrade
further in the future.
Mike Yuan [Tue, 14 May 2024 16:41:06 +0000 (00:41 +0800)]
core/varlink: make manager_setup_varlink_server static
Follow-up for
6906c028e83b77b35eaaf87b27d0fe5c6e1984b7
Also, use correct log level for varlink_server_add_interface_many().
Mike Yuan [Tue, 14 May 2024 16:44:13 +0000 (00:44 +0800)]
core/varlink: use FOREACH_ELEMENT more
Luca Boccassi [Tue, 14 May 2024 13:38:37 +0000 (14:38 +0100)]
tree-wide: 'allows to' -> 'allows one to'
As flagged by Lintian
Daan De Meyer [Tue, 14 May 2024 16:23:59 +0000 (18:23 +0200)]
TEST-64-UDEV-STORAGE: Fix drive ID
Luca Boccassi [Tue, 14 May 2024 16:12:04 +0000 (17:12 +0100)]
Update translation files
ninja -C build systemd-pot
ninja -C build systemd-update-po
Luca Boccassi [Tue, 14 May 2024 16:01:08 +0000 (17:01 +0100)]
Update syscalls table
ninja -C build update-syscall-tables update-syscall-header
Luca Boccassi [Tue, 14 May 2024 16:00:29 +0000 (17:00 +0100)]
Update hwdb
ninja -C build update-hwdb
Luca Boccassi [Tue, 14 May 2024 15:58:11 +0000 (16:58 +0100)]
NEWS: update contributors list
Timo Rothenpieler [Sun, 28 Apr 2024 14:27:06 +0000 (16:27 +0200)]
cgroup-util: allow cg_read_pid() to skip unmapped (zero) pids
Daan De Meyer [Tue, 14 May 2024 13:35:59 +0000 (15:35 +0200)]
test: Only add tpm2.target dependency to TEST-70-TPM2.service
Let's not add the dependency unless required.
Radoslav Kolev [Tue, 14 May 2024 07:25:49 +0000 (10:25 +0300)]
libsystemd-network: skip dhcp server test in case of EAFNOSUPPORT
We want to eanble running tests as part of the build, but
our builds run in VMs with networking disabled.
Mike Yuan [Tue, 14 May 2024 12:55:52 +0000 (20:55 +0800)]
Merge pull request #32804 from YHNdnzj/bootspec-modernization
shared/bootspec: some fixes/modernizations
Daan De Meyer [Tue, 14 May 2024 12:45:35 +0000 (14:45 +0200)]
Merge pull request #32766 from DaanDeMeyer/test
Various test improvements
Daan De Meyer [Sun, 12 May 2024 19:27:58 +0000 (21:27 +0200)]
test: Run TEST-64-UDEV-STORAGE with mkosi
We add a configure script for each subtest to add the required
qemu arguments.
Co-authored-by: Richard Maw <richard.maw@codethink.co.uk>
Daan De Meyer [Tue, 14 May 2024 07:11:51 +0000 (09:11 +0200)]
mkosi: Mask mdmonitor and isc-dhcp-server services
They always fail and do not ship with proper units so we can't
disable them with presets so we mask them instead.
Daan De Meyer [Mon, 13 May 2024 17:08:42 +0000 (19:08 +0200)]
TEST-64-UDEV-STORAGE: Skip LVM subtests on Ubuntu
These fail for unknown reasons on Ubuntu. Until someone from Ubuntu
who cares can figure out why, let's skip these tests on Ubuntu.
Daan De Meyer [Mon, 13 May 2024 15:00:11 +0000 (17:00 +0200)]
TEST-64-UDEV-STORAGE: Bump timeout for testcase_simultaneous_events_1
The timeout is reliably hit when running tests in mkosi.
Daan De Meyer [Mon, 13 May 2024 14:58:23 +0000 (16:58 +0200)]
TEST-64-UDEV-STORAGE: Skip btrfs_basic if btrfs module is not available
Daan De Meyer [Mon, 13 May 2024 13:08:07 +0000 (15:08 +0200)]
TEST-64-UDEV-STORAGE: Check for tgt and tgtd services
On Debian/Ubuntu, the unit is named tgt.service instead of tgtd.service,
so let's make sure we take that into account.
On CentOS, tgtd.service is not available, so let's skip the test if we
can't find the service.
Daan De Meyer [Mon, 13 May 2024 13:06:50 +0000 (15:06 +0200)]
TEST-64-UDEV-STORAGE: Add missing udevadm settle
Otherwise we try to do the check before the udev queue is empty which
will make it fail.
Daan De Meyer [Mon, 13 May 2024 13:04:16 +0000 (15:04 +0200)]
TEST-64-UDEV-STORAGE: Use virtio-scsi-pci instead of ahci
The debian cloud kernel does not support ahci, so let's use
virtio-scsi-pci everywhere instead.
Daan De Meyer [Sun, 12 May 2024 19:26:41 +0000 (21:26 +0200)]
TEST-64-UDEV-STORAGE: Use ID based paths
Daan De Meyer [Sun, 12 May 2024 13:16:37 +0000 (15:16 +0200)]
test: Ignore configure scripts in minimal images
These are always aimed at the system image so ignore any specified
configure scripts in the minimal images.
Daan De Meyer [Sun, 12 May 2024 09:13:58 +0000 (11:13 +0200)]
test: Add cmdline field to configure extra kernel command line args
Configuring extra cmdline arguments as a list is much nicer than
having to pass the --kernel-command-line-extra argument manually.
Daan De Meyer [Sun, 12 May 2024 08:50:47 +0000 (10:50 +0200)]
test: Generate basic testsuite services with meson
Most of these are identical, let's just generate from a meson
template.
Daan De Meyer [Tue, 14 May 2024 07:20:21 +0000 (09:20 +0200)]
TEST-46-HOMED: Simplify service unit
Let's remove the unneeded NotifyAccess=all and start the socket
and service in the test itself instead of via the service unit. This
makes the test unit identical to the other test units which will allow
us to autogenerate it in a later commit.
Daan De Meyer [Mon, 13 May 2024 10:36:40 +0000 (12:36 +0200)]
TEST-06-SELINUX: Simplify auto-relabeling
Let's ship a .autorelabel file so we can get rid of
firstboot-autorelabel.service.
Daan De Meyer [Sun, 12 May 2024 20:01:19 +0000 (22:01 +0200)]
test: Rename mkosi_args to mkosi-args
Daan De Meyer [Sat, 11 May 2024 18:22:10 +0000 (20:22 +0200)]
test: Disable tests via 'enabled' field
This allows doing other stuff with the test without actually defining
the test, such as generating a service unit automatically.
Daan De Meyer [Sat, 11 May 2024 17:40:03 +0000 (19:40 +0200)]
test: Simplify argument/variable names
Daan De Meyer [Sat, 11 May 2024 17:17:13 +0000 (19:17 +0200)]
test: Rename testsuite-XX units to match test name
Having these named differently than the test itself mostly creates
unecessary confusion and makes writing logic against the tests harder
so let's rename the testsuite-xx units and scripts to just use the
test name itself.
Daan De Meyer [Sat, 11 May 2024 13:55:54 +0000 (15:55 +0200)]
test: Rework integration test definitions
Let's make this behave more like all the rest of the meson stuff.
This also is the first step to making it a bit more flexible so we
can define integration tests in different ways as will be seen in
the next commits.
Daan De Meyer [Mon, 13 May 2024 09:26:58 +0000 (11:26 +0200)]
TEST-01-BASIC: Drop logic to run test without install-tests=true
We don't support this for any other tests either so let's drop the
support for running TEST-01-BASIC without installing as well to make
the upcoming commit easier to implement.
Daan De Meyer [Sun, 12 May 2024 21:06:07 +0000 (23:06 +0200)]
mkosi: Update to latest
Daan De Meyer [Tue, 14 May 2024 08:25:33 +0000 (10:25 +0200)]
core: Imply DefaultDependencies=no for credential mounts
Currently, on soft-reboot, /run/credentials/@system is unmounted
because it has DefaultDependencies=yes and as such will have
Conflicts=umount.target and Before=umount.target. Let's make sure
credential mounts survive soft-reboot by implying DefaultDependencies=no
for credential mounts.
Mike Yuan [Tue, 14 May 2024 07:49:54 +0000 (15:49 +0800)]
shared/bootspec: use FOREACH_ARRAY more
Mike Yuan [Tue, 14 May 2024 07:49:21 +0000 (15:49 +0800)]
shared/bootspec: use isempty where appropriate
Mike Yuan [Tue, 14 May 2024 07:48:15 +0000 (15:48 +0800)]
shared/bootspec: use path_make_absolute where appropriate
Mike Yuan [Tue, 14 May 2024 07:48:50 +0000 (15:48 +0800)]
shared/bootspec: inline iterator var
Also, do not bump 'line' until the end of the loop.
Otherwise, log_syntax() below logs about the wrong
line number.
Mike Yuan [Tue, 14 May 2024 07:50:09 +0000 (15:50 +0800)]
shared/bootspec: add missing assertions
Radoslav Kolev [Tue, 14 May 2024 07:39:29 +0000 (10:39 +0300)]
sd-event: increase test-event timeout to 120s
The test-event test seems to be taking quite a bit more time than
the other 'simple tests', which usually complete in < 1s. In case
of a slower or loaded machine the default 30s timeout is not enough.
Yu Watanabe [Tue, 14 May 2024 09:12:05 +0000 (18:12 +0900)]
Yu Watanabe [Tue, 14 May 2024 09:10:42 +0000 (18:10 +0900)]
Yu Watanabe [Tue, 14 May 2024 09:08:23 +0000 (18:08 +0900)]
Luca Boccassi [Mon, 13 May 2024 23:26:55 +0000 (00:26 +0100)]
bootctl: fix crash when parsing addon without .cmdline section
Follow-up for
706ca67d3074b2a405ee8fe5de307416e4915b9f
Lennart Poettering [Mon, 13 May 2024 22:40:13 +0000 (16:40 -0600)]
update TODO
Matt Muggeridge [Mon, 13 May 2024 20:30:22 +0000 (06:30 +1000)]
network: IPv6 Compliance RFC4862: Address Lifetime Expiry (Hosts Only) [v6LC.3.2.2]
RFC 4862 Section 5.5.3, bullet e, sub-bullet 3 applies to existing
addresses, i.e. when address_get() returns success. If the address is
new (i.e. address_get() fails), then we should not be adding 2 hours to
the lifetime_valid_usec. Instead, use the valid_lifetime from the RA's
Prefix Information Option.
This change allows v6LC.3.2.2 to pass. Also verified all v6LC3.2.* tests
pass. This covers all the v6LC tests from Group2: Router Advertisement
Processing and Address Lifetime.
Fixes #32652.
Matt Muggeridge [Mon, 13 May 2024 21:50:51 +0000 (07:50 +1000)]
network: IPv6 Compliance: Router Advertisement Processing, Reachable Time [v6LC.2.2.15] (#32792)
Previously, RA option fields were being ignored when the Router Lifetime
value was zero. Remove this logic to be compliant with RFC4861.
Extract from: https://www.ietf.org/rfc/rfc4861.html#section-4.2, p.21,
first paragraph:
The Router Lifetime applies only to
the router's usefulness as a default router; it
does not apply to information contained in other
message fields or options.
This affected IPv6 Conformance test:
v6LC.2.2.15: Router Advertisement Processing, Reachable Time.
Fixes #31842.
Co-authored-by: Matt Muggeridge <Matt.Muggeridge@hpe.com>
Lennart Poettering [Sat, 11 May 2024 11:45:44 +0000 (13:45 +0200)]
curl-glue: catch libcurl attempting to change timeout handler when we destroy a curl context on exit
If we destroy both an event loop and a curl contect object at the same
time, then we get into this weird situation where curl wants us to
reconfigure a timout event source right before destruction, which
sd-event will refuse however, since it is already being shutdown.
Hence, catch that and simply don't bother adjusting the timeout, since
we cannot get back from there anyway.
Lennart Poettering [Sat, 11 May 2024 17:54:54 +0000 (19:54 +0200)]
machined: return recognizable error when we try to register the same machine name twice
Mike Yuan [Thu, 9 May 2024 16:29:37 +0000 (00:29 +0800)]
core/service: remove unnecessary reset of notify_access_override
This already gets reset in service_enter_dead()
and service_start().
Lennart Poettering [Sat, 11 May 2024 17:52:19 +0000 (19:52 +0200)]
varlink: rename vsockCid → vSockCid field
KayJay7 [Mon, 13 May 2024 13:49:07 +0000 (15:49 +0200)]
hwdb: ASRock LED Controller classified incorrectly as joystick due to buttons and axis (#32775)
The function `builtin-input_id` incorrectly identifies the ASRock LED Controller
as an input device due to the presence of buttons and axis. To fix this we add
a new rule in `hwdb.d/60-input-id.hwdb`.
The properties have been set to empty instead of `0` because some programs
might check if the value is set at all instead of checking its value, as discussed
in #32773.
The device has no real keys. The devices is controlled by i2c interface and some
settings in UEFI, and it provides an header to connect LED strips and similar devices.
I suppose it's possible that ASRock intended to connect devices with buttons for
controlling LEDs to it, but: (i) the controller itself does not have key, (ii) to my
knowledge no such device exists. So I think we can unset that property as well.
On a sidenote, unsetting those properties does not affect the i2c interface,
OpenRGB still interacts normally with the device.
Fixes #32773.
Daan De Meyer [Mon, 13 May 2024 11:27:14 +0000 (13:27 +0200)]
TEST-38-FREEZER: Relax regex a little
The state might be "freezing-by-parent" as well so let's take that
into account.
Fixes #32746
Yu Watanabe [Mon, 13 May 2024 10:50:04 +0000 (19:50 +0900)]
hwdb: ID_INPUT_XYZ allows an empty string
This is for making CIs for #32775 green.
Luca Boccassi [Mon, 13 May 2024 13:16:40 +0000 (15:16 +0200)]
Merge pull request #32758 from yuwata/journal-ratelimit
journal: modernize journal ratelimiting
dependabot[bot] [Mon, 13 May 2024 10:00:34 +0000 (10:00 +0000)]
build(deps): bump pkg/arch from `
b13e94a` to `
b578e90`
Bumps pkg/arch from `
b13e94a` to `
b578e90`.
---
updated-dependencies:
- dependency-name: pkg/arch
dependency-type: direct:production
...
Signed-off-by: dependabot[bot] <support@github.com>
dependabot[bot] [Mon, 13 May 2024 10:00:39 +0000 (10:00 +0000)]
build(deps): bump pkg/debian from `
7cc898c` to `
824c52f`
Bumps pkg/debian from `
7cc898c` to `
824c52f`.
---
updated-dependencies:
- dependency-name: pkg/debian
dependency-type: direct:production
...
Signed-off-by: dependabot[bot] <support@github.com>
Yu Watanabe [Mon, 13 May 2024 10:26:14 +0000 (19:26 +0900)]
man: add v257 tag
Even though v256-final is not released yet, let's v257 tag now to make
not PRs for v257 conflict with each other.
Yu Watanabe [Sat, 11 May 2024 12:09:44 +0000 (21:09 +0900)]
journal-rate-limit: replace in-house management of JournalRateLimitGroup with OrderedHashmap
No functional change, just refactoring.
zeroskyx [Sun, 12 May 2024 17:46:19 +0000 (19:46 +0200)]
hwdb: updated Librem 11 accelerometer (#32772)
mburucuyapy [Sun, 12 May 2024 17:45:36 +0000 (13:45 -0400)]
hwdb: update Dere N12 / Juno Tablet 3 accelerometer (#32765)
Scrambled 777 [Sun, 12 May 2024 07:35:56 +0000 (09:35 +0200)]
po: Translated using Weblate (Hindi)
Currently translated at 100.0% (233 of 233 strings)
Co-authored-by: Scrambled 777 <weblate.scrambled777@simplelogin.com>
Translate-URL: https://translate.fedoraproject.org/projects/systemd/main/hi/
Translation: systemd/main
Yu Watanabe [Sat, 11 May 2024 12:05:56 +0000 (21:05 +0900)]
journal-rate-limit: split out journal_ratelimit_group_acquire()
No functional change, just refactoring.
Yu Watanabe [Sat, 11 May 2024 11:44:53 +0000 (20:44 +0900)]
journal-rate-limit: introduce cleanup function for JournalRateLimitGroup
This also makes journal_ratelimit_group_new() use structured initializer.
Yu Watanabe [Sat, 11 May 2024 11:41:07 +0000 (20:41 +0900)]
journal-rate-limit: rename variables
'r' is usually used for storing return value.
Yu Watanabe [Sat, 11 May 2024 11:30:30 +0000 (20:30 +0900)]
journal-rate-limit: use FOREACH_ELEMENT() and usec_add()
Yu Watanabe [Sat, 11 May 2024 11:28:26 +0000 (20:28 +0900)]
journal-rate-limit: make journal_ratelimit_group_free() return NULL
To make it follow our recent coding style.
Yu Watanabe [Sat, 11 May 2024 09:56:57 +0000 (18:56 +0900)]
journal-rate-limit: add trailing comma in table
Yu Watanabe [Sun, 12 May 2024 01:31:41 +0000 (10:31 +0900)]
test: introduce test cases for journal_ratelimit_test()
Yu Watanabe [Sat, 11 May 2024 12:25:07 +0000 (21:25 +0900)]
tree-wide: use LOG_PRI() and LOG_FAC()
Daan De Meyer [Sat, 11 May 2024 14:42:24 +0000 (16:42 +0200)]
debug-generator: Allow specifying name of unit-dropin credential
A fixed name is too rigid, let's give users the ability to define
custom drop-in names which at the same time also allows defining
multiple dropins per unit.
We use ~ as the separator because:
- ':' is not allowed in credential names
- '=' is used to separate credential from value in mkosi's --credential
argument.
- '-' is commonly used in filenames
- '@' already has meaning as the unit template specifier which might be
confusing when adding dropins for template units
Luca Boccassi [Fri, 10 May 2024 20:06:39 +0000 (22:06 +0200)]
Merge pull request #32755 from yuwata/test-network-cleanups
test-network: several cleanups
Yu Watanabe [Fri, 10 May 2024 17:00:21 +0000 (02:00 +0900)]
test-network: simplify and unify waiting loop
Also,
- drop unused fail_assert arguments,
- use wait_links() and check_networkd_log() in wait_activated().
Yu Watanabe [Fri, 10 May 2024 16:58:06 +0000 (01:58 +0900)]
test-network: make link_exists() take multiple arguments
This also improves performance of test_delete_links().
Lucas Salles [Fri, 10 May 2024 13:59:52 +0000 (10:59 -0300)]
Fix Positivo N14EPE and N15EPE key toggle touchpad and search key
Yu Watanabe [Fri, 10 May 2024 12:06:24 +0000 (21:06 +0900)]
libcrypt-util: fix wrong errno value assignment
Follow-up for
9de324c3c919f20fd49e1d25579f5a66cac0eaa0.
Luca Boccassi [Fri, 10 May 2024 13:04:30 +0000 (15:04 +0200)]
Merge pull request #32747 from YHNdnzj/tmpfiles-ret-gather
tmpfiles: some cleanups/follow-up
Daan De Meyer [Fri, 10 May 2024 12:31:03 +0000 (14:31 +0200)]
Merge pull request #32748 from yuwata/test-network-improvements
test-network: several more improvements
Yu Watanabe [Fri, 10 May 2024 11:38:06 +0000 (20:38 +0900)]
test-network: check existence of kernel bug
This adds checks for the kernel bug caused by
https://github.com/torvalds/linux/commit/
3ddc2231c8108302a8229d3c5849ee792a63230d,
it will be fixed by
https://patchwork.kernel.org/project/netdevbpf/patch/
20240510072932.
2678952-1-edumazet@google.com/
Yu Watanabe [Fri, 10 May 2024 11:18:57 +0000 (20:18 +0900)]
test-network: introduce --no-journal option
This should be useful when the test run as a service, e.g.
running on a mkosi image.
Mike Yuan [Fri, 10 May 2024 11:07:42 +0000 (19:07 +0800)]
Merge pull request #32738 from yuwata/trivial-cleanups
Trivial follow-ups for recent changes
Luca Boccassi [Fri, 10 May 2024 11:05:36 +0000 (12:05 +0100)]
NEWS: update for latest changes
Luca Boccassi [Fri, 10 May 2024 11:00:22 +0000 (13:00 +0200)]
Merge pull request #32491 from yuwata/journalctl-fix-boot
journalctl: several fixes and cleanups for --boot= option handling
Mike Yuan [Wed, 8 May 2024 09:54:54 +0000 (17:54 +0800)]
tmpfiles: use RET_GATHER more, add missing assertions
Note that item_do() now aborts on OOM, since it's
pretty pointless to iterate further if memory allocation
doesn't work.